
- •1.1. Повідомлення та інформація
- •1.2. Моделі інформаційних систем
- •1.4. Предмет теорії інформації та кодування
- •2.2. Кількісна міра інформації
- •2.3. Ентропія та її властивості
- •2.4. Безумовна ентропія
- •2.5. Умовна ентропія
- •2.6. Ентропія об'єднання двох джерел
- •3.1. Продуктивність дискретного джерела та швидкість передачі інформації
- •4.1. Квантування сигналів
- •4.2. Інформаційні втрати
- •4.3. Продуктивність неперервного джерела та швидкість передачі інформації
- •IhlilhM
- •4.4. Пропускна здатність . . . .
- •5.1. Класифікація кодів і характеристики їх
- •5.4. Способи подання кодів
- •5.6. Основні теореми кодування для каналів
- •6.1. Класифікація первинних кодів
- •6.2. Нерівномірні двійкові первинні коди
- •6.2.1. Код морзе
- •6.2.2. Число-імпульсні коди
- •6.3. Рівномірні двійкові первинні коди
- •6.3.1. Числові двійкові коди
- •6.3.2. Двійково-десяткові коди
- •6.3.4. Двійково-шістнадцятковий код ;;.-,-.
- •6.3.5. Рефлексні коди
- •7.1. Двійкові коди,
- •7.1.2. Код із перевіркою на непарність
- •7.1.3. Код із простим повторенням
- •7.2. Недвійкові коди, що виявляють помилки
- •7.2.1. Код із перевіркою за модулем q
- •7.2.2. Код із повторенням
- •8"6 90472 "100562 І' • шТрИховє зОбраЖєння кодового сло-
- •8.1. Двійкові групові коди
- •8.1.1. Лінійний систематичний груповий (блоковий) код
- •8.1.2. Коди хеммінга
- •8.1.4. Коди боуза - чоудхурі - хоквінгема
- •8.1.5. Код файра
- •8.1.6. Код із багатократним повторенням
- •8.3.2. Узагальнений код хеммінга
- •8.3.3. Коди боуза - чоудхурі - хоквінгема
- •8.3.4. Коди ріда - соломона
- •8.3.6. Недвійковий ланцюговий код
- •9.1. Вірогідність передачі кодованих повідомлень
- •9.2. Стиснення інформації"
- •9.2.1. Способи стиснення даних при передачі
- •9.2.2. Способи стиснення даних при архівації
- •Збіжного рядка
- •9.3. Збільшення основи коду
- •0Сзезс99е8с0е1с10d1c242d5c3d2c6d8cbd6e8c0
- •VosooooooooooooooooOvJvJ
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)
"
Номер мінімального полінома |
Мінімальні поліноми різного степеня / |
|||
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 |
х7+х4+х3 + + х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 — кратність зсуву, рекомендується комбінацію, утворену після Ажратного зсуву і підсумовування з остачею, зсувати не праворуч, а ліворуч на п циклічних кроків.
Кількість помилок, які можуть виправляти коди БЧХ, не обмежена, але зі збільшенням кратності помилки значно зростає складність пристроїв декодування, що призводить до зменшення швидкості передачі інформації.