
- •Глава 7 завадостійке кодування
- •7.1 Основні поняття і визначення
- •7.2 Принцип виявлення і виправлення помилок в завадостійких кодах
- •7.3 Класифікація і основні характеристики завадостійких кодів
- •7.3.1 Класифікація завадостійких кодів
- •7.3.2 Основні характеристики завадостійких кодів
- •7.4 Лінійні, блокові коди з виявленням і виправленням помилок
- •7.4.1 Особливості кодування лінійних блокових кодів
- •7.4.2 Кодування в коді Хємминга
- •7.4.3 Особливості декодування лінійних блокових кодів
- •7.4.4 Декодування в коді Хеммінга
- •7.5 Циклічні коди
- •7.5.1 Способи завдання і кодування
- •7.5.2 Декодування циклічних кодів
- •7.5.3 Мажоритарне декодування циклічних кодів
- •7.6 Згорткові коди
- •7.6.1 Визначення, способи завдання і кодування
- •7.6.2 Декодування згорткових кодів
- •7.7 Застосування завадостійких кодів в системах залізничної автоматики, телемеханіки і зв'язку
- •7.8 Способи підвищення вірності передачі інформації в каналах зв’язку з завадами
7.5.2 Декодування циклічних кодів
Декодування
засноване на тому, що будь-який кодовий
багаточлен
ділиться на проізводящий багаточлен
,
без залишку відповідно до формули
(7.26). Якщо прийнята комбінація не належить
циклічному коду, то відповідний їй
багаточлен
не ділиться на
,
тобто
, (7.26)
де С(х)
– залишок від ділення
на
;
Q(x)
– частка
від ділення.
З формули
(7.26) виходить, що багаточлен залишку
С(х)
визначається тільки багаточленом
помилки
і не залежить від кодового багаточлена
.
Коли
належить циклічному коду, тоді
ділиться на
і
.
Якщо
не належить коду, то
.
Це дозволяє по ненульовому залишку С(х)
від ділення
на
виявити помилки.
Відповідні
однократним помилкам багаточлени
виходять діленням на
багаточленів завади вигляду
,
де
- номер спотвореного символу комбінації
коду. Їм відповідають комбінації, які
є стовпцями перевірочної матриці Н
лінійного коду і є відповідними синдромами
С
відповідно до формул (7.16) і (7.18).
При
помилці q-й
кратності залишок
визначається сумою багаточленів
залишків, відповідних однократним
помилкам, так само як для довільного
лінійного коду синдром визначається
складанням стовпців матриці Н
відповідно до співвідношень (7.16) і
(7.18). Таким чином, залишок
є синдромом помилки в циклічних кодах.
Визначення
синдрому діленням
на
вимагає менше обладнання, чим його
обчислення відповідно до формули (7.24).
Таким чином, основним елементом в схемі
декодера циклічного коду, як і в кодері
систематичного коду, є схема ділення,
звана генератором синдромів (ГС).
Узагальнена структурна схема декодера
циклічного коду приведена на рис.7.7.
Рисунок 7.7 – Узагальнена структурна схема декодера циклічного коду
Складність
декодера визначається дешифратором
помилок і істотно залежить від кратності
помилок, що виправляються. При однократній
помилці дешифратор має один вихід і
входів. У разі помилок другої кратності
дешифратор має n
виходів, об'єднаних схемою «АБО».
При
виправленні помилок кратності
число виходів дешифратора визначається
з виразу
і швидко
зростає при збільшенні числа символів
кодової комбінації n
і кратності помилки .
Відомі різні схеми декодування циклічних
кодів, але всі вони засновані на обчисленні
синдромів помилки відповідно до
співвідношень (7.16) і (7.18) і побудовані
на схемах ділення
на
.
Розглянемо
один з варіантів на прикладі коду (7,4),
що виправляє однократні помилки. Він
заснований на обчисленні синдрому
однократної помилки в старшому розряді
комбінації
коду при діленні багаточлена помилки
на
і його використанні для виправлення
помилки в будь-якому символі прийнятої
комбінації. Обчислення цього синдрому
здійснюється схемою ділення (рис.7.8), на
вхід якої подається вектор помилки
Е=1000000,
багаточлен помилки
.Стан елементів
схеми ділення показаний в табл.7.2.
Починаючи
з 2-го по 8-ий такти воно відповідає
складовим синдромів помилки відповідно
в першому (молодшому) розряді кодової
комбінації [такт 2 (100)], в другому розряді
[такт 3 (010)] і т.д. до 8-го такту, якому
відповідає синдром С=001.
У цьому легко переконатися, подавши на
вхід схеми вектори помилки виду Е=0100000,
0010000 і т.д. Якщо продовжити зсув складових
синдромів після 8-го такту, то можна
переконатися, що вони повторюються. На
цій властивості циклічності складових
синдромів (станів
)
засновано виправлення однократних
помилок.
Для
цього як дешифратор помилки використовується
схема І,
що має три входи і один вихід і яка
налаштована на синдром С=001.
Розглянемо алгоритм декодування циклічного коду, який полягає у наступному.
1.
Комбінація U,
що поступає з демодулятору, протягом
7 ми тактів записується в регістр
зсуву і одночасно ділиться на проізводящий
багаточлен
в схемі ГС. Якщо помилки в комбінації U
не було або даною перевіркою вона не
виявлена, то стан елементів
ГС на 8-му такті буде нульовим (С=000).
За наявності помилки в комбінації U
стан елементів ГС відмінний від нульового
і визначає складові синдрому
.
2.
Починаючи з 8-го такту символи комбінації
U
«виштовхуються» з РЗ, а ГС здійснюють
циклічний зсув складових синдрому
до моменту встановлення елементами
стану 001, на яке настроєна схема І.
3. На виході схеми І з'являється 1, яка подається на вхід суматора; на другий вхід суматора з РЗ поступає спотворений символ.
Таблиця
7.2
– Стан єлементів
схеми ділення (рис.7.8)
Такт |
Е |
S1 |
S2 |
S3 |
1-й 2-й 3-й 4-й 5-й 6-й 7-й |
1 0 0 0 0 0 0 |
0 1 0 1 1 1 0 |
0 0 1 0 1 1 1 |
0 0 0 1 0 1 1 |
8-й 9-й 10-й 11-й |
0 0 0 0 |
0 1 0 1 |
0 0 1 0 |
1 0 0 1 |
Цьому алгоритму відповідає схема декодера (рис.7.8). Ключ К1 розмикається після 7-го такту, коли комбінація U повністю поступила в РЗ, а ключ К2 після 11-го такту, коли чотири інформаційні символи вийдуть з РЗ. У загальному випадку схема працює 2n тактів. В даному випадку, враховуючи, що код систематичний, то достатні 11 тактів роботи для виправлення помилок тільки в інформаційних символах.
Рисунок 7.8 – Структурна схема декодера циклічного коду
У табл.7.3
приведений стан елементів ГС під час
вступу з демодулятора спотвореної
комбінації
(неспотворена комбінація
).
Як видно з табл.7.3 на 10-му такті ГС приходить в стан 001, спрацьовує схема І, і 1 з її виходу поступає на суматор, на інший вхід якого поступає спотворений символ. В результаті складання відбувається виправлення помилки.
Таблиця 7.3 – Стан елементів генератора синдромів помилок
Такт |
Е |
S1 |
S2 |
S3 |
1-й 2-й 3-й 4-й 5-й 6-й 7-й |
1 0 1 1 1 1 0 |
0 1 0 0 0 1 1 |
0 0 1 0 0 0 1 |
0 0 0 1 0 0 0 |
8-й 9-й 10-й |
0 0 0 |
1 0 0 |
1 1 0 |
1 1 1 |