Файл: Зелигер Н.Б. Основы передачи данных учеб. пособие.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 28.06.2024

Просмотров: 203

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

полином единицы с приписанными справа нулями и заполнением строк дополнительной матрицы промежуточными остатками.

Пример.

Требуецоя

построить

определяющую матрицу

циклического

(15,

10)-кода, если известно,

что в

этом коде

используется образующий

полином

Р(х), равный Р ( х ) = х ь+ х ‘‘ + х2+ \

(Уг = 5). Найдем проверочные элементы допол­

нительной матрицы А и, т'

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1000000000000001110101

 

 

 

 

 

 

 

 

 

 

 

110101

 

11101100101

 

 

 

 

 

 

 

 

1-й остаток

101010

 

 

 

 

 

 

 

 

 

 

 

 

 

110101

 

 

 

 

 

 

 

 

 

 

 

2-й остаток

111110

 

 

 

1 0

1 0

 

1

 

 

 

 

110101

 

 

 

 

 

 

3-й

остаток

 

010110

 

 

 

1 1 1

1 1

 

 

 

 

 

000000

 

 

 

0

1 0

1 1

 

 

4-й

остаток

 

101100

 

 

 

 

 

 

 

 

 

1 0

1

1 0

 

 

 

 

 

110101

 

 

 

 

 

 

остаток

 

 

 

 

1 1 0 0 1

 

 

5-й

 

110010

 

 

 

 

 

 

 

110101

 

 

0

0

1 1 1

 

 

-6-й остаток

 

001110

 

 

0 1 1 1 0

 

 

 

 

 

000000

 

 

1 1 1 0

0

 

 

7-й

остаток

 

011100

 

 

 

 

 

 

 

0

1 1 0

 

1

 

 

 

 

 

000000

 

 

 

 

 

 

 

 

 

 

1 1 0

1 0

 

 

8-й остаток

 

111000

 

 

 

 

 

 

110101

 

 

 

 

 

 

 

 

 

9-й остаток

 

011010

 

 

 

 

 

 

 

 

 

 

 

 

000000

 

 

 

 

 

 

 

 

 

10-й остаток

 

 

п о ю

 

 

 

 

 

 

 

 

 

Зная дополнительную

матрицу

/Ц,

составляем

определяющую

матрицу

циклического (15, 10)-кода:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 0 0 0 0 0 0 0 0 1 1 0 1 0 1

 

 

 

 

 

 

 

 

 

 

0 0 0 0 0 0 0 0 1 0 1 1 1 1 1

 

 

 

 

 

 

 

 

 

 

0 0 0 0 0 0 0 1 0 0 0 1 0 1 1

 

 

 

 

 

 

 

 

 

 

0 0 0 0 0 0 1 0 0 0 1 0 1 1 0

 

 

 

 

 

 

 

 

 

 

0 0 0 0 0 1 0 0 0 0 1 1 0 0 1

 

 

 

 

 

 

 

 

 

 

0 0 0 0 1 0 0 0 0 0 0 0 1 1 1

 

 

 

 

 

 

 

 

 

 

0 0 0 1 0 0 0 0 0 0 0 1 1 1 0

 

 

 

 

 

 

 

 

 

 

0 0 1 0 0 0 0 0 0 0 1 1 1 0 0

 

 

 

 

 

 

 

 

 

 

0 1 0 0 0 0 0 0 0 0 0 1 1 0 1

 

 

 

 

 

 

 

 

 

 

1 0 0 0 0 0 0 0 0 0 1 1 0 1 0

 

 

 

 

 

 

 

Пользуясь определяющей матрицей А і5, іо, можно

воспроизвести

любую

из

210 разрешенных кодовых комбинаций циклического кода. Так, для нахождения кодовой комбинации '11000:1010010001, полученной в предыдущем примере (стр. 72) делением полинома xhG(x) = xll-\-xi0-f-x:7-j-x5 на образующий полином Р(х) = = хй+ х * + х 2+Л, достаточно сложить по модулю два 1, 3, 6 и 10-ю строки мат­ рицы А 15, 10.

73


 

 

ПРИ Н Ц И П О БН А Р УЖ Е Н И Я О Ш И БО К

Пусть

переданная

кодовая комбинация

1.1000:1010010001, ото­

бражаемая

кодовым

полиномом

Е(х) 1 +X + X5+X1JrXm + X4y

принята

с ошибками и имеет вид 11000КШ110101. Соответствен­

ный кодовый

полином

Н(х) будет

