Приклади розв’язання завдань. Приклад 1. Закодувати шість елементів інформації кодом з парною (непарною) вагою [1]
Приклад 1. Закодувати шість елементів інформації кодом з парною (непарною) вагою [1]. Розв’язання. Найбільш імовірними є одноразові помилки, тому намагаються їх виявляти й виправляти. Коди, які виявляють одноразові помилки, мають d min = 2. Кількість комбінацій довжини n, між якими . Оскільки 2 k ³ N £ N 0 = 2 n – 1, то k = n – 1, тобто n = k + 1. Код містить лише один надмірний розряд. Значення цього розряду визначається як сума за модулем 2 або заперечення суми за модулем 2 всіх інформаційних розрядів. Якщо значення надмірного розряду визначається як сума за модулем 2 всіх інформаційних розрядів (х 1 Å х 2 Å... Å хk), то такий код називають кодом з парною вагою, якщо значення надмірного розряду визначається як заперечення суми за модулем 2 для всіх інформаційних розрядів (), – кодом з непарною вагою. Математично кодування з парною вагою описується системою логічних рівнянь
а з непарною вагою — системою
Визначимо кількість інформаційних k і всіх n розрядів:
k = ½ log6½ = 3; n = 4.
Результати кодування з використанням формул (3) і (4) зведено до табл. 7. Таблиця 7
Із табл. 7 випливає, що кодові комбінації вихідного (простого) коду мають вагу (wi) = 1, 2, 3, тобто парні й непарні значення. Комбінації (n, k) парного коду мають вагу wj = 2, 4, тобто тільки парні значення. Комбінації (n, k) непарного коду мають вагу wi = 1, 3, тобто тільки непарні значення. Для реалізації кодера коду з парною (непарною) вагою потрібен опис коду у вигляді системи логічних рівнянь (3) або (4) і задання форми подання кодових комбінацій — паралельної або послідовної. Синтез кодерів і декодерів не має однозначного розв’язання як апаратними, так і програмно-апаратними методами. Розглянемо декілька варіантів реалізації кодів з парною (непарною) вагою апаратними методами. Для знаходження значення надмірного розряду коду в паралельній формі (рис. 6) використовується логічний елемент «додавання за модулем 2 із запереченням (парність)». Для знаходження значення надмірного розряду коду в послідовній формі використовується лічильний тригер, прямий вихід якого реалізує функцію «додавання за модулем 2 із запереченням (парність)».
Рис. 6
Функціональну схему кодера для послідовного коду з парною вагою показано на рис. 7, а. Формувач послідовного коду може мати перетворювач паралельного коду на послідовний. Зображений кодер містить шифратор 1, зсувний регістр 2, лічильний тригер 3, логічний елемент І-АБО 4, вузол керування 5. Шифратор призначено для кодування елементів інформації простими кодовими комбінаціями. Зсувний регістр 2 здійснює прийом простого коду з шифратора 1 і перетворює його під дією керувальних сигналів C, V 1, V 2, R вузла керування 5 на послідовний код. Лічильний тригер 3 знаходить значення надмірного (контрольного) розряду коду. Логічний елемент 4 формує вихідну кодову комбінацію G (у) за початковою G (х), яка надходить з регістра 2, і за значенням уn стану лічильного тригера 3. Вузол керування 5 формує керувальні сигнали C, V 1, V 2, , які визначають роботу всього кодера. Робота кодера пояснюється часовими діаграмами сигналів, показаними на рис. 7, б. На діаграмі зображено перетворення комбінації G (х) = = 110...1 на комбінацію G (у) = 110...11.
Рис. 7
Для отримання кодера з непарною вагою треба в зображеній схемі розірвати зв’язок між виходом 1 лічильного тригера 3 і входом 1 елемента 2І-АБО 4 і цей вхід з’єднати із виходом 2 лічильного тригера 3.
|