Концепция избыточности может использоваться не только для уменьшения ошибочных передач при общении между людьми. Ее можно с успехом применять и при техническом обмене сообщениями, чтобы предохранить закодированную информацию от помех и ошибок. Следующая ситуация является типичной для передачи сообщений. От источника передаются параллельно сообщения через пучок проводов к некоторому приемнику (адресату) (рис. 7.1.).
Источник — Приемник
Канал
Рис. 7.1. Cxeмa передачи
Из-за ошибок передачи (помех) передаваемые сообщения могут быть искажены. В простейшем случае предположим, что каждый бит с определенной вероятностью подвержен искажению, причем независимо от передачи предшествующего знака. Говорится здесь о дискретном канале без памяти,
и в дальнейшем ограничимся рассмотрением этого простого случая.
При так называемом двоичном канале
из-за ошибок передачи всегда возникают тоже двоичные знаки. Оба знака О и L имеют вероятности ошибок соответственно ро и pl.
Специальными являются случай односторонних помех, при котором имеет место р0 == 0 или рL=0 и случай симметричных помех,
когда Ро == pl. В случае симметричных помех с вероятностью р = ½ для каждого передаваемого знака вероятности ошибочной и корректной передач одинаковы. Принятый знак не оказывает никакого влияния на передаваемый знак.
При канале с потерей знаков
из-за ошибок передачи появляются испорченные знаки которые, впрочем, распознаваемы как искаженные знаки и которые могут быть представлены знаком искажения 1. Такого рода знак приходит, например, при передачах, которые нарушаются через шум. Таким образом, канал в качестве входа принимает слова над множеством знаков {L . 0} и выдает слова над множеством знаков {L, О, 1}.
Надежность кодов
Важным приложением информатики является распознавание ошибок и коррекция ошибок при передаче сообщений. В связи с этим говорится о надежности кодов. Здесь может использоваться избыточность при кодировании. Дополнительная избыточность возникает, например, если при кодах постоянной длины при кодировании используются не все комбинации битов.
Подмножество двоичных слов, используемое для кодирования, может быть выбрано так, чтобы:
(1) вероятность полнить неверный знак была по возможности мала;
(2) вероятность обнаружения ошибки была по возможности больше;
(3) вероятность того, что появившаяся ошибка исправима, была, возможно, больше.
При двоичном кодировании в случае односторонних помех при m-из-n кодах каждая помеха ведет к слову, которое не является кодовым словом, и потому может быть обнаружена.
При симметричных помехах для обнаружения помех требуется увеличение расстояния Хэмминга. Мы получаем следующую, легко доказываемую лемму.
Лемма (обнаружение ошибок). Если код имеет расстояние Хэмминга h, то все ошибки, которые встречаются меньше чем в h битах, могут быть обнаружены.
При предположениях, сформулированных в этой лемме, справедливо, что все ошибки, появившиеся меньше чем в h/2 битах, могут быть успешно устранены, если для коррекции обнаруженной ошибки применяется кодовое слово с наименьшим расстоянием Хэмминга Hd. Получаются следующие простые следствия: если Hd = 2, то ошибочный бит может быть обнаружен; если Hd = 3, то могут быть обнаружены два ошибочных бита, а один ошибочный бит может быть успешно исправлен; корректировка передачи с двумя ошибочными битами ведет к неопределенному, а следовательно, некорректное результату.
Чтобы достичь исчерпывающей сохранности кодов, заданные коды часто снабжаются дополнительными битами: «битами четности» или «контрольными битами».
Пример (код Флексорайта). К каждому кодовому слову добавляется контрольный бит. Его значение берется таким, чтобы общее число L в коде было четным. Если в кодовом слове с контрольным битом испорчен только 1 бит, то контрольный бит для возникшего слова некорректен и тем самым ошибка обнаруживаема.
Адекватный выбор и подходящее число контрольных битов существенно определяются характером возможным помех.
Надежность передачи
Рассмотрим двоичный канал для передачи двоичных слов, о которых (и их избыточности) мы ничего не знаем.
Пусть в канале имеют место симметричные помехи. Это означает, что имеется фиксированная вероятность ошибок, с которой выход в одном знаке отличается от входа. Допустим, далее, принимая во внимание скорость передачи (мощность канала), что источник должен передать определенное число So знаков, а канал может передать Si знаков в единицу времени. Тогда R == So/Si назовем темпом источника.
Если R < 1, то возможно - с помощью соответствующей кодировки входа для передачи - достичь еще дополнительной избыточности и тем самым устойчивости к ошибкам. Таким образом, передача сообщения следует схеме, приведенной на рис. 7.2:
Источник — Кодировка —Декодировка— Приемник
Рис.7.2.
Схема передачи сообщения
В случае темпа источника R < 1 можно было бы использовать избыток мощности канала для того, чтобы с помощью неоднократной передачи информации раньше обнаруживать ошибки передачи и надежно их исправлять.
Пример (надежность через избыточность). Если, например, имеет место R == 1/3, то канал может передать втрое больше знаков, чем их вырабатывает источник. Каждый знак может быть троекратно закодирован перед передачей и в конце концов должен быть снова декодирован:
пересылаемое слово LOLOO,
кодировка LLLOOOLLLOOOOOO.
Если, предположим, например, что вследствие шума биты с номерами ] 5, 6, 12 и 13 будут искажены (норма ошибок 1/3), то адресат получит последовательность знаков
LOLOLLLLLOOLLOO.
![]() |
![]() |
![]() |
![]() |
![]() |