Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Жураковський Ю. П., Полторак В. П. Теорія інфор...doc
Скачиваний:
3
Добавлен:
23.12.2019
Размер:
3.24 Mб
Скачать

8.1.4. Коди боуза - чоудхурі - хоквінгема

Ці коди є різновидом циклічних кодів з кодовою відстанню d^m > 5. Вони дають змогу виявляти та виправляти будь-яку кількість помилок. При кодуванні задаються кількістю поми­лок, яку слід виправити, або мінімальною кодовою відстанню та загальною кількістю п елементів у кодовій комбінації. Кіль­кість інформаційних к і перевірних г елементів визначають при побудові коду Боуза — Чоудхурі — Хоквінгема (БЧХ). Роз­глянемо деякі правила цієї побудови.

Довжину п комбінації кодів БЧХ можна визначити так:

n = 2h-\ або n = (2b-l)Ig9 (8.31)

де h > 0 — ціле число; g — непарне додатне число, при діленні на яке п стає цілим непарним числом. Таким чином, довжина п може мати тільки непарну кількість елементів.

Керуючись (8.31), установлюємо, що п може дорівнювати З, 7, 15, 31, 63, 127, 255, 511, 1023 розрядам і т.д.

Так, розкладаючи 2h~x на співмножники, знаходимо такі зна­чення nig:

1 = 23 - 1 = 7; 63 = 26 - 1 = 7-3-3 = 21 -3; 511 = 29 - 1 = 73-7; 15 = 24-1 =5-3; 127 = 27 - 1 = 127; 1023 = 210- 1 =31-11-3; Зі = 25 - 1 = 31; 255 = 28 - 1 = 17-5-3; 2047 = 211 - 1 = 89- 23.

Звідси випливає, що при h = 6 довжина п кодової комбінації може дорівнювати не тільки 63, а й 21 (при g = 3).

Кількість перевірних елементів коду визначається виразом

r<Mll) = [iog2(n+i)]^i, (8.32)

а кількість інформаційних елементів — виразом

k>fph-iyWdl абок = п-г. (8.33)

Твірний поліном коду БЧХ є найменшим спільним кратним (НСК) мінімальних поліномів М((х), де / = 1, 3, 5,..., dmin -2 — порядок полінома Р(х) = НСК [М\(х)М3(х).. Мd_ 2(х)]. Отже, кількість L мінімальних поліномів визначається кількістю по­милок vBn, які виправляються кодом: L = vBn.

Найбільше значення степеня х мінімального полінома є най­меншим цілим числом, при якому 2і- 1 ділиться на п або ng без остачі, тобто п - 2і - 1 або ng-2l-\. Звідси випливає, що / = h.

У табл. 8.6 наведено деякі мінімальні поліноми кодів БЧХ.

Степінь b твірного полінома залежить від НСК і не переви­щує добуток /vBn або IL тому, що L = vBn. Так, для коду БЧХ завдовжки п - 15, що виправляє vBn = 2 помилки, кількість мі­німальних поліномів L = 2, а найбільший степінь мінімального полінома / залежить від довжини п коду (п = 2і - 1), тобто / = 4. При цьому твірний поліном Рь(х), де b = IL = 4 • 2 = 8, визнача­ється виразом

Р\х) = НСК х\х)Мъ\х)1

180

181

СБЧХ(15,7) "

Таблиця 8.6

Номер мінімаль­ного полінома

Мінімальні поліноми різного степеня /

2

3

4

5

А/,(х)

Xі + X + 1

Xі + X + 1

х4 + х + 1

X5 + X2 + 1

\Щх)

X3 + X2 + 1

х4 + х3 + х2 + х + 1

X5 + X4 + X3 + X2 + 1

Шх)

X2 + X + 1

х5 + х4 + х2 + х + 1 1

Шх)

X4 + X3 + 1

х5 + х3 + х2 + х + 1

Шх)

X5 + X4 + X2 + X + 1 1

Шп(х)

X5 + X4 + X3 + X + 1

и(х)

формаційних елементів А: = w - г = 15—8 = 7. Маємо (15, 7)-код БЧХ з vBn = 2.

За необхідності твірну матрицю коду БЧХ можна побудува­ти за правилами побудови такої матриці для циклічного коду. Так, для прикладу, що розглядається, за аналогією з (8.25) і (8.26) твірна матриця коду БЧХ матиме вигляд

1

1

1

0

1

0

0

0

0

1

1

1

0

1

0

0

0

0

1

1

1

0

1

0

0

0

0

1

1

1

0

1

1

1

1

0

0

1

1

0

0

1

1

1

0

0

1

1

10 0 0 0 0 0 0 10 0 0 0 0 0 0 10 0 0 0 0 0 0 10 0 0 0 0 0 0 10 0

0 000010

0000001 11010001

Закінчення табл. 8.6

Номер мінімаль­ного полінома

Мінімальні поліноми різного степеня /

6

7

8

9

Л/Дх)

X6 + X + 1

X7 + X3 + 1

X8 + X4 + X3 + X2 + 1

х9 + х4 + 1 1

М3(х)

X4 + X4 +

+ X2 + X + 1

X7 + X3 +

+ X2 + X + 1

X8 + X6 + X5 +

+ х4 + х2+х+1

X9 + X6 + JC4 +

+ х3 + 1 1

М5(х)

X6 + X5 +

+ X2 + X + 1

х743 + + х2+ 1

X8 + X7 + Хб +

+ X5 + X4 + X + 1

х9 + х8 + х5 +

+ X4 + 1

Ш7(х)

X6 + X3 + 1

