stringtranslate.com

Код Грея

Отраженный двоичный код ( RBC ), также известный как отраженный двоичный код ( RB ) или код Грея в честь Фрэнка Грея , представляет собой такой порядок двоичной системы счисления , при котором два последовательных значения отличаются только одним битом (двоичной цифрой).

Например, десятичное значение «1» в двоичном формате обычно представляет собой « 001 », а «2» — « 010 ». В коде Грея эти значения представлены как « 001 » и « 011 ». Таким образом, для увеличения значения с 1 до 2 потребуется изменить только один бит вместо двух.

Коды Грея широко используются для предотвращения ложных выходных сигналов электромеханических переключателей и для облегчения исправления ошибок в цифровой связи, такой как цифровое наземное телевидение и некоторые системы кабельного телевидения . Использование кода Грея в этих устройствах помогает упростить логические операции и уменьшить количество ошибок на практике. [3]

Функция

Многие устройства указывают положение замыканием и размыканием переключателей. Если это устройство использует естественные двоичные коды , позиции 3 и 4 находятся рядом друг с другом, но все три бита двоичного представления различаются:

Проблема с естественными двоичными кодами заключается в том, что физические переключатели не идеальны: маловероятно, что физические переключатели будут менять состояния точно синхронно. При переходе между двумя состояниями, показанными выше, все три переключателя меняют состояние. В течение короткого периода времени, пока все меняется, переключатели будут показывать какое-то ложное положение. Даже без отскока клавиш переход может выглядеть как 011001101100 . Когда переключатели оказываются в положении 001 , наблюдатель не может определить, является ли это «настоящим» положением 1 или переходным состоянием между двумя другими положениями. Если выходные данные подаются в последовательную систему, возможно, через комбинационную логику , то последовательная система может сохранить ложное значение.

Эту проблему можно решить, меняя только один переключатель за раз, поэтому никогда не возникает двусмысленности положения, что приводит к тому, что коды присваивают каждому из непрерывного набора целых чисел или каждому члену циклического списка слово символов, такое как что не существует двух одинаковых кодовых слов и каждые два соседних кодовых слова отличаются ровно на один символ. Эти коды также известны как единично-дистанционные , [4] [5] [6] [7] [8] однодаточные , одношаговые , монострофические [9] [10] [7] [8] или синкопические коды , [9] относительно расстояния Хэмминга, равного 1, между соседними кодами.

Изобретение

Патент Грея вводит термин «отраженный двоичный код».

В принципе, для заданной длины слова может быть более одного такого кода, но термин «код Грея» впервые был применен к конкретному двоичному коду для неотрицательных целых чисел, двоично-отражённому коду Грея , или BRGC . Исследователь Bell Labs Джордж Р. Стибиц описал такой код в заявке на патент 1941 года, выданной в 1943 году. [11] [12] [13] Фрэнк Грей ввел термин « отраженный двоичный код» в своей заявке на патент 1947 года, отметив, что код « пока еще нет признанного имени». [14] Он получил это название из-за того, что он «может быть создан из обычного двоичного кода посредством своего рода процесса отражения».

В стандартной кодировке кода Грея младший бит следует повторяющейся схеме: 2 включено, 2 выключено (… 11001100 …); следующая цифра по схеме: 4 включено, 4 выключено; i - й наименее значащий бит представляет собой комбинацию 2 i включено 2 i выключено. Старшая значащая цифра является исключением из этого правила: для n -битного кода Грея самая значащая цифра соответствует шаблону 2 n -1 включено, 2 n -1 выключено, что представляет собой ту же (циклическую) последовательность значений, что и для вторая по значимости цифра, но сдвинутая вперед на 2 n -2 позиции. Четырехбитная версия этого показана ниже:

Визуализируется как обход вершин тессеракта .
Код Грея вдоль числовой линии

Для десятичного числа 15 код переходит в десятичное 0 всего лишь одним переключением переключателя. Это называется свойством цикличности или смежности кода. [15]

В современной цифровой связи коды Грея играют важную роль в исправлении ошибок . Например, в схеме цифровой модуляции , такой как QAM , где данные обычно передаются в символах длиной 4 или более бит, диаграмма созвездия сигнала устроена так, что комбинации битов, передаваемые соседними точками созвездия, отличаются только на один бит. Комбинируя это с прямой коррекцией ошибок, способной исправлять однобитовые ошибки, приемник может исправлять любые ошибки передачи, которые вызывают отклонение точки совокупности в область соседней точки. Это делает систему передачи менее восприимчивой к шуму .

Несмотря на то, что Стибиц описал этот код [11] [12] [13] до Грея, отраженный двоичный код позже был назван в честь Грея другими, кто его использовал. В двух разных патентных заявках 1953 года «код Грея» используется в качестве альтернативного названия «отраженного двоичного кода»; [16] [17] в одном из них среди названий также указаны «минимальный код ошибки» и «код циклической перестановки». [17] В патентной заявке 1954 года упоминается «код Белла Телефона Грея». [18] Другие названия включают «циклический двоичный код», [12] «циклический код прогрессии», [19] [12] «циклический двоичный перестановочный код» [20] или «циклический перестановочный двоичный код» (CPB). [21] [22]

Код Грея иногда ошибочно приписывают изобретателю электрических устройств 19-го века Элише Грею . [13] [23] [24] [25]

История и практическое применение

Математические головоломки

Отраженные двоичные коды применялись для решения математических задач еще до того, как они стали известны инженерам.

Код Грея с двоичным отражением представляет собой основную схему классической китайской головоломки с кольцами , последовательного механического механизма головоломки, описанного французом Луи Гро в 1872 году. [26] [13]

Он может служить руководством по решению проблемы Ханойских башен , основанной на игре француза Эдуарда Лукаса в 1883 году . Конфигурации игры Клагенфурта дают троичные и пентарные коды Грея. [31]

Мартин Гарднер написал популярный отчет о коде Грея в своей колонке «Математические игры» в журнале Scientific American в августе 1972 года . [32]

Код также образует гамильтонов цикл на гиперкубе , где каждый бит рассматривается как одно измерение.

Телеграфные коды

Когда французский инженер Эмиль Бодо перешел от использования 6-значного (6-битного) кода к 5-значному коду для своей печатной телеграфной системы, в 1875 [33] или 1876 году [34] [35] он упорядочил алфавитные символы на его печатное колесо использовало отраженный двоичный код и назначало коды, используя только три бита гласным. С гласными и согласными, отсортированными в алфавитном порядке, [36] [37] [38] и другими символами, расположенными соответствующим образом, 5-битный код символа был распознан как отраженный двоичный код. [13] Этот код стал известен как код Бодо [39] и с небольшими изменениями был в конечном итоге принят в качестве Международного телеграфного алфавита № 1 (ITA1, CCITT-1) в 1932 году. [40] [41] [38]

Примерно в то же время немецко-австрийский Отто Шеффлер  [де] [42] продемонстрировал в Вене еще один печатный телеграф, использующий 5-битный отраженный двоичный код для той же цели, в 1874 году. [43] [13]

Преобразование аналого-цифрового сигнала

Фрэнк Грей , прославившийся изобретением метода передачи сигналов, который стал использоваться для совместимого цветного телевидения, изобрел метод преобразования аналоговых сигналов в отраженные группы двоичного кода с использованием устройств на основе электронных ламп . Заявленные в 1947 году метод и устройство получили патент в 1953 году [14] , а имя Грея закрепилось за кодами. Аппарат « PCM-трубка », запатентованный Греем, был создан Рэймондом В. Сирсом из Bell Labs в сотрудничестве с Греем и Уильямом М. Гудоллом, которые приписывали Грею идею отраженного двоичного кода. [44]

Часть первой страницы патента Грея, на которой изображена трубка PCM (10) с отраженным двоичным кодом на пластине (15).

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

Датчики положения

Поворотный энкодер для устройств измерения углов, маркированный 3-битным двоичным кодом Грея (BRGC)
Абсолютный поворотный энкодер с кодом Грея и 13 дорожками. Корпус, прерыватель и источник света находятся вверху; Чувствительный элемент и опорные компоненты находятся внизу.

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

Например, некоторые поворотные энкодеры имеют диск, на концентрических кольцах (дорожках) которого нанесен электропроводящий код Грея. Каждая дорожка имеет неподвижный металлический пружинный контакт, который обеспечивает электрический контакт с проводящим кодовым узором. Вместе эти контакты выдают выходные сигналы в виде кода Грея. Другие кодеры используют бесконтактные механизмы на основе оптических или магнитных датчиков для создания выходных сигналов кода Грея.

Независимо от механизма или точности движущегося энкодера, ошибка измерения положения может возникать в определенных позициях (на границах кода), поскольку код может меняться именно в тот момент, когда он считывается (выбирается). Двоичный выходной код может вызвать значительные ошибки измерения положения, поскольку невозможно изменить все биты одновременно. Если в момент выборки позиции некоторые биты изменились, а другие нет, позиция выборки будет неверной. В случае абсолютных энкодеров указанное положение может находиться далеко от фактического положения, а в случае инкрементных энкодеров это может испортить отслеживание положения.

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

Генетические алгоритмы

Из-за свойств расстояния Хэмминга кодов Грея их иногда используют в генетических алгоритмах . [15] Они очень полезны в этой области, поскольку мутации в коде допускают в основном постепенные изменения, но иногда одно битовое изменение может вызвать большой скачок и привести к новым свойствам.

Минимизация логической схемы

Коды Грея также используются для маркировки осей карт Карно с 1953 года [45] [46] [47] , а также в круговых графах Хендлера с 1958 года, [48] [49] [50] [51] оба графических метода для логики. минимизация схемы .

Исправление ошибки

В современной цифровой связи коды 1D- и 2D-Gray играют важную роль в предотвращении ошибок перед применением исправления ошибок . Например, в схеме цифровой модуляции , такой как QAM , где данные обычно передаются в символах длиной 4 или более бит, диаграмма созвездия сигнала устроена так, что комбинации битов, передаваемые соседними точками созвездия, отличаются только на один бит. Комбинируя это с прямой коррекцией ошибок, способной исправлять однобитовые ошибки, приемник может исправлять любые ошибки передачи, которые вызывают отклонение точки совокупности в область соседней точки. Это делает систему передачи менее восприимчивой к шуму .

Связь между тактовыми доменами

Разработчики цифровой логики широко используют коды Грея для передачи многобитной информации между синхронными логиками, работающими на разных тактовых частотах. Считается, что логика работает в разных «тактовых доменах». Это имеет основополагающее значение для проектирования больших микросхем, работающих на разных тактовых частотах.

Переключение состояний с минимальными усилиями

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

Можно построить сбалансированный код Грея [52], который меняет каждый бит одинаково часто. Поскольку перевороты битов распределены равномерно, это оптимально следующим образом: сбалансированные коды Грея минимизируют максимальное количество переворотов битов для каждой цифры.

Счетчики кода Грея и арифметика

Джордж Р. Стибиц использовал отраженный двоичный код в устройстве счета двоичных импульсов еще в 1941 году. [11] [12] [13]

Типичное использование счетчиков кода Грея — это создание буфера данных FIFO (первым поступил — первым обслужен), который имеет порты чтения и записи, существующие в разных тактовых доменах. Счетчики ввода и вывода внутри такого двухпортового FIFO часто хранятся с использованием кода Грея, чтобы предотвратить захват недопустимых переходных состояний, когда счетчик пересекает домены тактовой частоты. [53] Обновленные указатели чтения и записи должны передаваться между тактовыми доменами при их изменении, чтобы иметь возможность отслеживать состояние пустого и полного FIFO в каждом домене. Для этой передачи в тактовой области каждый бит указателей отбирается недетерминированно. Таким образом, для каждого бита распространяется либо старое значение, либо новое значение. Следовательно, если в точке выборки изменяется более одного бита многобитового указателя, может распространяться «неправильное» двоичное значение (ни новое, ни старое). Гарантируя, что может изменяться только один бит, коды Грея гарантируют, что единственными возможными выборочными значениями являются новые или старые многобитовые значения. Обычно используются коды Грея длиной степени двойки.

