69436

Код Грея

Лабораторная работа

Информатика, кибернетика и программирование

Отражённые ( рефлексные ) коды строятся таким образом, что соседние кодовые комбинации, в отличии от простых двоичных кодов, различаются цифрой только в одном разряде, т.е. кодовое расстояние между соседними кодовыми комбинациями такого кода равно единице.

Русский

2014-10-04

206 KB

9 чел.

Лабораторная работа № 4

Тема:  Код Грея

Цель:  Изучить код Грея, выяснить особенности его построения и применения

Краткие теоретические сведения

    Отражённые ( рефлексные ) коды строятся таким образом, что соседние кодовые комбинации, в отличии от простых двоичных кодов, различаются цифрой только в одном разряде, т.е. кодовое расстояние между соседними кодовыми комбинациями такого кода равно единице. Из отражённых кодов наибольшее распространение получил код Грея.

    Преобразование простого двоичного кода в код Грея производится по алгоритму: Yn = Xn; Yi = Xi xor Xi+1 , (xor – суммирование по модулю 2), где Yi – значение i-го разряда кода Грея; Xi, Xi+1 – соответствующие значения разрядов двоичного числа ( i = 1, 2, ..., n, считая, разряд с i = 1 – младший, i = n – старший ). Т.е., для всех разрядов, кроме младшего, значение кода Грея равно сумме по модулю 2 соответствующего и следующего более старшего разрядов двоичного кода. Самый старший разряд сохраняется.

    Декодирование ( обратное преобразование ) кода Грея в двоичный код осуществляют по следующей формуле: Xn = Yn; Xi = Xi + 1 xor Yi, где Xn и Yn – значения старшего разряда двоичного кода и кода Грея соответственно ( i = n-1, n-2, ..., 1, считая, разряд с i = 1 – младший, i = n – старший ). 

  1.  Старший разряд переносится в декодированную последовательность без изменений.
  2.  Следующий разряды получаются суммированием по модулю 2 соответствующий и всех более старший разрядов закодированного сообщения – при 8-ми разрядном сообщении для декодирования 4-го рязряда необходимо сложить по модулю 2 разряды 4, 5, 6, 7 и 8 кодовой комбинации.

Примеры.

  1.  Закодировать число 10111101011 кодом Грея.

Y11 = X11 = 1
Y
10 = X10 xor X11 = 1
Y
9 = X9 xor X10 = 1
Y
8 = X8 xor X9 = 0
Y
7 = X7 xor X8 = 0
Y
6 = X6 xor X7 = 0
Y
5 = X5 xor X6 = 1
Y
4 = X4 xor X5 = 1
Y
3 = X3 xor X4 = 1
Y
2 = X2 xor X3 = 1
Y
1 = X1 xor X2 = 0

Результат кодирования: 11100011110.

  1.  Декодировать число 1110101, закодированное кодом Грея.

X7 = Y7 = 1
X
6 = Y7 xor Y6 = 0
X
5 = Y7 xor Y6 xor Y5 = 1
X
4 = Y7 xor Y6 xor Y5 xor Y4 = 1
X
3 = Y7 xor Y6 xor Y5 xor Y4 xor Y3 = 0
X
2 = Y7 xor Y6 xor Y5 xor Y4 xor Y3 xor Y2 = 0
X
1 = Y7 xor Y6 xor Y5 xor Y4 xor Y3 xor Y2 xor Y2 = 1

Результат декодирования: 1011001.

 

Вывод: Код Грея явл. рефлексным кодом, простым двоичным кодом. Отражённые   (рефлексные ) коды строятся таким образом, что соседние кодовые комбинации, в отличии от простых двоичных кодов, различаются цифрой только в одном разряде, т.е. кодовое расстояние между соседними кодовыми комбинациями такого кода равно единице. Из отражённых кодов наибольшее распространение получил код Грея из-за простоты.