Скачиваний:
79
Добавлен:
04.03.2014
Размер:
1.58 Mб
Скачать

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

6.4.1. Методом умножения

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

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

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

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

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

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

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

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

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

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

6.4.2. Методом деления

Чтобы получить разделимый код поступают следующим образом: ai(x) умножают наxm, что эквивалентно дописыванию кai(x) справаmнулей. Полученный многочленделится наg(x). В результате получается частное от деленияg(x) и остатокr(x).

Разрешенная кодовая комбинация ƒi(x) получается путем сложенияиr(x), то есть

.

Степень многочлена g(x) –m, а степень остатка – (m– 1). Поэтому сложение эквивалентно приписыванию остаткаr(x) кai(x), так какmразрядов в– нулевые. В то же время ƒi(x) делится наg(x) без остатка, так как

Данная методика используется при k>m.

Рассмотрим тот же пример:

ai(x) = 1011;g(x) = 1011.

.

Так получилось потому, что ai(x) совпало сg(x).

Если в линии связи произошла ошибка в пятом разряде , то будем иметь

.

Поделим наg(x) и получим остатокr(x):

Исправим принятую К.К.:

И сразу получаем ai(x) как первыеkсимволов, то есть 1011.

6.4.3. По методу группового кода

Ц.К. является разновидностью группового кода (Г.К.), а в Г.К. проверочные символы определяются как комбинация информационных. Для их определения можно воспользоваться следующим рекуррентным соотношением:

,

где

,

а n = 2m – 1.

Зная значения информационных разрядов a0 (старший разряд); a1; a2;... ak–1 можно получить значения проверочных разрядов ak; ak+1;... an–1. Получается код, полностью совпадающий с кодом, полученным делением.

Метод применяется при m > k и k = nm, если n = 2m – 1.

Рассмотрим пример.

Циклический код, исправляющий одиночные ошибки (7; 4); g(x) = 1101.

Найдем Р.К.К. для ai(x) = 0110.

  1. Найдем функцию h(x).

Для этого поделим (xn Е 1) на g(x), то есть (x7 Е 1) / g(x):

  1. Определим проверочные символы Р.К.К., то есть a4; a5; a6.

Используя формулу

,

найдем:

,

где (i = 0);

,

где (i = 1);

,

где (i = 2).

В итоге имеем Р.К.К.: 0110100.

По методу деления мы имеем ту же кодовую комбинацию: делим наg(x) и получаем r(x) = 100.

тогда Р.К.К. равна 0110100.