Иногда цифровые шины в электронных системах используются для передачи величин, которые могут увеличиваться или уменьшаться только на единицу, например, выходные данные счетчика событий, которые передаются между доменами тактовой частоты или в цифро-аналоговый преобразователь. Преимущество кодов Грея в этих приложениях заключается в том, что различия в задержках распространения по многим проводам, представляющим биты кода, не могут привести к тому, что полученное значение пройдет через состояния, выходящие за пределы последовательности кода Грея. Это похоже на преимущество кодов Грея в конструкции механических энкодеров, однако источником кода Грея в данном случае является электронный счетчик. Сам счетчик должен считать в коде Грея, или, если счетчик работает в двоичном формате, то выходное значение счетчика должно быть повторно тактировано после его преобразования в код Грея, поскольку, когда значение преобразуется из двоичного кода в код Грея, [nb 1 ] вполне возможно, что различия во времени поступления битов двоичных данных в схему преобразования двоичного кода в серый будут означать, что код может на короткое время проходить через состояния, которые сильно отличаются от последовательности. Добавление тактируемого регистра после схемы, которая преобразует значение счетчика в код Грея, может привести к задержке тактового цикла, поэтому подсчет непосредственно в коде Грея может быть выгодным. [54]

Чтобы получить следующее значение счетчика в счетчике кода Грея, необходимо иметь некоторую комбинационную логику, которая будет увеличивать текущее сохраненное значение счетчика. Один из способов увеличить число кода Грея — преобразовать его в обычный двоичный код, [55] добавить к нему единицу с помощью стандартного двоичного сумматора, а затем преобразовать результат обратно в код Грея. [56] Другие методы подсчета в коде Грея обсуждаются в отчете Роберта У. Дорана , включая получение выходных данных первых защелок главного-подчиненного триггеров в двоичном счетчике пульсаций. [57]

Адресация по коду Грея

Поскольку выполнение программного кода обычно приводит к шаблону доступа к памяти инструкций, состоящему из локально последовательных адресов, кодирование шины с использованием адресации кода Грея вместо двоичной адресации может значительно уменьшить количество изменений состояния битов адреса, тем самым снижая энергопотребление ЦП в некоторых небольших случаях. -силовые конструкции. [58] [59]

Построение n -битного кода Грея

Первые несколько шагов метода отражения и префикса.
4-битная перестановка кода Грея

Список кодов Грея с двоичным отражением для n битов может быть сгенерирован рекурсивно из списка для n  - 1 бит путем отражения списка (т. е. перечисления записей в обратном порядке), добавления к записям в исходном списке префикса двоичного 0 , префикса записи в отраженном списке с двоичным значением  1 , а затем объединение исходного списка с обратным списком. [13] Например, создание списка n  = 3 из списка n  = 2:

Однобитовый код Грея — G 1  = ( 0,1 ). Его можно рассматривать как построенный рекурсивно, как указано выше, из нуль-битового кода Грея G 0  = (  Λ  ), состоящего из одной записи нулевой длины. Этот итерационный процесс генерации G n +1 из G n проясняет следующие свойства стандартного отражающего кода:

Эти характеристики предполагают простой и быстрый метод перевода двоичного значения в соответствующий код Грея. Каждый бит инвертируется, если следующий старший бит входного значения установлен в единицу. Это можно выполнить параллельно с помощью побитового сдвига и операции «исключающее или», если они доступны: n - й код Грея получается путем вычисления . Добавление бита 0 оставляет порядок кодовых слов неизменным, добавление бита 1 меняет порядок кодовых слов на обратный. Если биты в позициях кодовых слов инвертируются, порядок соседних блоков кодовых слов меняется на обратный. Например, если бит 0 инвертируется в 3-битной последовательности кодовых слов, порядок двух соседних кодовых слов меняется на противоположный.

000 001 010 011 100 101 110 111 → 001 000 011 010 101 100 111 110  (инвертировать бит 0)

Если бит 1 инвертирован, блоки из двух кодовых слов меняют порядок:

000 001 010 011 100 101 110 111 → 010 011 000 001 110 111 100 101  (инвертировать бит 1)

Если бит 2 инвертирован, блоки из 4 кодовых слов меняются в обратном порядке:

000 001 010 011 100 101 110 111 → 100 101 110 111 000 001 010 011  (инвертировать бит 2)

Таким образом, выполнение исключающего или над битом в позиции с битом в позиции оставляет порядок кодовых слов нетронутым, если и меняет порядок блоков кодовых слов, если . Это точно такая же операция, как метод отражения и префикса для генерации кода Грея.

Аналогичный метод можно использовать для выполнения обратного перевода, но вычисление каждого бита зависит от вычисленного значения следующего старшего бита, поэтому его нельзя выполнять параллельно. Предполагая , что это th бит в кодировке Грея ( который является наиболее значимым битом) и th бит в двоичном коде ( который является наиболее значимым битом), обратный перевод может быть задан рекурсивно: , и . Альтернативно, декодирование кода Грея в двоичное число можно описать как префиксную сумму битов в коде Грея, где каждая отдельная операция суммирования в сумме префикса выполняется по модулю два.

Чтобы итеративно построить двоично-отраженный код Грея, на шаге 0 начните с , а на шаге найдите позицию бита наименее значимой 1 в двоичном представлении и переверните бит в этой позиции в предыдущем коде, чтобы получить следующий код. . Позиции битов начинаются с 0, 1, 0, 2, 0, 1, 0, 3, .... [nb 2] Эффективные алгоритмы для вычисления этих значений см . в разделе «Найти первый набор» .

Преобразование в код Грея и обратно

Следующие функции в C преобразуют двоичные числа и связанные с ними коды Грея. Хотя может показаться, что преобразование Грея в двоичный код требует обработки каждого бита по одному, существуют более быстрые алгоритмы. [60] [55] [количество 1]

typedef unsigned int uint ;   // Эта функция преобразует беззнаковое двоичное число в отраженный двоичный код Грея. uint BinaryToGray ( uint num ) { возвращаемый номер ^ ( номер >> 1 ); // Оператор >> сдвигает вправо. Оператор ^ является исключающим или. }         // Эта функция преобразует отраженное двоичное число кода Грея в двоичное число. uint GrayToBinary ( uint num ) { uint маска = num ; while ( маска ) { // Каждый бит кода Грея объединяется со всеми старшими битами. маска >>= 1 ; число ^= маска ; } Вернуть номер ; }                   // Более эффективная версия для кодов Грея длиной 32 бита или меньше за счет использования методов SWAR (SIMD внутри регистра). // Он реализует параллельную префиксную функцию XOR. Операторы присваивания могут располагаться в любом порядке. // // Эту функцию можно адаптировать для более длинных кодов Грея, добавив шаги.uint GrayToBinary32 ( uint num ) { num ^= num >> 16 ; число ^= число >> 8 ; число ^= число >> 4 ; число ^= число >> 2 ; число ^= число >> 1 ; вернуть номер ; } // Вариант с четырьмя битами одновременно изменяет двоичное число (abcd)2 на (abcd)2 ^ (00ab)2, затем на (abcd)2 ^ (00ab)2 ^ (0abc)2 ^ (000a )2.                             

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

Специальные типы кодов Грея

На практике «код Грея» почти всегда относится к коду Грея с двоичным отражением (BRGC). Однако математики открыли и другие виды кодов Грея. Как и BRGC, каждый из них состоит из списка слов, где каждое слово отличается от следующего только одной цифрой (каждое слово имеет расстояние Хэмминга 1 от следующего слова).

Коды Грея с n битами и длиной менее 2 n

Можно построить двоичные коды Грея с n битами длиной менее 2 n , если длина четная. Одна из возможностей — начать со сбалансированного кода Грея и удалить пары значений в начале и конце или в середине. [61] Последовательность OEIS A290772 [62] дает количество возможных последовательностей Грея длиной 2 n , которые включают ноль и используют минимальное количество битов.

n -арный код Грея

Существует множество специализированных типов кодов Грея, отличных от двоично отраженного кода Грея. Одним из таких типов кода Грея является n -арный код Грея , также известный как небулев код Грея . Как следует из названия, этот тип кода Грея использует в своих кодировках нелогические значения.

Например, 3-арный ( тройной ) код Грея будет использовать значения 0,1,2. [31] ( nk ) -код Грея представляет собой n -арный код Грея с k цифрами. [63] Последовательность элементов в (3, 2)-коде Грея следующая: 00,01,02,12,11,10,20,21,22. ( nk )-код Грея может быть построен рекурсивно, как BRGC, или может быть построен итеративно . Представлен алгоритм итеративной генерации (N, k) -кода Грея ( на  языке C ) :

// входные данные: база, цифры, значение // выходные данные: Грей // Преобразуем значение в код Грея с заданными базой и цифрами. // Перебор последовательности значений приведет к созданию последовательности // кодов Грея, в которой за раз меняется только одна цифра. void toGray ( беззнаковое основание , беззнаковые цифры , беззнаковое значение , беззнаковый серый [ цифры ]) { беззнаковое основаниеN [ цифры ]; // Сохраняет обычное число по основанию N, по одной цифре на запись unsigned i ; // Переменная цикла // Помещаем обычное число baseN в массив baseN. Для базы 10 число 109 // будет храниться как [9,0,1] for ( i = 0 ; i < digits ; i ++ ) { baseN [ i ] = value % base ; значение = значение / база ; } // Преобразуем обычное число BaseN в эквивалент кода Грея. Обратите внимание, что // цикл начинается со старшей цифры и идет вниз. беззнаковый сдвиг = 0 ; while ( i -- ) { // Серая цифра сдвигается вниз на сумму старших // цифр. серый [ i ] = ( baseN [ i ] + сдвиг ) % база ; сдвиг = сдвиг + база серый [ i ]; // Вычитаем из основания, чтобы сдвиг был положительным } } // ПРИМЕРЫ // ввод: значение = 1899, основание = 10, цифры = 4 // вывод: baseN[] = [9,9,8,1], Gray[] = [0,1,7,1] // вход: значение = 1900, основание = 10, цифры = 4 // выход: baseN[] = [0,0,9,1], серый[] = [0, 1,8,1]                                              

Существуют и другие алгоритмы кода Грея для ( n , k )-кодов Грея. ( n , k )-код Грея, созданный вышеуказанным алгоритмом, всегда цикличен; некоторые алгоритмы, такие как алгоритм Гуана [63] , лишены этого свойства, когда k нечетно. С другой стороны, хотя с помощью этого метода за раз меняется только одна цифра, ее можно изменить путем переноса (циклического перехода от n  - 1 к 0). В алгоритме Гуана счет поочередно увеличивается и уменьшается, так что числовая разница между двумя цифрами кода Грея всегда равна единице.

Коды Грея не определены однозначно, поскольку перестановка столбцов такого кода также является кодом Грея. Описанная выше процедура создает код, в котором чем ниже значение цифры, тем чаще она меняется, что делает его похожим на обычные методы счета.

См. также косую двоичную систему счисления , вариант троичной системы счисления, в которой при каждом приращении меняются не более двух цифр, поскольку каждое приращение может быть выполнено с помощью операции переноса не более одной цифры .

Сбалансированный код Грея

Хотя двоичный отраженный код Грея полезен во многих сценариях, в некоторых случаях он не оптимален из-за отсутствия «однородности». [52] В сбалансированных кодах Грея количество изменений в различных положениях координат максимально близко. Чтобы сделать это более точным, пусть GR -арный полный цикл Грея, имеющий последовательность переходов ; счетчики переходов ( спектр ) G представляют собой набор целых чисел, определяемых формулой

Код Грея является однородным или равномерно сбалансированным, если все его счетчики переходов равны, и в этом случае мы имеем для всех k . Ясно, что при такие коды существуют только в том случае, если n является степенью 2. [64] Если n не является степенью 2, можно построить хорошо сбалансированные двоичные коды, в которых разница между двумя отсчетами переходов не превышает 2; так что (объединяя оба случая) каждый счетчик переходов равен или . [52] Коды Грея также могут быть экспоненциально сбалансированы, если все их счетчики переходов являются смежными степенями двойки, и такие коды существуют для каждой степени двойки. [65]

Например, сбалансированный 4-битный код Грея имеет 16 переходов, которые можно равномерно распределить по всем четырем позициям (четыре перехода на позицию), что делает его равномерно сбалансированным: [52]

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

тогда как сбалансированный 5-битный код Грея имеет всего 32 перехода, которые не могут быть равномерно распределены по позициям. В этом примере четыре позиции имеют по шесть переходов, а одна — восемь: [52]

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

