Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ridsolomon

.pdf
Скачиваний:
38
Добавлен:
15.03.2015
Размер:
596.55 Кб
Скачать

Порождающи й полином в восьмеричн ой форме

120

1

211

127

113

2

41567

 

106

3

11554 743

 

99

4

34470 23271

 

92

5

62473 00223 27

 

85

6

13070 44763 22273

 

78

7

26230 00216 61301 15

 

71

9

62550 10713 25312 7753

 

64

10

12065 34025 57077 31000 45

 

57

11

33526 52525 05705 05351 7721

 

50

13

54446 51252 33140 12421 50142 1

 

43

14

17721 77221 36512 27521 22057 4343

 

36

15

31460 74666 52207 50447 64574 72173 5

 

29

21

40311 44613 67670 60366 75301 41176 155

 

22

23

12337 60704 04722 52243 54456 26637 64704 3

 

15

27

22057 04244 56045 54770 52301 37622 17604 353

 

8

31

70472 64052 75103 06514 76224 27156 77331 30217

 

 

 

 

255

247

1

435

 

239

2

26754 3

 

231

3

15672 0665

 

223

4

75626 64137 5

 

215

5

23157 56472 6421

 

207

6

16176 56056 76362 27

 

199

7

76330 31270 42072 2341

 

191

8

26634 70176 11533 37145 67

 

187

9

52755 31354 00013 22236 351

 

179

10

22624 71071 73404 32416 30045 5

 

171

11

15416 21421 23423 56077 06163 0637

 

163

12

75004 15510 07560 25515 74724 51460 1

 

155

13

37575 13005 40766 50157 22506 46467 7633

 

147

14

16421 30173 53716 55253 04165 3054410117 11

 

139

15

46140 17320 60175 56157 07227 30247 45356 7445

 

131

18

21571 33314 71510 15126 12502 77442 14202 41654 71

 

123

19

12061 40522 42066 00371 72103 26516 14122 62725 06267

 

115

21

60526 66557 21002 47263 63640 46002 76352 55631 34727 37

10722 22205 77232 20662 56312 41730 02353 47420 17657 47501

54441

9923 10656 66725 34731 74222 74141 62015 74332 25241 10764

32303 431

9125 67502 65030 32744 41727 23631 72473 25110 75550 76272

07243 44561

87

26

11013 67634 14743 23643 52316 34307 17204 62067 22545

 

 

27331 17213 17

7927 66700 03563 76575 00020 27034 42073 66174 62101 53267

11766 54134 2355

7129 24024 71052 06443 21515 55417 21123 31163 20544 42503

62557 64322 17060 35

6330 10754 47505 51635 44325 31521 73577 07003 66611 17264

55267 61365 67025 43301

5531 73154 25203 50110 01330 15275 30603 20543 25414 32675

50105 57044 42603 54736 17

4742 25335 42017 06264 65630 33041 37740 62331 75123 33414

54460 45005 06602 45525 43173

4543 15202 05605 52341 61131 10134 63764 23701 56367 00244

70762 37303 32021 57025 05154 1

3745 51363 30255 06700 74141 77447 24543 75304 20735 70617

43234 32347 64435 47374 03044 003

11

В таблице 4.3.2 приведены параметры кодов с нечетными конструктивными расстояниями 2t +1. Порождающие полиномы строились по совокупности корней

ε,ε2 ,...,ε2t . Четное расстояние 2t + 2 может быть получено присоединением корня 1.

Другимисловами, порождающийполиномБЧХ-кодасчетным расстоянием получается из порождающего полинома с нечетным расстоянием в результате умножения этого полинома на x +1 .

4.3.3 Двоичные непримитивные циклические коды

Если длина кода n является делителем 2m 1 , но не совпадает с этим числом, то код называют непримитивным.

В таблице 4.3.3 приведены параметры некоторых непримитивных двоичных циклических кодов и приведены их порождающие полиномы в восьмеричной форме.

Табл.4.3.3

 

 

 

 

 

 

m

n

k

t

Порождающий

полином в

 

 

 

 

восьмеричной

форме

 

 

 

 

 

 

8

17

9

2

727

 

6

21

12

2

1663

 

11

23

12

3

5343

 

10

33

22

2

5145

 

10

33

12

4

3777

 

20

41

21

4

66471 33

 

23

47

