Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабановая 2 по ТИ1111123455.doc
Скачиваний:
2
Добавлен:
14.07.2019
Размер:
421.38 Кб
Скачать

2) Сформировать указатель ошибки для принятого кода 100110001001 и записать выражения для разрядов указателя ошибки.

Занесу данные в таблицу:

Номер позиции N

1

2

3

4

5

6

7

8

9

10

11

12

Символ

q1

q2

a1

q3

a2

a3

a4

q4

a5

a6

a7

a8

Значение

1

0

0

1

1

0

0

0

1

0

0

1

Далее при приеме по принятой кодовой комбинации формирую указатель ошибки: b4 b3 b2 b1.

Для этого использую формулы и вычислю значения:

b1 =q1 a1 a2 a4 a5 a7 = 1 0 1 0 1 0 = 1

b2 =q2 a1 a3 a4 a6 a7 = 0 0 0 0 0 0 = 0

b3 =q3 a2 a3 a4 a8 = 1 1 0 0 1 = 1

b4 =q4 a5 a6 a7 a8 = 0 1 0 0 1= 0

В результате вычислений получаю указатель ошибки b4 b3 b2 b1= 01012=510 , который указывает, что ошибка произошла на пятой позиции.

3) Используя формулу 2k>= m+k+1 построить таблицу и график зависимости m/n для m принимающего значения от 1 до 16.

Для того, чтобы построить график необходимо знать значения n. Использую формулу 2k>= m+k+1 с учетом, что n=m+k нахожу n:

  • если m=1, то подставляя в формулу ищу такое значение k, чтобы выполнялось неравенство 2k>= 1+k+1. Следовательно, это выполняется при k=2, так как 4=4. Тогда нахожу n=m+k=1+2=3.

  • если m=2, то подставляя в формулу ищу такое значение k, чтобы выполнялось неравенство 2k>= 2+k+1. Следовательно, это выполняется при k=3, так как 8>6. Тогда нахожу n=m+k=2+3=5.

  • если m=3, то подставляя в формулу ищу такое значение k, чтобы выполнялось неравенство 2k>= 3+k+1. Следовательно, это выполняется при k=3, так как 8>7. Тогда нахожу n=m+k=3+3=6.

  • если m=4, то подставляя в формулу ищу такое значение k, чтобы выполнялось неравенство 2k>= 4+k+1. Следовательно, это выполняется при k=3, так как 8=8. Тогда нахожу n=m+k=4+3=7.

  • если m=5, то подставляя в формулу ищу такое значение k, чтобы выполнялось неравенство 2k>= 5+k+1. Следовательно, это выполняется при k=4, так как 16>10. Тогда нахожу n=m+k=5+4=9.

  • если m=6, то подставляя в формулу ищу такое значение k, чтобы выполнялось неравенство 2k>= 6+k+1. Следовательно, это выполняется при k=4, так как 16>11. Тогда нахожу n=m+k=6+4=10.

  • если m=7, то подставляя в формулу ищу такое значение k, чтобы выполнялось неравенство 2k>= 7+k+1. Следовательно, это выполняется при k=4, так как 16>12. Тогда нахожу n=m+k=7+4=11.

  • если m=8, то подставляя в формулу ищу такое значение k, чтобы выполнялось неравенство 2k>= 8+k+1. Следовательно, это выполняется при k=4, так как 16>13. Тогда нахожу n=m+k=8+4=12.

  • если m=9, то подставляя в формулу ищу такое значение k, чтобы выполнялось неравенство 2k>= 9+k+1. Следовательно, это выполняется при k=4, так как 16>14. Тогда нахожу n=m+k=9+4=13.

  • если m=10, то подставляя в формулу ищу такое значение k, чтобы выполнялось неравенство 2k>= 10+k+1. Следовательно, это выполняется при k=4, так как 16>15. Тогда нахожу n=m+k=10+4=14.

  • если m=11, то подставляя в формулу ищу такое значение k, чтобы выполнялось неравенство 2k>= 11+k+1. Следовательно, это выполняется при k=4, так как 16=16. Тогда нахожу n=m+k=11+4=15.

  • если m=12, то подставляя в формулу ищу такое значение k, чтобы выполнялось неравенство 2k>= 12+k+1. Следовательно, это выполняется при k=5, так как 32>18. Тогда нахожу n=m+k=12+5=17.

  • если m=13, то подставляя в формулу ищу такое значение k, чтобы выполнялось неравенство 2k>= 13+k+1. Следовательно, это выполняется при k=5, так как 32>18. Тогда нахожу n=m+k=13+5=18.

  • если m=14, то подставляя в формулу ищу такое значение k, чтобы выполнялось неравенство 2k>= 14+k+1. Следовательно, это выполняется при k=5, так как 32>20. Тогда нахожу n=m+k=14+5=19.

  • если m=15, то подставляя в формулу ищу такое значение k, чтобы выполнялось неравенство 2k>= 15+k+1. Следовательно, это выполняется при k=5, так как 32>21. Тогда нахожу n=m+k=14+5=20.

  • если m=16, то подставляя в формулу ищу такое значение k, чтобы выполнялось неравенство 2k>= 16+k+1. Следовательно, это выполняется при k=5, так как 32>22. Тогда нахожу n=m+k=16+5=21.