Теперь мы покажем конструкцию [66] и реализацию [67] для хорошо сбалансированных двоичных кодов Грея, которые позволяют нам генерировать n -разрядный сбалансированный код Грея для каждого n . Основной принцип состоит в том, чтобы индуктивно построить ( n  + 2)-разрядный код Грея по n -разрядному коду Грея G таким образом, чтобы сохранить сбалансированное свойство. Для этого рассмотрим разбиения на четное число L непустых блоков вида

где , , и ). Этот раздел вызывает трехзначный код Грея, заданный формулой

Если мы определим кратности перехода

— это количество раз, которое цифра в позиции i меняется между последовательными блоками в разделе, тогда для ( n  + 2)-значного кода Грея, индуцированного этим разделом, спектр перехода равен

Тонкая часть этой конструкции состоит в том, чтобы найти адекватное разбиение сбалансированного n -разрядного кода Грея так, чтобы индуцированный им код оставался сбалансированным, но для этого имеют значение только кратности перехода; объединение двух последовательных блоков при переходе цифр и разделение другого блока при переходе другой цифры дает другой код Грея с точно таким же спектром перехода , поэтому можно, например, [65] обозначить первые переходы при цифре как те, которые попадают между двумя блоками. Равномерные коды можно найти при и , и эту конструкцию можно распространить и на R -арный случай. [66]

Долгосрочные коды Грея

Длинный период (или максимальный промежуток ) Коды Грея максимизируют расстояние между последовательными изменениями цифр в одной и той же позиции. То есть минимальная длина любого бита остается неизменной как можно дольше. [68]

Монотонные коды Грея

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

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

для . Эти уровни удовлетворяют . Пусть – подграф графа , индуцированный , и пусть – ребра в . В этом случае монотонный код Грея является гамильтоновым путем, в котором всякий раз, когда путь стоит перед ним , то .

Элегантное построение монотонных n -значных кодов Грея для любого n основано на идее рекурсивного построения подпутей длины, имеющих ребра в . [69] Мы определяем , когда или , и

в противном случае. Здесь – соответствующим образом определенная перестановка, обозначающая путь P , координаты которого переставлены на . Эти пути приводят к двум монотонным n -значным кодам Грея и задаются формулой

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

Эти монотонные коды Грея могут быть эффективно реализованы таким образом, что каждый последующий элемент может быть сгенерирован за время O ( n ). Алгоритм проще всего описать с помощью сопрограмм .

Монотонные коды имеют интересную связь с гипотезой Ловаса , которая утверждает, что каждый связный вершинно-транзитивный граф содержит гамильтонов путь. Подграф «среднего уровня» является вершинно-транзитивным (то есть его группа автоморфизмов транзитивна, так что каждая вершина имеет одно и то же «локальное окружение» и не может быть отличена от других, поскольку мы можем переименовывать координаты, а также двоичные цифры для получения автоморфизма ), а проблема поиска гамильтонова пути в этом подграфе называется «проблемой среднего уровня», которая может дать представление о более общей гипотезе. Для дан положительный ответ на вопрос , а предыдущая конструкция для монотонных кодов обеспечивает гамильтонов путь длиной не менее 0,839 N, где N — число вершин в подграфе среднего уровня. [70]

Код Беккета – Грея

Другой тип кода Грея, код Беккета-Грея , назван в честь ирландского драматурга Сэмюэля Беккета , который интересовался симметрией . В его пьесе « Квад » участвуют четыре актера, и она разделена на шестнадцать временных периодов. Каждый период заканчивается тем, что один из четырех актеров выходит на сцену или покидает ее. Спектакль начинается и заканчивается на пустой сцене, и Беккет хотел, чтобы каждая группа актеров появилась на сцене ровно один раз. [71] Очевидно, что набор актеров, находящихся в данный момент на сцене, может быть представлен 4-битным двоичным кодом Грея. Беккет, однако, наложил на сценарий дополнительное ограничение: он хотел, чтобы актеры входили и выходили, чтобы актер, который пробыл на сцене дольше всех, всегда уходил. Тогда актеры могут быть представлены в виде очереди «первым пришел — первым вышел» , так что (из актеров на сцене) актер, которого выводят из очереди, всегда оказывается тем, кто был поставлен в очередь первым. [71] Беккет не смог найти код Беккета–Грея для своей пьесы, и действительно, исчерпывающий список всех возможных последовательностей показывает, что такого кода не существует для n = 4. Сегодня известно, что такие коды существуют для n = 2, 5, 6, 7 и 8 и не существуют для n = 3 или 4. Пример 8-битного кода Беккета – Грея можно найти в книге Дональда Кнута « Искусство компьютерного программирования» . [13] По мнению Савады и Вонга, пространство поиска для n = 6 можно изучить за 15 часов, и для случая n = 7 было найдено более 9500 решений . [72]

Коды «змея в коробке»

Максимальные длины змей ( L s ) и витков ( L c ) в задаче «змеи в коробке» для размерностей n от 1 до 4

Коды «змея в коробке» , или «змейки» , представляют собой последовательности узлов индуцированных путей в n -мерном графе гиперкуба , а коды «катушка в коробке», [73] или «катушки» , представляют собой последовательности узлов индуцированные циклы в гиперкубе. Рассматриваемые как коды Грея, эти последовательности обладают свойством обнаруживать любую однобитовую ошибку кодирования. Коды этого типа были впервые описаны Уильямом Х. Каутцем в конце 1950-х годов; [5] с тех пор было проведено много исследований по поиску кода с максимально возможным числом кодовых слов для заданного измерения гиперкуба.

Однодорожечный код Грея

Еще одним видом кода Грея является однодорожечный код Грея (STGC), разработанный Норманом Б. Спеддингом [74] [75] и усовершенствованный Хилтгеном, Патерсоном и Брандестини в «Однодорожечных кодах Грея» (1996). [76] [77] STGC представляет собой циклический список P уникальных двоичных кодировок длины n, таких, что два последовательных слова различаются ровно в одной позиции, и когда список рассматривается как матрица P  ×  n , каждый столбец представляет собой циклический сдвиг. первого столбца. [78]

Анимированная версия ротора STGC с цветовой кодировкой.

Название происходит от их использования с поворотными энкодерами , где контакты распознают несколько дорожек, в результате чего на выходе каждой из них выдается 0 или 1 . Чтобы уменьшить шум из-за того, что разные контакты не переключаются в один и тот же момент времени, желательно настроить дорожки так, чтобы данные, выводимые контактами, были в коде Грея. Чтобы получить высокую угловую точность, нужно много контактов; для достижения точности не менее 1° необходимо иметь как минимум 360 различных положений на один оборот, что требует минимум 9 бит данных и, следовательно, такого же количества контактов.

Если все контакты расположены в одинаковом угловом положении, то для получения стандартного BRGC с точностью не менее 1° необходимо 9 дорожек. Однако если производитель перемещает контакт в другое угловое положение (но на том же расстоянии от центрального вала), то соответствующий «образец колец» необходимо повернуть на тот же угол, чтобы получить тот же выходной сигнал. Если самый старший бит (внутреннее кольцо на рисунке 1) повернут достаточно, он точно соответствует следующему кольцу. Поскольку оба кольца в этом случае идентичны, внутреннее кольцо можно вырезать и датчик для этого кольца переместить на оставшееся идентичное кольцо (но со смещением под этим углом относительно другого датчика на этом кольце). Эти два датчика на одном кольце образуют квадратурный энкодер. Это уменьшает количество дорожек для углового энкодера с разрешением 1° до 8 дорожек. Еще больше сократить количество дорожек с помощью BRGC невозможно.

В течение многих лет Торстен Силке [79] и другие математики считали, что невозможно закодировать положение на одной дорожке так, чтобы последовательные положения различались только на одном датчике, за исключением квадратурного энкодера с двумя датчиками и одной дорожкой. Поэтому для приложений, где 8 дорожек были слишком громоздкими, люди использовали однодорожечные инкрементальные энкодеры (квадратурные энкодеры) или 2-дорожечные энкодеры «квадратурный энкодер + эталонная метка».

Однако Норман Б. Спеддинг зарегистрировал патент в 1994 году, приведя несколько примеров, показывающих, что это возможно. [74] Хотя невозможно различить 2 n позиций с помощью n датчиков на одном пути, можно различить примерно столько же. Эцион и Патерсон предполагают, что, когда n само по себе является степенью 2, n датчики могут различить не более 2 n  - 2 n позиций, а для простого числа n предел составляет 2 n  - 2 позиции. [80] Авторы продолжили создание 504-позиционного однодорожечного кода длиной 9, который, по их мнению, является оптимальным. Поскольку это число больше 2 8 = 256, для любого кода требуется более 8 датчиков, хотя BRGC может различать 512 позиций с 9 датчиками.

STGC для P  = 30 и n  = 5 воспроизводится здесь:

Каждый столбец представляет собой циклический сдвиг первого столбца, и от любой строки к следующей меняется только один бит. [81] Однопутный характер (например, кодовая цепь) полезен при изготовлении этих колес (по сравнению с BRGC), поскольку требуется только одна гусеница, что снижает их стоимость и размер. Природа кода Грея полезна (по сравнению с цепными кодами , также называемыми последовательностями Де Брейна ), поскольку в любой момент времени изменяется только один датчик, поэтому неопределенность при переходе между двумя дискретными состояниями будет составлять только плюс или минус одна единица углового отклонения. измерение, которое устройство способно разрешить. [82]

9-битный однодорожечный код Грея, отображающий угловое разрешение в один градус.

С тех пор как был добавлен этот пример с углом 30 градусов, возник большой интерес к примерам с более высоким угловым разрешением. В 2008 году Гэри Уильямс [83] на основе предыдущей работы [80] обнаружил 9-битный однодорожечный код Грея, который дает разрешение в 1 градус. Этот код Грея был использован для разработки реального устройства, которое было опубликовано на сайте Thingiverse . Это устройство [84] было разработано Эценсипом (Флориан Бауэр) в сентябре 2022 года.

STGC для P  = 360 и n  = 9 воспроизводится здесь:

Двумерный код Грея

Созвездная диаграмма с кодом Грея для прямоугольной 16- КАМ

Двумерные коды Грея используются в связи для минимизации количества битовых ошибок в соседних точках квадратурной амплитудной модуляции (QAM) в созвездии . При типичном кодировании соседние точки совокупности по горизонтали и вертикали отличаются на один бит, а соседние точки по диагонали отличаются на 2 бита. [85]

Двумерные коды Грея также используются в схемах идентификации местоположения , где код будет применяться к картам территорий, таким как проекция Меркатора земной поверхности, и соответствующая циклическая двумерная функция расстояния, такая как метрика Мангейма, будет использоваться для расчета расстояние между двумя закодированными местоположениями, тем самым объединяя характеристики расстояния Хэмминга с циклическим продолжением проекции Меркатора. [86]

Избыточный код Грея

Если из этого значения извлекается часть определенного кодового значения, например, последние 3 бита 4-битного кода Грея, результирующий код будет «избыточным кодом Грея». Этот код демонстрирует свойство обратного счета извлеченных битов, если исходное значение дополнительно увеличивается. Причина этого в том, что значения, закодированные серым цветом, не демонстрируют поведения переполнения, известного из классического двоичного кодирования, при увеличении после «самого высокого» значения.

Пример. Самый высокий 3-битный код Грея, 7, кодируется как (0)100. Добавление 1 приводит к числу 8, закодированному серым цветом как 1100. Последние 3 бита не переполняются и ведут обратный отсчет, если вы еще больше увеличиваете исходный 4-битный код.

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

Серая изометрия

Биективное отображение { 0 ↔ 00 , 1 ↔ 01 , 2 ↔ 11 , 3 ↔ 10 } устанавливает изометрию между метрическим пространством над конечным полем с метрикой, заданной расстоянием Хэмминга , и метрическим пространством над конечным кольцом (обычное модульная арифметика ) с метрикой, заданной расстоянием Ли . Отображение соответствующим образом расширяется до изометрии пространств Хэмминга и . Его важность заключается в установлении соответствия между различными «хорошими», но не обязательно линейными кодами, такими как изображения карты Грея в кольцевых линейных кодах из . [87] [88]

Связанные коды

Существует ряд двоичных кодов, похожих на коды Грея, в том числе:

Следующие двоично-десятичные коды (BCD) также являются вариантами кода Грея:

Смотрите также

