Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metodichka_KiD / Главы_1_3 / Глава1_3.doc
Скачиваний:
105
Добавлен:
09.02.2015
Размер:
1.39 Mб
Скачать

2.6. Примеры линейных помехоустойчивых кодов

2.6.1. Код с контролем нечетности

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

При формировании кодового слова Ак в его контрольный разряд заносится символ 0 или 1 таким образом, чтобы сумма единиц в кодовом слове, включая контрольный разряд, стала нечетной. Следовательно, значение проверочного разряда определяется из выражения:

=, (2.17)

Общая схема применения кода приведена на рис. 2.5.

Кодер, представляющий собой m-входовый элемент , формирует символ , который в качестве дополнительного (m+1)-го разряда отсылается вместе в канал с информационными. При этом n=(m+1) – разрядное кодовое слово всегда будет содержать нечетное число единиц. Так, если информационное слово нечетное, то функция от такого слова равна 0 (=0), и нулевое значение контрольного разряда не изменяет нечетного числа единиц в кодовом слове. Если же число единиц в информационном слове четное, то контрольный разряд в этом случае будет равен 1, и результирующее число единиц в передаваемом кодовом слове станет нечетным.

Рис.2.5. Схема применения кода с контролем нечетности

На выходе из канала проверяется сохранность приданного кодовому слову признака – его нечетность, для чего определяется

=. (2.18)

Если значение P равно 1, то в передаваемом кодовом слове произошла ошибка, если же P=0 – считают ошибок нет. Столь простой контроль не позволяет исправить ошибку, но он по крайне мере дает возможность при обнаружении ошибки исключить из дальнейшей обработки искаженные слова и затребовать, например, повторную передачу.

Код с контролем нечетности позволяет обнаруживать все нечетные ошибки, но не обнаруживает ошибки четной кратности. Пропуск четных ошибок – это следствие малых значений избыточности и минимального кодового расстояния, равных согласно (2.6) и (2.9) соответственно:

Dmin=2.

При взаимной независимости появления ошибок, наиболее вероятными являются одинарные ошибки. Действительно, при вероятности появления одиночной ошибки, раной p, вероятность появления двойных ошибок – , тройных – , и т.д. Поскольку обычно , необнаруженные кодом с проверкой нечетности двойные ошибки встречаются значительно реже, чем обнаруженные одиночные.

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

Наряду с кодом с контролем нечетности для обнаружения ошибок может быть применен код с контролем четности. Его отличие от кода с контролем нечетности состоит в том, что значение проверочного символа находится из выражения:

и, следовательно, (m+1) разрядные кодовые слова, посылаемые в канал, всегда четные. Однако при этом случае информационное слово «все нули» будет иметь контрольный разряд, равный нулю (=0) и в канал будет отправлено кодовое слово из сплошных нулей. На выходе из канала связи такое слово будет неотличимо от весьма опасной неисправности – полного пропадания связи. Поэтому для контроля достоверности передачи данных предпочтение должно быть отдано коду с контролем нечетности (для которого в перечне разрешенных кодовых комбинаций комбинация «все нули» отсутствует). Что касается контроля достоверности хранения данных возможности этих двух кодов эквивалентны и выбор кода является делом вкуса.