Результаты занесем в таблицу:

m

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

n

3

5

6

7

9

10

11

12

13

14

15

17

18

19

20

21

m/n

0.33

0.4

0.5

0.57

0.56

0.6

0.64

0.67

0.69

0.71

0.73

0.71

0.72

0.74

0.75

0.76

Исходя из данного графика, можно заключить, что чем больше длина кодовой комбинации, тем больше число информационных символов. При этом видно, что график стремится к какому-то постоянному значению, что позволяет при больших m без подсчетов прогнозировать длину кодовой комбинации.

4)

  • Исследование способности кода обнаруживать и исправлять однократную ошибку для двоичного кода буквы «Щ» и перебор всех однократных ошибок.

Результаты представлены в таблице.

Код сообщения (источник)

10011 001

Сообщение в коде Хэмминга

101000101001

Искаж-енные

позиции

Закодированный сигнал

Исправленный

сигнал

Указатель

ошибки

Выходной сигнал

0

101000101001

101000101001

0001

001000101001

1

101000101001

101000101001

0010

111000101001

2

101000101001

101000101001

0011

100000101001

3

101000101001

101000101001

0100

101100101001

4

101000101001

101000101001

0101

101010101001

5

101000101001

101000101001

0110

101001101001

6

101000101001

101000101001

0111

101000001001

7

101000101001

101000101001

1000

101000111001

8

101000101001

101000101001

1001

101000100001

9

101000101001

101000101001

1010

101000101101

10

101000101001

101000101001

1011

101000101011

11

101000101001

101000101001

1100

101000101000

Вывод: Как видно из таблицы, код Хэмминга определяет однократную ошибку, на которую указывает указатель ошибки на любой позиции, которая возникает при передачи кода по каналу связи, при этом не важно положение искаженного символа – информационного или контрольного и исправляет ее, при этом не возникают новые ошибки при исправлении.

  • Исследование способности кода обнаруживать и исправлять двукратную ошибку для двоичного кода буквы «К».

Код сообщения (источник)

10001 010

Сообщение в коде Хэмминга

010110110001

Искаж-енные

позиции

Закодированный сигнал

Исправленный

сигнал

Указатель

ошибки

Выходной сигнал

0, 1

010110110001

101110110001

0011

100110110001

0, 2

010110110001

101110110001

0010

111110110001

0, 3

010110110001

110000110001

0101

110010110001

0, 4

010110110001

110000110001

0100

110100110001

0, 5

010110110001

110111010001

0111

110111110001

0, 6

010110110001

110111010001

0110

110110010001

0, 7

010110110001

110110101001

1001

110110100001

0, 8

010110110001

110110101001

1000

110110111001

0, 9

010110110001

110110110111

1011

110110110101

0, 10

010110110001

110110110111

1010

110110110011

0, 11

010110110001

110110110000

1101

110110110000

1, 2

010110110001

101110110001

0001

001110110001

1, 3

010110110001

000011110001

0110

000010110001

1, 4

010110110001

000100010001

0111

000100110001

1, 5

010110110001

000011110001

0100

000111110001

1, 6

010110110001

000100010001

0101

000110010001

1, 7

010110110001

000110100101

1010

000110100001

1, 8

010110110001

000110111011

1011

000110111001

1, 9

010110110001

000110100101

1000

000110110101

1, 10

010110110001

000110111011

1001

000110110011

1, 11

010110110001

000110110000

1110

000110110000

2, 3

010110110001

011010010001

0111

011010110001

2, 4

010110110001

011101110001

0110

011100110001

2, 5

010110110001

011101110001

0101

011111110001

2, 6

010110110001

011010010001

0100

011110010001

2, 7

010110110001

011110100011

1011

011110100001

2, 8

010110110001

011110111101

1010

011110111001

2, 9

010110110001

011110111101

1001

011110110101

2, 10

010110110001

011110100011