Примечания

  1. ^ abc Применяя простое правило инверсии , код Грея и код О'Брайена I можно перевести в чистый двоичный код 8421 и код Эйкена 2421 соответственно, чтобы облегчить арифметические операции. [С]
  2. ^ Последовательность 0, 1, 0, 2, 0, 1, 0, 3,… (последовательность A007814 в OEIS ).
  3. ^ abc Существует несколько вариантов кода Грея, которые называются «модифицированными»: код Гликсона иногда называют модифицированным кодом Грея. [D] Код Лукала также называют модифицированным отраженным двоичным кодом (MRB). [E] Код О'Брайена I или код Уоттса иногда называют отраженным двоичным модифицированным кодом Грея. [Ф]
  4. ^ abcd Путем замены и инвертирования трех битовых строк код О'Брайена II и код Петерика можно преобразовать друг в друга.
  5. ^ abcd Путем замены двух пар битовых строк, индивидуального сдвига четырех битовых строк и инвертирования одной из них код Гликсона и код О'Брайена I можно преобразовать друг в друга.
  6. ^ Другие BCD-коды единичного расстояния включают 5-битный код Либо-Крейга, не связанный с кодом Грея , и код 1-2-1 .
  7. ^ В зависимости от целевого применения кода веса Хэмминга кода могут быть важными свойствами, выходящими за рамки теоретико-кодовых соображений, а также по физическим причинам. В некоторых обстоятельствах состояния полного сброса и/или состояния полной установки должны быть опущены (fe, чтобы избежать условий непроводимости или короткого замыкания), может оказаться желательным, чтобы максимальный используемый вес был как можно меньшим (fe, чтобы уменьшить мощность потребление схемы считывателя) или для того, чтобы разница используемых весов была небольшой (например, для уменьшения акустического шума или колебаний тока).
  8. ^ abc Для кодов Грея BCD, Пола и Клара количество необходимых дорожек чтения может быть уменьшено с 4 до 3, если допустима инверсия одной из средних дорожек.
  9. ^ abcdef Для кодов О'Брайена I и II и Петерика, Сасскинда, Клара, а также кодов Грея Excess-3 дополнение до 9 может быть получено путем инвертирования наиболее значимой (четвертой) двоичной цифры.
  10. ^ Для кода Томпкинса II дополнение до девяти можно получить, инвертировав первые три цифры и поменяв местами две средние двоичные цифры.

