Цепной код

Цепной код относится к группе непрерывных кодов, где операции кодирования и декодирования производятся непрерывно над последовательностью символов без деления ее на блоки.

В цепном коде после каждого информационного элемента следует проверочный элемент, формируемый путем сложения по модулю 2 двух информационных элементов, отстоящих друг от друга на шаг сложения . Шаг – это расстояние между двумя информационными элементами, формирующими проверочный элемент.

Обозначим через информационную последовательность символов. Проверочные символы обозначим через b. Согласно сказанному выше, имеем: ; ; …; ; …

Закодированная цепным кодом последовательность имеет вид:

.

Процесс декодирования цепного кода состоит в следующем:

- из поступающей последовательности элементов выделяют отдельно информационные элементы и отдельно проверочные элементы;

- из принятой последовательности информационных элементов по известному правилу кодирования формируются новые проверочные элементы;

- каждый сформированный проверочный элемент складывается по модулю 2 с принятым проверочным элементом. При отсутствии искажений результатом суммирования будет 0, в противном случае – 1.

В теории кодирования доказывается, что при шаге сложения цепной код способен исправлять пачки ошибок длиной . Изменяя шаг сложения, можно согласовывать корректирующие способности кода с характеристиками канала связи.

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

Предположим, что в последовательности символов кода Финка-Хагельбергера подверглись искажению символы и .

Исправление ошибок осуществляется в следующей последовательности:

– с момента обнаружения ошибки регистрируются все неправильные проверки до появления правильной. Имеем:

1)

2)

3)

4)

5) . Вывод: – достоверно.

– в проверке 4) – достоверно, т.к. в противном случае в проверке 3) было бы равенство (между двумя ошибочными символами должно быть не менее трех правильных символов). Вывод: искажен символ , следовательно, , и – достоверны;

– в проверке 2) искаженным является символ , т.к. при искажении выполнялась бы проверка 1).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: