Файл: Теория и техника передачи данных и телеграфия учебник..pdf

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

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

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

Добавлен: 09.04.2024

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

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

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

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

циклических

кодов.

 

 

 

 

Теорема

6.5. Для

любых

значений е

и t существует цикличе­

ский код длины я = 2 е — 1 , исправляющий

все ошибки кратности t

и менее и содержащий не более et проверочных элементов.

Рассмотрим пример практического использования этой тео­

ремы. Найдем циклические

коды

для е = 5 (я = 31), исправляю­

щие ошибки

кратности t=\,

2, 3. Определим количество избы­

точных элементов по заданным значениям t:

 

t = 1,

я — k = 5-1 = 5;

 

t =

2,

n —

k - 5 - 2

= 10;

 

t =

3,

n —

k = 5-3

= 15.

Таким образом, искомые коды есть (31,26), (31,21) и (31,16). Теорема 6.5 определяет лишь существование кодов с известными

корректирующими

свойствами. Построение

же кодов,

действи­

тельно обладающих этими свойствами, обеспечивается

правиль­

ным выбором порождающего многочлена.

 

 

 

 

Следующая теорема устанавливает связь между порождаю­

щим многочленом и минимальным кодовым

расстоянием.

 

Теорема

6.6. Если среди корней порождающего

многочлена

циклического (я,

k)-кода

имеются корни

вида $т°,

 

fym°+1,

p W

o + d ~ 2 , то минимальное

кодовое расстояние этого

кода равно

по

меньшей

мере

d. В

данной теореме используется

доказан­

ная в теории кодирования [49] возможность представления

корней

порождающего

многочлена

как

степеней

некоторого

числа

р.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6.6.5. Выбор

порождающего

 

 

 

многочлена

 

 

 

 

 

 

 

 

 

для

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

 

кода

 

 

 

 

 

Порождающий

многочлен

для

(я,

я — 1 ) - к о д о в .

Одним

из

возможных

циклических кодов

длины 7 является (7,6) -код

с

g (х)

=

1 +

х.

Покажем,

что этот

код

образуется

на

основе

проверки на

четность всех

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

кодо­

вой комбинации. Для этого найдем

проверочный

многочлен

п{х)

и

построим

проверочную

матрицу.

Определим

п(х)

=

=

(X7

+

1)/(1 +Х)

= 1 +X

+ X2

+ X* +

Xi

+

XF-' + X«

И

Н(7,в)

=

=[ 1 1 1 1 1 1 1 ] .

Таким образом, в рассматриваемом

 

коде

проверочным

с о ­

отношением

охвачены

все

элементы

кодовой

 

комбинации.

В общем случае для (я,

я — 1 ) - к о д а

при

любом

значении я

проверочный

многочлен

находится

как

h (х)

= (хп

 

+ 1)/(1 +

х).

Так как двучлены хп +

1 и

1 + х

имеют общий

корень

х=1,

то х" + 1 делится без остатка на

1 +

х

и

частным

от

деления

всегда является многочлен вида 1 + х

+

хг

+ . . .

+

хп~2

+

хп~х~


Итак, многочлен

вида 1 + х

порождает

(п,

п-~ 1) - код с

про­

веркой на четность по всем элементам.

 

 

 

Порождающий

многочлен

для общего

случая. Теорема

6.6

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

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

определить корректирующие

свойства этого кода.

 

 

 

П р и м е р . Порождающий многочлен

g(x) =

1 + х + х3

(7,4)-кода, рас­

смотренного выше, имеет своими корнями

(З, Р2, р

4 . Требуется

определить кор­

ректирующие свойсіва этого кода.

 

 

 

Находим максимальное число последовательных степеней корней порож­

дающего многочлена. Это Р и Р2. Здесь то = 1, т0 + d2 = 2, откуда d = 4 — 1п0 = 3.

Использование теоремы 6.6 для выбора порождающих много­ членов циклических кодов, обладающих известными корректи­ рующими свойствами, предполагает знание корней многочленов. Поскольку порождающий многочлен циклического (п, k) -кода должен "быть сомножителем хп + \, то для построения всех воз­ можных кодов некоторой длины п, выбора порождающих много­ членов и установления их корректирующих свойств необходимо знание всех сомножителей хп + \ и их корней. Таблицы разложе­ ния хп+\ на неприводимые сомножители с указанием их корней в виде степеней некоторого корня р и циклические коды, пост­ роенные на их основе, приведены в работе [53].

 

П р и м е р .

Дано разложение х 1 5 + !

на

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

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

указаны корнл этих сомножителей как степени некоторого корня р.

 

 

 

Сомножитель

Степень

сомножителя

Корни

 

=

\ + х

 

 

 

1

 

315

= 1

 

 

=

1+

х + х<

 

4

 

32,

3*,

3 »

/ з М =

1 +

х + хї + х3

+ х*

4

р .

36,

З9, З1 2

ГЛх) =

