Код Грея - студопедія

Код Грея краще звичайного двійкового тим, що має властивість безперервності бінарної комбінації: зміна кодованого числа на одиницю відповідає зміні кодової комбінації тільки в одному розряді. Він будується на базі довічного за таким правилом: старший розряд залишається без зміни; кожний наступний розряд інвертується, якщо попередній розряд вихідного двійкового коду дорівнює одиниці. Цей алгоритм побудови може бути формально представлений як результат складання по модулю два вихідної комбінації двійкового коду з такою ж комбінацією, але зрушеною на один розряд вправо. При цьому крайній правий розряд зрушеною комбінації відкидається.

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

2 3 2 2 2 1 2 0

0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1

0 0 0 0 0 0 0 1 0 0 1 1 0 0 1 0

0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1

0 1 1 0 0 1 1 1 0 1 0 1 0 1 0 0

1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1

1 1 0 0 1 1 0 1 1 1 1 1 1 1 1 0

1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1

1 0 1 0 1 0 1 1 1 0 0 1 1 0 0 0

Перевагою Грей-коду є також його здатність дзеркального відображення інформації. Так, інвертуємо старший біт можна простим чином змінювати напрямок рахунку і, таким чином, підбирати до фактичного (фізичного) напрямку обертання осі. Зміна напрямку рахунку може легко змінюватися, керуючи так званим входом "Complement". Що видається значення може бути зростаючим або спадаючим при одному і тому ж фізичному напрямку обертання осі.

Оскільки інформація, виражена в Грей-коді, має чисто кодований характер що не несе реальної числової інформації, повинен він перед подальшою обробкою спершу перетворений в стандартний бінарний код. Здійснюється це за допомогою перетворювача коду (декодера Грей-Бинар), який на щастя легко реалізується за допомогою ланцюга з логічних елементів «виключає або» (XOR) як програмним, так і апаратним способом (див. Схему нижче).

З таблиці видно, що при переході від одного числа до іншого (сусіднього) лише один біт інформації змінює свій стан, якщо число представлено кодом Грея, в той час, як в двійковому коді можуть поміняти свій стан кілька біт одночасно. Код Грея - вихід, отже, він ніколи не має помилку читання і застосовується в багатьох абсолютних енкодер.

Схожі статті