Цепной код относится к группе непрерывных кодов, где операции кодирования и декодирования производятся непрерывно над последовательностью символов без деления ее на блоки.
В цепном коде после каждого информационного элемента следует проверочный элемент, формируемый путем сложения по модулю 2 двух информационных элементов, отстоящих друг от друга на шаг сложения
. Шаг
– это расстояние между двумя информационными элементами, формирующими проверочный элемент.
Обозначим через
информационную последовательность символов. Проверочные символы обозначим через b. Согласно сказанному выше, имеем:
;
; …;
; …
Закодированная цепным кодом последовательность имеет вид:
.
Процесс декодирования цепного кода состоит в следующем:
- из поступающей последовательности элементов выделяют отдельно информационные элементы и отдельно проверочные элементы;
- из принятой последовательности информационных элементов по известному правилу кодирования формируются новые проверочные элементы;
- каждый сформированный проверочный элемент складывается по модулю 2 с принятым проверочным элементом. При отсутствии искажений результатом суммирования будет 0, в противном случае – 1.
В теории кодирования доказывается, что при шаге сложения
цепной код способен исправлять пачки ошибок длиной
. Изменяя шаг сложения, можно согласовывать корректирующие способности кода с характеристиками канала связи.
Простейшим цепным кодом является код Финка-Хагельбергера, имеющий
, т.е.
. Этот код позволяет исправлять все одиночные ошибки при условии, что между двумя любыми ошибочно принятыми символами имеется по крайней мере три правильно принятых символа. Рассмотрим пример.
Предположим, что в последовательности символов кода Финка-Хагельбергера
подверглись искажению символы
и
.
Исправление ошибок осуществляется в следующей последовательности:
– с момента обнаружения ошибки регистрируются все неправильные проверки до появления правильной. Имеем:
1) 
2) 
3) 
4) 
5)
.
Вывод:
– достоверно.
– в проверке 4)
– достоверно, т.к. в противном случае в проверке 3) было бы равенство (между двумя ошибочными символами должно быть не менее трех правильных символов). Вывод: искажен символ
, следовательно,
,
и
– достоверны;
– в проверке 2) искаженным является символ
, т.к. при искажении
выполнялась бы проверка 1).






