- •3. Помехоустойчивые коды
- •Оку (Обнаруживающий код удвоения).
- •Исходник: 1001101 1000001 1010001 1010011 1000001
- •Принято:10011011000001101000110100111000001 10011011000001 101000110100110111110
- •Оки (Обнаруживающий код инверсный)
- •Исходник: 1001101 1000001 1010001 1010011 1000001
- •Корректирующий циклический код кцк генерируется порождающим полиномом
- •Корректирующий мажоритарный код кмк: генерация, диагностика, коррекция, декодирование и эффективность
3. Помехоустойчивые коды
(Рассмотрим на примере решения задач)
Существенно сократить избыточность в передаваемых сообщения позволяет помехоустойчивое кодирование. В общем плане помехоустойчивое кодирование можно понимать как такое кодирование сообщений, при котором элементы связаны определенной зависимостью, позволяющей при ее нарушении указать ошибки и восстановить информацию. Помехоустойчивые коды рассчитаны на определенные ошибки. Это значит, что при других ошибках они могут оказаться недостаточно эффективными.
-
Обнаруживающие коды.
-
Обнаруживающий код четности ОКЧ:
-
Назначение: обнаружение одной или нескольких ошибок в двоичном слове.
-
Генерация.
-
Исходник: 1001101 1000001 1010001 1010011 1000001 ()
-
Макет: 1001101 10000001 1010001 1010011 1000001К (бит четности)
-
К=100110110000011010001 1010011 1000001 = 1
-
ОЧК(36;35)=1001101 1000001 1010001 1010011 1000001 1
-
-
-
Диагностика.
-
А.
-
Передано: 1001101 1000001 1010001 1010011 1000001 1
-
Принято: 1001101 1000001 1010001 1010011 1000001 0
-
Диагностика: 100110110000011010001 1010011 10000010 = 1 ошибка
-
Б.
-
Передано: 1001101 1000001 1010001 1010011 1000001 1
-
Принято: 0001101 1000001 1010001 1010011 1000001 0
-
Диагностика:
-
000110110000011010001 1010011 10000010 = 0 ошибка
-
В.
-
Передано: 1001101 1000001 1010001 1010011 1000001 1
-
Принято: 0111101 1000001 1010001 1010011 1000001 1
-
Диагностика:
-
011110110000011010001 1010011 10000011 = 1 ошибка
-
Эффективность.
- минимальное количество контрольных бит (исбыточность).
- простой удобный алгоритм генерации кода.
- обнаруживает нечетное количество ошибок(1,3,5).
Оку (Обнаруживающий код удвоения).
Генерация.
-
Исходник: 1001101 1000001 1010001 1010011 1000001
Макет:10011011000001101000110100111000001К1К2К3К4К5К6К7К8К9К10К11К12К13К14К15К16К17К18К19К20К21К22К23К24К25К26К27К28К29К30К31К32К33К34К35
ОКУ(70;35) = 1001101 1000001 1010001 1010011 1000001 1001101 1000001 1010001 1010011 1000001
Диагностика.
-
Принято:10011011000001101000110100111000001 10011011000001 101000110100110111110
Диагностика: суммируются по модулю 2 соответствующие биты информационной и контрольной части кода.
10011011000001101000110100111000001
-
10011011000001101000110100110111110
00000000000000000000000000001111111
Вывод. Существует ошибка:
- либо в позиции 29, либо в 64
- либо в позиции 30, либо в 65
- либо в позиции 31, либо в 66
- либо в позиции 32, либо в 67
- либо в позиции 33, либо в 68
- либо в позиции 34, либо в 69
- либо в позиции 35, либо в 70.
В остальных позициях ошибок нет.
Эффективность
- простой удобный алгоритм генерации и диагностики кода.
- количество контрольных бит = количеству информационных
- частично указывает адрес ошибки.
- большое количество контрольных бит.