Помехоустойчивое кодирование командно-программной информации, страница 4

В процессе кодирования сообщения многочлен G(x.) , отображающий двоичный код  передаваемого сообщения, умножается на хn-k, в результате чего длина кодовой комбинации увеличивается на п - к разрядов, являющихся проверочными. Произведение G(x)xn-к   делится на образующий многочлен Р(х)   и остаток от этого деления R(x)   суммируется с произведением

G(x)xn~n    . Полученная кодовая комбинация, описываемая кодовым многочленом F(x}=G(x)Xn-kÅR(x) , делится уже без остатка на образующий многочлен Р(х).

 пример. Пусть n = 7,  к = 4 и P(x)=xÅxгÅ 1. Требуется закодировать сообщение 1011.

Данному сообщению соответствует многочлен

Суммируя произведение  G(x)xn-k         с полученным остатком  Р(х.)   , получаем кодовый многочлен F(x)/         .В двоичном коде этому многочлену соответствует кодовая комбинация IOIII00, в которой первые четыре символа являются информационными, а последние три - проверочными.

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

F'(x)=F(x)ÅE(x).

Многочлен F/ (х)  на приемной стороне подвергается делению на многочлен P(x)  . Если это деление производится без остатка, то принимается решение, что информация не искажена.

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

Например, циклический код с образующим многочленом Р(х)=xÅ1   обнаруживает все нечетные ошибки (можно показать, что в данном случае речь идет об известном коде, осуществляющем проверку четности количества единиц в кодовых комбинациях).

Циклический код предполагает равенство длины кодовой комбинации (общего числа символов n ) длине цикла образующего многочлена. Длина цикла многочлена определяется его степенью и структурой.

Как уже отмечалось, достоинством циклических кодов является простотаих технической реализации. Кодирующее устройство циклического (n )-кода состоит из  п -разрядного регистра сдвига и n - к  сумматоров (М2)  по   mod 2 (рис.13.5). Регистр  сдвига состоит из    разрядов информационной части, в которые записывается исходная кодовая комбинация, и проверочной части, содержащей п - к  разрядов. Каждый сумматор М2 служит для формирования проверочного символа, находящегося на определенной позиции. Подключение информационных разрядов к соответствующим сумматорам выполняется в соответствии с правилом построения данного кода.

Рис13.5

 

Выведение полученной п-раз-рядной кодовой комбинации из регистра осуществляется с помощью сдвигающих импульсов, формируемых генератором тактовых импульсов (ГТИ). Частота следования тактовых импульсов определяет скорость передачи информации по каналу связи.

Рассмотрим принцип функционирования декодирующего устройства, структурная схема  Рис.13.6

которого изображена на рис.13.6.Устройство функционирует следующим образом. Принимаемая кодовая комбинация с выхода приемника в последовательном коде записывается в  п -разрядный регистр. Запись числа в регистр осуществляется с помощью сдвигающих импульсов генератора тактовых импульсов, частота которых с помощью системы посимвольной синхронизации поддерживается равной частоте следования символов в канале связи. После записи числа в приемном регистре с помощью сумматоров по  mod 2 (М2) производится проверка на четность для  п - к  подмножеств информационных и проверочных символов. Эти подмножества формируются при кодировании по вполне определенным для данного кода правилам. Если в принятой кодовой комбинации ошибок нет, то на выходе всех сумматоров сформируются нулевые символы. Если в принятой кодовой комбинации имеются ошибочные символы, то на выходе некоторых сумматоров сформируются единичные символы, поскольку условия проверки на четность в соответствующих подмножествах окажутся невыполненными. В этих случаях анализатор ошибок вырабатывает сигнал "Ошибка".

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