Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
кодирования.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
12.08 Mб
Скачать

1.3. Порождающие полиномы циклических кодов

Формирование разрешенных кодовых комбинаций ЦК Bi (X) основа- но на предварительном выборе так называемого порождающего (обра- зующего) полинома G (X), который обладает важным отличительным

признаком: все комбинации Bi (X) делятся на порождающий полином

G (X) без остатка, т. е.

Bi ( X )

G ( X )

Ai ( X ) (при остатке

R( X )  0),

(4.1)

где Аi(Х) — информативный полином (кодовая комбинация первично- го кода, преобразуемого в корректирующий ЦК).

Поскольку, как отмечалось выше, ЦК относятся к классу блочных разделимых кодов, у которых при общем числе символов n число ин- формационных символов в Аi(Х) равно k, то степень порождающего по-

линома определяет число проверочных символов r = n k.

Из этого свойства следует сравнительно простой способ формирова- ния разрешенных кодовых комбинаций ЦК – умножение комбинаций информационного кода Аi(Х) на порождающий полином G (X):

Bi (X) = Ai (X) G (X). (4.2) В теории циклических кодов доказывается, что порождающими мо-

гут быть только такие полиномы, которые являются делителями дву-

члена (бинома) Xn + 1:

X n

1

G ( X )

H ( X ) (при остатке

R( X )  0).

(4.3)

Возможные порождающие полиномы, найденные с помощью ЭВМ, сведены в обширные таблицы. Так, в [3] приведены таблицы G (X) с записью полиномов в восьмеричной системе счисления (mod 8). В этом случае весовые коэффициенты ki представляют три двоичных знака в

соответствии со следующим кодом:

0 000 2 010 4 100 6 110

1

1 001 3 011 5 101 7 11

(4.4)

Двоичные символы являются весовыми коэффициентами порожда- ющих полиномов, коэффициенты восьмеричной системы счисления расположены слева от них с учетом того, что 0  ki  7 (при mod 8). Например, 3425 обозначает многочлен 10-й степени, В двоичной за-

писи числу 3425 (mod 8) эквивалентно число 011100010101 и соот- ветствующий многочлен равен X10 + X9 + X8 + X4 + X2 + 1. Как видно из этого примера, восьмеричная система счисления для записи мно- гочленов выбрана, в частности, из соображений экономии длины за- писи (бумаги) в три раза при больших объемах табулированных зна- чений, что подчеркивает известный недостаток двоичной системы счисления.

Некоторые из порождающих полиномов приведены в табл. 4.1. Следует отметить, что с увеличением максимальной степени по-

рождающих полиномов r резко увеличивается их количество. Так, при r = 3 имеется всего два полинома, а при r = 10 их уже несколько десятков.

Первый порождающий полином минимальной степени r = 1, удов- летворяющий условию (4.3), формирует код с проверкой на четность при двух информативных символах и одном проверочном, обеспечива- ющем обнаружение однократной ошибки, поскольку минимальное ко- довое расстояние dmin= 2. В общем случае коэффициент избыточности

КПЧ минимален:

k r

1 ,

(4.5)

n n

а относительная скорость кода – максимальна и будет



Bk k n 1 ,

(4.6)

n n

В связи с этим КПЧ иногда называют быстрым кодом.

Второй порождающий полином степени r = 2, являющийся "партне- ром" первого G (X) = X + 1 при разложении бинома с n = 3, определяет код с повторением единственного информативного символа k = 1 ("0" или "1").

Таблица 4.1

r-степень полинома G (X)

Порождающий полином G (X)

Запись полинома по mod 2

Запись полинома по mod 8

n

k

Примечание

1

X + 1

11

3

3

2

Код с проверкой на четность (КПЧ)

2

X 2 + X + 1

111

7

3

1

Код с повторением

3

X 3 + X 2 + 1

X 3 + X + 1

1101

13

15

7

7

4

4

Классический код

Хемминга

4

X 4 + X 3 + 1

X 4 + X + 1

X 4 + X 2 + X + 1

X 4 + X 3 + X 2 + 1

11001

10011

10111

11101

31

23

27

35

15

15

7

7

11

11

3

3

Классический код

Хемминга Коды Файра–Абрамсона

5

X 5 + X 2 + 1

X 5 + X 3 + 1

. . .

100101

101001

45

51

31

31

26

26

Классический код

Хемминга

6

. . .

X 6 + X 5 + X 4 +

+ X3 + X 2 +X1+1

. . .

. . .

1111111

177

7

1

Код с повторением

Отметим, что ЦК принадлежат к классу линейных кодов, у которых кодовые комбинации "000 ... 00" и "111 ... 11" являются разрешенными.

У кода с повторением возможности обнаружения и исправления оши- бок безграничны, поскольку число повторений l определяет минималь- ное кодовое расстояние:

dmin = l. (4.7) В общем случае коэффициент избыточности кодов с повторением

кодовых комбинаций является максимально возможным:

k nl n

l 1

1 1 ,

nl l l

и при увеличении l приближается к 1, а скорость (4.6) – минимальна

Bk  1  k

1 .

l

(4.8)

Таким образом, коды с проверкой на четность и коды с повторением –