1000

011110110011

2, 11

010110110001

011110110000

1111

011110110000

3, 4

010110110001

110000110001

0001

010000110001

3, 5

010110110001

000011110001

0010

010011110001

3, 6

010110110001

011010010001

0011

010010010001

3, 7

010110110001

010010100000

1100

010010100001

3, 8

010110110001

010010111001

1101

010010111001

3, 9

010110110001

010010110101

1110

010010110101

3, 10

010110110001

010010110011

1111

010010110011

3, 11

010110110001

010010100000

1000

010010110000

4, 5

010110110001

011101110001

0011

010101110001

4, 6

010110110001

000100010001

0010

010100010001

4, 7

010110110001

010100100001

1101

010100100001

4, 8

010110110001

010100111000

1100

010100111001

4, 9

010110110001

010100110101

1111

010100110101

4, 10

010110110001

010100110011

1110

010100110011

4, 11

010110110001

010100111000

1001

010100110000

5, 6

010110110001

110111010001

0001

010111010001

5, 7

010110110001

010111100001

1110

010111100001

5, 8

010110110001

010111111001

1111

010111111001

5, 9

010110110001

010111110100

1100

010111110101

5, 10

010110110001

010111110011

1101

010111110011

5, 11

010110110001

010111110100

1010

010111110000

6, 7

010110110001

010110000001

1111

010110000001

6, 8

010110110001

010110011001

1110

010110011001

6, 9

010110110001

010110010101

1101

010110010101

6, 10

010110110001

010110010010

1100

010110010011

6, 11

010110110001

010110010010

1011

010110010000

7, 8

010110110001

110110101001

0001

010110101001

7, 9

010110110001

000110100101

0010

010110100101

7, 10

010110110001

011110100011

0011

010110100011

7, 11

010110110001

010010100000

0100

010110100000

8, 9

010110110001

011110111101

0011

010110111101

8, 10

010110110001

000110111011

0010

010110111011

8, 11

010110110001

010100111000

0101

010110111000

9, 10

010110110001

110110110111

0001

010110110111

9, 11

010110110001

010111110100

0110

010110110100

10, 11

010110110001

010110010010

0111

010110110010

Вывод: Анализирую полученные данные можно сделать заключение, что код Хэмминга только обнаруживает двукратную ошибку с помощью указателей, но не исправляет ее. При этом если вносятся исправления в коде, то возникают новые ошибки.

  • Исследование способности кода обнаруживать и исправлять трехкратную ошибку для двоичного кода буквы «Б».

Код сообщения (источник)

10000 001

Сообщение в коде Хэмминга

111100010001

Искаж-енные

позиции

Закодированный сигнал

Исправленный

сигнал

Указатель

ошибки

Выходной сигнал

0, 1, 6

111100010001

001000110001

0100

001100110001

0, 2, 8

111100010001

010100011011

1011

010100011001

0, 3, 9

111100010001

011000010101

1111

011000010101

1, 3, 5

111100010001

101001010001

0000

101001010001

1, 6, 7

111100010001

101100100001

1101

101100100001

1, 8, 9

111100010001

001100011101

0001

101100011101

2, 3, 11

111100010001

110000010010

1011

110000010000

2, 9, 10

111100010001

100100010111

0010

110100010111

3, 4, 5

111100010001

111011110001

0111

111011010001

3, 10,11

111100010001

110000010010

0011

111000010010

4, 6, 9

111100010001

111110100101

1000

111110110101

5, 8, 9

111100010001

111111011101

0101

111101011101

6, 7, 10

111100010001

111000100011

0100

111100100011

7, 8, 9

111100010001

111100001111

1011

111100001101

9, 10, 11

111100010001

111100010110

1101

111100010110

Вывод: По результатам таблицы видно, что данный код Хэмминга не способен исправить трёхкратную ошибку. Но на позициях 1, 3, 5 указатель ошибки нулевой, то есть, следовательно, ошибок нет. Не всегда данный код Хэмминга может обнаружить ошибку.

ВЫВОДЫ

В ходе анализа данных, полученных во время исследований, можно подвести итог, что код Хэмминга может обнаружить однократные, двукратные, трехкратные ошибки, но исправлять он способен однократные ошибки, причем, чем выше кратность, тем меньше вероятности обнаружить такие ошибки. То есть при больших кратностях метод дает неоднозначные результаты. Метод лучше применять для каналов с низким уровнем помех. Чтобы улучшить метод, необходимо увеличить число контрольных символов, что означает увеличение порядка. Чем выше число контрольных символов, тем выше помехоустойчивость метода.