иметь

вид Н(х) — 1+х + х5 +

+ л' 7 + х8 + j: 9 + ^ 10 + jc12 + ^14. Просуммируем по модулю два полином:

F(x),

отображающий

переданную комбинацию, с полиномом

Н(х),

отображающим

принятую комбинацию: F(x) @Н(х) =

= Е(х) =х® + х9 + X 12=*»

000000001100100. Полином Е(х) носит наз­

вание полинома ошибок.

Мы видим, что в полиноме ошибок ненулевые степени имеют

те

члены, которые соответствуют разрядам кодовой

комбинации

с ошибками. При отсутствии ошибок Е(х) = 0.

разделить

на

Для обнаружения ошибок следует полином Н(х)

образующий полином Р(х):. Если деление не дает остатка, в.

принятой кодовой комбинации ошибки отсутствуют или не обна­

ружены. Если же

в 'результате деления Н(х) на

Р(х) получается,

остаток Р(х), это

означает, что принятая комбинация содержит

ошибки.

содержащий ошибки, может

быть представлен

Полином Н(х),

в виде

 

 

 

II(x) = F(x)@E(x).

(2.39)

Так как F(x) делится на Р(х) без остатка, то остаток Я(х), по­

лучаемый при делении Н(х) на Р(х),

такой же, как и при делении

Е(х) на Р(х).

Е(х) — х8+ я9 + х12. Образую­

Для рассмотренной комбинации

щий полином Р(х), как и ранее, примем Р(х) = 1+ jc2 -|-x4 + x5. Ос­

таток

R(x) от деления Е(х)

на Р(х) равен Я(х) — хІі+х+Л. Так

как в

данном случае Я ( х ) ^ Ь ,

это указывает на наличие ошибок в.

принятой кодовой комбинации. Легко убедиться, что число ошибок в принятой кодовой комбинации равно весу полинома ошибок.

ВЫ БОР О Б Р А ЗУЮ Щ ЕГО ПОЛИНОМА

Для построения циклического (п, т)-кода, обеспечивающего обнаружение или исправление ошибок заданной кратности, преж­ де всего следует выбрать образующий полином Р(х) степени k — = п т. Обнаруживающая способность циклического кода опреде­ ляется степенью образующего полинома и числом его членов.

Из теории кодирования известно, что образующий полином дол­ жен входить в качестве сомножителя в разложение двучлена я" + 1 .

Из (2.25)

n = 2 h—1 и xn+ \ = x zk~l+\. Двучлены вида х2*-1+1

делятся

без

остатка на

все неприводимые полиномы

степени kr

т. е. на

такие полиномы,

которые делятся без остатка

на самих

себя

и

на единицу. Сомножителями в разложение двучлена

лг2

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

74


рых делится без остатка число k. Пользуясь этими свойствами дву­

членов вида X2*- 1 +ІІ, можно выбрать необходимый образующий полином Р(х).

Пример. Требуется построить циклический (п, т)-кая е поправлением и ко­ довых комбинациях одиночных ошибок.

Пусть общее число элементов п кодовой комбинации равно 15. Число про­

верочных элементов k определится из (2.26); fe^log2 (n -ні). В

данном

случае

Jfe= log2 16= 4.

 

т = пк —Л,\. Для л=і!і5

и

й=4

имеем

Число информационных элементов

х" -I-1= х 2Л_1+ 1 = х15+ 1. Так

как А =

4 делится без остатка

на

1, 2

и 4, то

сомножителями полинома х,5+1

должны быть все неприводимые полиномы пер­

вой и третьей степеней. Пользуясь таблицами для неприводимых полиномов (27],

(113], получим: хІ5+1 = і(х+1) (х2+х+!1)'(х1+ х -И )і(х 4-І-л3-Ы)і(х4+А3+ х г+ х -Н ).

Из всех сомножителей разложения ідвучлена а 15+11 требуется выбрать длин

из сомножителей четвертой степени (А=4). Для ответа на вопрос, какой из трех сомножителей четвертой степени может быть использован в качестве образующе­ го полинома, найдем для каждого из них дополнительную матрицу провероч­

ных элементов /Ц,п.

 

с приписанными

 

справа нулями на

10011=ф- а4+ а + 4,

Делением единицы

 

11001 =>- х4+ х 3+ 1 и 1111 1=4>а4+'а3+ а2+ а + 1,

получим соответственные дополни­

тельные матрицы:

 

 

 

 

 

 

 

 

 

 

 

 