1 + х

+

х2

 

2

 

310

 

 

 

 

 

 

 

 

 

 

 

 

 

h(x)

=

1 + хз

-\- X*

 

4

87,

з1 1 ,

з1 3 ,

3"

 

Требуется

выбрать порождающий многочлен для кода Хэмминга

(15,11) и

для

(15,7)-кода.

 

 

 

 

 

 

 

 

 

Для (15,П)-кода Хэмминга порождающий

многочлен должен иметь сте-

лень 4. Двучлен *| 5

+1 имеет своими сомножителями три многочлена степени. 4:

li(x),

h(x), fs(x').

Многочлен fa{x) имеет две последовательные степени корней

Р' и Р2 и, следовательно,

гарантирует dMiiH

= 3.

Многочлен }з(х)

не имеет по­

следовательных степеней корней и, следовательно, гарантирует лишь rfMHH = 2. Многочлен fs(x) имеет две последовательные степени среди корней Р1 3 и Р1 4 и,,

следовательно, гарантирует rfMHH = 3. Итак, для циклического кода Хэмминга:

(15.11) в качестве порождающего многочлена следует выбрать U{x)

или }s(x),.

но нельзя выбирать

!з(х).

 

 

Для (15.7)-кода

порождающий імногочлен должен иметь

степень 8. Мно­

гочлен такой степени можно получить тремя способами: (х)

}з(х), h(x) fs(x)

или /з (х)/ь (х). Естественно, желательно выбрать такой многочлен

который

обеспечивает максимальное з н а ч е н и е А н а л и з корней указанных

многочле­

нов показывает, что fi(x)

їз(х)

имеет четыре последовательные степени корней

Р$2 , р3 , Р4 и гарантирует rfMllH

=

5; fa(x) f5(x) имеет только две

последова­

тельные степени Р', Р2

или

Р7

, Р8

или З1 3 , Зі4, т. е. гарантирует

dum = 3;



h(x)

fs(x)

имеет четыре

последовательные степени Р " ,

Р 1 2 ,

Р 1 3 , Р 1 4 и

гаранти­

рует

rfMIW

= 5. Итак, для

(15,7)-кода

в качестве

g(x)

целесообразно

выбрать

h(x)

h(x)

или /З(А-) / 5 (х)

и не следует

выбирать

f2(x)

fs{x).

 

 

Улучшение корректирующих свойств циклических кодов умножением порождающего многочлена на 1 + х. Для кодов с нечетным значением минимального кодового расстояния по­ следнее может быть увеличено на единицу умножением порож­ дающего многочлена g(x) на 1+х, что эквивалентно введению дополнительной проверки на четность в этом коде по всем кодо­ вым элементам и приводит к увеличению минимального числа линейно-зависимых столбцов H( n ,h). Если же код имеет четное значение dMm, то дополнительная проверка на четность не изме­ нит его значения, так как введение в проверочную матрицу строки из одних единиц не изменит минимального числа линей­ но-зависимых столбцов.

П р и м е р .

Рассмотрим

проверочную

 

матрицу

(7,3)-кода

с

g{x)

=

= (1 +

х)

(1 + х

х3).

Проверочный

многочлен

для

этого

кода

h(x)

=

1 +

4- х 2 +

х'6

и матрица проверок

имеет

вид:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

"0

0

0

1

1

0

1

 

 

 

 

 

 

 

 

 

 

I f

 

0

0

1 1 0

