Методы построения циклического кода

В предыдущем параграфе были рассмотрены методы поиска образующего многочлена в зависимости от требуемой корректирующей способности кода. Зная кодовую комбинацию из «k» информационных символов – ai(x) и образующий многочлен – g(x), нужно получить разрешенные кодовые комбинации (Р.К.К.) – ƒi(x). Существуют три метода образования Р.К.К. циклического кода.

Построение циклического кода методом умножения

Информационный многочлен ai(x) умножается на образующий многочлен g(x), то есть .

Достоинство метода – простота реализации при кодировании.

Недостаток – получаемый код – неразделимый, то есть заранее нельзя указать, где расположены информационные и проверочные символы. Поэтому при декодировании после исправления ошибок приходится делить на g(x) дважды, чтобы получить информационный многочлен.

Пусть имеем код (7; 4), то есть код исправляющий одиночные ошибки. Пусть g(x) = x3 x 1. Необходимо передать ai(x) = 1011.

Для получения Р.К.К. – ƒi(x) умножим и получим:

построение циклического кода методом умножения

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

построение циклического кода методом умножения

На приемной стороне, чтобы судить есть ошибка или нет, необходимо принятую кодовую комбинацию (К.К.) поделить на g(x). Если ошибок нет, то остаток от деления r(x) должен быть равен нулю. Делим:

построение циклического кода методом умножения

Получили остаток, отличный от нуля. http://peredacha-informacii.ru/ По нему мы должны определить, в каком разряде имеет место ошибка. Для этого необходимо определить, какой остаток ri(x) даст единичная ошибка в i-том разряде.

построение циклического кода методом умножения
построение циклического кода методом умножения

До ошибки в четвертом разряде остаток соответствует самой ошибке, а начиная с ошибки в 4-ом разряде происходит деление. В примере остаток , то есть ошибка в пятом разряде. Исправим ошибку:

построение циклического кода методом умножения

Но, получив ƒi(x), мы не получили ai(x), то есть снова приходится делить ƒi(x) на g(x), то есть

построение циклического кода методом умножения