0 (Г 1т

1 0 0 1

 

1 1 1 1

 

 

0 1 1 0

1 0

1 1

 

0 0 0

1

 

 

1 1 0 0

1 1

1 1

 

0 0

1 0

цикл

 

1 0 1 1

0 1 1 1

 

0 1 0 0

 

 

0 1 0 1

1 1 1 0

 

1 0_0 0

 

А Mi

1 0 1 0

'Ѵп — 0 1 0 1

А‘І,и ~

1 1 1 1

 

 

0 1 1 1

1 0

1 0

 

0 0 0

1

 

 

1 1 1 0

1

1 0

1

 

 

 

 

 

 

1 1 1 1

0 0

1 1

 

 

 

 

 

 

1 1 0

1

0

1 1 0

 

 

 

 

 

 

1 0

0

1

1 1 0 0

 

 

 

 

 

Для

возможности

исправления одиночных ошибок

дополнительные матри­

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

Так как каждая строка единичной матрицы Ац имеет вес, равный едини­ це, то вес любой строки дополнительной матрицы должен быть не менее двух единиц. Это требование будет выполнено, если в качестве образующего полипома для построения циклического і(І1б, іШ)-жода выбрать один из двух сомно­ жителей: Pt.(х4) = х 4+ х + 1 или Р2 (хк) — хк+ х 3+' 1.

Рассматривая дополнительную матрицу А411, можно заметить, что цикл

чередования ее проверочных строк равен 5, в то время как для (15, М)-кода этот цикл должен быть равен Ы. Кроме того, из 5 строк матрицы только пер­ вая строка имеет необходимый вес (м >2), вес же остальных строк является

•недостаточным ( ш = 1 ) . Поэтому сомножитель Р»(х4) = а 4і+ а 3+ а 2+ а -(-1 «е может

быть использован в качестве образующего полинома для построения циклическо­ го (1і5, Ы)-кода.

Зная дополнительные матрицы А4 u и А4 ц можно построить определяю­

щие матрицы для даух эквивалентных циклических і(і15, 41)-кодов. Выбрав в качестве образующего полинома сомножитель /5і(х4) = х 4+х-НІ, можно построить определяющую матрицу (15, 111)-кода.

75


Если

в

определяющей

 

матрице

Л 15, ц

вычеркнуть 6 столбцов

слева и 6

строк снизу, то можно получить определяющую, матрицу

 

 

0 0 0 0 0 о] 0 0 0 0 1 0 0 1 1

 

 

0 0 0 0 0 о] 0 0 0 1 0 0 1 1 0

 

 

0 0 0 0 0 о| 0 0 1 0 0

1 1 0 0

 

 

0 0 0 0 0 °| 0 1 0 0 0

1 0 1 1

 

 

0 0 0 0 0 ОІ 1 0 0 0 0 0_ 1 0 1

 

 

0 0

0 0 0

1 0 0 0 0 0~ 1 0

1 0

 

 

0 0 0 0 1 0 0 0 0 0 0

0 1 I 1

 

 

0 0 0 1 0 0 0 0 0 о 0

1 1 1 0

 

 

0 0

1 0 0 0 0 0 0 0 0

1 1 1 1

 

 

0

1 0 0 0 0 0 0 0 0 0

1 1 0

1

 

 

1 0 0 0 0 0 0 0 0 0 0

1 0 0

1

укороченного кода, эквивалентную

определяющей: матрице кода

Хемминга.

Сокращение числа

столбцов

и

строк определяющей

матрицы не изменяет корректирующей способности циклического кода, но приводит к увеличению его относительной избыточностиТак, относительная избыточность (9—5)/5 укороченного (9,5)-кода пс сравнению с относительной избыточностью (15—11)/11 (15, II)- кода увеличивается в 2 , 2 раза.

Матрицы А\ ,, и А'І п отличаются одна от другой только по­

рядком чередования строк с проверочными элементами. Переста­ новка проверочных элементов в дополнительной матрице приводит

к 111 = 39916800

эквивалентным циклическим

(15, 11)-кодам.

Практически при

выборе из огромного количества

кодов, эквива­

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

В общем случае при построении циклического (п, т )-кода с исправлением в кодовых комбинациях Ь ошибок в качестве обра­ зующего полинома степени k выбирается произведение из о со­

множителей старших степеней, входящих

в разложение двучлена

вида х2 Й-І+ 1 .

 

 

 

 

 

 

 

 

 

 

 

Пример. Требуется

построить