Рекомендации

  1. ^ abc Lucal, Гарольд М. (декабрь 1959 г.). «Арифметические операции для цифровых компьютеров с использованием модифицированного отраженного двоичного файла». IRE-транзакции на электронных компьютерах . ЕС-8 (4): 449–458. дои : 10.1109/TEC.1959.5222057. ISSN  0367-9950. S2CID  206673385.(10 страниц)
  2. ^ abc Селлерс-младший, Фредерик Ф.; Сяо, Му-Юэ; Бернсон, Лерой В. (ноябрь 1968 г.). Логика обнаружения ошибок для цифровых компьютеров (1-е изд.). Нью-Йорк, США: Книжная компания McGraw-Hill . стр. 152–164. LCCN  68-16491. ОСЛК  439460.
  3. ^ Грей, Джоэл (март 2020 г.). «Понимание кода Грея: надежная система кодирования». Graycode.ie . Раздел: Заключение . Проверено 30 июня 2023 г.
  4. ^ abcd Томпкинс, Ховард Э. (сентябрь 1956 г.) [16 июля 1956]. «Двоично-десятичные коды единичного расстояния для двухпутевой коммутации». IRE-транзакции на электронных компьютерах . Переписка. ИС-5 (3). Школа электротехники Мура , Пенсильванский университет , Филадельфия, Пенсильвания, США: 139. doi : 10.1109/TEC.1956.5219934. ISSN  0367-9950 . Проверено 18 мая 2020 г.(1 страница)
  5. ^ Аб Каутц, Уильям Х. (июнь 1958 г.). «Коды проверки ошибок на единичном расстоянии». IRE-транзакции на электронных компьютерах . ИС-7 (2): 179–180. дои : 10.1109/TEC.1958.5222529. ISSN  0367-9950. S2CID  26649532.(2 страницы)
  6. ^ аб Зюскинд, Альфред Крисс; Уорд, Джон Эрвин (28 марта 1958 г.) [1957, 1956]. «III.F. Коды единичного расстояния / VI.E.2. Отраженные двоичные коды». Написано в Кембридже, Массачусетс, США. В Зюскинде, Альфред Крисс (ред.). Замечания по методам аналого-цифрового преобразования . Книги по технологиям в области науки и техники. Том. 1 (3-е изд.). Нью-Йорк, США: Technology Press Массачусетского технологического института / John Wiley & Sons, Inc. / Chapman & Hall, Ltd., стр. 3-10–3-16 [3-13–3-16], 6-65. –6-60 [6-60].(x+416+2 страницы) (Примечание. Содержание книги было первоначально подготовлено сотрудниками Лаборатории сервомеханизмов факультета электротехники Массачусетского технологического института для специальных летних программ, проводившихся в 1956 и 1957 годах. «Код чтения» Сасскинда на самом деле является второстепенным вариантом показанного здесь кода, в котором две наиболее значимые битовые строки поменяны местами, чтобы лучше иллюстрировать симметрию. Кроме того, поменяв местами две битовые строки и инвертировав одну из них, код можно перевести в код Петерика, тогда как, поменяв и инвертируя две битовые строки, код можно перевести в код О'Брайена II.)
  7. ^ аб Чинал, Жан П. (январь 1973 г.). «3.3. Коды расстояний единиц». Написано в Париже, Франция. Методы проектирования цифровых систем. Перевод Престона, Алан; Саммер, Артур (1-е изд. на английском языке). Берлин, Германия: Akademie-Verlag / Springer-Verlag . п. 50. дои : 10.1007/978-3-642-86187-1. ISBN 978-0-387-05871-9. S2CID  60362404. Лицензия № 202-100/542/73. Артикул №7617470(6047) ES 19 B 1/20 K 3 . Проверено 21 июня 2020 г.(xviii+506 страниц) (Примечание. Оригинальная книга на французском языке 1967 года называлась «Techniques Booléennes et Calculateurs Arithmétiques», опубликованная издательством Éditions Dunod  [fr] .)
  8. ^ Военный справочник abcdef: Энкодеры — угол вала относительно цифрового (PDF) . Министерство обороны США . 30 сентября 1991 г. МИЛ-ХДБК-231А. Архивировано (PDF) из оригинала 25 июля 2020 г. Проверено 25 июля 2020 г.(Примечание. Заменяет MIL-HDBK-231(AS) (01.07.1970).)
  9. ^ abc Сполдинг, Карл П. (12 января 1965) [09 марта 1954]. «Система цифрового кодирования и перевода» (PDF) . Монровия, Калифорния, США: Datex Corporation. Патент США 3165731А . Серийный номер 415058. Архивировано (PDF) из оригинала 5 августа 2020 г. Проверено 21 января 2018 г.(28 страниц)
  10. ^ Аб Рассел, А. (август 1964 г.). «Некоторые двоичные коды и новый пятиканальный код». Управление (системы, контрольно-измерительные приборы, обработка данных, автоматизация, управление, включая прогресс автоматизации) . Особые возможности. 8 (74). Лондон, Великобритания: Morgan-Grampain (Publishers) Limited: 399–404 . Проверено 22 июня 2020 г.(6 страниц)
  11. ^ abc Stibitz, Джордж Роберт (12 января 1943) [26 ноября 1941]. «Двоичный счетчик». Нью-Йорк, США: Bell Telephone Laboratories, Incorporated . Патент США 2307868 . Серийный № 420537 . Проверено 24 мая 2020 г. п. 2, правый столбец, строки 43–73: […] Более четкое представление о положении шаров после каждого импульса будет получено, если набор шаров будет представлен числом, имеющим одинаковое количество цифр, каждая из которых может иметь одно из двух произвольных значений, например 0 и 1. Если верхняя позиция называется 0, а нижняя позиция […] 1, то настройку счетчика […] можно прочитать слева направо как 0 100 000. […] Ниже приводится перевод количества полученных импульсов в эту форму двоичной записи для первых шестнадцати импульсов, полученных на первых пяти шарах […] Число импульсов […] Двоичная запись […][1] (4 страницы)
  12. ^ abcde Winder, К. Фаррелл (октябрь 1959 г.). «Энкодеры угла вала обеспечивают высокую точность» (PDF) . Электронная промышленность . 18 (10). Компания Чилтон : 76–80. Архивировано из оригинала (PDF) 28 сентября 2020 г. Проверено 14 января 2018 г. п. 78: […] Тип кодового колеса, наиболее популярный в оптических кодировщиках, содержит шаблон циклического двоичного кода, предназначенный для создания циклической последовательности выходных сигналов «вкл-выкл». Циклический двоичный код также известен как код циклической прогрессии, отраженный двоичный код и код Грея. Этот код был разработан Г. Р. Стибитцем из Bell Telephone Laboratories и впервые был предложен для систем импульсно-кодовой модуляции Фрэнком Греем , также из BTL. Отсюда и название кода Грея. Код Грея или циклический код используется главным образом для исключения возможности ошибок при переходе кода, которые могут привести к серьезной неоднозначности. […]
  13. ^ abcdefghi Кнут, Дональд Эрвин (12 сентября 2014 г.). «Перечисление и возврат / Генерация всех n-кортежей». Искусство компьютерного программирования, Том 4А: Комбинаторные алгоритмы, Часть 1 . Том. 4А (1-е изд.). Аддисон-Уэсли Профессионал . стр. 442–443. ISBN 978-0-13348885-2.(912 страниц)
  14. ^ Аб Грей, Фрэнк (17 марта 1953) [13 ноября 1947]. Импульсно-кодовая связь (PDF) . Нью-Йорк, США: Bell Telephone Laboratories, Incorporated . Патент США 2632058 . Серийный номер 785697. Архивировано (PDF) из оригинала 5 августа 2020 г. Проверено 5 августа 2020 г.(13 страниц)
  15. ^ Аб Голдберг, Дэвид Эдвард (1989). Генетические алгоритмы в поиске, оптимизации и машинном обучении (1-е изд.). Ридинг, Массачусетс, США: Аддисон-Уэсли . Бибкод : 1989gaso.book.....G.
  16. ^ Брекман, Джек (31 января 1956) [31 декабря 1953]. Схема кодирования (PDF) . Лонг-Бранч, Нью-Джерси, США: Министр армии США . Патент США 2733432 . Серийный номер 401738. Архивировано (PDF) из оригинала 5 августа 2020 г. Проверено 5 августа 2020 г.(8 страниц)
  17. ^ аб Рэгланд, граф Альберт; Шультайс-младший, Гарри Б. (11 февраля 1958 г.) [16 октября 1953 г.]. Чувствительная к направлению система управления положением с двоичным кодом (PDF) . Северный Голливуд, Калифорния, США: Bendix Aviation Corporation. Патент США 2823345 . Серийный номер 386524. Архивировано (PDF) из оригинала 5 августа 2020 г. Проверено 5 августа 2020 г.(10 страниц)
  18. ^ Домешек, Сол; Райнер, Стюарт (24 июня 1958 г.) [8 января 1954 г.]. Автоматическая система выпрямления (PDF) . Министр военно-морского флота США . Патент США 2839974 . Серийный номер 403085. Архивировано (PDF) из оригинала 5 августа 2020 г. Проверено 5 августа 2020 г.(8 страниц)
  19. ^ abc Петерик, Эдвард Джон (октябрь 1953 г.). Циклическая прогрессивная двоично-десятичная система представления чисел (Техническое примечание MS15). Фарнборо, Великобритания: Королевское авиастроительное предприятие (RAE).(4 страницы) (Примечание. Иногда ее называют циклической двоично-десятичной системой представления чисел .)
  20. ^ аб Эванс, Дэвид Сильвестр (1960). Основы цифрового приборостроения (1-е изд.). Лондон, Великобритания: Hilger & Watts Ltd. Проверено 24 мая 2020 г.(39 страниц)
  21. ^ аб Эванс, Дэвид Сильвестр (март 1961 г.). «Глава третья: Прямое считывание с закодированных весов». Цифровые данные: их получение и обработка для анализа и управления процессами (1-е изд.). Лондон, Великобритания: Hilger & Watts Ltd / Interscience Publishers . стр. 18–23 . Проверено 24 мая 2020 г. п. 20–23: […] Расшифровка. […] Для декодирования кодов CPB или WRD можно применить простое правило инверсии. Показания верхних дорожек определяют способ трансляции нижних дорожек. Правило инверсии применяется построчно для CPB, а для WRD — десятилетие за десятилетием или построчно. Поэтому, начиная с верхнего или самого медленно меняющегося трека CPB, если результат нечетный (1), значение следующего трека должно быть инвертировано, т.е. 0 для 1 и 1 для 0. Однако, если первый трек четный (0 ), вторая дорожка остается прочитанной, т.е. 0 вместо 0 и 1 вместо 1. Опять же, если результирующее чтение второй дорожки нечетное, чтение третьей дорожки инвертируется и так далее. Когда нечетное число меняется на четное, строка ниже не инвертируется, а когда четное число меняется на нечетное, строка ниже инвертируется. Результатом применения этого правила к шаблону […] является чисто двоичный шаблон (PB) […], где каждой дорожке или цифре может быть присвоено определенное числовое значение (в данном случае 1, 2, 4, 8 и т. д.). . […] Использование правила построчной инверсии в коде WRD дает шаблон [a] [ кода 1, 2, 4, 2 ], где цифрам снова можно присвоить числовые значения и суммировать их десятилетие за десятилетием. Суммирование цифр может быть очень полезно, например, в системе высокоскоростного сканирования; но в системе параллельного декодирования […] обычно каждый двоичный квартет или декаду рассматривают как единое целое. Другими словами, если первая или более значимая декада нечетная, вторая декада исправляется или дополняется путем инвертирования дорожки D и т. д. Результатом является повторяющийся шаблон [исправленного кода WRD]. Этого чрезвычайно легко добиться, поскольку единственное требуемое изменение — это инверсия значения дорожки D или дополняющей цифры. […](8+82 страницы) (Примечание. Автор вообще не упоминает Грея и называет стандартный код Грея «Циклическим перестановочным двоичным кодом» (CPB), в указателе книги он ошибочно указан как «циклический чистый двоичный код».)
  22. ^ Ньюсон, Пенсильвания (1965). Таблицы двоичного кодирования углов (1-е изд.). Управление по атомной энергии Соединенного Королевства , Исследовательская группа, Научно-исследовательский институт атомной энергии , Харвелл, Великобритания: Канцелярский офис Ее Величества . Проверено 24 мая 2020 г.(12 страниц)
  23. ^ Хит, ФГ (сентябрь 1961 г.). «Пионеры двоичного кодирования». Журнал Института инженеров-электриков . 7 (81). Манчестерский колледж науки и технологий , технологический факультет Манчестерского университета , Манчестер, Великобритания: Институт инженерии и технологий (IET): 539–541. дои : 10.1049/jiee-3.1961.0300 . Проверено 22 июня 2020 г.(3 страницы)
  24. ^ Каттермоул, Кеннет В. (1969). Написано в Харлоу, Эссекс, Великобритания. Принципы импульсно-кодовой модуляции (1-е изд.). Лондон, Великобритания / Нью-Йорк, США: Iliffe Books Ltd. / American Elsevier Publishing Company, Inc., стр. 245, 434. ISBN. 978-0-444-19747-4. LCCN  78-80432. СБН 444-19747-8. п. 245: […] Кажется, существует некоторая путаница в атрибуции этого кода, поскольку с ним были связаны два изобретателя по имени Грей. Когда я впервые услышал это имя, я решил, что оно относится к Элише Грею , и Хит свидетельствует, что он использовал его. Многие считают, что это относится к Фрэнку Грею из Bell Telephone Laboratories , который в 1947 году впервые предложил использовать его в кодирующих трубках: его патент указан в библиографии. […](2+448+2 страницы)
  25. ^ Эдвардс, Энтони Уильям Фэрбанк (2004). Зубчатые колеса разума: история диаграмм Венна. Балтимор, Мэриленд, США: Издательство Университета Джонса Хопкинса . стр. 48, 50. ISBN. 0-8018-7434-3.
  26. ^ Грос, Люк-Агатон-Луи (1872). Théorie du Baguenodier par un clerc de notaire lyonnais (на французском языке) (1-е изд.). Лион, Франция: Эме Вентринье . Архивировано из оригинала 3 апреля 2017 г. Проверено 17 декабря 2020 г.[2] (2+16+4 страницы и 4 страницы в развороте) (Примечание. Этот буклет был опубликован анонимно, но известно, что его автором является Луи Гро.)
  27. ^ Лукас, Эдуард (ноябрь 1883 г.). La Tour d'Hanoï: Véritable casse tête annamite - Jeu rapporté du Tonkin par le Professeur N. Claus (de Siam) Mandarin du Collège Li Sou Stian! (На французском). Imprimerie Поль Бусрез, Тур.(Примечание: Клаус де Сиам — анаграмма Лукаса д'Амьена, псевдонима автора Эдуарда Лукаса .)
  28. ^ де Парвиль, Анри [на французском языке] , изд. (27 декабря 1883 г.). «La Tour d'Hanoï, настоящий кассетный аннамит, игра в Тонкине с профессором Н. Клаусом (из Сиама), мандарином колледжа Ли-Су-Стиан. Un vrai casse-tête, en effet, mais intéressant. Nous ne saurions mieux remercier le mandarin de son, направленное на намерение à l'égard d'un profane qu'en signalant la Tour d'Hanoï aux personnes Patientes possédées par le démon du jeu". Journal des Débats Politiques et Litéraires (обзор). Revue des Science (на французском языке) (изд. Matin). Париж, Франция: 1–2 [2]. ковчег:/12148/bpt6k462461g. Архивировано из оригинала 18 декабря 2020 г. Проверено 18 декабря 2020 г.(1 страница)
  29. ^ Аллардис, RE; Фрейзер, А.Ю. (февраль 1883 г.). Аллардис, Роберт Эдгар ; Фрейзер, Александр Юл (ред.). «Тур в Ханое». Труды Эдинбургского математического общества (на английском и французском языках). 2 (5). Эдинбургское математическое общество : 50–53. дои : 10.1017/S0013091500037147 . eISSN  1464-3839. ISSN  0013-0915. S2CID  122159381.[3] (4 страницы)
  30. ^ Лукас, Эдуард (1979) [1892]. Récréations mathématiques (на французском языке). Том. 3 (переиздание Библиотеки Альберта Бланшара). п. 58.(Первое издание этой книги вышло посмертно.)
  31. ^ аб Гертер, Феликс; Роте, Гюнтер (14 ноября 2018 г.) [09 августа 2018 г., 12 августа 2017 г., 09 августа 2017 г., 22 апреля 2016 г.]. «Бесконтурное перечисление кода Грея и Бухарестская башня» (PDF) . Теоретическая информатика . 748 . Берлин, Германия: 40–54. arXiv : 1604.06707 . дои : 10.1016/j.tcs.2017.11.017. ISSN  0304-3975. S2CID  4014870. Архивировано (PDF) из оригинала 16 декабря 2020 г. Проверено 16 декабря 2020 г.[4] (15/18/19/24 страниц)
  32. ^ Гарднер, Мартин (август 1972 г.). «Любопытные свойства кода Грея и как его можно использовать для решения головоломок». Научный американец . Математические игры . Том. 227, нет. 2. п. 106.(1 страница)
  33. ^ Земан, Иоганн; Фишер, Фердинанд, ред. (1877). «Einige neuere Vorschläge zur mehrfachen Telegraphie: A. Absatzweise vielfache Telegraphie». Политехнический журнал Динглера (на немецком языке). 226 . Аугсбург, Германия: JG Cotta'sche Buchhandlung: 499–507. Архивировано из оригинала 21 декабря 2020 г. Проверено 21 декабря 2020 г. п. [ ​]
  34. ^ Бутрика, Эндрю Дж. (21 июня 1991 г.). «Бодо, Жан Морис Эмиль». В Фрелихе, Фриц Э.; Кент, Аллен ; Холл, Кэролайн М. (ред.). Энциклопедия телекоммуникаций Фрелиха/Кента: Том 2 - От батарей к кодам - ​​Телекоммуникации . Том. 2. Марсель Деккер Инк. / CRC Press . стр. 31–34. ISBN 0-8247-2901-3. LCCN  90-3966 . Проверено 20 декабря 2020 г. п. 31: […] Прототип Бодо (4 года создания) был построен в 1876 году. Передатчик имел 5 клавиш, похожих на клавиши фортепиано. Сообщения передавались в специальном 5-элементном коде, разработанном Бодо […]
  35. ^ Фишер, Эрик Н. (20 июня 2000 г.). «Эволюция кодов символов, 1874–1968». ковчег:/13960/t07x23w8s . Проверено 20 декабря 2020 г. […] В 1872 году [Бодо] начал исследования телеграфной системы, которая позволила бы нескольким операторам одновременно передавать данные по одному проводу и по мере получения передач печатать их обычными буквенными символами на полоске бумаги. Он получил патент на такую ​​систему 17 июня 1874 года. […] Вместо переменной задержки, за которой следует одиночный импульс, система Бодо использовала одинаковые шесть единиц времени для передачи каждого символа. […] его ранний телеграф, вероятно, использовал шестизначный код […], который он приписывает Дэви в статье 1877 года. […] в 1876 году Бодо перепроектировал свое оборудование, чтобы использовать пятизначный код. Однако иногда знаки препинания и цифры по-прежнему были необходимы, поэтому он перенял от Хьюза использование двух специальных символов буквенного и цифрового пространства, которые заставляли принтер переключаться между регистрами одновременно с продвижением бумаги без печати. Пятизначный код, который он начал использовать в это время […], был структурирован так, чтобы соответствовать его клавиатуре […], которая управляла двумя единицами каждого символа с помощью переключателей, управляемых левой рукой, а остальные три единицы — правой рукой. […][5][6]
  36. ^ Ротен, Тимофей (25 декабря 1884 г.). «Le télégraphe imprimeur Бодо». Журнал Télégraphique (на французском языке). VIII/№16 (12). Берн, Швейцария: Международное бюро телеграфной администрации: 241–253 [249]. eISSN  2725-738X. ISSN  2223-1420. ковчег:/12148/bpt6k5725454q. Архивировано из оригинала 21 декабря 2020 г. Проверено 20 декабря 2020 г.
  37. ^ Пендри, Генри Уолтер (1920) [октябрь 1919]. Написано в Лондоне, Великобритания. Телеграфная система печати Бодо (2-е изд.). Лондон, Бат, Мельбурн, Нью-Йорк: Сэр Исаак Питман и сыновья, Ltd., стр. 43–44. LCCN  21005277. OCLC  778309351. OL  6633244M . Проверено 20 декабря 2020 г.(vii+184 страницы) (Примечание. Первое издание вышло в 1913 году.)
  38. ^ Аб Макмиллан, Дэвид М. (27 апреля 2010 г.) [25 апреля 2010 г., 23 апреля 2010 г.]. «Коды, которые не считаются - некоторые печатные телеграфные коды как продукты своих технологий (с особым вниманием к теленаборному устройству)». Лемур.com . Редакция 3. Минерал-Пойнт, Висконсин, США. Архивировано из оригинала 18 декабря 2020 г. Проверено 20 декабря 2020 г.
  39. ^ Написано в Лиссабоне, Португалия. Международная телеграфная конвенция Сен-Петербурга и правила и тарифы и приложения, Лиссабонская редакция, 1908 г. / Экспорты публикации: Documents de la Conférence télégraphique Internationale de Lisbonne (на французском языке). Берн, Швейцария: Международное бюро L'Union Télégraphique . 1909 [1908].
  40. ^ «Глава IX. Знаки передачи, Статья 35. Знаки передачи международных телеграфных алфавитов № 1 и 2, знаки кода Морзе, устройства Хьюза и устройства Siemens» . Написано в Мадриде, Испания. Приложение к телеграфному регламенту к Международной конвенции электросвязи - протокол финального аудита правил - Мадрид, 1932 г. (PDF) (на французском языке). Берн, Швейцария: Международное бюро L'Union Télégraphique . 1933 [1932]. С. 31–40 [33]. Архивировано (PDF) из оригинала 21 декабря 2020 г. Проверено 21 декабря 2020 г.(1+188 страниц) [7]
  41. ^ «Глава IX. Сигналы передачи. Статья 35. Сигналы передачи международных телеграфных алфавитов № 1 и 2, сигналы азбуки Морзе и сигналы приборов Хьюза и Сименса». Регламент телеграфии, прилагаемый к Международной конвенции электросвязи - Заключительный протокол к Регламенту телеграфии - Мадрид, 1932 г. (PDF) (на английском и французском языках). Лондон, Великобритания: Главное почтовое отделение / Канцелярия Его Величества . 1933 [1932]. С. 32–40 [34]. 43-152-2 / 18693. Архивировано (PDF) из оригинала 21 декабря 2020 г. Проверено 21 декабря 2020 г.(1+2*120+26 страниц) [8]
  42. ^ Земанек, Генрих «Хайнц» Йозеф (1 декабря 1983). Отто Шеффлер (1838–1928). Pionier des Telephons, der Telegraphie und der Lochkarte sowie Erbauer der ersten Wiener Telephonzentrale . Blätter für Technikgeschichte (на немецком и английском языках). Том. 41–43 (1979–1981) (1-е изд.). Вена, Австрия: Технический музей промышленности и производства , Forschungsinstitut für Technikgeschichte / Springer-Verlag . стр. 81–118. ISBN 3-21181779-4. ISSN  0067-9127. ОКЛК  952698275.
  43. ^ Земанек, Генрих «Хайнц» Йозеф (1976-06-07). «Компьютерная предыстория и история в Центральной Европе». Написано в Вене, Австрия. Международный семинар по управлению знаниями в области требований . AFIPS '76: Материалы национальной компьютерной конференции и выставки 7–10 июня 1976 г., июнь 1976 г. Vol. 1. Нью-Йорк, США: Американская федерация обществ обработки информации , Ассоциация вычислительной техники . стр. 15–20. дои : 10.1145/1499799.1499803. ISBN 978-1-4503-7917-5. S2CID  14114959. Архивировано из оригинала 17 декабря 2020 г. Проверено 17 декабря 2020 г. п. 17: […] В 1874 году Шеффлер  [де] изобрел еще один печатный телеграф , четверную систему, подобную Бодо , но механически более сложную. Телеграф Хьюза имел два синхронно вращающихся пальца: один в отправителе, другой в приемнике. С помощью клавиатуры, напоминающей фортепиано, оператор выбирал букву и тем самым прикасался к вращающемуся пальцу в соответствующем направлении. Поскольку принимающий палец в этот момент находился в том же направлении, получатель мог напечатать правильную букву. Печатные телеграфы Бодо и Шеффлера используют пятибитный двоичный код. ... Код Шеффлера — это отраженный двоичный код! То, что Ф. Грей запатентовал в 1953 году для PCM , Шеффлер применил в своем телеграфе в 1874 году по той же причине: надежность. Контактными пальцами он считывал на пяти камерах последовательно все комбинации; правый запускает печать. Если пальцы должны совершать минимальное количество движений, решением является отраженный двоичный код. Для Schaeffler эта идея была второстепенной. Точнее, код описан в письме сотрудника австрийской почты Йохана Н[эпомука] Тойфельхарта, вставленного туда в виде сноски и сообщающего, что Шеффлер нашел код, комбинируя деревянные бруски с различными комбинациями, пока не получил лучшее решение. Другой сотрудник Почты, Александр Вильгельм Ламберт из Линца, утверждает, что показал этот код Шеффлеру еще в 1872 году, но это утверждение неясно и не может быть проверено. […](6 страниц)
  44. ^ Гудолл, Уильям М. (январь 1951 г.). «Телевидение с импульсно-кодовой модуляцией». Технический журнал Bell System . 30 (1): 33–49. doi :10.1002/j.1538-7305.1951.tb01365.x.(Примечание. Представлено устно на Национальном съезде IRE, Нью-Йорк, март 1949 г.)
  45. ^ Карно, Морис (ноябрь 1953 г.) [1953-04-23, 1953-03-17]. «Метод карт для синтеза комбинационных логических схем» (PDF) . Труды Американского института инженеров-электриков, Часть I: Связь и электроника . 72 (5): 593–599. дои : 10.1109/TCE.1953.6371932. S2CID  51636736. Документ 53-217. Архивировано из оригинала (PDF) 16 апреля 2017 г. Проверено 16 апреля 2017 г.(Примечание. Также содержится краткий обзор Сэмюэля Х. Колдуэлла .)
  46. ^ Уэйкерли, Джон Ф. (1994). Цифровой дизайн: принципы и практика . Нью-Джерси, США: Прентис Холл . стр. 48–49, 222. ISBN. 0-13-211459-3.(Примечание. В двух разделах страницы, взятых вместе, говорится, что K-карты помечены кодом Грея. В первом разделе говорится, что они помечены кодом, который изменяется только на один бит между записями, а во втором разделе говорится, что такой код называется Греем. код.)
  47. ^ Браун, Фрэнк Маркхэм (2012) [2003, 1990]. «3.9.2 Карты». Булево рассуждение - Логика булевых уравнений (переиздание 2-го изд.). Минеола, Нью-Йорк, США: Dover Publications, Inc., с. 49. ИСБН 978-0-486-42785-0. п. 49: […] Карта Карно упорядочивает аргументы дискриминантов в соответствии с отраженным двоичным кодом, также называемым кодом Грея. […](xii+291+3 страницы) 1-е издание
  48. ^ Хендлер, Вольфганг (1958). Ein Minimisierungsverfahren zur Synthese von Schaltkreisen (Minimisierungsgraphen) (Диссертация) (на немецком языке). Потсдам, Германия: Technische Hochschule Darmstadt . Д 17.(73 стр.+прил.) [9]
  49. ^ Бергер, Эрих Р.; Хендлер, Вольфганг (1967) [1962]. Штайнбух, Карл В .; Вагнер, Зигфрид В. (ред.). Taschenbuch der Nachrichtenverarbeitung (на немецком языке) (2-е изд.). Берлин, Германия: Springer-Verlag OHG . стр. 64, 1034–1035, 1036, 1038. LCCN  67-21079. Титул № 1036. с. 64: […] Übersichtlich ist die Darstellung nach Händler , die sämtliche Punkte, numeriert nach dem Gray-Code […], auf dem Umfeld eines Kreises anordnet. Sie erfordert allerdings sehr viel Platz. […] [ Диаграмма Гендлера , где все точки, пронумерованные по коду Грея , расположены на окружности круга, легко понятна. Однако для этого требуется много места.]
  50. ^ "Informatik Sammlung Erlangen (ISER)" (на немецком языке). Эрланген, Германия: Университет Фридриха-Александра . 13 марта 2012 г. Архивировано из оригинала 16 мая 2017 г. Проверено 12 апреля 2017 г.
  51. ^ "Informatik Sammlung Erlangen (ISER) - Impressum" (на немецком языке). Эрланген, Германия: Университет Фридриха-Александра . 13 марта 2012 г. Архивировано из оригинала 26 февраля 2012 г. Проверено 15 апреля 2017 г.
  52. ^ abcde Bhat, Гириш С.; Сэвидж, Карла Дайан (1996). «Сбалансированные коды Грея». Электронный журнал комбинаторики . 3 (1). дои : 10.37236/1249 .
  53. ^ Донохью, Райан (2003). «Синхронизация в цифровых логических схемах» (PDF) . Архивировано (PDF) из оригинала 15 января 2018 г. Проверено 15 января 2018 г.
  54. ^ Хюльст, Джордж Д. (1962-02-06) [1957-11-15]. Отраженный счетчик двоичного кода (PDF) . Натли, Нью-Джерси, США: Международная телефонная и телеграфная корпорация (ITT). Патент США 3020481 . Серийный номер 696793. Архивировано (PDF) из оригинала 6 августа 2020 г. Проверено 6 августа 2020 г.(5 страниц)
  55. ^ abcd Пауэлл, Э. Александр (июнь 1968 г.). «Коды, особенно полезные для аналого-цифрового преобразования». Краткое примечание о полезных кодах для схем управления жидкостью (PDF) . Крэнфилд, Великобритания: Колледж аэронавтики , факультет технологии производства. стр. 7, 9. S2CID  215864694. Памятка CoA 156. Архивировано (PDF) из оригинала 15 декабря 2020 г. Проверено 15 декабря 2020 г.(18 страниц) (Примечание. В статье код Гликсона называется модифицированным кодом Грея , а имя Ричарда В. Хэмминга написано с ошибкой.)
  56. ^ Мехта, Хузефа; Оуэнс, Роберт Майкл; Ирвин, Мэри Джейн «Джэни» (22 марта 1996 г.). «Некоторые проблемы с адресацией кода Грея». Материалы шестого симпозиума Великих озер по СБИС . Компьютерное общество IEEE . стр. 178–181. дои : 10.1109/ГЛСВ.1996.497616. ISBN 978-0-8186-7502-7. ISSN  1066-1395. S2CID  52837310.
  57. ^ Аб Доран, Роберт «Боб» Уильям (март 2007 г.). Код Грея (PDF) . Серия отчетов об исследованиях CDMTCS. Центр дискретной математики и теоретической информатики, Оклендский университет , Новая Зеландия. КДМТСС-304. Архивировано (PDF) из оригинала 22 мая 2020 г. Проверено 23 мая 2020 г.(25 страниц)
  58. ^ Су, Чинг-Лонг; Цуй, Чи-Ин; Деспейн, Элвин М. (1994). Методы проектирования и компиляции архитектуры малой мощности для высокопроизводительных процессоров (PDF) (Отчет). Лаборатория передовой компьютерной архитектуры. АКАЛ-ТР-94-01. Архивировано (PDF) из оригинала 26 июля 2020 г. Проверено 17 декабря 2020 г.
  59. ^ Го, Хуэй; Парамешваран, Шри (апрель – июнь 2010 г.). «Кодировка со сдвигом Грея для уменьшения переключения шины адреса памяти команд для встраиваемых систем с низким энергопотреблением». Журнал системной архитектуры . 56 (4–6): 180–190. doi :10.1016/j.sysarc.2010.03.003.
  60. ^ Дитц, Генри Гордон «Хэнк» (2002). «Агрегатные магические алгоритмы: преобразование кода Грея». Агрегат . Кафедра электротехники и вычислительной техники Инженерного колледжа Университета Кентукки . Архивировано из оригинала 16 декабря 2020 г. Проверено 16 декабря 2020 г.
  61. ^ Максфилд, Макс (29 июня 2007 г.). «Как генерировать коды Грея для последовательностей, не равных степени 2». Архивировано из оригинала 29 января 2022 г. Проверено 29 января 2022 г.
  62. ^ (последовательность A290772 в OEIS )
  63. ^ Аб Гуан, Дах-Джых (1998). «Обобщенные коды Грея с приложениями». Труды Национального научного совета Китайской Республики, Часть А. 22 : 841–848. CiteSeerX 10.1.1.119.1344 . 
  64. ^ Д. Г. Вагнер, Дж. Уэст (1991). «Построение унифицированных кодов Грея». Конгресс Нумерантиум . 80 : 217–223.
  65. ^ аб Супарта, И. Ненгах (2005). «Простое доказательство существования экспоненциально сбалансированных кодов Грея». Электронный журнал комбинаторики . 12 . дои : 10.37236/1986 .
  66. ^ аб Флахайв, Мэри Элизабет ; Бозе, Белла (2007). «Балансировка циклических R-арных кодов Грея». Электронный журнал комбинаторики . 14 . дои : 10.37236/949 .
  67. ^ Стракс, Рауль; Писсенс, Франк (2016). «Ариадна: минимальный подход к непрерывности государства». Усеникс Безопасность . 25 .
  68. ^ Сэвидж, Карла Дайан (1997). «Обзор комбинаторных кодов Грея». Обзор СИАМ . 39 (4). Общество промышленной и прикладной математики (SIAM): 605–629. Бибкод : 1997SIAMR..39..605S. CiteSeerX 10.1.1.39.1924 . дои : 10.1137/S0036144595295272. JSTOR  2132693. S2CID  6375360. 
  69. ^ ab Savage, Карла Дайан ; Винклер, Питер (1995). «Монотонные коды Грея и проблема средних уровней». Журнал комбинаторной теории . Серия А. 70 (2): 230–248. дои : 10.1016/0097-3165(95)90091-8 . ISSN  0097-3165.
  70. ^ Сэвидж, Карла Дайан (16 января 1997 г.). «Длинные циклы на двух средних уровнях булевой решетки». Арс Комбинатория . 35 (А). Государственный университет Северной Каролины, Роли, Северная Каролина, США: 97–108. CiteSeerX 10.1.1.39.2249 . ISSN  0381-7032. S2CID  15975960. Архивировано из оригинала 13 мая 2020 г. Проверено 13 мая 2020 г. (15 страниц)
  71. ^ Аб Годдин, Луис (1999). «MATH 343 Дополнительные материалы по прикладной дискретной математике» (PDF) . Департамент математики Университета Саймона Фрейзера . Архивировано из оригинала (PDF) 17 февраля 2015 г.
  72. ^ Савада, Джозеф «Джо»; Вонг, Деннис Чи-Хим (2007). «Быстрый алгоритм генерации кодов Беккета – Грея». Электронные заметки по дискретной математике . 29 : 571–577. дои : 10.1016/j.endm.2007.07.091.
  73. ^ Ричардс, Ричард Колер (январь 1971 г.). «Коды змеи в коробке». Написано в Эймсе, Айова, США. Цифровой дизайн . Нью-Йорк, США: Wiley-Interscience , John Wiley & Sons, Inc., стр. 206–207. ISBN 0-471-71945-5. LCCN  73-147235.(12+577+1 стр.)
  74. ^ ab NZ 264738, Спеддинг, Норман Брюс, «Кодер положения», опубликовано 28 октября 1994 г. [ проверка не удалась ] 
  75. ^ Спеддинг, Норман Брюс (28 октября 1994 г.). «Ниже представлена ​​копия предварительного патента, поданного от имени Industrial Research Limited 28 октября 1994 г. – Патент Новой Зеландии 264738» (PDF) . Индустриальные Исследования Лимитед. Патент Новой Зеландии 264738. Архивировано (PDF) из оригинала 29 октября 2017 г. Проверено 14 января 2018 г.
  76. ^ Хильтген, Ален П.; Патерсон, Кеннет Г.; Брандестини, Марко (сентябрь 1996 г.). «Однодорожечные коды Грея» (PDF) . Транзакции IEEE по теории информации . 42 (5): 1555–1561. дои : 10.1109/18.532900. Збл  857.94007.
  77. ^ Хильтген, Ален П.; Патерсон, Кеннет Г. (сентябрь 2001 г.). «Коды однопутных цепей» (PDF) . Транзакции IEEE по теории информации . 47 (6): 2587–2595. CiteSeerX 10.1.1.10.8218 . дои : 10.1109/18.945274. Архивировано (PDF) из оригинала 15 января 2018 г. Проверено 15 января 2018 г. 
  78. ^ Эцион, Туви; Шварц, Моше (ноябрь 1999 г.) [17 мая 1998 г.]. «Структура однодорожечных кодов Грея» (PDF) . Транзакции IEEE по теории информации . ИТ-45 (7): 2383–2396. CiteSeerX 10.1.1.14.8333 . дои : 10.1109/18.796379. Архивировано (PDF) из оригинала 15 января 2018 г. Проверено 15 января 2018 г. Технический отчет CS0937. Архивировано 15 декабря 2018 г. на Wayback Machine.
  79. ^ Силке, Торстен (1997) [1993-03-01]. «Грей-коды с небольшим количеством треков (вопрос Марко Брандестини)». Архивировано из оригинала 29 октября 2017 г. Проверено 29 октября 2017 г.
  80. ^ аб Эцион, Туви; Патерсон, Кеннет Г. (май 1996 г.). «Почти оптимальные однодорожечные коды Грея» (PDF) . Транзакции IEEE по теории информации . ИТ-42 (3): 779–789. CiteSeerX 10.1.1.14.1527 . дои : 10.1109/18.490544. Архивировано (PDF) из оригинала 30 октября 2016 г. Проверено 8 апреля 2018 г. 
  81. ^ Раски, Фрэнк ; Уэстон, Марк (18 июня 2005 г.). «Обзор диаграмм Венна: симметричные диаграммы». Динамические опросы. Электронный журнал комбинаторики . дои : 10.37236/26 .
  82. ^ Альсиаторе, Дэвид Г.; Хистанд, Майкл Б. (1999). Мехатроника. Образование МакГроу – Хилла – Европа. ISBN 978-0-07-131444-2.
  83. ^ Уильямс, Гэри. «Однодорожечный код Грея требовался для кодирования на 360 градусов с помощью 9 датчиков». Обмен экспертами .
  84. ^ Бауэр, Флориан. «9-битный абсолютный однодорожечный поворотный энкодер с кодом Грея». Тингиверс .
  85. ^ Кришна (11 мая 2008 г.). «Код Грея для QAM». Архивировано из оригинала 29 октября 2017 г. Проверено 29 октября 2017 г.
  86. ^ Стрэнг, Томас; Дамманн, Армин; Рёкль, Матиас; Пласс, Саймон (октябрь 2009 г.). Использование кодов Грея в качестве идентификаторов местоположения (PDF) . 6. GI/ITG KuVS Fachgespräch Ortsbezogene Anwendungen und Dienste (на английском и немецком языках). Оберпфаффенхофен, Германия: Институт связи и навигации Немецкого аэрокосмического центра (DLR). CiteSeerX 10.1.1.398.9164 . Архивировано (PDF) из оригинала 1 мая 2015 г. Проверено 16 декабря 2020 г. (5/8 страниц) [10]
    • Томас Стрэнг; и другие. (октябрь 2009 г.). «Использование кодов Грея в качестве идентификаторов местоположения» (PDF) . ResearchGate (Аннотация) (на немецком и английском языках). Архивировано из оригинала 03 сентября 2020 г.
  87. ^ Греферат, Маркус (2009). «Введение в теорию кольцевого линейного кодирования». В Сале Массимилиано; Мора, Тео; Перре, Людовик; Саката, Сёдзиро; Траверсо, Карло (ред.). Базы Грёбнера, кодирование и криптография . Springer Science & Business Media . п. 220. ИСБН 978-3-540-93806-4.
  88. ^ Соле, Патрик (2016). «Коды Кердока и Препарата». В Хазевинкеле, Михил (ред.). Энциклопедия математики . Springer Science+Business Media . ISBN 978-1-4020-0609-8. Архивировано из оригинала 29 октября 2017 г.
  89. ^ Сполдинг, Карл П. (12 июля 1965). Как использовать энкодеры вала . Монровия, Калифорния, США: Datex Corporation.(85 страниц)
  90. ^ Аб Уилер, Эдвин Л. (30 декабря 1969) [5 апреля 1968]. Аналого-цифровой кодер (PDF) . Нью-Йорк, США: Корпорация Conrac. Патент США 3487460А . Серийный № 719026 (397812). Архивировано (PDF) из оригинала 5 августа 2020 г. Проверено 21 января 2018 г. п. 5, левый столбец 9, строки 15–22: ​​[…] Код MOA-GILLHAM по существу представляет собой комбинацию обсуждавшегося выше кода Грея и хорошо известного кода Datex; код Datex раскрыт в патенте США 3165731. Схема такова, что код Datex определяет биты для подсчета единиц кодера, а код Грея определяет биты для каждого десятилетия более высокого порядка: десятков, сотен и т. д. […](11 страниц)
  91. ^ abcdef Доктер, Фолкерт; Штайнхауэр, Юрген (18 июня 1973 г.). «2.4. Кодирование чисел в двоичной системе». Цифровая электроника. Техническая библиотека Philips (PTL) / Macmillan Education (переиздание 1-го изд. на английском языке). Эйндховен, Нидерланды: The Macmillan Press Ltd. / Gloeilampenfabrieken NV Philips . стр. 32, 39, 50–53. дои : 10.1007/978-1-349-01417-0. ISBN 978-1-349-01419-4. СБН 333-13360-9. Проверено 11 мая 2020 г. п. 53: […] Код Datex […] использует код О'Брайена II в пределах каждого десятилетия и отражает десятичные числа для десятичных переходов. Для дальнейшей обработки необходимо преобразование кода в естественную десятичную систему счисления. Поскольку код О'Брайена II образует дополнение до девяток , это не вызывает особых трудностей: всякий раз, когда кодовое слово для десятков представляет собой нечетное число, кодовые слова для десятичных единиц задаются как дополнения до девяток путем инверсии числа. четвертая двоичная цифра. […][ постоянная мертвая ссылка ] (270 страниц)
  92. ^ abcde Доктер, Фолкерт; Штайнхауэр, Юрген (1975) [1969]. «2.4.4.6. Коды Einschrittige». Digitale Elektronik in der Meßtechnik und Datenverarbeitung: Theoretische Grundlagen und Schaltungstechnik . Philips Fachbücher (на немецком языке). Том. Я (улучшенное и дополненное 5-е изд.). Гамбург, Германия: Deutsche Philips GmbH . С. 41, 48, 51, 58, 60–61. ISBN 3-87145-272-6.(xii+327+3 страницы)
  93. ^ «…точное измерение уровня жидкости – на ЛЮБОМ РАССТОЯНИИ!». Нефтеперерабатывающий завод (Реклама). 33 (9). Gulf Publishing Company : 368. Сентябрь 1954 г. ISSN  0096-6517. п. 368: […] Полная диспетчеризация, измерение и дистанционное управление интегрированы в одну единую систему, когда установлена ​​система телеметрии с импульсно-кодовым кодом «Varec». […]
  94. ^ Бишуп, Бернард В.; Репета, Энтони А.; Джарриццо, Фрэнк К. (13 августа 1968 г.) [3 апреля 1963 г.]. «Система телеизмерения и диспетчерского управления, имеющая обычно непрерывные телеметрические сигналы». Лидс и Нортруп Ко. US3397386A.[11]
  95. ^ «Формат импульса кодировщика» . Руководство по установке и эксплуатации 4-проводного микропередатчика модели 1900 (PDF) . Сайпресс, Калифорния, США: Whessoe Varec, Inc., январь 1993 г. [1991-07-01]. стр. 04-4–04-8. 33-08461. Архивировано (PDF) из оригинала 16 мая 2020 г. Проверено 16 мая 2020 г.(38 страниц) (Примечание. В позиции 5 «Дюймы» на стр. 04–8 следует читать «0111», а не «1111».)
  96. ^ «2.2.3.3 Формат данных уровня MSP» . Varec Model 1900 — 4-проводной микропередатчик (протокол BSAP — Mark/Space (MSP)) — Замечания по применению (PDF) . Эмерсон Электрик . стр. 11–14. Архивировано (PDF) из оригинала 16 мая 2020 г. Проверено 16 мая 2020 г.(vi+33 страницы)
  97. ^ abc Вайтман, Эрик Джеффри (1972). «Глава 6. Измерение смещения». Приборы в управлении технологическими процессами (1-е изд.). Лондон, Великобритания: Butterworth & Co (Publishers) Ltd. стр. 122–123. ISBN 0-408-70293-1. п. 122–123: […] Другие формы кода также хорошо известны. Среди них кодекс Королевского радиолокационного учреждения ; Десятичный код лишних трех ; Код Гиллхема , рекомендованный ИКАО для автоматической передачи данных о высоте для целей управления воздушным движением ; код Петерика и код Лесли и Рассела Национальной инженерной лаборатории . Каждый из них имеет свои особые преимущества, и различные производители кодировщиков предлагают их в качестве опций. […](12+367+5 страниц)
  98. ^ Филлипс, Дэррил (26 июля 2012 г.) [1998]. «Высота – МОДЕК ASCII». Авионика ЭйрСпорт. Архивировано из оригинала 26 июля 2012 г.
  99. ^ Стюарт, К. (3 декабря 2010 г.). «Код авиационного Грея: объяснение кода Гиллхэма». Пользовательские компьютерные услуги (CCS). Архивировано из оригинала 16 января 2018 г. Проверено 14 января 2018 г.
  100. ^ Лесли, Уильям «Билл» HP; Рассел, А. (1964). Циклический прогрессивный десятичный код для простого перевода в десятичные и аналоговые выходные данные (Отчет). Ист-Килбрайд, Глазго, Великобритания: Национальная инженерная лаборатория . Отчет НЭЛ 129.(17 страниц)
  101. ^ Лесли, Уильям «Билл» HP (1974). «Работа над NC в НЭЛ». В Кенигсбергере, Франц; Тобиас, Стивен Альберт (ред.). Материалы Четырнадцатой Международной конференции по проектированию и исследованиям станков, 12–14 сентября 1973 г. The Macmillan Press Ltd. С. 215–224 [215, 217]. дои : 10.1007/978-1-349-01921-2_30. ISBN 978-1-34901921-2. LCCN  73-16545. СБН 333-14913-0. Архивировано из оригинала 7 апреля 2022 г. Проверено 21 мая 2020 г.
  102. ^ Хоклас, Арчибальд (1989-09-06) [1988-04-29]. «Abtastvorrichtung zur digitalen Wegoder Winkelmessung» (PDF) (на немецком языке). VEB Schiffselektronik Йоханнес Варнке  [ де ] . Патент ГДР DD271603A1. WP H 03 M / 315 194 8. Архивировано из оригинала (PDF) 18 января 2018 г. Проверено 18 января 2018 г. - через DEPATIS  [de] .[12] [13]
  103. ^ abcdefghijk Хоклас, Арчибальд (2005). «Код Грея – код единичного расстояния». Архивировано из оригинала 15 января 2018 г. Проверено 15 января 2018 г.
  104. ^ abcde Хоклас, Арчибальд (2005). «Gray-Kode – Einschrittiger Abtastkode» (на немецком языке). Архивировано из оригинала 15 января 2018 г. Проверено 15 января 2018 г.
  105. ^ Петерик, Эдвард Джон; Хопкинс, Эй Джей (1958). Некоторые недавно разработанные цифровые устройства для кодирования вращения валов (Техническая нота MS21). Фарнборо, Великобритания: Королевское авиастроительное предприятие (RAE).
  106. ^ «Дигитайзер как аналогово-цифровой Wandler в der Steuer-, Meß- und Regeltechnik» (PDF) . Технический центр . Relais, elektronische Geräte, Steuerungen (на немецком языке). № 13. Кёльн-Ниль, Германия: Франц Баумгартнер (FraBa). Май 1963 г., стр. 1–2. Архивировано из оригинала (PDF) 21 мая 2020 г. Проверено 21 мая 2020 г. стр. 1–2: […] Die Firma Harrison Reproduction Equipment, Фарнборо/Англия […] шляпа в jahrelanger Entwicklung in Zusammenarbeit mit der Britischen Luftwaffe und britischen Industriebetrieben den mechanischen Digitizer […] zu einer technischen Reife gebracht, die fast allen Anforderungen […] генюгт. […] Um bei der dezimalen Entschlüsselung des verwendeten Binärcodes zu eindeutigen und bei der Übergabe von einer Dezimalstelle zur anderen in der Reihenfolge immer richtigen Ergebnissen zu kommen, wurde ein spezieller Code entwickelt, der jede Möglichkeit einer ssage durch sein Prinzip ausschließt und der ausserdem durch seinen Aufbau eine relative einfache Entschlüsselung erlaubt. Кодекс базируется на Кодексе Петерика. […](4 страницы)
  107. ^ аб Чарнли, CJ; Бидгуд, RE; Бордман, GET (октябрь 1965 г.). «Конструкция пневматического энкодера положения» (PDF) . Тома трудов МФБ . 2 (3). Колледж аэронавтики, Крэнфилд, Бедфорд, Англия: 75–88. дои : 10.1016/S1474-6670(17)68955-9. Глава 1.5 . Проверено 14 января 2018 г.[ постоянная мертвая ссылка ]
  108. ^ Холлингдейл, Стюарт Х. (19 сентября 1958). «Сессия 14. Обработка данных». Применение компьютеров (доклад конференции). Атлас – Применение компьютеров, Ноттингемский университет, 15–19 сентября 1958 г. Архивировано из оригинала 25 мая 2020 г. Проверено 25 мая 2020 г.
  109. ^ abc О'Брайен, Джозеф А. (май 1956 г.) [15 ноября 1955 г., 23 июня 1955 г.]. «Циклические десятичные коды для аналого-цифровых преобразователей». Труды Американского института инженеров-электриков, Часть I: Связь и электроника . 75 (2). Bell Telephone Laboratories, Уиппани, Нью-Джерси, США: 120–122. дои : 10.1109/TCE.1956.6372498. ISSN  0097-2452. S2CID  51657314. Бумага 56-21 . Проверено 18 мая 2020 г.(3 страницы) (Примечание. Этот документ был подготовлен для презентации на Зимнем общем собрании AIEE, Нью-Йорк, США, с 30 января 1956 г. по 3 февраля 1956 г.)
  110. ^ abcdefghi Steinbuch, Карл В. , изд. (1962). Написано в Карлсруэ, Германия. Taschenbuch der Nachrichtenverarbeitung (на немецком языке) (1-е изд.). Берлин / Геттинген / Нью-Йорк: Springer-Verlag OHG . стр. 71–74, 97, 761–764, 770, 1080–1081. LCCN  62-14511.
  111. ^ abcdefghi Steinbuch, Карл В .; Вебер, Вольфганг; Хайнеманн, Трауте, ред. (1974) [1967]. Taschenbuch der Informatik – Band II – Struktur und Programmierung von EDV-Systemen . Taschenbuch der Nachrichtenverarbeitung (на немецком языке). Том. 2 (3-е изд.). Берлин, Германия: Springer Verlag . стр. 98–100. ISBN 3-540-06241-6. LCCN  73-80607.
  112. ^ Фосс, Фредерик А. (27 декабря 1960) [17 декабря 1954]. «Системы управления» (PDF) . Международная Бизнес Машинная Корпорация . Рис. 7, Рис. 8, Рис. 11. Патент США 2966670А . Серийный номер 475945. Архивировано (PDF) из оригинала 21 июня 2020 г. Проверено 5 августа 2020 г.(14 страниц) (Примечание. Автор назвал свой код 2*-4-2-1 (+9-±7-±3-±1), отраженный десятичный код.)
  113. ^ Фосс, Фредерик А. (декабрь 1954 г.). «Использование отраженного кода в цифровых системах управления». IRE-транзакции на электронных компьютерах . ИК-3 (4): 1–6. doi : 10.1109/IREPGELC.1954.6499244. ISSN  2168-1740.(6 страниц)
  114. ^ Эванс, Дэвид Сильвестр (1958). «[название неизвестно]». Транзакции . 10–12. Институт измерений и контроля: 87.(Примечание. Код Уоттса назывался кодом WRD или Watts Reflected Decimal, чтобы отличать его от других кодов, используемых в Hilger & Watts Ltd. )
  115. ^ Бенджамин, PW; Николлс, GS (1963). «3.2.2 Электромеханические цифровые преобразователи». Измерение спектров нейтронов методом полуавтоматического сканирования протонов отдачи в фотоэмульсиях . Управление по атомной энергии Соединенного Королевства , Научно-исследовательский центр по атомному оружию , Великобритания: Министерство энергетики США . стр. 8–10, 19. Отчет AWRE № NR 5/63.[14] (23 страницы)
  116. ^ Клинковски, Джеймс Дж. (14 марта 1967) [23 марта 1964]. «Схемы электронного диодно-матричного декодера» (PDF) . Детройт, Мичиган, США: Корпорация Берроуз . Патент США 3309695А . Серийный номер 353845. Архивировано (PDF) из оригинала 23 мая 2020 г. Проверено 23 мая 2020 г.(5 страниц) [15]
  117. ^ Клинковски, Джеймс Дж. (31 марта 1970 г.) [22 декабря 1966 г.]. «Преобразователь двоично-десятичных сигналов» (PDF) . Детройт, Мичиган, США: Корпорация Берроуз . Патент США 3504363А . Серийный номер 603926. Архивировано (PDF) из оригинала 23 мая 2020 г. Проверено 23 мая 2020 г.(7 страниц)
  118. ^ «[название неизвестно]». Новости электротехнического проектирования . 12 . Издательская компания Роджерс . 1967. ISSN  0012-7515.[16][17]
  119. ^ Тот-Зентаи, Дьёрдьи (1979-10-05). «Некоторые проблемы углово-вращательных цифровых преобразователей». Периодика Политехника Электротехника . 23 (3–4). Кафедра электронных технологий, Технический университет, Будапешт, Венгрия: 265–270 [266] . Проверено 23 мая 2020 г.[18] (6 страниц) (Примечание. Показывает 6-значный код Уоттса.)
  120. ^ Савард, Джон Дж.Г. (2018) [2006]. «Десятичные представления». четырехблок . Архивировано из оригинала 16 июля 2018 г. Проверено 16 июля 2018 г.
  121. ^ аб Терви-младший, Фрэнк П. (29 июля 1958 г.) [17 мая 1956 г.]. «Кодер подсчета импульсов» (PDF) . Натли, Нью-Джерси, США: Международная телефонная и телеграфная корпорация . Патент США 2845617А . Серийный номер 585494. Архивировано (PDF) из оригинала 23 мая 2020 г. Проверено 23 мая 2020 г.(5 страниц)
  122. ^ аб Гликсон, Гарри Роберт (март 1957 г.). «Можете ли вы воспользоваться преимуществами циклического двоично-десятичного кода?». Техника управления . 4 (3). Техническая издательская компания , подразделение издательской корпорации Dun-Donnelley, Dun & Bradstreet Corp .: 87–91. ISSN  0010-8049.(5 страниц)
  123. ^ аб Боруки, Лоренц; Диттманн, Иоахим (1971) [июль 1970, 1966, осень 1965]. «2.3 Общие коды в цифровой технике». Написано в Крефельде/Карлсруэ, Германия. Digitale Meßtechnik: Eine Einführung (на немецком языке) (2-е изд.). Берлин / Гейдельберг, Германия: Springer-Verlag . С. 10–23 [12–14]. дои : 10.1007/978-3-642-80560-8. ISBN 3-540-05058-2. LCCN  75-131547. ISBN 978-3-642-80561-5(viii+252 страницы) 1-е издание (Примечание. Как и Каммерер, авторы описывают 6-битный 20-циклический код Гликсона.)
  124. ^ аб Каммерер, Вильгельм [на немецком языке] (май 1969 г.). «II.15. Структура: Informationsdarstellung im Automaten». Написано в Йене, Германия. Во Фрюхауфе, Ганс [на немецком языке] ; Каммерер, Вильгельм; Шредер, Курц; Винклер, Хельмут (ред.). Digitale Automaten – Theorie, Struktur, Technik, Programmieren . Elektronisches Rechnen und Regeln (на немецком языке). Том. 5 (1-е изд.). Берлин, Германия: Akademie-Verlag GmbH . п. 173. Лицензия №. 202-100/416/69. № заказа. 4666 ES 20 К 3.(Примечание. Существует также второе издание 1973 года. Подобно Боруцки и Диттманну, но не называя его кодом Гликсона, автор создает 20-циклический тетрадный код из кода Гликсона и вариант кода Гликсона с инвертированным старшим битом.)
  125. ^ Пол, Матиас Р. (10 августа 1995 г.) [1994]. «Unterbrechungsfreier Schleifencode» [Код непрерывного цикла]. 1.02 (на немецком языке) . Проверено 11 февраля 2008 г.(Примечание. Автор назвал этот код Schleifencode (англ. «контурный код»). Он отличается от кода Грея BCD только кодированием состояния 0, что делает его циклическим кодом единичного расстояния для приложений с полным круговым вращением. Избегание всех -нулевой шаблон кода позволяет выполнять самотестирование контура и использовать линии передачи данных для бесперебойного распределения энергии.)
  126. ^ Клар, Райнер (1 февраля 1970 г.). Digitale Rechenautomaten – Eine Einführung [ Цифровые компьютеры – Введение ]. Sammlung Göschen (на немецком языке). Том. 1241/1241а (1-е изд.). Берлин, Германия: Вальтер де Грюйтер и компания / GJ Göschen'sche Verlagsbuchhandlung  [de] . п. 17. ISBN 3-11-083160-0. . Архив-Nr. 7990709. Архивировано из оригинала 01 июня 2020 г. Проверено 13 апреля 2020 г.(205 страниц) (Примечание. Перепечатка первого издания 2019 года доступна под номерами ISBN 3-11002793-3 , 978-3-11002793-8 . Также существует переработанное и расширенное 4-е издание.) 
  127. ^ Клар, Райнер (1989) [1988-10-01]. Digitale Rechenautomaten – Eine Einführung in die Struktur von Computerhardware [ Цифровые компьютеры – Введение в структуру компьютерного оборудования ]. Sammlung Göschen (на немецком языке). Том. 2050 г. (4-е переработанное изд.). Берлин, Германия: Walter de Gruyter & Co. 28. ISBN 3-11011700-2.(320 страниц) (Примечание. Автор назвал этот код Einheitsabstandscode (англ. «код единичного расстояния»). Поменяв местами две битовые строки и инвертировав одну из них, его можно перевести в код О'Брайена II, тогда как поменяв местами и инвертировав две битовые строки, его можно перенести в код Петерика.)

дальнейшее чтение

Внешние ссылки