Завадостійке кодування. Побудова коректую чого циклічного коду
Призначення кодера і декодера полягає в наступному. На вхід кодера надходить комбінація простого коду Ai певної довжини к, кодер перетворює її в комбінацію коректуючого коду Bi довжини n відповідно до правил кодування, причому n>k.На вхід декодера з каналу надходить комбінація довжини n: , де E комбінація помилок. Наприклад, Bi=101000; нехай помилка відбудеться в другому і третьому символах, тоді Е=011000, тоді код на виході декодера Ві0=110000.
В залежності від коректуючої здатності коду і мети його застосування декодер коректуючого коду може працювати в режимі виявлення або в режимі виправлення помилок.
В режимі виявлення помилок декодер аналізує: прийнята комбінація Ві0 дозволена чи заборонена? Якщо ця комбінація є дозволена, то декодер відповідно до правила декодування формує на своєму виході комбінацію Аі довжини к.
Якщо ж вона не недозволена, то вона бракується декодером і на виході декодера комбінація відсутня, а на виході сигналу помилки з’явиться певний сигнал.
В режимі виправлення помилок декодер замість забороненої комбінації Ві0 декодує дозволену кодову комбінацію до правила декодування і видає комбінацію довжини к.
Мінімальне співвідношення коректуючих та інформаційних символів нижче якого код втрачає свої коректуючи властивості, визначається за виразом:
n = k+r ,
де: k - кількість символів інформаційного сигналу;
r - кількість символів коректуючого коду.
Співвідношення між кількістю символів інформаційного та коректуючого коду:
k | ||||||||||||||
r | ||||||||||||||
n |
Циклічний код. Циклічні коди широко застосовуються в системах зв'язку із-за своєї прости використання. Для опису циклічних кодів кодові комбінації представляються у вигляді поліномів. Наприклад, комбінація Л,-=10111 відповідає поліному
аі(х)=х4+Х2+х + 1
Таблиця 3. Породжуючи поліноми для r=3,4,5:
|
Будь який циклічний код задається не тільки числами п і к, але і породжуючим поліномом §(х) степені г. Циклічним кодом називається такий код, усі комбінації якого представляються поліномом степені п-1 і менше, що діляться без залишку на породжуючий поліном.
Робота кодера циклічного коду зводиться до наступного. Нехай а^х) - поліном, що відповідає комбінації простого коду, яка надійшла на вхід кодера. Поліном а(х)ххг відповідає додаванню до вхідної комбінації г нулів праворуч. Виконується ділення поліному ф)х/ на породжуючий поліном g(x) з метою визначення залишку від ділення г(х). Цей залишок додаються до основного коду. Тоді поліном вихідного коду визначається, як: Ь(х) = х хг + г(х), тобто г нулів, введених у комбінацію заміщуються комбінацією, що відповідає залишку від ділення.
(X8+X7+X6)*X4=X12+X11+X10
X2=0100
(X9+X8+X6+X+1)*X4=X13=X12+X10+X5+X4
X3+X2+1=1101
Cиндром помилки: 0100. Відповідає девятому символу. Виправлення помилки здійснюється шляхом інвертування помилкового символу.