X7 + X6 + Х5+ + X4 + X2 + + Х+ 1

X8 + X6 + X5 +

+ х3+ 1

X9 + X7 + X4 + + X3 + 1

\ЩХ)

X3 + X2 + 1

X7 + X5 + X4 + + X3 + X2 +

+ х+ 1

X8 + X7 + X5 +

+ х4 + х3 + х2+1

х9 + х8 + х4 +

+ Х+ 1

Мп(х)

X6 + X5 + Х3+

+ х2+ 1

X7 + X6 + X4 +

+ х2+ 1

X8 + X7 + X6 + X5 + + X2 + X + 1

X9 + X5 + х3 + + X2 + 1

М13(х)

X7 + X + 1

X8 + X5 + X3 +

+ х+ 1

X9 + X6 + X5 +

4 + х2 + х + 1

який після підстановки значень М(х) набуває вигляду

Ps(x) = (х4 + х + 1)(х4 + х3 + х2 + х + 1) = = х8 + Xі + х6 + х4 + 1 -> 111010001.

Найбільший степінь твірного полінома Р(х) визначає кіль­кість перевірних елементів у комбінації = 8), а кількість її ін-

182

Усі подальші процедури кодування виконуються аналогіч­но методикам, викладеним вище для циклічних кодів.

У табл. 8.7 наведено параметри деяких кодів БЧХ завдовж­ки до п = 255. Подані в таблиці параметри визначено згідно з викладеною вище методикою. Для зручності запису твірні по­ліноми Р(х) записано у вісімковій системі числення.

Щоб дістати твірний поліном у звичайному вигляді, тобто в тій формі, яка використовується для побудови кодів БЧХ, кож­ну цифру треба перевести у двійковий трибіт. Наприклад, по­ліном Р(х) = 45 двійковими числами запишеться так: 4 —> 100 і 5 -> 101. Отже, маємо двійкове число 100101, яке можна пода­ти поліномом Р(х) = х5 + х1 + 1.

Як показано вище, коди БЧХ мають непарне значення міні­мальної кодової відстані dmin. Для того щоб збільшити dmin на одиницю, досить домножити твірний поліном коду БЧХ на двочлен (х + 1).

Коди БЧХ характеризують деякі закономірності. По-перше, співвідношення між максимальною кодовою відстанню та чис­лом h може бути подане як

d =2Л"1-1.

max

Дійсно, для прикладу, що розглядався вище, при п - 15 (Л = = 4) d = 24"1 - 1 = 7 (це підтверджується табл. 8.7), а кіль­кість інформаційних розрядів, яка може бути використана при обумовлених значеннях h і dmax, дорівнює (h +1).

По-друге, кількість кодів, що різняться своєю коректуваль­ною здатністю і мають однакову довжину кодової комбінації (п = 2h - 1), на дві одиниці менша від кількості всіх незвідних поліномів, на які розкладається двочлен х2 ~{ + \.

183

Таблиця 8.

1 п

к

г

d .

mm

Твірний поліном Р{х)

1

4

3

3

13

15

11

7 5

4 8 10

3 5 7

23

721

2467

1 31

26 21 16 11 6

5

10 15 20

25

3 5 7 11 15

45

3551

107657

5423325

313365047

63

57 51 45 39 36 ЗО 24 18

6 12 18 24 27 33 39 45

3 5 7 9 11 13 15 21

103

12471

1701317

166623567

1033500423

1574641656547

17323260404441 '

1363026512351725

127

120

113

106

99

92

85

78

71

64

7 14 21 28 35 42 49 56 63

3 5 7 9 11 13 15 19 21

211

41567

11554743 " :

3447023271

624730022327

130704476322273

26230002166130115

6255010713253127753

1206534025570773100045

255

247 239 231 223 215 207 199 191 187 179

8

16 24 32 40 48 56 64 68 76

3 5 7 9 11 13 15 17 19 21

435

267543

156720665

75626641375

23157564726421

16176560567636227

7633031270420722341

2663470176115333714567

52755313540001322236351

22624710717340432416300455

Так, для п = 15 дістанемо h = 4 та двочлен 15 + 1). Цей дво­член не є найпростішим, тому h = 4 буде старшим степенем не-звідного полінома, на який розкладається двочлен х15 + 1. Та­ким чином, двочлен х15 + 1 буде розкладатися на незвідні полі­номи четвертого степеня та на незвідні поліноми тих степенів

184

показники яких є дільниками числа 4, тобто 1 і 2:

х15 + І = + 1)(х2 + х + 1) (Х4 + х + 1)(х4 + х3 + 1)(х4 +

+ х3 + х2 + х+ 1).

Як випливає з цього розкладання, кількість незвідних полі­номів дорівнює п'яти, а кількість циклічних кодів для п = 15 становить 5 - 2 = 3, що підтверджує табл. 8.7.

Декодування кодів БЧХ (виявлення та виправлення поми­лок) завдовжки п = 15 може виконуватися з використанням методики, викладеної для циклічних кодів з dmin < 5. При декодуванні кодів БЧХ з довжиною комбінацій п > 15 можуть виникнути деякі труднощі, пов'язані з великим обсягом обчис­лень для виявлення та виправлення помилок. У таких випад­ках при к > nil, де fc — кратність зсуву, рекомендується комбі­націю, утворену після Ажратного зсуву і підсумовування з ос­тачею, зсувати не праворуч, а ліворуч на п циклічних кроків.

Кількість помилок, які можуть виправляти коди БЧХ, не обмежена, але зі збільшенням кратності помилки значно зростає складність пристроїв декодування, що призводить до зменшен­ня швидкості передачі інформації.