5.15. Цель кода Грея
Другой важный код — код Грея. Он построен для того, чтобы удовлетворить некоторые общие требования, которые наилучшим образом можно описать на частном примере, хотя код Грея находит более широкое применение. Предположим, что имеется кодирующий аналоговый диск (рис. 5.15.1); щетки просматривают этот диск, причем каждая свою дорожку.
Для того чтобы зарегистрировать, насколько повернулся диск, дорожки разделены на секторы. Для типичной двоичной системы число секторов должно
Рис. 5.15.1. Восьмисекторный аналоговый диск
Рис. 5.16.1. Коды Грея
быть степенью двойки, что приводит к -значному двоичному числу. Число дорожек равно, конечно, , но одной дорожке для каждой цифры (на рисунке число дорожек равно трем).
Если используется двоичное кодирование секторов, то, скажем, при повороте диска от двоичного числа к следующему двоичному числу 100 значение на каждой щетке изменится. Предположим, что происходит попытка считывания в момент смены секторов. Можно ожидать, что эта попытка приведет к считыванию любого из восьми возможных чисел.
Код Грея — это такой метод кодирования, при котором номера соседних секторов диска отличаются друг от друга только одной цифрой. В этом случае результатом попытки считывания в момент, когда щетки находятся между двумя секторами, может явиться только номер одного из двух секторов.