Відповідно до завдання на роботу для забезпечення перешкодостійкості інформації, яка передається каналом зв’язку використовується його перешкодостійке кодування циклічним кодом, який забезпечує виявлення двократних та виправлення однократних помилок. Відомо [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-розрядного перешкодостійкого циклічного коду із виявленням двократних та виправленням однократних помилок.
,
,
,












.
.
.
.
,






