Прийнятий код може бути спотворений внаслідок впливу перешкод у каналі зв'язку. У результаті на прийомній стороні замість кодової комбінації циклічного коду виявляється прийнята (правильна або спотворена) кодова комбінація .
Відповідно до виразу (11), наявність залишку при діленні прийнятої кодової комбінації на утворюючий поліном є свідченням того, що в прийнятій комбінації є помилки. Дана властивість використається для перевірки відсутності помилок у прийнятій комбінації. При цьому помилки не будуть виявлятися тільки в тих випадках, коли многочлен помилок ділиться на утворюючий многочлен цілком.
Структурна схема декодера циклічного коду наведена на рисунку 3. Прийнята комбінація записується у вхідний регістр зсуву і одночасно шляхом ділення на утворюючий поліном перевіряється на наявність помилок. Якщо ділення виконується без залишку, то на виході схеми «І» формується ознака правильного прийому , і інформаційна частина із вхідного регістра передається для подальшого використання. Наявність залишку вказує на помилку в прийнятій кодовій комбінації. У цьому випадку ознака , і проходження повідомлення на вихід блокується.
|
|
Рисунок 3
По величині залишку (синдрома) можна визначити вектор помилок , а отже позиції в прийнятому коді, де виникли помилки, і виправити їх. Для цього в моменти часу, коли відбувається передача спотвореного розряду із вхідного регістра на вихід, у блоці визначення місця помилки формується коригувальний символ . Він додається до прийнятого спотвореного розряду, у результаті чого спотворений розряд інвертується.
Приклад. На рисунку 4 наведена функціональна схема декодера, що виявляє й виправляє однократну помилку в коді (7,4) з утворюючим многочленом .
Рисунок 4
На вхід декодера з каналу зв'язку послідовним кодом подається прийнята комбінація Н, що складається із 7 символів. Ця комбінація послідовно записується у вхідний 7-розрядний регістр зсуву і одночасно в схемі ділення () ділиться на утворюючий код Р = 1011. Із приходом останнього символу (на сьомому такті) всі тригери для неспотвореної кодової комбінації перебувають у нульовому стані ("1" на інверсному виході). Наявність "1" на виході хоча б одного із тригерів ("0" на інверсному виході) приводить до індикації спотворення коду (PR = 0). Перевірка цієї умови й формування ознаки PR виконується схемою "3І" І 1.
По закінченні перших 7 тактів протягом 4 додаткових тактів на виході регістру порозрядно з'являється інформаційна частина прийнятого повідомлення. Вона із вхідного регістра проходить через схему "2І" І 2, яка відкривається бланковим імпульсом, на суматор . У тому такті, коли з'являється помилковий розряд, на другий вхід цього суматора надходить коригувальний імпульс з виходу блока визначення місця помилки.
|
|
Робота схеми при відсутності помилок пояснюється за допомогою таблиці 7.
Таблиця 7 – Декодування при відсутності помилок
№ ТІ | Н | Вих. T 1 | Вих. T 2 | Вих. T 3 | Вих. І 1 () | Вих. І 2 | |||
– | – | – | |||||||
– | – | – | |||||||
– | – | – | |||||||
– | – | – | |||||||
– | – | – | |||||||
– | – | – | |||||||
– | – | ||||||||
I | |||||||||
II | |||||||||
III | |||||||||
IV |
У таблиці 8 показана робота декодера при надходженні спотвореної комбінації 10 1 1110. У третьому додатковому такті до спотвореного символу " 1 ", що надходить із вхідного регістра, додається символ з виходу блока визначення місця помилки, у результаті чого на виході суматора утворюється правильний символ "0".
Таблиця 8 – Декодування при наявності помилки
№ ТІ | Н | Вих. T 1 | Вих. T 2 | Вих. T 3 | Вих. І 1() | Вих. І 2 | ||||
– | – | – | ||||||||
– | – | – | ||||||||
– | – | – | ||||||||
– | – | – | ||||||||
– | – | – | ||||||||
– | – | – | ||||||||
– | – | |||||||||
I | ||||||||||
II | ||||||||||
III | ||||||||||
IV |