24

5

42073 357

 

12

65

63

2

10761

 

12

65

40

4

35430 3067

 

9

73

46

4

17177 73537

 

 

 

 

 

 

 

В случае примитивных кодов действительное кодовое расстояние весьма часто совпадаетсконструктивнымрасстоянием. Однако, вслучаенепримитивныхкодовтакого совпадения чаще всего нет. Дело в том, что наличие d 1 последовательных степеней средикорнейпорождающегополиномаявляетсядостаточнымусловием того, чтовкоде нет слов веса l d 1. Существуют другие формы условий, вытекающие из свойств симметрических функций корней, которые можно использовать для уточнения границ минимального расстояния циклических кодов.

Для иллюстрации метода уточнения минимального расстояния циклических кодов рассмотрим знаменитый плотно упакованный двоичный код Голея, открытый в 1949 г. еще до появления теории кодирования. Это код с длиной n=23, k=12, исправляющий

тройные ошибки. Порождающий

полином g(x) = x11 + x9 + x7 + x6 + x5 + x +1 ,

в

восьмеричной записи этот полином записывается как 5343 (101 011 100 011) .

Он

является делителем x23 1 , поэтому его корень β принадлежит показателю 23,

т.е.

β23 =1. Циклотомический класс

Cβ , порожденный элементом β , состоит из

следующих 11 элементов (приведены их логарифмы): {1, 2, 4, 8, 16, 9, 18, 13, 3, 6, 12}. В ряду корней имеются только 4 последовательные степени β : {1, 2, 3, 4}. Поэтому

конструктивное расстояние этого кода равно 5. Покажем, что действительное значение минимального расстояния равно 7.

Имеетсямногодоказательствэтогофакта. Мыприведемодноизних, основанноена свойствах т.н. симметрических функций корней и на их связи с коэффициентами

12

t

полиномов. Пусть σ(x) = xt +σ1 xt 1 +... +σt 1 x +σt = (x X i ) -полином, корнями

i=1

которого служат элементы некоторого поля X1 , X 2 ,..., X t . Известно, что коэффициенты

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

 

S1 +σ1 = 0,

 

S2 + S1σ1 + 2σ2 = 0,

 

 

. . . . . . .

 

 

St + St1σ1 +... + S1σt1 + t σt = 0

 

 

+ Sk 2σ2 +... + Sk tσt = 0, k > t,

Sk + Sk 1σ1

где

Sk = X1k + X 2k +... + X tk .

 

(4.3.2)

(4.3.3)

Мыбудемсчитать, что X1 , X 2 ,..., X t - этолокаторыненулевыхсимволовнекоторого

t

кодового слова c(x) = xi1 + xi2 +... + xit и σ(x) = (x X i ) - полином степени t, корни

i=1

которого – локаторы ненулевых символов этого слова. Каждому кодовому слову веса t соответствует полином σ(x) . Коэффициенты σ1 ,σ2 ,... ,σt икорни X1 , X 2 ,..., X t связаны

уравнениями (4.3.2). Кроме того, для всякого кодового слова имеют место равенства:

c(βk ) = X1k + X 2k

+... + X tk = Sk . Поэтому, если βk Cβ , то Sk = 0 . Таким образом,

S1

= S2 = S4 = S8 = S16 = S9 = S18 = S13 = S3 = S6 = S12 = 0 .

(4.3.4)

В коде нет слов с весом t, если система уравнений (4.3.2) не имеет ненулевых решений относительно σ1 ,σ2 ,... ,σt при выполнении условий (4.3.4).

Вначале покажем, что в коде Голея (23,12) нет слов веса 5. Это будет сделано, если мыубедимсявтом, чтосистемауравнений(4.3.2) неимеетненулевыхрешенийпри t = 5 . Заметим, чтодлякодаГолеяимеетсявсего2 циклотомическихклассадлины11. Поэтому Sk 0 для всех других индексов k, отличных от указанных в (4.3.4). Иначе

конструктивное расстояние было бы равно n. Из уравнений 1, 3 и 5 в (4.3.2) получим,

что σ1 =σ3

=σ5 = 0 . Из последнего уравнения

(4.3.2)

при k =12 получим, что

S11σ1 + S10σ2

+ S7σ5 = 0 , откуда σ2 = 0 . Наконец,

из последнего уравнения при k = 7

