Відповідно до завдання на роботу для забезпечення перешкодостійкості інформації, яка передається каналом зв’язку використовується його перешкодостійке кодування циклічним кодом, який забезпечує виявлення двократних та виправлення однократних помилок. Відомо [5, 7, 8], що перешкодостійкість досягається шляхом введення до повідомлень деякої надмірності, відповідно на першому етапі проектування кодера каналу необхідно визначити тривалість вихідних повідомлень. Для цього скористуємось наступною нерівністю [6]
, | (2.13) |
де – кількість перевірочних розрядів коду;
– кратність помилок, які виправляються;
– загальна кількість розрядів вихідного повідомлення.
Врахувавши, що кратність помилок, які виправляються =1 перепишемо вираз (2.13) у наступному вигляді
, | (2.14) |
Використовуючи вираз (2.14) отримаємо таблицю значень для лівої та правої частини виразу:
1 | 2 | 3 | 4 | 5 | |
2 | 4 | 8 | 16 | 32 | |
6 | 7 | 8 | 9 | 10 |
З таблиці видно, що вже при кількості перевірочних символів виконується нерівність (2.14), тому кількість символів у перевірочному повідомленні становитиме 7 з них 4 інформаціних та 3 перевірочних.
Для реалізації кодера циклічного коду використовуємо ряд правил [7]. Для вибору тівірного поліному використовуємо таблицю незвідних багаточленів серед яких обираємо поліном третього степеню (відповідно до кількості перевірочних розрядів вихідного повідомлення).
, | (2.15) |
Формуємо твірну матрицю. Для цього визначаємо під матрицю, яка задає правило формування перевірочних символів. Для цього проводимо ділення одночленів , , та на твірний багаточлен:
| |||||||||||
| |||||||||||
| |||||||||||
| |||||||||||
| |||||||||||
|
| ||||||||||
|
| ||||||||||
|
| ||||||||||
Записуємо залишки від ділення багаточленів у вигляді рядків матриці:
. | (2.16) |
Твірну матрицю формуємо за привилом
. | (2.17) |
де – одинична матриця.
Використовуючи правило (2.17), отримаємо матрицю
. | (2.18) |
Здійснюємо кодування повідомлення яке відповідає 7-му рівню напруги кодера джерела, для цього використовуємо наступне правило
. | (2.19) |
Де – вектор, який містить закодоване повідомлення;
– вектор, який містить інформаційне повідомлення.
Вихідною є послідовність 0111:
При цьому перевірочні символи містяться в останніх трьох розрядах вихідного повідомлення, а інформаційні в перших 4-х.
Для апаратної реалізації кодера використовуємо схему з формуванням остачі за 4 такти [7]. Для чого використовуємо 3 Т-тригера (за степенем твірного багаточлена) та 2 суматора, які під’єднуємо до входів тих Т-тригерів, які відповідають членам твірного багаточлена з ненульовим значенням коефіцієнта. В результаті буде отримано схему, яка наведена на рисунку 2.4
Рисунок 2.4 Функціональна схема кодера каналу
Запишемо у вигляді таблиці стани регістрів зсуву при подачі на вхід повідомлення 0111
Номер такту | I(t) | S1 | S2 | Регістр зсуву | F(t) | ||
Т0 | Т1 | Т2 | |||||
1 | 0 | + | 2 | 0 | 0 | 0 | 0 |
2 | 1 | + | 2 | 1 | 1 | 0 | 1 |
3 | 1 | + | 2 | 1 | 0 | 1 | 1 |
4 | 1 | + | 2 | 0 | 1 | 0 | 1 |
5 | * | - | 1 | * | 0 | 1 | 0 |
6 | * | - | 1 | * | * | 0 | 1 |
7 | * | - | 1 | * | * | * | 0 |
Таким чином, таблиця станів свідчить про формування на виході кодера послідовності, яка отримана за правилом (2.19), що свідчить про працездатність запропонованого кодера.
Надмірність коду становить:
, | (2.20) |
врахувавши розрахункові дані, отримуємо 0,428.
Таким чином, в даному пункті наведено варіант побудови кодера каналу, який забезпечує формування 7-розрядного перешкодостійкого циклічного коду із виявленням двократних та виправленням однократних помилок.