- •Глава 7 помехоустойчивое кодиров 7.1. Классификация корректирующих кодов
- •7.2. Принципы помехоустойчивого кодирования
- •7.3. Систематические коды
- •7.4. Код с четным числом единиц. Инверсный код
- •7.5. Коды Хемминга
- •7.6. Циклические коды
- •7.7. Коды с постоянным весом
- •7.8. Непрерывные коды
- •7.9. Обобщение теории кодирования на недвоичные коды
- •7.10. Итеративные и каскадные коды
- •7.11. Адаптивные корректирующие коды
7.7. Коды с постоянным весом
В теории кодирования весом кодовых комбинаций принято называть количество единиц, которое они содержат. Если все комбинации кода имеют одинаковый вес, то такой код называется кодом с постоянным весом. Коды с постоянным весом относятся к классу блочных неразделимых кодов, так как здесь не представляется возможным выделить информационные и контрольные символы. Из кодов этого типа наибольшее распространение получил обнаруживающий семизначный код 3/4, каждая разрешенная комбинация которого имеет три единицы и четыре нуля. Известен также код 2/5. Примером комбинаций кода 3/4 могут служить следующие семизначные последовательности: 1011000, 0101010, 0001110 и т. д.
Декодирование принятых комбинаций сводится к определению их веса. Если он отличается от заданного, то комбинация принята с ошибкой. Этот код обнаруживает все ошибки нечетной кратности и часть ошибок четной кратности. Не обнаруживаются только так называемые ошибки смещения, сохраняющие неизменным вес комбинации. Ошибки смещения характеризуются тем, что число искаженных единиц всегда равно числу искаженных нулей. Можно показать, что вероятность необнаруженной ошибки для кода 3/4 равна:
при
(7.18)
В этом коде из
общего числа комбинаций
разрешёнными являются лишь
,
поэтому
коэффициент избыточности:
æ![]()
Код 3/4 находит применение при частотной манипуляции в каналах с селективными замираниями, где вероятность ошибок смещения невелика.
7.8. Непрерывные коды
Из непрерывных кодов, исправляющих ошибки, наиболее известны коды Финка — Хагелъбаргера, в которых контрольные символы образуются путем линейной операции над двумя или более информационными символами. Принцип построения этих кодов рассмотрим на примере простейшего цепного кода. Контрольные символы в цепном коде формируются путем суммирования двух информационных символов, расположенных один относительно другого на определенном расстоянии:
(7.19)
Расстояние между информационными символами L = k-i определяет основные свойства кода и называется шагом сложения. Число контрольных символов при таком способе кодирования равно числу информационных символов, поэтому избыточность кода x= 0,5. Процесс образования последовательности контрольных символов показан на рис. 7.2а.
Полученные контрольные символы размещаются между информационными символами с задержкой на два шага сложения.
Рис.7.2.
Образование и размещение контрольных
символов
в цепном коде Финка-Хагельбергера.
При
декодировании из принятых информационных
символов по тому же правилу (7.19)
формируется вспомогательная
последовательность контрольных символов
,
которая сравнивается с принятой
последовательностью контрольных
символов
(рис. 7.2б). Если произошла ошибка в
информационном символе, например,
,
то это вызовет искажения сразу двух
символов:
и
,
что и обнаружится в результате их
сравнения с
и
.
Отсюда по общему индексу k
легко определить и исправить ошибочно
принятый информационный символ
.
Ошибка в принятом контрольном символе,
например,
,
приводит к несовпадению контрольных
последовательностей лишь в одном месте.
Исправление такой ошибки не требуется.
Важное преимущество непрерывных кодов состоит в их способности исправлять не только одиночные ошибки, но и группы (пакеты) ошибок. Если задержка контрольных символов выбрана равной 2L, то можно показать, что максимальная длина исправляемого пакета ошибок также равна 2L при интервале между пакетами не менее 6L+1. Таким образом, возможность исправления длинных пакетов связана с увеличением шага сложения L, а следовательно, и с усложнением кодирующих и декодирующих устройств.