получим S5σ2 +S7 = 0 , что противоречит найденному σ2

= 0 . Таким образом, (4.3.2) не

имеетрешенийпри t = 5 . Такимжеобразомдоказывается, что(4.3.2) неимеетненулевых решений при t = 6 . Действительно, из уравнений 1, 3 и 5 в (4.3.2) снова получим, что

σ1 =σ3 =σ5

= 0 . Из последнего

уравнения (4.3.2) при k =12 получим, что

S11σ1 + S10σ2

+ S7σ5 = 0 , откуда σ2

= 0 . Изпоследнегоуравнения(4.3.2) при k = 7 имеем

S5σ2 +S7 = 0 , что противоречит найденному σ2 = 0 . Таким образом, (4.3.2) не имеет

решенийпри t = 6 . ЗначитминимальноерасстояниекодаГолеянеменьше7. Оноравно7, поскольку порождающий полином является одним из кодовых слов и имеет вес 7.

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

13

4.3.4 Недвоичные БЧХкоды, граница Синглтона и коды Рида-Соломона

Теорема 4.3.1 верна для любых конечных полей. Она приводит к кодам с конструктивным расстоянием d, если среди корней порождающего полинома найдется серия d-1 подряд идущих степеней некоторого элемента поля. Однако, теорема 4.3.2 о количествеизбыточныхсимволоввнедвоичномслучаедолжнабытьпереформулирована.

Теорема 4.3.3. Количество избыточных символов r в p-ичном БЧХ-коде, p 2 , с минимальнымрасстоянием d = 2t +1 идлинойn , где n = pm 1 илиявляетсяделителем

этого числа, удовлетворяет неравенству r 2mt . Количество избыточных символов в недвоичном коде с минимальным расстоянием d = 2t + 2 не превосходит 2 mt +1.

Рассмотримтроичныйплотноупакованный(11,6)-кодсминимальнымрасстоянием 5, которыйтакжебылоткрытГолеемв1949 г. Этоткодпорождаетсянеприводимым над полем GF(3) полиномом g(x) = x5 + x4 + 2x3 + x2 + 2 , который делит x11 1 . Следова-

тельно, корень β этого полинома имеет порядок 11, а циклотомический класс, порожденный β состоит из следующий элементов (в логарифмическом представлении) {1, 3, 9, 5, 4}. Порождающий полином имеет среди своих корней β3 , β4 , β5 , поэтому по

БЧХ-границе минимальное расстояние кода больше или равно 4. Покажем, что минимальное расстояние этого кода равно 5. Для этого воспользуемся тождествами Ньютона и тем, что S1 = S3 = S9 = S5 = S4 = 0 . Заметим, что элементы порядка 11

образуют еще один циклотомический класс, состоящий из 5 элементов поля: {2, 6, 7, 10, 8}. Очевидно, что ни одна из величин S2 , S6 , S7 , S10 , S8 не равна нулю. В противном

случае все слова по БЧХ границе имели бы вес 11 и порождающий полином имел бы степень10. Итак, мы хотим показать, что в коде нет слов веса 4, т.е. система (4.3.2)

неразрешима для полинома локаторов позиций σ(x) = x4 +σ1 x3 +σ2 x2 +σ3 x +σ4 . Изпервогоуравнения(4.3.2) получаем σ1 = 0 . Изпоследнегоуравнениядля k = 7

получим S7 + S6σ1 + S5σ2 + S4σ3 + S3σ4 = S7 = 0 , что невозможно. Поэтому слов веса 4 нет. Минимальное расстояние равно 5, поскольку порождающий полином имеет вес 5.

Особое место среди недвоичных БЧХ-кодов занимают коды Рида-Соломона (РСкоды), открытые еще до изобретения БЧХ-кодов. Эти коды обладают уникальными свойствами, которые будут рассматриваться ниже. Они лежат в основе многих кодовых конструкций (например, в основе каскадных кодов) и используются во многих прикладных задачах (например, в контроллерах магнитных дисков, оптических дисков, накопителей на магнитных лентах, а также во многих системах передачи данных).

Дляпримитивных q -ичныхРС-кодовдлинакода n = q 1 икодовыйалфавитэто поле GF(q) . Определим порождающий полином кода следующим образом. Пусть ε - примитивный элемент GF(q) и

