ТОП 10:

Двійково-десяткові коди з самодоповненням



Необхідність заміни операції віднімання в ЕОМ операцією додавання, що виконується за допомогою спеціальних машин­них кодів, привела до розробки ДДК, які мають властивість самодоповнення.

В оберненому коді з самодоповненням кожний розряд [а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 = , де - заперечення двійкової цифри qі.

Найбільшого поширення з ДДК із самодоповненням діста­ли код Айкена (2 4 2 1) і код із надмірністю 3 (8 4 2 1), які наве­дено в табл. 6.4. Як випливає з таблиці, при заміні цифр усіх чотирьох розрядів коду з 0 на 1 (або навпаки) дістаємо допов­нення до 9 для кодованої десяткової цифри.

 

 

Таблиця 6.4 – Побудова кода Айкена та кода з надмірністю 3

Десят-кове число Код Айкена Код із надмірніс- тю 3 Десят-кове число Код Айке-на Код із надмірніс-тю 3

 

Двійково- шістнадцятковий код

У двійково-шістнадцятковому коді для запису двійкового байта (вісім розрядів двійкового коду) використовується шістнадцяткова система числення. При цьому чотирирозрядні двій­кові числа (тетради) записуються шістнадцятковим символом. Так, запис двійкових послідовностей 1100 0110, 0010 1101 має вигляд .С6 і .2D, де крапка перед символами вказує на відмін­ність дворозрядного двійково-шістнадцяткового числа від дворозрядних шістнадцяткових чисел. У цьому прикладі (С6)16 = (198)10 і (2D)16 = (45)10.

Двійково-шістнадцятковий код широко застосовується для скороченого запису кодових комбінацій байтової структури.

Рефлексні коди

Особливість побудови рефлексних кодів полягає в тому, що сусідні кодові комбінації на відміну від двійкових простих ко­дів різняться цифрою тільки в одному розряді, тобто кодова відстань між ними дорівнює одиниці.

Іншою особливістю цих кодів є те, що зміна елементів у кож­ному розряді при переході від комбінації до комбінації відбу­вається в два рази рідше, ніж у простому коді, завдяки чому значно спрощується кодер. Крім того, при додаванні двох сусідніх комбінацій рефлексного коду за модулем 2 кількість одиниць дорівнюватиме кількості розрядів мінус 3, тобто одиниці, що використовується для перевірки правильності прийнятої кодової комбінації.

Свою назву рефлексні коди дістали через наявність осей симе­трії, відносно яких виразно проглядається ідентичність елементів у деяких розрядах. Вісь симетрії, що розміщується в n-значному рефлексному коді між комбінаціями, які відповідають рівням (2n-1-1) і 2n-1, називається головною. Щодо неї є ідентичність еле­ментів в (n-1) розрядах симетричних кодових комбінацій.

Можна утворити велику кількість двійкових рефлексних ко­дів, у яких дві сусідні комбінації відрізнятимуться тільки од­ним символом (табл. 6.5).

 

Таблиця 6.5 – Побудова рефлексних кодів

 

Десяткове число Варіанти рефлексних кодів
перший другий

 

Найбільшого поширення з рефлексних кодів дістав код Грея (табл. 6.6), який, на відміну від інших, простіший при перетворен­ні його на двійковий простий код. Обернене перетворення двій­кового простого коду на код Грея виконується за алгоритмом

де - значення і-го розряду коду Грея; , - відповідні значення розрядів двійкового числа (і =1, 2, …,

n, починаючи зліва).

Таблиця 6.6 – Побудова кода Грея

Десят-кове число Двійко-вий простий код Код Грея Десят-кове число Двійко-вий простий код Код Грея

 

Таким чином, для утворення комбінації коду Грея практично досить зсунути двійкову комбінацію простого коду на один розряд праворуч, порозрядно додати її за модулем 2 до початкової кодової комбінації без перенесення між розрядами і відкинути молодший розряд здобутої суми.

Декодування (обернене перетворення) коду Грея можна виконати двома способами:

- перший спосіб

де xn і yn - відповідно значення старшого розряду двійкового простого коду та коду Грея (і = п - 1, п - 2, ..., 1, починаючи зліва);

- другий спосіб

де уj - значення розрядів коду Грея, а сума береться за всіма розрядами цього коду від і-годо n-го (старшого, крайнього зліва).

Іншими словами, щоб перейти від коду Грея до двійкового простого коду, треба:

- залишити цифру старшого розряду без зміни;

- кожну наступну цифру інвертувати стільки разів, скільки одиниць є перед нею в коді Грея, або виконати послідовне порозрядне підсумовування за модулем 2 першого (старшого) та другого розрядів комбінації цього коду (1 2), після чого послі­довно додати 1 2 3, 1 2 3 4 і т. д.

До характерних особливостей коду Грея належить те, що, по-перше, кожна наступна комбінація завжди відрізняється від попередньої тільки в одній позиції (одному розряді); по-друге, зміна значень елементів у кожному розряді при переході від ком­бінації до комбінації відбувається в два рази швидше, ніж у двій­ковому простому коді, тобто якщо в останньому зміна елемен­та першого (молодшого) розряду відбувається з чергуванням елементів 0-1-0-1-..., елемента другого розряду - з чергуван­ням елементів 00-11-00-11-..., елемента третього розряду - з чергуванням елементів 0000-1111-0000-1111-... і т. д., то в коді Грея відповідно маємо такі чергування елементів: для першого розряду 11-00-11-00-..., для другого 0000-1111-0000-1111-... і т. д., що дає змогу при тій самій швидкості кодера досягати вищої точності кодування порівняно з двійковим простим кодом; по-третє, при додаванні двох сусідніх комбінацій за моду­лем 2 кількість одиниць дорівнюватиме кількості розрядів мі­нус 3, що використовується для перевірки наявності помилки в прийнятій кодовій комбінації; по-четверте, в цьому коді мож­на виділити кілька осей симетрії, відносно яких спостерігаєть­ся ідентичність елементів у деяких розрядах. Так, має місце си­метрія деяких розрядів відносно осей, проведених між числами 1 і 2, 3 та 4, 5 і 6, 7 та 8, 9 і 10, 11 та 12 (див. табл. 6.6).

Код Грея широко застосовується для аналого-цифрового перетворення різних неперервних повідомлень. Він дає змогу зменшити кількість помилок від завад, які виникають при пе­редачі інформації по каналах зв'язку.

До недоліків цього коду належить “невагомість” кодової ком­бінації, коли вага одиниці в ній не визначається номером розря­ду, на місці якого вона знаходиться, а переведення кодової ком­бінації з двійкової системи числення в десяткову не визначатиме порядковий номер комбінації в коді Грея. Такі коди важко деко­дувати, тому перед декодуванням їх, як правило, перетворюють на двійковий простий код, після чого й обробляють останній.

Приклад

Перетворити на код Грея двійковий простий код 000111001.

Розв’язання. Перетворення двійкового простого коду на код Грея виконується за алгоритмом де - значення і-го розряду коду Грея; , - відповідні значення розрядів двійкового числа (і =1, 2, …, n, починаючи зліва). Отже, щоб здійснити це перетворення, досить зсунути двійкову комбінацію простого коду на один розряд праворуч, порозрядно додати її за модулем 2 до початкової кодової комбінації без перенесення між розрядами і відкинути молодший розряд здобутої суми:

тобто шукана кодова комбінація має вигляд 000100101.

 

Коди, що виявляють помилки

Особливість кодів, які виявляють помилки, полягає в тому, що кодові комбінації, які входять до складу цих кодів, різняться кодовою відстан­ню, не меншою ніж dmin = 2.

Такі коди умовно можна поділити на дві групи: коди, в яких використовуються всі комбінації, але до кожної з них за обумовленим пра­вилом додаються r перевірних елементів; коди, утворені зменшенням кількості дозволених комбінацій.

До першої групи кодів, що виявляють помилки, належать коди з перевіркою на парність і непарність; код із простим повторенням; інверсний та кореляційний коди; до другої - код зі сталою вагою. Код з кількістю одиниць у комбінації, кратною трьом, може належати до першої або другої групи кодів залежно від методики його побу­дови.







Последнее изменение этой страницы: 2017-02-07; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.234.241.200 (0.01 с.)