
- •Глава 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.6.2 Декодування згорткових кодів
Для декодування комбінацій згорткових кодів розроблені алгебраїчні і імовірнісні методи. До алгебраїчних методів відносяться порогове (мажоритарне) декодування, до імовірнісних – послідовне декодування і декодування по максимуму правдоподібності (алгоритм Вітербі) [12].
алгебраїчні методи засновані на виконанні рівнянь перевірок, що зв'язують інформаційні і перевірочні символи. Імовірнісні методи засновані на пошуку шляху по графові (кодовому дереву), найближчого до прийнятої послідовності.
При
пороговому декодуванні для кожного
блоку
обчислюється синдром. Наприклад, для
коду, розглянутого вище, відповідно до
рекурентного співвідношення
:
де
- компоненти вектора помилки i-го
блоку на позиціях інформаційних і
перевірочних символів.
Якщо
=1,
то фіксується наявність помилки. У разіci=0
найймовірніше, що символи
неспотворені, проте при спотворенні
двох символів з трьох ci = 0.
Правило оцінки компоненту вектора помилки визначається співвідношенням
. (7.29)
Оцінка інформаційного символу здійснюється за правилом
. (7.30)
Компонент
вектора помилки
може бути оцінений невірно, тоді його
підстановка у вираз для ci
збільшує
імовірнність неправильного рішення
при оцінці
,
яка використовується для оцінювання
і т.д., тобто виникає ефект розмноження
помилок. Для підвищення достовірності
декодованих символів необхідно
аналізувати достатньо довгу послідовність
синдромів
,
що зазвичай виконується в алгоритмах
імовірнісного декодування, які
забезпечують кращу завадостійкість.
Структурна схема декодера, побудована відповідно до правил (7.29), (7.30) для згорткового коду 1/2, k=1, n0=2, приведена на рис.7.11.
Рисунок 7.11 – Структурна схема декодера згорткового кода
При декодуванні комбінацій згорткових кодів з більшою надмірністю і більш великим кодовим обмеженням, чим розглянутий код, застосовується послідовне декодування і декодування по максимуму правдоподібності. Відмінність між ними полягає в тому, що при послідовному декодуванні визначення правильного шляху по кодовому дереву на кожному кроці здійснюється з урахуванням всіх попередніх. Ухвалення рішення при декодуванні по максимуму правдоподібності (алгоритм Вітербі) здійснюється на кожному кроці з урахуванням попереднього. Мірою схожості прийнятої послідовності на передану є відстань Хеммінга.
7.7 Застосування завадостійких кодів в системах залізничної автоматики, телемеханіки і зв'язку
Завадостійкі коди в системах залізничної автоматики і телемеханіки використовуються переважно для виявлення помилок різної кратності.
У системах
телемеханіки найширше використовуються
коди з постійною вагою. Кодові комбінації
таких кодів містять постійне число
одиниць і нулів. Загальне число дозволених
комбінацій визначається числом поєднань
,
де n
– число символів в кодовій комбінації,
m
– число одиниць в ній. Тому ці коди
називають також кодами на одне поєднання.
Коди мають мінімальну кодову відстань
=2
і виявляють однократні помилки.
Різновидом коду з постійною вагою, використовуваного, наприклад, в системі станційної кодової централізації (СКЦ), є розподільний код. Всі комбінації цього коду мають вагу, рівну одиниці, тобто в будь-якій комбінації з n символів міститься тільки одна одиниця.
У системах
телемеханіки розподільний код
використовується для кодування номера
команди, що міститься у виконавчій
частині кодової комбінації. Для кодування
адреси групи об'єктів у виборчій частині
кодової комбінації застосовується код
з великим числом одиниць. Наприклад, по
каналу телекерування системи СКЦ
передаються кодові комбінації, виконавча
частина яких визначається кодом
,
а виборча частина - кодом
.
У агрегатній системі диспетчерської централізації (АСДЦ) для виявлення помилок використовуються систематичні завадостійкі коди: код Бауера, що є різновидом коду з простим повторенням, і код з однією перевіркою на непарність (перевіркою по паритету). Принцип кодування кодом Бауера полягає в повторенні інформаційної послідовності з k символів, якщо вона містить непарне число одиниць, і інверсному повторенні інформаційних символів – при парному числі одиниць. Наприклад, інформаційним послідовностям 0111 і 0101 відповідають кодові комбінації U1=01110111 і U2=001011010. Очевидно, що надмірність коду Бауера рівна 0,5.
У комбінаціях коду з перевіркою на непарність використовується один перевірочний символ, при складанні якого з інформаційними символами по модулю 2 їх сума дорівнює одиниці.
Імовірнність появи невиявленої помилки Рнп в коді Бауера для комбінації з n символів може бути визначена з виразу
,
де
- число поєднань з n/2
елементів по 2; ре
– імовірнність помилкового прийому
символу кодової комбінації.
При n = 8 і ре=1·10-4 імовірнності появи невиявленої помилки Рнп=3,6·10-15.
Імовірність появи невиявленої помилки в коді з перевіркою на непарність знаходиться з формули
.
Якщо ре=1·10-4 і n=8, то Рнп=2,8·10-7. У перспективних мікропроцесорних системах залізничної автоматики і телемеханіки для виявлення несправностей в окремих платах і вузлах використовується так званий сигнатурний аналіз, який засновано на принципі декодування циклічних кодів і він полягає в тому, що тестова послідовність, що поступає з виходу контрольованої плати або вузла, ділиться в схемі ділення на деякий проізводящий многочлен g(х). Залишок від ділення є ознакою несправності.
У вживаних
на залізничному транспорті цифрових
системах зв'язку і передачі даних
найбільшого поширення набули циклічні
коди для виявлення помилок різної
кратності, звані кодами циклічної
перевірки надмірності (CRC – Cyclic Redundancy
Check), а в стільникових системах зв'язку
з рухомими об'єктами також і згортані
коди для виправлення незалежних помилок
у поєднанні з пристроями перемеження.
Наприклад, в модемних протоколах корекції
помилок і протоколах каналів передачі
кадрів в мережах передачі даних
використовується код CRC з проізводящим
многочленом
Код CRC-16 містить 16 перевірочних символів,
має мінімальну кодову відстань
=4
і дозволяє виявляти помилки до третьої
кратності включно.
Імовірність виявлення помилок кодом CRC визначається по формулі
,
де m
– ступінь проізводящого багаточлена
.
Так код
CRC-16 дозволяє виявити 99,9985% помилок. Разом
з ним в модемних протоколах V42
використовується код CRC з
=15
і проізводящим багаточленом
У мережах
високошвидкісної передачі даних (АТМ
мережах) використовуються укорочені
циклічні коди БЧХ (Боуза-чоудхурі-хоквінгема).
Наприклад, для виявлення помилок до
третьої кратності і виправлення помилок
першої кратності в заголовках осередків
АТМ використовується код CRC з проізводящим
многочленом
Для виявлення однократних і двократних
помилок в протокольних блоках даних
АТМ мережах використовується CRC код з
проізводящим многочленом
і
=3.
Принцип
циклічної перевірки надмірності кодами
CRC аналогічний принципам кодування і
декодування циклічних кодів і полягає
в наступному. На станції, що передає,
визначається залишок від ділення
інформаційного багаточлена (інформаційної
послідовності) на проізводящий багаточлен
,
який у вигляді перевірочних символів
передається після інформаційних символів
в загальному блоці даних. На приймальній
станції виконується ділення прийнятої
послідовності на
,
і у разі отримання залишку від ділення
ухвалюється рішення про наявність
помилки.
Для захисту від помилок в радіоканалах рухомого зв'язку стандарту GSM використовуються циклічні і згорткові коди у поєднанні з перемеженням.
Перемеження
символів передаваної послідовності
забезпечує перетворення пакетів помилок
в незалежні помилки і полягає в тому,
що кодова комбінація довжиною n,
яка підлягає передачі по радіоканалу,
записується по рядках в матрицю розміром
,
потім
зчитується по стовпцях у вигляді
послідовності
і передається в канал. В результаті
символи повідомлення
,
які в початковій послідовності слідували
один за одним, передаються в канал з
інтервалом n2
символів, який називається глибиною
перемеження. Збільшення глибини
перемеження підвищує ефективність
згорткового кодування, але приводить
до затримки передаваних символів.
На виході
каналу відбувається зворотний перезапис
прийнятої послідовності символів. Запис
здійснюється по стовпцях, зчитування
- по рядках. У відновленій послідовності
пакетом помилок виявляються спотворені
несуміжні, розкидані по всій довжині
символи, що спрощує їх виправлення
згортковим кодом.
Для виправлення незалежних помилок в повношвидкісних каналах зв'язку систем GSM використовується згортковий код із швидкістю 1/2 і k = 5. Декодування згорткового коду здійснюється по алгоритму Вітербі.
Розглянутий приклад кодування–декодування повідомлень в стільникових системах зв'язку стандарту GSM характерний для всіх систем зв'язку з рухомими об'єктами і є один з варіантів каскадного кодування–декодування .
Як випливає з приведених прикладів, в системах зв'язку і телемеханіки найбільше застосування отримали завадостійкі коди для виявлення і виправлення однократних помилок. Це обумовлено двома чинниками: недоліками, зв'язаними із застосуванням завадостійких кодів і організацією каналів в системах зв'язку і телемеханіки. Недоліком застосування завадостійких кодів в системах передачі інформації є те, що методи завадостійкого кодування не адаптовані до завадової обстановки, що змінюється, тому надмірність (перевірочні символи) доводиться вводити орієнтуючись на найсприятливіший випадок. У решті часу при низькому рівні завад швидкість передачі інформації по каналу нижче можливої.