до некоторой степени антиподы. Первый код очень быстр (всего один

дополнительный символ), но зачастую "легкомыслен". Возможности вто- рого кода с повторением по исправлению ошибок теоретически безгра- ничны, но он крайне "медлителен" [4].

Следующие порождающие полиномы в табл. 4.1 со степенью r = 3 позволяют сформировать набор классических корректирующих кодов Хемминга (7, 4), которые исследовались студентами ранее при выполне- нии ЛР № 3 "Корректирующие коды". Коды Хемминга также принадле- жат к классу ЦК, однако при этом гpyппa проверочных символов кода получается сразу "в целом" при делении информативной кодовой груп- пы на порождающий полином, а не "поэлементно", как это показано в ЛР № 3, когда последовательное суммирование по модулю 2 соответству- ющих информативных символов давало очередной символ проверочной группы. Отметим, что два варианта порождающих полиномов кода Хем- минга (7,4), с записью по модулю 2 в виде 1101 и 1011, представляют собой так называемые двойственные многочлены (полиномы).

Двойственные многочлены определяются следующим образом: если задан полином в виде

2

h (X) = h0 + h1X + h2X

+ … + h Xr,

r

то двойственным к нему полиномом является

h˜ ( X )

h0 X

r h1 X r1

 ...  hr ,

(4.9)

т. е. весовые коэффициенты исходного полинома, зачитываемые слева направо, становятся весовыми коэффициентами двойственного поли- нома при считывании их справа налево. Говоря образно, набор весовых коэффициентов "вывертывается наизнанку".

Обратим внимание на то, что в полных таблицах порождающих ЦК

полиномов двойственные полиномы, как правило, не приводятся [3].

Наряду с тем, что порождающие полиномы кода Хемминга (7,4) явля- ются двойственными друг другу, они также являются неприводимыми.

Неприводимые полиномы не делятся ни на какой другой полином степени меньше r, поэтому их называют еще неразложимыми, просты- ми и примитивными.

Далее в табл. 4.1 при значениях r = 4 и 5 попадают следующие классические коды Хемминга (15, 11) и (31, 26). Порождающие их по- линомы также являются двойственными друг к другу и неприводимы- ми. Напомним, что к классическим кодам Хемминга относятся коды, у которых n = 2r – 1, a k = 2r – 1 – r, с минимальным кодовым расстояни-

ем dmin= 3, позволяющим исправлять однократные ошибки и обнаружи- вать двойные.

При значениях r = 4 в табл. 4.1 попадают двойственные порождаю- щие многочлены кода Абрамсона (7, 3), являющиеся частным случаем кодов Файра, порождающие полиномы для которых имеют вид

G (X) = p (X) (Xc + 1), (4.10)

где р (Х) – неприводимый полином.

Коды Абрамсона совпадают с кодами Файра, если положить с = 1. Число проверочных символов r = 4 определяет общее число символов в коде (значность кода), поскольку для этих кодов n = 2r1 – 1. Эти коды исправляют все одиночные и смежные двойные ошибки ( т. е. серии длиной 2). Помещенные в табл. 4.1 коды Абрамсона (7,3) являются первы- ми циклическими кодами, исправляющими серийные ошибки (пакеты оши- бок). В этом применении ЦК оказываются особенно эффективными. Об- ратим внимание на то, что при с = 1 в (4.10) порождающими полинома- ми р (X) являются двойственные полиномы X 3 + X 2 + 1 и X 3 + X + 1, образующие код Хемминга (7, 4) при r = 3.

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

В заключение на основании данных табл. 4.1 приведем все возмож- ные порождающие полиномы для кодовых комбинаций с числом симво- лов n = 7.

В соответствии со свойством (4.3) порождающих полиномов G (X)

бином X 7 +1 раскладывается на три неприводимых полинома

X 7 + 1 = (X + 1) (X 3 + X 2 + 1) (X 3 + X + 1) =

G1 (X) G2 (X) G3 (X), (4.11)

каждый из которых является порождающим для следующих кодов:

G1 (X) = Х + 1 – код с проверкой на четность, КПЧ (7, 6);

G2 (X) = X 3 + X 2 + 1 – первый вариант кода Хемминга (7,4);

G3 (X) = X 3 + X + 1 – двойственный G˜2 X , второй вариант кода

Хемминга.

Кроме того, различные вариации произведений G1, 2, 3(X) дают воз- можность получить остальные порождающие полиномы:

3

G4 (X) = G1 (X) G2 (X) = (X + 1) (X

+ X 2

+ 1) = X4

+ X 2

+ X + 1 –

код Абрамсона (7,3);

3

4 3 2

G5 (X) = G1 (X) G3 (X) = (X + 1) (X

+ X + 1) = X + X + X

+ 1 –

двойственный G4 (X);

G6 (X) = G2 (X) G3 (X) = (X 3 + X 2 + 1) (X 3 + X + 1) =

= X 6 + X 5 + X 4 + X 3 + X2 + X +1 – код с повторением (7,1). Таким образом, для постоянного заданного значения n все возмож-

ные порождающие полиномы ЦК размещаются между кодами с провер-

кой на четность (n, n – 1) (r = 1) и кодами с повторением (n, 1) (r = n – 1), которые правомерно и называют "кодами антиподами".

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