g(x) = (x εl0 )(x εl0 +1 ) (x εl0 +d 2 ) ,

(4.3.5)

где εl0 ,εl0 +1 ,εl0 +2 ,...,εl0 +d 2 - серия подряд идущих степеней ε , задающих код. Кодовыми словамиРС-кодаявляютсявсеполиномывида m(x)g(x) , гдеинформационныйполином

m(x) = m0 + m1 x +... + mk 1 xk 1 имеет коэффициенты mi GF(q) и степень k 1 = n d . Конструктивное расстояние кода согласно теореме 4.3.1 равно d.

Покажем, что РС-коды принадлежат классу кодов с максимальным достижимым расстоянием (классу МДР-кодов). Для этого докажем вначале неравенство, называемое границей Синглтона.

14

Теорема 4.3.4 (Граница Синглтона). Для любого q -ичного кода с длиной n и минимальным расстоянием d количество кодовых слов удовлетворяет неравенству

M qnd +1 .

(4.3.6)

Доказательство: Любые два кодовых слова отличаются по меньшей мере в d позициях. Еслимыудалимнекоторые d 1 позицийизвсехкодовыхслов, толюбыедва

слова, укороченные до длины n d +1 по-прежнему будут различаться. Имеется qnd +1

различных q -ичных слов длины n d +1 , поэтому M qnd +1 .

Коды, у которых число кодовых слов равно правой части неравенства (4.3.6) называются кодами смаксимальным достижимым расстоянием (или МДР-кодами). При заданных q, n и M на этих кодах достигается наибольшее возможное минимальное

расстояние. Нетрудноувидеть, чтодляРС-кодовчислокодовыхслов M = qk = qnd +1 , т.е. на них достигается граница Синглтона и, следовательно, они являются МДР-кодами.

Пример4.3.1. ПостроимРС-кодсрасстоянием d = 5 надполем GF(23 ) . Дляэтого кода q = 8, n = q 1 = 7 . Предположим, чтодлязаданияэтогополявыбранпримитивный, неприводимый над GF (2) полином f (x) = x3 + x +1 . Обозначим через ε его корень. В

последующих вычислениях мы будем учитывать, что ε7 =1 и что ε3 +ε +1 = 0 . Код с расстоянием 5 задается полиномом

g(x) = (x 1)(x ε)(x ε2 )(x ε3 ) = x4 +ε2 x3 +ε5 x2 +ε5 x +ε6 .

Здесь выбрано l0 = 0 иследующая совокупность корней ε0 =1,ε,ε2 ,ε3 . Числоинформа-

ционныхсимволовравно k = n r = 3 . Имеется q3 = 83 = 29 = 512 кодовыхслов. Каждое

кодовое слово это последовательность из 7 восьмеричных символов. Любые два слова различаютсяпоменьшеймерев5 позициях, следовательнолюбыеошибкикратности1 и 2, где ошибка - это любое искажение восьмеричного символа, могут быть исправлены.

§ 4.4 Декодирование БЧХ-кодов

Теперь мы перейдем к центральному вопросу теории БЧХ-кодов, а именно, к их алгебраическому декодированию. Этот вопрос оказывается центральным, так как построение и декодирование многих других кодов так или иначе к этому сводится. Исторически первый метод декодирования был найден Питерсоном (1960) (двоичный случай), а также Горенстейном и Цирлером (1961) (недвоичный случай), практически одновременно с открытием БЧХ-кодов (1959, 1960). Существенное продвижение в сторону упрощения алгоритма было найдено Берлекэмпом (1968) и в дальнейшем усовершенствовано Месси (1969). Концептуально более ясный метод декодирования, основанный на использовании алгоритма Евклида, был предложен в работе Сугияма, Касахара, Хирасава и Намекава (1975).

Мы начнем с алгоритма Питерсона-Горенстейна-Цирлера, который имеет ясную алгебраическуютрактовку. Онсводитзадачудекодированияк решениюсистемлинейных уравнений подобно тому, как это делалось в разд. 4.1.1 и 4.1.2, и позволяет ввести основные объекты, связанные с декодированием, – синдромный полином, полиномы локаторов и величин ошибок, и изучить их основные свойства. Затем мы опишем метод декодирования, основанный на алгоритме Евклида. Этот метод использует матричное представление алгоритма Евклида и также достаточно прост в понимании. Он применяется для решения т.н. ключевого уравнения декодирования и позволяет существенноуменьшитьсложностьтойчастиалгоритмадекодирования, которая связана с решением системы линейных уравнений.