1 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( 7 ' 3 ) ~

0 1 1 0

 

1 0 0

 

 

 

 

 

 

 

 

 

 

 

 

1

1

О

1

о

о

0_

 

 

 

 

 

Сложив

1, 2

и 4-ю

строки

и записав

результат вместо 4-й

строки,

получим

проверочную

матрицу

в следующем

виде:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

 

1

Г О

1

 

 

 

 

 

 

 

 

 

 

н(7,3)

 

0

1 1 0

 

1 0

 

 

 

 

 

 

 

 

 

 

 

1

і

о

і о

о ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

|_1

 

1 1

1

1 1 1

 

 

 

 

 

Проверочная матрица (7,3)-кода состоит из проверочной матрицы укоро­ ченного (7,4)-кода (обозначена пунктиром), к которой добавлена строка, обес­ печивающая проверку на четность по всем элементам кодовой комбинации. Минимальное кодовое расстояние данного кода равно 4.

Улучшение корректирующих свойств кода умножением по­ рождающего многочлена на 1+х можно пояснить с помощью теоремы 6.6 Рассмотрим в качестве примера выбор порождаю­ щего многочлена для (15,10)-кода. Используем разложение х15+1 на неприводимые сомножители. Порождающий многочлен

5- й степени можно получить умножением одного из многочленов

4-й степени на

1 + х . Многочлен

g(x)

=-(1 +х)

(1 + х + х4)

имеет

среди

корней

р°,

р1 , р2 . Здесь

m 0

= 0,

m0 + d-2

= 2,

т. е. й ш ш = А.

Если

взять

g(x)

= (1+х) (1+х

+ х23

+ х*),

то

число

подряд

идущих корней не увеличивается

по сравнению с g(х) = (1 + х +

+ х2 + х34)

и а,Мин = 2.

 

 

 

 

 

 

Порождающий многочлен для укороченного кода. Как и все групповые коды, циклические (п, £)-коды могут подвергаться укорочению. При этом порождающий многочлен остается тем


ж е, что и у исходного кода. Так как в результате укорочения уменьшается длина кодовой комбинации, то не все циклические сдвиги кодовой комбинации в укороченном (п, k) -коде есть кодо­ вые комбинации. В силу этого укороченные циклические коды называют псевдоциклическими. Методика построения кодовой' комбинации для укороченного циклического кода аналогична рассмотренной в п. 6.6.3, а корректирующие свойства опреде­ ляются корнями g(x). Для укороченного циклического кода про­ верочный многочлен 1ь(х) не определяется, а матрица проверок строится по порождающей матрице. Выбор порождающих мно­ гочленов псевдоциклических кодов целесообразно производить на базе циклических кодов длины п = 2е1. В этом случае при заданной абсолютной избыточности обеспечиваются требуемые корректирующие свойства и сохраняется близкая к максималь­ ной скорость передачи кода.

П р и м е р . Выбрать порождающий многочлен для (50,35)-кода

с dMm

> 5.

Выбор

произведем

по необходимому

числу

избыточных

элементов

л ft=

15. Так как требуется обеспечить dMm> 5,

то по теореме

6.5 прини­

маем / =

2.

Ближайшее

к требуемому значению число избыточных

элементов

достигается

при е =

7. По числам е = 7 и t = 2 на основании

теоремы 6.5 в

качестве

исходного

кода

принимаем (127,113)-код. Порождающий

многочлен

g;(х) = (1 + х3 + XІ)

(1 + х + х2 + х3 -4- XІ)

для данного кода

находим

из

приложения 2 в работе [53J. Для обеспечения требуемого числа избыточных элементов домножаем найденный порождающий многочлен на (1 + х) и окон­

чательно получаем (127,112)-код с; g{x)

= (1 + х) (1 + х3

+ х>) (1 + х + х* +

3 + XІ). Укорочением длины кодовой комбинации на 77 разрядов получаем

требуемый код.

 

 

6.6.6. Эффективность

циклических

кодов

Для оценки эффективности циклических кодов по теореме 6.5 найдем выражение для d„„„ через параметры кода. Из со ­

отношения п — 2е

1 определяем е — log2

(« +

1).

 

Кратность гарантийно

исправляемых

ошибок

можно

выра­

зить

как t —(п. — k)je=

(п — A J / l o g j ^ + l ) , а

минимальное

кодо-

 

расстояние dMHH

=

2t + \=

2(п

k)

 

 

 

 

вое

i 0 g , ( « - f - 1 )

+

L

 

 

Выигрыш по достоверности

по сравнению

с

простыми ко­

дами

в

реальном канале

составляет

 

 

 

 

 

 

 

Я ( > 1 , « ) _ „ , п 1 _ а „ /

n - k

 

 

 

лри

исправлении ошибок кратности до t

включительно и

 

 

_

Р(>,\,п)

_

 

ф _

Л _

Г

 

n - k

 

 

при ^обнаружении ошибок.

 

 

 

 

 

 

 

 

Из приведенных

формул

видно, что эффективность цикличе­

ских кодов при обнаружении ошибок значительно выше, чем при исправлении ошибок. Например, при избыточности в 7 или 10

16 Зак. 169.

241