Класифікація первинних кодів
Повідомлення, що надходять від первісних джерел, як правило, кодуються. Кодування застосовується як для спрощення оброблення повідомлень, так і для підвищення завадостійкості їх передачі по лініях і в каналах зв’язку, де спотворюються сигнали, що спричиняє появу помилок у повідомленнях.
Для кодування повідомлень, які надходять з джерела інформації, на першому етапі (первинне оброблення повідомлень) використовуються первинні коди, які мають мінімальну кодову відстань dmin = 1 і не можуть застосовуватися для виявлення та виправлення помилок. Для підвищення завадостійкості передачі повідомлень використовується вторинне кодування комбінацій первинного коду коректувальними кодами, що виявляють і виправляють помилки.
Для кодування повідомлень при підготовці та введенні даних у системи передачі й оброблення інформації застосовуються, як правило, первинні коди, до яких належать nрозрядні коди з основою (алфавітом) q, в яких використовуються всі qn кодових комбінацій з потужністю qn ≥ Nд > qn1.
Розрізняють нерівномірні та рівномірні первинні коди. З перших найвідомішими є оптимальні двійкові коди Шеннона-Фано та Хаффмена, а також двійковий код Морзе.
До рівномірних первинних кодів, які широко застосовуються на практиці, належать рекомендовані МККТТ (Міжнародний консультативний комітет з телеграфії та телефонії тепер Міжнародний союз електрозв'язку) та Міжнародною організацією із стандартизації (ISO) коди: п'ятирозрядний двійковий, міжнародний стандартний телеграфний код № 2 (МТК2), міжнародний семирозрядний стандартний двійковий код №5 для передачі даних. З метою кодової сумісності Єдиної системи ЕОМ у 70ті роки ХХ століття були розроблені стандарти, прийняті свого часу країнами Ради Економічної Взаємодопомоги, у зв’язку з чим було рекомендовано використовувати двійкові коди між машинного обміну інформацією КОІ7Н0, КОІ7С1, КОІ8, код ДКОІ для внутрішнього обміну інформацією та код КПК12 для подання даних на перфокартах.
Крім перелічених вище, до первинних кодів належать також коди, що мають специфічне використання. Це рівномірні рефлексні коди, що застосовуються в техніці аналого-цифрового перетворення і телевимірюванні, та двійководесяткові коди, що поширені в системах відображення інформації або використовуються як проміжні при введенні в ЕОМ даних, поданих у десятковому коді.
2. Код Морзе
Крім двійкових ОНК Шеннона Фано та Хаффмена, до цього часу широко застосовується нерівномірний (неповний) код Морзе, комбінації якого передаються елементами різної тривалості (крапки та тире). Цей код в основному використовується для передачі телеграфних повідомлень при радіозв'язку з морськими суднами, геологорозвідувальними та пошуковими партіями, полярними станціями.
Спочатку код Морзе було розроблено для латинського алфавіту з урахуванням частоти появи окремих літер у тексті. При переході до українського алфавіту необхідно збільшити кількість кодових комбінацій, щоб можна було передавати літери, які не мають аналогів у латинському алфавіті (ш, щ, я тощо).
До переваг коду Морзе слід зарахувати його простоту, легкість запам'ятовування, можливість візуального приймання та приймання на слух, до недоліків – необхідність декодування тексту перед врученням споживачеві, а також надмірність. Крім того, цей код не враховує особливостей української мови, тобто частоту появи літер в українському тексті.
Наприклад: НАДІЯ – NADIA _ . . _ _ . . . . . _ . _
НАТАЛЯ – NATALIA _ . . _ _ . _ . _ . . . _ . _
3. Число-імпульсні коди
У числоімпульсному коді, який ще має назву одинично-десяткового, кожний розряд десяткового числа записується у вигляді відповідної кількості одиниць. Для можливості приймання їх приймачем окремі розряди кодових комбінацій відокремлюються інтервалами. Код не є рівномірним, хоча може бути перетворений на рівномірний дописуванням у кожній комбінаціії зліва нулів для заповнення загальної кількості їх елементів до 10. Так, запис десяткового числа 45 має вигляд 1111, 11111 (у варіанті рівномірного числоімпульсного коду це число записується так: 0000001111, 0000011111).
Тема 10. Рівномірні двійкові первинні коди.
План
1. Числові двійкові коди.
2. Двійково-десяткові коди.
3. Двійково-десяткові коди з самодоповненням.
4. Двійково-шістнадцятковий код
5. Рефлексні коди
Числові двійкові коди
У цих кодах, які ще називаються простими, всі повідомлення нумеруються порядковою послідовністю в двійковій системі числення, що утворює їхній двійковий код. Кількість комбінацій двійкового коду N = 2n, тобто для запису в двійковому коді N повідомлень треба мати п розрядів: п = log 2 N, де п ціле число.
У числових двійкових кодах використовуються всі можливі комбінації (Nд = N); тому ці коди є безнадмірними та завадонезахищеними, а мінімальна кодова відстань у них dmin = 1.
Для використання в телеграфних апаратах МККТТ рекомендується міжнародний телеграфний код № 2 (табл. 1).
Таблиця 1. Побудова коду Морзе
У цьому п’ятиелементному коді з 32 комбінацій 29 застосовуються для передачі літер, цифр, розділових іслужбових знаків у трьох регістрах (латинському, національному, цифровому), для яких призначено решту кодових комбінацій.
У зв’язку з тим, що при спотворенні кодової комбінації, яка відповідає алфавітному регістру (латинському, національному), вся послідовність комбінацій, що передається після неї, декодується неправильно, для перемикання регістрів вибираються комбінації, найбільш захищені від дії завад (латинський регістр – 11111, національний регістр – 00000).
2. Двійково-десяткові коди
У двійково-десятковому коді (ДДК) кожний розряд десяткового числа записується у вигляді табл.6.2 розрядного двійкового числа (тетради), що дає змогу сформувати 24 = 16 кодових комбінацій. Через те, що в десятковій системі числення використовується 10 цифр, шість комбінацій є надмірними і, як наслідок, вибір 10 комбінацій ДДК, які застосовуються для його побудови, має 16!6! ≈ 2×9×1010 варіантів.
Усі ДДК можна поділити на вагові та невагові, де в гою кожного розряду двійкового числа є її еквівалент у десятковій системі числення. Підсумовуючи вагу всіх чотирьох розрядів, дістають цифру десяткового числа. Вагомим називається такий ДДК, в якому вага кожного розряду для всіх 10 комбінацій залишається сталою. Будується він з урахуванням таких умов:
- вага найменшого розряду q1 дорівнює 1;
- вага другого за мінімальним значенням розряду q2 може дорівнювати 1 або 2;
- вага, що відповідає останнім двом розрядам q3 та q4 коду, підбирається так, щоб сума їх була більшою або дорівнювала шести (якщо q2=2) чи семи (якщо q2 = 1).
Згідно з цим можна дістати 17 варіантів ДДК з додатною вагою розрядів (табл. 2). Крім коду 8 4 2 1, решта 16 кодів не мають однозначності в зображенні десяткових чисел. Так, код 3 3 2 1 дає змогу записати цифру 5 у двійковій формі як 1010 або 0110.
Таблиця 6.2 – Побудова двійково десяткових кодів з додатною вагою розрядів
В інших ДДК вага окремих розрядів може бути додатною або від'ємною.
Усі ДДК мають деяку надмірність, що, як правило, застосовується для виявлення помилок. З цією метою, крім 10 робочих, мають фіксуватися й решта шість комбінацій, причому під час приймання останніх, які можуть бути тільки результатом помилок при передачі ДДК, має забезпечуватися заборона відтворення інформації, хоча при цьому виявляються далеко не всі, навіть найпростіші, однократні помилки.
3. Двійково-десяткові коди з самодоповненням
Необхідність заміни операції віднімання в ЕОМ операцією додавання, що виконується за допомогою спеціальних машинних кодів, привела до розробки ДДК, які мають властивість самодоповнення.
В оберненому коді з самодоповненням кожний розряд [аi]2 подається як доповнення до 2-1, тобто [аi]2 = 2-1 – аi. Доповнення до 2-1=1 дорівнює 0, якщо аі = 1, і 1, якщо аі = 0, тобто є інверсією цифри аi. Для десяткового коду потрібно знаходити доповнення до 9.
Зручність цих кодів полягає в тому, що ДДК цифри, яка є доповненням до 9, аналогічно двійковому коду знаходиться простою інверсією двійкових зображень десяткового числа в коді, для якого відшукується доповнення. Таким чином, якщо розряд десяткового числа аi подано тетрадою двійкових розрядів q4 q3 q2 q1, то доповнення до 9 визначається як [аі]10 = 1234 qqqq , де iq заперечення двійкової цифри qі.
Найбільшого поширення з ДДК із самодоповненням дістали код Айкена (2 4 2 1) і код із надмірністю 3 (8 4 2 1), які наведено в табл. 4. Як випливає з таблиці, при заміні цифр усіх чотирьох розрядів коду з 0 на 1 (або навпаки) дістаємо доповнення до 9 для кодованої десяткової цифри.
Таблиця 4 – Побудова кода Айкена та кода з надмірністю 3