15

Замечательно красивой оказывается спектральная трактовка БЧХ-кодов и их алгоритмовдекодирования. СпомощьюпреобразованийФурьевконечныхполяхможно представлять операции кодирования и вычисления синдромных компонент. При этом можноиспользоватьразличныевариантыбыстрыхпреобразований(БПФ), упрощающих вычисления. Если полином локаторов ошибок найден, то исправление ошибок можно представить как вычисление некоторой рекурсии, которая непосредственно находит информационный полином. Декодированное кодовое слово получается в результате обратного преобразования Фурье из информационного полинома.

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

4.4.1 Основное уравнение декодирования БЧХ кодов

БЧХ-код над GF (q) с длиной n и конструктивным расстоянием d задается последовательностью корней βl0 , βl0 +1 ,..., βl0 +d 2 , где β GF(qm ) -элементпорядка n , βn =1 и l0 - некоторое целое, которое в приложениях часто выбирается как 0 или 1.

Каждое кодовое слово c(x)

обладает тем свойством, что c(βl0 + j1 ) = 0 , j =1, 2,..., d 1 .

Пусть r(x) = r

+ r x +... + r

 

xn1 = c(x) + e(x) - принятое слово. Предположим, что

 

0

1

n1

 

 

 

 

 

 

 

 

произошло t ошибок

на позициях с номерами i1 ,i2 ,...,it

и ei , ei

,..., ei - величины

 

 

 

 

 

 

 

 

 

1

 

2

t

ошибок. Синдром слова r(x) состоитиз d 1 компонент: S j

= r(βl0 + j1 ),

j =1,..., d 1 ,

он

не зависит от переданного слова,

а определяется только

полиномом

ошибок:

 

 

 

 

 

 

 

 

 

 

 

 

S j

= r(βl0 + j1 ) = c(βl0 + j1 ) + e(βl0 + j1 ) = е(βl0 + j1 ),

j =1,..., d 1,

 

где

e(x) = e xi1

+ e xi2 +..... + e xit .

 

 

 

 

 

 

 

 

i

i

 

 

i

 

 

 

 

 

 

 

 

1

2

 

 

t

 

 

 

 

 

 

 

 

Введем в рассмотрение локаторы позиций, пусть βi

, i = 0,1,..., n 1 , - локатор

i-й позиции. Поскольку

βi

 

различны для всех i, то локаторы и позиции однозначно

определяют друг друга. Обозначим через Y

k

= e величину ичерез X

k

= βik

локатор k

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

k

 

 

 

 

ошибки, k=1,2,…,t. Тогда компоненты синдрома можно выразить через величины и локаторы ошибок следующим образом:

 

 

 

S1 =Y1 X1l0

+... +Yt X tl0 ,

 

 

 

 

S

 

=Y X

l

 

+1

l

+1

,

 

 

 

2

 

0

 

+... +Y X 0

 

 

 

 

 

1 1

 

 

t t

 

 

(4.4.1)

 

 

 

. . . . . . . .

 

 

 

 

 

 

 

 

 

 

S

d 1

=Y X l0 +d 2 +... +Y X l0 +d 2 .

 

 

 

1 1

 

 

 

t

t

 

 

Задача заключается в том, чтобы, зная синдром S = (S1 , S2 ,..., Sd 1 ) , определить число ошибок, их локаторы X1 , X 2 ,..., X t и их величины Y1 ,Y2 ,...,Yt .

Теперь введем полином локаторов ошибок:

Λ(x) = (1 xX1 ).....(1 xX t ) =1 + Λ1 x +... + Λt xt .

(4.4.2)

Корнями этого полинома являются величины, обратные локаторам ошибок. Положим j1 = l0 + j 1. Тогда из (4.4.2) вытекает следующее равенство,

справедливое при всех l и j :

16

Λ(x)Yl Xl j1+t =Yl Xl j1+t 1Yl Xl j1 +t x +...tYl Xl j1+t xt .

Еслиположить x = X l1 и затем просуммировать левые и правые части получающихся равенств по l =1,2,…,t, то получим