циклический (п,

т)-код

с

исправлением

в

кодовых комбинациях двоичных ошибок.

 

 

 

 

В

этом

случае

Пусть общее число

элементов

кодовой комбинации п = 15.

двучлен х2*_1-)-!І = x n+il = х 15+ 1 .

Из

предыдущего

стримера

известно,

что

в

разложение двучлена x15-fl

в качестве

сомножителей

четвертой степени

входят

полиномы Яц(л:4) = х 4-|-л:-|-1=И0011;

Р2 (хі) = хі -\-х3+\\ => М001;

P3(xl) — x'‘+ x 3 +

+ х г -і-х+1=>- М1 IT. Из

трех

возможных парных

произведений

полиномов чет­

вертой степени получим

три

полинома

восьмой степени (k = 8)\

Рі(хі) Р 3(хі) =

= х 8+ * 7Т-х'Ч-л:4-І-1=> 11)1010001; Р2 (хі) Р 3(х'‘) ^ х а+ х ’' + х г + \

=>100010111;

Я,(*4)Х

X P2(x4) =.T«+x7+ x 5+ x 4 - * 3-l-A--t-1

=>Ч 10111011.

 

 

 

 

 

 

 

Чтобы выяснить, какой из трех полиномов восьмой степени может быть ис­ пользован в качестве образующего, найдем для каждого из них дополнитель­ ную матрицу проверочных элементов Ай,т(т = 15—8=7). Делением единицы с

7 6


приписанными справа нулями на ІіЫОІОООІ, 100010111 и 110111011 находим со­ ответственные дополнительные матрицы:

1 1 0

1 0 0 0

1

 

 

 

 

 

0 0 0

1 0

1

1 1

0

1 1 1 0 0

1 1

 

 

 

 

 

 

0 0

1 0

1 1 1 0

1 1 1 0 0

1 1 0

 

 

 

 

 

 

0 1 0 1 1 I 0 0

0 0

0

1

1

1 0

1

 

>

^8,7

 

I 0

1 I

1 0

0 0

0 0

1 1

1 0

1 0

 

 

 

 

 

 

0

1 1 0 0

1 1 1

0

1 1 1 0

1 0 0

 

 

 

 

 

 

1 1 0 0

1 1 1 0

1 1 1 0

1 0 0 0

 

 

 

 

 

 

1 0 0 0

1 0

1 1

 

 

 

 

 

 

 

1 0

1

1

1 0

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1 0

0

1

1 0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

1 0

0

0

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1 0

0

0

0

1 0

 

 

 

 

 

 

 

 

 

 

 

 

 

1 0

0

0

0

1 0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

1 0

1

1 0

0

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1 0

1

1

1 0

I

 

 

 

 

 

 

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

Так как каждая строка единичной матрицы А7 имеет вес, равный единице, вес любой строки дополнительной матрицы должен быть не менее четырех еди­ ниц. Это требование будет выполнено, если в качестве образующего полинома

для построения ‘циклического (15,7)-кода выбрать

одно из двух произведений:

Р,(х'‘) Р 3(х'-) или Рг(х1) Р 3(х*).

 

В дополнительной матрице ,48 ~из семи строк

три (третья, четвертая и пя­

тая) не обладают требуемым весом. Поэтому произведение Яі (х4)Я2{х4) не мо­ жет быть использовано в качестве образующего полинома для построения цик­ лического (15,7)-кода.

Выбрав в качестве образующего полинома произведение Рі(хі)Рз(хі), мож­ но построить определяющую матрицу циклического (15,7) -кода, исправляющего все двойные н одиночные ошибки:

0 0 0 0 0 0 1 1 1 0 1 0 0 0 1

0 0 0 0 0 1 0 0 1 I 1 0 0 1 1

0 0 0 0 1 0 0 1 1 1 0 0 1 1 0

0 0 0 1 0 0 0 0 0 0 1 1 1 0 1

0 0 1 0 0 0 0 0 0 1 1 1 0 1 0

0 1 0 0 0 0 0 0 1 1 1 0 1 0 0

1 0 0 0 0 0 0 1 1 1 0 1 0 0 0

КО Д И Р У Ю Щ Е Е УСТРОЙСТВО

Из (2.36) следует, что полином комбинации F(x) циклического (п, т)-кода, может быть образован умножением полинома G(x), отображающего неизбыточный от-элементный код, на xh и прибав­ лением к этому произведению остатка R(x) от деления xhG(x) на образующий полином Р(х).

77