Код Грэя. Преобразователь натурального кода в код Грея

Страницы работы

3 страницы (Word-файл)

Содержание работы

Код Грэя

При отсутствии статистической взаимосвязи между элементами (буквами) со­общения конструктивные методы построения эффективных кодов были даны впервые Шенноном, Фэно и Хаффменом (см. разд. 4.4), однако такие коды вызы­вают затруднения при декодировании. Этого недостатка в некоторой степени ли­шены рефлексные коды (от латинского reflexio — отражение). Характерной особен­ностью таких невзвешенных кодов является то, что любые две соседние n-значные кодовые комбинации отличаются друг от друга лишь в одной позиции. Наиболее часто применяемым является рефлексный код Грея (1878 год), который получается из натурального кода путем суммирования его двоичной комбинации по модулю 2 с той же комбинацией, сдвинутой на один разряд вправо, и после­дующим отбрасыванием младшего разряда сдвинутой комбинации. Например, для

цифры 7 (0111) в коде Грея будем иметь: 0111Å 0011 =0100.

Если составить таблицу натурального кода и кода Грея для десятичных чисел 0—15, то можно отметить следующие его особенности.

1.Каждая последующая комбинация всегда отличается от предыдущей только в одной позиции (в одном разряде).

2. Смена значений элементов в каждом разряде (1 на 0 или 0 на 1) при пере­ходе от комбинации к комбинации в коде Грея происходит вдвое реже, чем в натуральном. Так, в натуральном коде смена элемента первого (младшего) разряда происходит с чередованием элементов 0 — 1 — 0 — 1..., второго — с чередованием 00— 11— 00 — 11..., третьего — с чередованием 0000—1111—0000... В коде Грея соответственно имеем: для первого разряда 11 — 00 — 11..., для второго 0000 —1111 — 0000... Это свойство кода Грея позволяет при том же быстродействии схе­мы кодирования получать точность кодирования выше по сравнению с натураль­ным кодом.

3. При сложении двух соседних комбинаций кода Грея по модулю 2 (mod 2} число единиц равно числу разрядов минус три, т. е. в нашем случае имеем одну единицу. В общем случае, для n-значного кода число единиц равно n - 3. Это свойство кода Грея иногда можно использовать для проверки правильности при­нятых комбинаций.

4. В коде Грея можно выделить оси симметрии (оси «отражения»), относи­тельно которых наблюдается идентичность элементов в некоторых разрядах. Так, например, имеет место симметрия относительно оси, проведенной между числа­ми 7 и 8. В комбинациях, симметричных относительно этой оси, идентичны три символа младших разрядов, относительно осей 1—2, 5—6, 9—10, 11—12 имеется симметрия в одном символе младшего разряда, а относительно осей 3—4 и 11—12 — в двух символах. Эта особенность и послужила основанием для исполь­зования термина «рефлексный» (или отраженный) код.

По сравнению с натуральным рефлексный код Грея позволяет уменьшить ошибки неоднозначности считывания, а также ошибки, вызванные помехами при передаче информации по каналам связи. Если, например, неправильное воспро­изведение символа старшего разряда комбинации натурального кода приводит к значительной ошибке, то для кода Грея эта ошибка составляет величину одного младшего разряда.

Схема преобразователя 4-разрядного натурального кода в код Грея (рис. 4.8) состоит из генератора слова программы EWB 4.1, регистра сдвига на D-триггерах Т0 — ТЗ с индикаторами их состояния (и входного натурального кода) на логиче­ских пробниках 0—3, логических элементов  ИСКЛЮЧАЮЩЕЕ  ИЛИ ХОR0—XOR3, ИЛИ OR0—OR3, И &0 — &3, на выходе которых включены индикаторы кода Грея на логических пробниках 2^0—2^З. Схема И &с служит для фор­мирования тактовых импульсов сдвига, поступающих на v-входы триггеров; на вход Хс схемы &с подаются разрешающие логические сигналы 1 с первого (левого) выхода генератора слова, а на вход С — тактовые сигналы с его выхода Clk. Кодовые комбинации в натуральном коде ХО—ХЗ задаются на дисплее генератора в ячейках, соответствующих выходам 5—2. Для вывода двоичной комбинации в коде Грея на индикаторы 2^0—2^3 используется логический сигнал Х&.с восьмого выхода генератора.

Рис. 4.8. Преобразователь натурального кода в код Грея

В кодовой комбинации № 0 (см. лицевую панель генератора) производится

очистка регистра от предыдущей комбинации 14 входного кода путем сдвига вправо. При комбинации № 1, получаемой, после нажатия кнопки STEP, в регистре запоминается натуральный код 1000, при комбинации № 2 он сдвигается вправо на один разряд, т. е. равен 0100. При комбинации № 3 опять выдается код 1000, который с помощью элементов XOR0—XOR3 суммируется по модулю 2 с запомненным на регистре при комбинации № 2 (выполняется операция 0100 Å 1000 = 1100). Поскольку при комбинации № 3 присутствует сигнал Х& = 1, то полученный результат (код Грея) через &0—&3 выводится на индикаторы 2^0 – 2^3. При комбинациях 4—6 производится очистка регистра от кода 0100 (три сдвига вправо). При комбинации № 7 вводится натуральный код 1100, при комбинации № 8, он сдвигается на один разряд вправо (получаемый при этом код 0110 на рис. 4.2 отображается индикаторами 3 - 0), при комбинации № 9 выполняется операция 0110Å1100 = 1010 с выводом результата на индикаторы 2^0—2^3. Аналогичным образом производится преобразование кода 0110 (комбинация № 12) в. код Грея 0101 (комбинация № 14).

Недостатком кода Грея и других рефлексных кодов являются трудности обработки данных с помощью ЭВМ и существенное усложнение декодирующих устройств, что приводит к необходимости предварительного преобразования рефлексных кодов в натуральный. В случае кода Грея это преобразование производится по следующему правилу: если преобразование начинается со старшего разрядов кода, то символ старшего разряда записывается без изменения, каждый следующий символ кода Грея инвертируется, если в натуральном коде перед этим был получен символ 1, или оставляется без изменения, если в натуральном коде был получен символ 0.

Похожие материалы

Информация о работе