0 = t (Yl X lj1 +t + Λ1Yl X lj1 +t1 +... + ΛtYl X lj1 ) = i=1

= t Yl X lj1 +t + Λ1 t Yl X lj1 +t1 +... + Λt t Yl X lj1 .

i=1

i=1

i=1

Учитывая определение синдромных компонент (4.4.1), а также равенство

S j+k = t Yl X lj1 +k , окончательно получим следующие уравнения, связывающих

l=1

синдромные компоненты и коэффициенты полинома локаторов ошибок:

S j+t + Λ1S j+t1 +... + Λt S j = 0, j {1,..., t}

(4.4.3)

Выражение (4.4.3) носит название основного уравнения декодирования БЧХ кодов. Его можно представить в виде следующей системы линейных уравнений для коэффициентов полинома локаторов ошибок:

S1

S2 ...

St1

St

 

Λt

 

St+1

 

 

S

 

S

 

...

S

 

S

 

 

Λ

 

 

S

 

 

(4.4.4)

 

2

 

3

 

.

t

 

t+1

 

 

 

t1

 

=

 

t+2

.

.

. ...

 

 

.

 

...

 

...

 

 

 

 

St+1 ...

S2t2

 

 

 

 

Λ1

 

 

S2t

 

 

St

S2t1

 

 

 

 

 

Решая эту систему уравнений, мы получим коэффициенты полинома локаторов ошибок Λ(x) . Локаторы ошибок, по которым можно определить позиции ошибок,

находятсякак элементыполя GF (qm ) , обратнымкорнямполинома Λ(x) . Послетого, как определены локаторы X1 , X 2 ,..., X t , величины ошибок Y1 ,Y2 ,...,Yt определяются из системы линейных уравнений (4.4.1).

4.4.2 Алгоритм декодирования Питерсона-Горенстейна -Цирлера

Для решения системы уравнений (4.4.4) предварительно нужно выяснить сколько ошибок в действительности произошло. В следующей теореме проясняется важность этого обстоятельства, а также то, как число ошибок может быть определено.

Теорема 4.4.5. Матрица

 

 

S1

S2 ...

St1

St

 

 

M

 

S

 

S

 

...

S

 

S

 

 

(4.4.5)

t

=

2

 

3

 

.

t

 

t+1

 

 

.

. ...

 

 

.

 

 

 

 

 

 

St+1 ...

S2t2

 

 

 

 

 

 

St

S2t1

 

невырождена( имеетненулевойопределитель), есливеличины Si (см.(4.4.1)) образованы точноизt пар(Yl , X l ), длякоторых Yl 0 . Матрица M t вырождена, если Si образованы менее, чем из t таких пар (Yl , X l ). Другими словами, матрица M t не вырождена и имеет минимальный размер тогда и только тогда, когда число ошибок в точности равно t.

17

Доказательство: Используя уравнения(4.4.1), можнопроверить, чтоприt ошибках

 

 

 

1

1 ...

1

 

Y X

 

0

...

0

 

1

X

 

...

X t1

 

M

 

 

X1

X 2 ...

X t

 

 

1

1

Y2 X 2

...

0

 

 

 

1

...

1t1

 

t

=

 

 

0

 

 

1

X 2

X 2

.

 

.

.

.

.

 

.

 

.

.

.

 

. .

 

.

.

 

 

 

X t1

X t1 ...

X t1

 

 

0

 

0

...

Y X

 

1

X

t

...

X t1

 

 

 

 

1

2

 

t

 

 

 

 

 

 

t

t

 

 

 

t

 

Матрица M t не вырождена тогда и только тогда, когда каждая из этих трех матриц не

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

очевидным образом выполняются.

Таким образом, система уравнений (4.4.4) может быть решена только в том случае, когдапорядоксистемы(размерностьматрицыичислоуравнений) равнодействительному числу ошибок. Число ошибок в свою очередь может быть определено с помощью следующей процедуры:

Положить t равным максимальному значению tmax = [(d 1) / 2] , а именно целой части (d 1) / 2 ; вычислить определитель det M t . Если он отличен от нуля, то принять t = tmax . В противном случае уменьшить t на единицу и повторить проверку. Остановиться на том значении t, для которого впервые det M t 0 .

ДлядекодированияпоПитерсону-Горенстейну-Цирлерунужновыполнитьследую- щие действия:

1.Определить действительное число ошибок t.

2.Решить систему уравнений (4.4.4) и построить полином локаторов ошибок Λ(x) .

3.Найти корни полинома Λ(x) , например, перебирая по всем ненулевым элементам циклической группы {1, β, β2 ,..., βn1} и отыскивая такие значения, что Λ(βk ) = 0 .

Найти локаторы ошибок X1 , X 2 ,..., X t , беря значения обратные корням полинома Λ(x) . В двоичном случае исправить ошибки на позициях, соответствующих локаторам ошибок, и закончить декодирование. В недвоичном случае перейти к п.4.

4.Решить систему уравнений (4.4.1), рассматривая величины ошибок Y1 ,Y2 ,...,Yt как неизвестные. Исправить ошибки, вычитая из принятого на позиции ik найденную величину ошибки Yk , k =1, 2,..., t . После этого закончить декодирование.

Пример 4.4.1. Мы продемонстрируем эту процедуру декодирования на примере кодаРида-Соломона, построенноговпримере4.3.1. Напомним, чтоРС-кодэтогопримера имеет длину 7, минимальное расстояние 5. Порождающий полином задается корнями

1,ε,ε2 ,ε3 иравен g(x) = x4

+ε2 x3 +ε5 x2 +ε5 x +ε6 . Здесь ε -примитивныйэлементполя

GF (23 ) и корень полинома

f (x) = x3 + x +1 ,

ε7 =1. Поле задается с помощью

следующей таблицы

 

 

 

 

 

 

 

-

 

0 0 0

 

ε3

 

1 1 0

 

 

1

 

1 0 0

 

ε4

 

0 1 1

 

 

ε

 

0 1 0

 

ε5

 

1 1 1

 

 

ε2

 

0 0 1

 

ε6

 

1 0 1

 

18

Предположим, чтопередаваемоеслово c(x) = x4 +ε2 x3 +ε5 x2 +ε5 x +ε6 иошибки произошли на второй и шестой позициях, так что принятое слово r(x) = εx6 + x4 +ε2 x3 +ε3 x2 +ε5 x +ε6 . Декодированиеначинаетсясвычисления четырех синдромных компонент:

 

S1

= r(1) = ε +1 +ε2

+ε3 +ε5 +ε6

= ε4 ,

,

 

 

S2

= r(ε) =1 +

ε

4

+ε

5

+

ε

5

+

ε

6

+ε

6

= ε

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S3 = r(ε2 ) = ε6 +ε +ε +1 +1 +ε6 = 0,

 

 

 

 

ε

 

.

 

S4

= r(ε

 

) = ε

 

+

ε

 

+

ε

 

+

ε

 

+ε +

ε

 

=

 

 

 

 

3

 

5

 

 

 

5

 

 

 

4

 

 

 

2

 

 

 

 

6

 

 

6

 

1.Определение числа ошибок. Положим t = tmax = [d 1 / 2] = 2 и найдем определитель матрицы M 2 :

det M 2

S

1

S

2

 

ε4

ε5

 

= ε3

0 .

= det

 

 

= det

5

0

 

 

S2

S3

 

ε

 

 

 

 

Таким образом, число ошибок в y(x) равно 2.

2.Вычисление полинома локаторов ошибок. Найдем решение следующей системы уравнений

 

 

 

 

 

 

 

 

S1

 

 

 

S2

 

Λ2

 

=

S3 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S2

 

 

 

S3

 

Λ1

 

 

 

S4

 

 

 

 

 

 

 

 

Нетрудно найти, что

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Λ

 

=

 

S S

4

 

+ S

S

3

, Λ

 

 

=

 

S

S

4

+ S 2

,

 

 

 

 

 

 

1

 

1

 

 

 

2

 

2

 

 

2

 

 

3

 

 

 

 

 

 

S S

3

+ S

2

 

 

S S

 

+ S 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

2

 

 

 

 

 

 

 

1

 

 

 

2

 

 

 

 

 

откуда Λ1 =1 Λ2

= ε .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.

Отысканиелокаторовошибок. Полиномлокаторовошибок Λ(x) =1 + Λ1 x + Λ2 x2 =

 

=1 + x +εx2 . Корни этого полинома равны ε,ε5 , следовательно, локаторы ошибок

 

X1 = ε1 = ε6 , X 2

= ε5

= ε2 . Ошибки находятся на позициях 6 и 2.

4.

Определение величин ошибок. Величины ошибок Y1 ,Y2

находятся из уравнений

 

 

 

S

1

= Y X l0

 

+ Y

2

X l0 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

1

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S

2

 

= Y X l0 +1 + Y

2

X l0 +1

,

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

1

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

или, учитывая, что l0 = 0 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X l0

X l0

 

Y

 

 

 

S

 

 

 

 

1 1

Y

 

ε4

 

 

l1+1

l

2+1

 

1

 

=

 

 

1

 

 

 

6

ε

2

 

1

 

=

5 .

 

X10

X 20

 

 

 

Y2

S2

 

 

 

ε

 

 

 

Y2 ε

 

Решением этой системы является Y1 = ε, Y2 = ε2 . Следовательно, полином ошибок e(x) = εx6 +ε2 x2 . Исправление ошибок достигается вычитанием

r(x) e(x) = (εx6 + x4 +ε2 x3 +ε3 x2 +ε5 x +ε6 ) (εx6 +ε2 x2 ) =

= x4 +ε2 x3 +ε5 x2 +ε5 x +ε6 .

19

4.4.3 Исправление ошибок и стираний

Кодсминимальнымрасстоянием d можноиспользоватьдляисправления t-кратных ошибок и s-кратных стираний, если 2t + s d 1 . В этом разделе мы покажем как модифицируется процедура декодирования для исправления ошибок и стираний в БЧХкодах. Мы будем предполагать, что стертый символ заменяется на известный заранее символ, например, на нулевой. Поэтому в случае ошибок ни положение, ни величины ошибок не известны, но в случае стираний их положение известно, но величины искажений, появившихся при замене стертых символов на нулевые значения, не известны. Пусть c(x)переданноесловои e(x) - полиномискажений. Мырассматриваем

q ичные коды, поэтому коэффициенты полиномов c(x) и e(x) - это элементы поля GF(q) . В случае t ошибок и s стираний полином e(x) имеет следующий вид:

e(x) =Y xi1

+... +Y xit

+V x j1

+... +V

x js ,

1

t

1

s

 

где i1 ,i2 ,...,it - позиции ошибок, j1 ,

j2 ,..., js - известные позиции стираний, Y1 ,Y2 ,...,Yt -

величины ошибок на позициях i1 ,i2 ,...,it , V1 ,V2 ,...,Vs -величины искажений на стертых

позициях

j , j

2

,..., j

s

. Введемлокаторыошибок X

1

= βi1 , X

2

= βi2 ,..., X

t

= βit илокаторы

 

1

 

 

 

 

 

 

 

стираний U1

= β j1 ,U2 = β j2 ,...,Us = β js . Тогда

 

 

 

 

 

 

 

 

 

 

 

 

e(βk ) = t

Yl X lk + s

VmUmk .

 

 

 

(4.4.6)

 

 

 

 

 

 

l=0

m=1

 

 

 

 

 

Компонентысиндромаопределяютсяследующимобразом: S j = r(βl0 + j1 ) = e(βl0 + j1 ) следовательно,

 

 

 

 

 

S1 =Y1 X1l0 +... +Yt X tl0

+V1U1l0 +... +VsUsl0 ,

 

 

 

 

 

S

 

l

+1

l +1

+V U

l

+1

l

+1

,

 

 

 

2

=Y X 0

 

+... +Y X 0

0

 

+... +V U 0

 

 

 

 

 

1 1

 

t t

1 1

 

s s

 

 

 

 

 

 

 

 

. . . . . . . .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S

d 1

=Y X l0 +d 2

+... +Y X l0 +d 2 +V U l0 +d 2 +... +V U l0 +d 2

 

 

 

 

1 1

 

t t

1 1

 

s s

или

S j = t

Yl X ll0 + j1 , j =1,..., d 1 .

(4.4.7)

l=1

 

 

Введем в рассмотрение полином локаторов стираний:

 

s

s

 

p(x) = (x Ui ) = pi xi .

(4.4.8)

i=1

i=0

 

Поскольку локаторы стираний известны до декодирования, то коэффициенты этого полинома p0 , p1 ,..., ps могут быть вычислены к началу декодирования. Следующие

величины называются модифицированными синдромными компонентами:

20

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]