Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Отражение двоичного кода ( RBC ), также известный как отраженный двоичный ( RB ) или код Грея после Frank Gray , является упорядочение двоичной системе счисления таким образом, что две последовательные значения различаются только в одной битовой (двоичный разряд).

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

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

Мотивация и имя [ править ]

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

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

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

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

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

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

Визуализируется в виде обхода вершин одного тессеракта

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

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

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

Код Грея иногда приписывают, неправильно, [12] , чтобы Элиша Грей . [22] [23] [24]

История и практическое применение [ править ]

Математические головоломки [ править ]

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

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

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

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

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

Коды телеграфии [ править ]

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

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

Преобразование аналого-цифрового сигнала [ править ]

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

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

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

Датчики положения [ править ]

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

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

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

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

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

Генетические алгоритмы [ править ]

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

Минимизация логической схемы [ править ]

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

Исправление ошибок [ править ]

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

Связь между доменами часов [ править ]

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

Циклическое переключение состояний с минимальными усилиями [ править ]

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

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

Счетчики кода Грея и арифметика [ править ]

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

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

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

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

Адресация кода Грея [ править ]

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

Построение n- битного кода Грея [ править ]

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

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

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

  • G n - это перестановка чисел 0,…, 2 n  - 1. (Каждое число появляется в списке ровно один раз.)
  • G n вкладывается как первая половина G n +1 .
  • Следовательно, кодирование является стабильным в том смысле, что как только двоичное число появляется в G n, оно появляется в той же позиции во всех более длинных списках; так что имеет смысл говорить о с отражающим кодом Грея значение ряда: 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 инвертирован, блоки из 2 кодовых слов изменяют порядок:

{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)

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

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

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

Преобразование в код Грея и обратно [ править ]

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

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

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

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

n -аричный код Грея [ править ]

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

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

// входные данные: основание, цифры, значение // выход: серый // Преобразование значения в код Грея с заданными основанием и цифрами. // Итерация последовательности значений приведет к // последовательности кодов Грея, в которой одновременно изменяется только одна цифра. недействительный  toGray ( без знака  база ,  без знака  цифры ,  знак  значения ,  без знака  серой [ цифра ]) {  без знака  Basen [ цифра ]; // Сохраняет обычное число с основанием 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 ]  +  shift )  %  base ; shift  =  shift  +  base  -  серый [ i ];// Вычесть из базы, чтобы сдвиг был положительным } } // ПРИМЕРЫ // input: value = 1899, base = 10, digits = 4 // output: baseN [] = [9,9,8,1], gray [] = [0,1,7,1] // input: value = 1900, base = 10, digits = 4 // output: baseN [] = [0,0,9,1], gray [] = [0, 1,8,1]

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

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

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

Сбалансированный код Грея [ править ]

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

Код Грея является однородным или равномерно сбалансированным, если все его счетчики переходов равны, и в этом случае мы имеем для всех k . Ясно, что когда такие коды существуют, только если n является степенью 2. В противном случае, если n не делится равномерно, можно построить хорошо сбалансированные коды, в которых каждый счетчик переходов равен или . [51] Коды Грея также могут быть экспоненциально сбалансированы, если все их счетчики переходов являются смежными степенями двойки, и такие коды существуют для каждой степени двойки. [61]

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

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 00 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 перехода, которые не могут быть равномерно распределены по позициям. В этом примере четыре позиции имеют шесть переходов каждая, а одна - восемь: [51]

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 00 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 01 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 11 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

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

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

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

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

Монотонные коды Грея [ править ]

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

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

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

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

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

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

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

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

Код Беккета – Грея [ править ]

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

Коды змейки в коробке [ править ]

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

Однодорожечный код Грея [ править ]

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

Однопутный код Грея с 5 датчиками.
Анимированная и цветная версия ротора STGC.

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

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

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

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

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

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

Двумерный код Грея [ править ]

Созвездие в кодировке Грея для прямоугольного 16- QAM

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

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

Изометрия серого [ править ]

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

Связанные коды [ править ]

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

  • Коды Datex, также известные как коды Джаннини (1954), как описано Карлом П. Сполдингом, [8] [82] [83] [84] [85] [7], используют вариант кода О'Брайена II .
  • Коды, используемые Вареком (около 1954 г.), [86] [87] [88] [89], используют вариант кода О'Брайена I, а также варианты кода Грея с основанием 12 и 16.
  • Lucal code (1959) [1] [2] [56] или модифицированный отраженный двоичный код (MRB) [1] [2] [nb 3]
  • В коде Гиллхема (1961/1962), [83] [90] [7] [91] [92] используется вариант кода Datex и кода О'Брайена II .
  • Код Лесли и Рассела (1964) [93] [9] [94] [90]
  • Код компании Royal Radar [90]
  • Кодекс Хокласа (1988) [95] [96] [97]

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

  • Код Петерика (1953), [18] [98] [99] [100] [54] [96] [nb 4], также известный как код Royal Aircraft Establishment (RAE). [101]
  • Коды О'Брайена I и II (1955) [102] [103] [104] [84] [85] [96] (Код О'Брайена типа I [nb 5] уже был описан Фредериком А. Фоссом из IBM [105] [106] и использовался Вареком в 1954 году. Позже он был также известен как код Уоттса или отраженный десятичный код Уоттса (WRD) и иногда неоднозначно упоминается как отраженный двоичный модифицированный код Грея [107] [19]. [20] [108] [109] [110] [111] [112] [113] [nb 1] [nb 3] Код О'Брайена типа II уже использовался Datex в 1954 году. [Nb 4])
  • Код Грея с избытком-3 (1956) [114] (он же код с избытком Грея -3 , [84] [85] [7] Код с избытком Грея с 3, рефлексный код с избытком-3, код с избытком Грея, [96] Код с избытком Грея , Код Грея-10-избыток-3 или код Грея – Стибица), описанный Фрэнком П. Терви-младшим из ITT . [114]
  • Коды Томпкинса I и II (1956) [3] [103] [104] [84] [85] [96]
  • Код Гликсона (1957), иногда неоднозначно также называемый модифицированным кодом Грея [115] [54] [116] [117] [103] [104] [84] [85] [96] [nb 3] [nb 5]]

См. Также [ править ]

  • Регистр сдвига с линейной обратной связью
  • Последовательность Де Брёйна - код Грея на алфавите большего размера, чем {0,1 }.
  • Алгоритм Стейнхауса – Джонсона – Троттера - алгоритм, который генерирует коды Грея для факторной системы счисления.
  • Код минимального расстояния
  • Последовательность Пруэ – Туэ – Морса, связанная с обратным кодом Грея
  • Формула Райзера
  • Кривая Гильберта

Примечания [ править ]

  1. ^ a b c Применяя простое правило инверсии , код Грея и код О'Брайена I можно преобразовать в чистый двоичный код 8421 и код Айкена 2421 соответственно, чтобы упростить арифметические операции. [C]
  2. ^ Последовательность 0, 1, 0, 2, 0, 1, 0, 3,… (последовательность A007814 в OEIS ).
  3. ^ a b c Есть несколько вариантов кода Грея, которые в некотором роде называются "модифицированными": код Glixon иногда называют модифицированным кодом Грея. [D] Код Lucal также называется модифицированным отраженным двоичным кодом (MRB). [E] Код О'Брайена I или код Уоттса иногда называют отраженным двоичным модифицированным кодом Грея. [F]
  4. ^ a b c d Меняя местами и инвертируя три строки битов, код О'Брайена II и код Петерика могут быть переданы друг в друга.
  5. ^ Б с д Путем замены двух пар битовых строк, по отдельности сдвига четыре битовых строк , и инвертирование одного из них, то код Glixon и код O'Brien я может быть передан друг в друга.
  6. ^ Других коды единицы расстояния BCD включают не связанные с кодом Грея 5-битный Libaw-Крейг и 1-2-1 кода .
  7. ^ В зависимости от целевого приложения кода, веса Хэмминга кода могут быть важными свойствами помимо теоретических соображений кодирования, а также по физическим причинам. При некоторых обстоятельствах состояния «все очищено» и / или «все установлено» должны быть опущены (например, чтобы избежать непроводящих условий или условий короткого замыкания), может быть желательно сохранить наивысший используемый вес как можно ниже (например, для уменьшения мощности потребление цепи считывающего устройства) или для сохранения небольшого разброса используемых гирь (например, для уменьшения акустического шума или колебаний тока).
  8. ^ a b c Для кодов Грея BCD , Пола и Клара количество необходимых дорожек считывания может быть уменьшено с 4 до 3, если допустимо инверсия одной из средних дорожек.
  9. ^ Б с д е е Для O'Brien кодов I и II и Petherick , Сасскинд , Klar , а также избыток-3 кодов Грея , A 9s комплемента могут быть получены путем инвертирования наиболее значимое (четвертый) двоичный разряд.
  10. ^ Для Томпкинс кода II , A 9s дополнение могут быть получены путем переворачивания первых трех цифр и поменять местами два средних двоичных цифр.

Ссылки [ править ]

  1. ^ a b c Люкаль, Гарольд М. (декабрь 1959 г.). «Арифметические операции для цифровых компьютеров с использованием модифицированного отраженного двоичного файла» . Операции IRE на электронных компьютерах . ИС-8 (4): 449–458. DOI : 10.1109 / TEC.1959.5222057 . ISSN  0367-9950 . S2CID  206673385 . (10 страниц)
  2. ^ a b c Селлерс младший, Фредерик Ф .; Сяо, Му-Юэ; Беарсон, Лерой В. (ноябрь 1968 г.). Логика обнаружения ошибок для цифровых компьютеров (1-е изд.). Нью-Йорк, США: Книжная компания Макгроу-Хилл . С. 152–164. LCCN 68-16491 . OCLC 439460 .  
  3. ^ a b c d Томпкинс, Ховард Э. (сентябрь 1956 г.) [1956-07-16]. "Двоично-десятичные коды единиц расстояния для двухканальной коммутации" . Операции IRE на электронных компьютерах . Переписка. Школа электротехники Мура , Пенсильванский университет , Филадельфия, Пенсильвания, США. EC-5 (3): 139. DOI : 10,1109 / TEC.1956.5219934 . ISSN 0367-9950 . Проверено 18 мая 2020 .  (1 стр.)
  4. ^ a b Каутц, Уильям Х. (июнь 1958 г.). «Коды проверки ошибок единичного расстояния». Операции IRE на электронных компьютерах . ИС-7 (2): 179–180. DOI : 10.1109 / TEC.1958.5222529 . ISSN 0367-9950 . S2CID 26649532 .   (2 страницы)
  5. ^ a b Сасскинд, Альфред Крисс; Уорд, Джон Эрвин (1958-03-28) [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 страницы) (NB. Содержание книги было первоначально подготовлено сотрудниками Лаборатории сервомеханизмов Департамента электротехники Массачусетского технологического института для специальных летних программ, проводившихся в 1956 и 1957 годах. "Код чтения Сасскинда" "на самом деле является второстепенным вариантом кода, показанного здесь, где две наиболее значимые битовые строки поменяны местами для лучшей иллюстрации симметрии. Кроме того, поменяв местами две битовые строки и инвертируя одну из них, код можно перенести в код Петерика , тогда как путем замены и инвертируя две битовые строки, код может быть переведен в код О'Брайена II .)
  6. ^ a b Чинал, Жан П. (январь 1973 г.). «3.3. Коды единичных расстояний». Написано в Париже, Франция. Методы проектирования цифровых систем . Перевод Престона, Алан; Саммер, Артур (1-е английское изд.). Берлин, Германия: Akademie-Verlag / Springer-Verlag . п. 50. DOI : 10.1007 / 978-3-642-86187-1 . ISBN 978-0-387-05871-9. Лицензия № 202-100 / 542/73. Номер заказа 7617470 (6047) ES 19 B 1/20 K 3 . Проверено 21 июня 2020 .(xviii + 506 страниц) (NB. Французская оригинальная книга 1967 г. была названа «Techniques Booléennes et Calculateurs Arithmétiques», издана Éditions Dunod  [ fr ] .)
  7. ^ a b c d e f Военный справочник: энкодеры - угол вала в цифровой формат (PDF) . Министерство обороны США . 1991-09-30. MIL-HDBK-231A. Архивировано (PDF) из оригинала 25.07.2020 . Проверено 25 июля 2020 . (Примечание. Заменяет MIL-HDBK-231 (AS) (1970-07-01).)
  8. ^ a b c Сполдинг, Карл П. (1965-01-12) [1954-03-09]. «Система цифрового кодирования и перевода» (PDF) . Монровия, Калифорния, США: Datex Corporation. Патент США 3165731A . Серийный номер 415058. Архивировано (PDF) из оригинала 2020-08-05 . Проверено 21 января 2018 . (28 страниц)
  9. ^ a b Рассел А. (август 1964 г.). «Некоторые двоичные коды и новый пятиканальный код» . Контроль (системы, приборы, обработка данных, автоматизация, управление, включая Automation Progress) . Особые возможности. Лондон, Великобритания: Morgan-Grampain (Publishers) Limited. 8 (74): 399–404 . Проверено 22 июня 2020 . (6 страниц)
  10. ^ a b c Стибиц, Джордж Роберт (1943-01-12) [1941-11-26]. «Бинарный счетчик» . Нью-Йорк, США: Bell Telephone Laboratories, Incorporated . Патент США 2 307 868 . Серийный номер 420537 . Проверено 24 мая 2020 . п. 2, правый столбец, строки 43–73:[…] Более четкое представление о положении шаров после каждого импульса будет получено, если набор шаров будет представлен числом, имеющим аналогичное количество цифр, каждое из которых может иметь одно из двух произвольных значений, например 0 и 1. Если верхнее положение называется 0, а нижнее положение […] 1, то значение счетчика […] может читаться слева направо как 0,100,000. […] Ниже приводится перевод числа полученных импульсов в эту форму двоичной записи для первых шестнадцати импульсов, полученных на первых пяти шарах […] Номер импульса […] Двоичная запись […] [1] (4 страницы)
  11. ^ a b c d e Уиндер, К. Фаррелл (октябрь 1959 г.). "Датчики угла вала обеспечивают высокую точность" (PDF) . Электронная промышленность . Компания Чилтон . 18 (10): 76–80. Архивировано из оригинального (PDF) 28 сентября 2020 года . Проверено 14 января 2018 . п. 78: […] Тип кодового колеса, наиболее популярный в оптических кодировщиках, содержит шаблон циклического двоичного кода, предназначенный для выдачи циклической последовательности выходных сигналов «включено-выключено». Циклический двоичный код также известен как код циклической прогрессии, отраженный двоичный код и код Грея. Этот код был создан GR Stibitz из Bell Telephone Laboratories , и впервые был предложен для систем кодовой модуляции Фрэнком Греем , также из BTL. Отсюда и название кода Грея. Код Грея или циклический код используется, главным образом, для исключения возможности ошибок при переходе кода, которые могут привести к грубым двусмысленностям. […]
  12. ^ a b c d e f g h я Кнут, Дональд Эрвин (2014-09-12). «Перечисление и возврат / Генерация всех n -элементов» . Искусство программирования, Том 4A: Комбинаторные алгоритмы, Часть 1 . (1-е изд.). Эддисон-Уэсли Профессионал . С. 442–443. ISBN 978-0-13348885-2. ISBN 0-13348885-3 .  (912 страниц)
  13. ^ a b Грей, Фрэнк (1953-03-17) [1947-11-13]. Связь с импульсным кодом (PDF) . Нью-Йорк, США: Bell Telephone Laboratories, Incorporated . Патент США 2632058 . Серийный номер 785697. Архивировано (PDF) из оригинала 05.08.2020 . Проверено 5 августа 2020 . (13 стр.)
  14. ^ a b Голдберг, Дэвид Эдвард (1989). Генетические алгоритмы в поиске, оптимизации и машинном обучении (1-е изд.). Ридинг, Массачусетс, США: Аддисон-Уэсли .
  15. ^ Брекман, Джек (1956-01-31) [1953-12-31]. Схема кодирования (PDF) . Лонг-Бранч, Нью-Джерси, США: министр армии США . Патент США 2733432 . Серийный номер 401738. Архивировано (PDF) из оригинала 2020-08-05 . Проверено 5 августа 2020 . (8 страниц)
  16. ^ a b Рэгланд, граф Альберт; Шультейс-младший, Гарри Б. (1958-02-11) [1953-10-16]. Система контроля положения двоичного кода, чувствительная к направлению (PDF) . Северный Голливуд, Калифорния, США: Bendix Aviation Corporation. Патент США 2,823,345 . Серийный номер 386524. Архивировано (PDF) из оригинала 2020-08-05 . Проверено 5 августа 2020 . (10 страниц)
  17. ^ Домешек, Сол; Райнер, Стюарт (1958-06-24) [1954-01-08]. Автоматическая система исправления (PDF) . Министр ВМС США . Патент США 2839974 . Серийный номер 403085. Архивировано (PDF) из оригинала 2020-08-05 . Проверено 5 августа 2020 . (8 страниц)
  18. ^ a b c Петерик, Эдвард Джон (октябрь 1953 г.). Циклическая прогрессивная двоично-десятичная система представления чисел (Техническое примечание MS15). Фарнборо, Великобритания: Royal Aircraft Establishment (RAE).(4 страницы) (NB. Иногда ее называют двоично-десятичной системой представления чисел с циклическим кодированием .)
  19. ^ a b Эванс, Дэвид Сильвестр (1960). Основы цифрового приборостроения (1-е изд.). Лондон, Великобритания: Hilger & Watts Ltd . Проверено 24 мая 2020 . (39 страниц)
  20. ^ a b Эванс, Дэвид Сильвестр (март 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 страницы) (NB. Автор вообще не упоминает Грея и называет стандартный код Грея «Циклическим перестановочным двоичным кодом» (ЦПД), в указателе книги он ошибочно указан как «циклический чистый двоичный код».)
  21. ^ Newson, PA (1965). Таблицы для двоичного кодирования углов (1-е изд.). Управление по атомной энергии Соединенного Королевства , исследовательская группа, Исследовательский центр по атомной энергии , Харвелл, Великобритания: Канцелярский офис HM . Проверено 24 мая 2020 . (12 страниц)
  22. Heath, FG (сентябрь 1961 г.). «Пионеры двоичного кодирования» . Журнал Института инженеров-электриков . Манчестерский колледж науки и технологий , технологический факультет Манчестерского университета , Манчестер, Великобритания: Институт инженерии и технологий (IET). 7 (81): 539–541. DOI : 10,1049 / jiee-3.1961.0300 . Проверено 22 июня 2020 . (3 страницы)
  23. ^ Cattermole, Kenneth W. (1969). Написано в Харлоу, Эссекс, Великобритания. Принципы импульсной кодовой модуляции (1-е изд.). Лондон, Великобритания / Нью-Йорк, США: Iliffe Books Ltd. / American Elsevier Publishing Company, Inc., стр. 245, 434. ISBN 978-0-444-19747-4. LCCN  78-80432 . SBN 444-19747-8. п. 245: […] Похоже, существует некоторая путаница в атрибуции этого кода, потому что с ним связаны два изобретателя по имени Грей. Когда я впервые услышал это имя, я решил, что оно относится к Элише Грею , и Хит свидетельствует о том, что он использовал это имя. Многие считают, что это относится к Фрэнку Грею из Bell Telephone Laboratories , который в 1947 году впервые предложил использовать его в кодирующих трубках : его патент указан в библиографии. […] (2 + 448 + 2 страницы)
  24. ^ Эдвардс, Энтони Уильям Фэрбэнк (2004). Шестеренки разума: история диаграмм Венна . Балтимор, Мэриленд, США: Издательство Университета Джона Хопкинса . стр. 48, 50. ISBN 0-8018-7434-3. ISBN 978-0-8018-7434-5 . 
  25. Гро, Люк-Агафон-Луи (1872). Théorie du baguenodier par un clerc de notaire lyonnais (на французском языке) (1-е изд.). Лион, Франция: Эме Вингтринье . Архивировано 17 декабря 2020 года . Проверено 17 декабря 2020 . [2] (2 + 16 + 4 страницы и 4 страницы в сложенном виде) (NB. Этот буклет был опубликован анонимно, но известно, что его автором является Луи Гро.)
  26. Лукас, Эдуард (ноябрь 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 Paul Bousrez, Tours.(NB. Н. Клаус де Сиам является анаграммой Лукаса д'Амьена, псевдонима автора Эдуарда Лукаса .)
  27. ^ де Парвиль, Анри , изд. (1883-12-27). "La tour d'Hanoï, véritable casse-tête annamite, jeu rapporté du Tonkin par le professeur Н. Клаус (де Сиам)", mandarin du collège Li-Sou-Stian. 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 demon du jeu " . Journal des Débats Politiques et Littéraires (Обзор). Revue des science (на французском языке) (Matin ed.). Париж, Франция: 1–2 [2]. ark: / 12148 / bpt6k462461g. Архивировано 18 декабря 2020 года . Проверено 18 декабря 2020 . (1 стр.)
  28. ^ Аллардис, Роберт Эдгар ; Фрейзер, Александр Юл , ред. (Февраль 1883 г.). "La Tour d'Hanoï" . Труды Эдинбургского математического общества (на английском и французском языках). Эдинбургское математическое общество . 2 (5): 50–53. DOI : 10.1017 / S0013091500037147 . eISSN 1464-3839 . ISSN 0013-0915 . Архивировано 18 декабря 2020 года . Проверено 18 декабря 2020 .   [3] (4 страницы)
  29. ^ Лукас, Эдуард (1979) [1892]. Récréations mathématiques (на французском языке). 3 (Librairie Albert Blanchard, переиздание). п. 58. (Первое издание этой книги было опубликовано посмертно.)
  30. ^ а б Гертер, Феликс; Роте, Гюнтер (2018-11-14) [2018-08-09, 2017-12, 2017-08-09, 2016-04-22]. "Перечисление кода Грея без петель и Башня Бухареста" (PDF) . Теоретическая информатика . Берлин, Германия: Institut für Informatik, Freie Universität Berlin . 748 : 40–54. arXiv : 1604.06707 . DOI : 10.1016 / j.tcs.2017.11.017 . ISSN 0304-3975 . S2CID 4014870 . DOI : 10.4230 / LIPIcs.FUN.2016.19 . В архиве (PDF)    из оригинала от 16.12.2020 . Проверено 16 декабря 2020 . [4] (15/18/19/24 стр.)
  31. ^ Гарднер, Мартин (август 1972). «Любопытные свойства кода Грея и то, как его можно использовать для решения головоломок». Scientific American . Математические игры . Vol. 227 нет. 2. п. 106. (1 стр.)
  32. ^ Земан, Иоганн; Фишер, Фердинанд, ред. (1877 г.). "Einige neuere Vorschläge zur mehrfachen Telegraphie: A. Absatzweise vielfache Telegraphie" . Политехнический журнал Динглера (на немецком языке). Аугсбург, Германия: JG Cotta'sche Buchhandlung . 226 : 499–507. Архивировано 21 декабря 2020 года . Проверено 21 декабря 2020 . п. 499: […] Der um die Mitte des J [ahres] 1874 Patenti [e] rte, ebenfalls dem Highton 'schen verwandte Typendrucker des französischen Telegraphen-Verwaltungsbeamten Baudot wurde bei seiner 1875 Patenti [e] rten Weiterenten ugnewgnewing » ]
  33. ^ Butrica, Andrew J. (1991-06-21). «Бодо, Жан Морис Эмиль». В Froehlich, Fritz E .; Кент, Аллен ; Холл, Кэролайн М. (ред.). Энциклопедия телекоммуникаций Фрёлиха / Кента: Том 2 - Батареи к кодам - ​​Телекоммуникации . 2 . Марсель Деккер Инк. / CRC Press . С. 31–34. ISBN 0-8247-2901-3. LCCN  90-3966 . ISBN 978-0-8247-2901-1 . Проверено 20 декабря 2020 . п. 31: […] Прототип Бодо (разработка велась 4 года) был построен в 1876 году. Передатчик имел 5 клавиш, похожих на клавиши пианино. Сообщения отправлялись специальным кодом из 5 элементов, разработанным Бодо […] 
  34. ^ Фишер, Эрик Н. (2000-06-20). «Эволюция кодов символов, 1874–1968» . ark: / 13960 / t07x23w8s . Проверено 20 декабря 2020 . […] В 1872 году [Бодо] начал исследования в области телеграфной системы, которая позволила бы нескольким операторам одновременно вести передачу по одному проводу и по мере получения сообщений печатать их обычными алфавитными символами на полосе бумаги. Он получил патент на такую ​​систему 17 июня 1874 года. […] Вместо переменной задержки, за которой следует единичный импульс, система Бодо использовала единообразные шесть единиц времени для передачи каждого символа. […] Его ранний телеграф, вероятно, использовал шестизначный код […], который он приписывает Дэвив статье 1877 года. […] В 1876 году Бодо модернизировал свое оборудование, чтобы использовать пятизначный код. Тем не менее, знаки препинания и цифры все еще иногда требовались, поэтому он перенял у Хьюза использование двух специальных буквенных и цифровых символов, которые заставляли бы принтер переключаться между регистрами одновременно с продвижением бумаги без печати. Пятизначный код, который он начал использовать в это время […], был структурирован в соответствии с его клавиатурой […], которая управляла двумя блоками каждого символа с помощью переключателей, управляемых левой рукой, а остальные три блока - правой рукой. […] [5] [6]
  35. ^ Ротен, Тимофей (1884-12-25). "Le télégraphe imprimeur Baudot" . Journal Télégraphique (на французском языке). Берн, Швейцария: Международное бюро телеграфных администраций. VIII / # 16 (12): 241–253 [249]. eISSN 2725-738X . ISSN 2223-1420 . ark: / 12148 / bpt6k5725454q . Проверено 20 декабря 2020 .   [7]
  36. ^ Пендри, Генри Уолтер (1920) [октябрь 1919]. Написано в Лондоне, Великобритания. Система печатного телеграфа Бодо (2-е изд.). Лондон, Бат, Мельбурн, Нью-Йорк: сэр Исаак Питман и сыновья, Ltd., стр. 43–44. LCCN 21005277 . OCLC 778309351 . ПР 6633244М . Проверено 20 декабря 2020 .    (vii + 184 страницы) (NB. Первое издание было опубликовано в 1913 году.)
  37. ^ a b Макмиллан, Дэвид М. (27 апреля 2010 г.) [25 апреля 2010 г., 23 апреля 2010 г.]. «Коды, которые не считаются - некоторые печатные телеграфные коды как продукты их технологий (с особым вниманием к телетайпам)» . lemur.com . Редакция 3. Минерал Поинт, Висконсин, США. Архивировано 18 декабря 2020 года . Проверено 20 декабря 2020 .
  38. ^ Написано в Лиссабоне, Portugual. Международная телеграфная конвенция Сен-Петерсбурга и правил и тарифов и приложений, Revision de Lisbonne, 1908 г. / Extraits de la publishing: Documents de la Conférence télégraphique internationale de Lisbonne (на французском языке). Берн, Швейцария: Bureau Internationale de L'Union Télégraphique . 1909 [1908].
  39. ^ "Глава IX. Сигналы передачи, статья 35. Сигналы передачи международных телеграфных алфавитов № 1 и 2, сигналы кода Морзе, de l'appareil Hughes et de l'appareil Siemens". Написано в Мадриде, Испания. Règlement télégraphique Annexé à la Convention Internationale des télécommunications - Протокол финального аудита - Мадрид, 1932 г. (PDF) (на французском языке). Берн, Швейцария: Bureau Internationale de L'Union Télégraphique . 1933 [1932]. С. 31–40 [33]. Архивировано (PDF) из оригинала 21 декабря 2020 года . Проверено 21 декабря 2020 . (1 + 188 страниц) [8]
  40. ^ «Глава IX. Сигналы передачи. Статья 35. Сигналы передачи международных телеграфных алфавитов №№ 1 и 2, сигналы азбуки Морзе и сигналы приборов Hughes и Siemens.». Регламент телеграфной связи, приложенный к Международной конвенции электросвязи - Заключительный протокол к Регламенту телеграфии - Мадрид, 1932 г. (PDF) (на английском и французском языках). Лондон, Великобритания: Главное почтовое отделение / Канцелярия Его Величества . 1933 [1932]. С. 32–40 [34]. 43-152-2 / 18693. Архивировано (PDF) из оригинала 21 декабря 2020 года . Проверено 21 декабря 2020 . (1 + 2 * 120 + 26 страниц) [9]
  41. ^ Земанек, Генрих "Хайнц" Йозеф (1983-12-01). Отто Шеффлер (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-е изд.). Вена, Австрия: Технический музей промышленности унд Gewerbe , Forschungsinstitut für Technikgeschichte / Springer-Verlag . С. 81–118. ISBN 3-21181779-4. ISSN  0067-9127 . OCLC  952698275 . ISBN 978-3-21181779-7 . 
  42. ^ Земанек, Генрих «Хайнц» Йозеф (1976-06-07). «Предыстория и история компьютеров в Центральной Европе» . Написано в Вене, Австрия. Международный семинар по управлению знаниями требований . AFIPS '76: Материалы национальной компьютерной конференции 7–10 июня 1976 г. и экспозиция июнь 1976 г. 1 . Нью-Йорк, США: Американская федерация обществ обработки информации , Ассоциация вычислительной техники . С. 15–20. DOI : 10.1145 / 1499799.1499803 . ISBN 978-1-4503-7917-5. S2CID  14114959 . DOI : 10,1109 / AFIPS.1976.41 . Архивировано 17 декабря 2020 года . Проверено 17 декабря 2020 . п. 17: […] В 1874 году Шеффлер  [ де ] изобрел другой печатный телеграф , четырехкратную систему, как у Бодо , но более сложную механически. Hughes телеграфимел два синхронно вращающихся пальца, один на отправителе и один на приемнике. С помощью клавиатуры, похожей на пианино, оператор выбирал букву и, таким образом, касался вращающегося пальца в соответствующем направлении. Поскольку в этот момент принимающий палец был в том же направлении, получатель мог напечатать правильную букву. Печатные телеграфы Бодо и Шеффлера используют пятибитовый двоичный код. ... Код Шеффлера - это отраженный двоичный код! Что Ф. Грей запатентовал в 1953 году для PCM, Шеффлер применил свой телеграф в 1874 году по той же причине: надежность. У него были контактные пальцы, последовательно чувствующие на пяти кулачках все комбинации; правый запускает печать. Если пальцы должны совершить минимальное количество движений, решением будет отраженный двоичный код. Для Шеффлера эта идея была второстепенной. Точнее, код описан в письме сотрудника Austrian Post Й [оханна] Н [эпомука] Тойфельхарта, вставленном в него в качестве сноски и сообщающем, что Шеффлер нашел код, объединив деревянные бруски с различными комбинациями, пока не получил лучшее решение. Другой сотрудник Почты, Александр Вильгельм Ламберт из Линца, утверждает, что показал этот код Шеффлеру еще в 1872 году, но это утверждение неясно и не может быть проверено. […] (6 страниц)
  43. ^ Гудолл, Уильям М. (январь 1951 г.). «Телевидение с импульсной кодовой модуляцией». Технический журнал Bell System . 30 (1): 33–49. DOI : 10.1002 / j.1538-7305.1951.tb01365.x . (NB. Представлено устно перед Национальным конгрессом IRE, Нью-Йорк, март 1949 г.)
  44. ^ Карно, Морис (ноябрь 1953) [1953-04-23, 1953-03-17]. "Метод отображения для синтеза комбинационных логических схем" (PDF) . Труды Американского института инженеров-электриков, Часть I: Связь и электроника . 72 (5): 593–599. DOI : 10.1109 / TCE.1953.6371932 . Документ 53-217. Архивировано из оригинального (PDF) 16 апреля 2017 года . Проверено 16 апреля 2017 . (NB. Также содержит краткий обзор Сэмюэля Х. Колдуэлла .)
  45. ^ Wakerly, John F. (1994). Цифровой дизайн: принципы и практика . Нью-Джерси, США: Прентис Холл . С. 48–49, 222. ISBN 0-13-211459-3. ISBN 978-0-13-211459-2 . (NB. Два раздела страницы, взятые вместе, говорят, что K-карты помечены кодом Грея. В первом разделе говорится, что они помечены кодом, который меняет только один бит между записями, а второй раздел говорит, что такой код называется Gray. код.)
  46. ^ Браун, Фрэнк Маркхэм (2012) [2003, 1990]. «3.9.2 Карты». Boolean Reasoning - The Logic of Boolean Equations (переиздание 2-го изд.). Минеола, Нью-Йорк, США: Dover Publications, Inc. стр. 49. ISBN 978-0-486-42785-0. п. 49: […] Карта Карно упорядочивает аргументы дискриминантов в соответствии с отраженным двоичным кодом, также называемым кодом Грея. […](xii + 291 + 3 страницы) 1-е издание
  47. Хендлер, Вольфганг (1958). Ein Minimisierungsverfahren zur Synthese von Schaltkreisen (Minimisierungsgraphen) (Диссертация) (на немецком языке). Потсдам, Германия: Высшая техническая школа Дармштадта . D 17.(73 страницы + приложение) [10]
  48. ^ Бергер, Эрих Р .; Хендлер, Вольфганг (1967) [1962]. Steinbuch, Karl W .; Вагнер, Зигфрид В. (ред.). Taschenbuch der Nachrichtenverarbeitung (на немецком языке) (2-е изд.). Берлин, Германия: Springer-Verlag OHG . pp. 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. […] [ Диаграмма Хендлера , где все точки пронумерованы по коду Грея , расположены по окружности круга, легко понять. Однако для этого требуется много места.]
  49. ^ "Informatik Sammlung Erlangen (ISER)" (на немецком языке). Эрланген, Германия: Университет Фридриха-Александра . 2012-03-13. Архивировано из оригинала на 2017-05-16 . Проверено 12 апреля 2017 .
  50. ^ "Informatik Sammlung Erlangen (ISER) - Impressum" (на немецком языке). Эрланген, Германия: Университет Фридриха-Александра . 2012-03-13. Архивировано 26 февраля 2012 года . Проверено 15 апреля 2017 .
  51. ^ a b c d e Bhat, Girish S .; Сэвидж, Карла Дайан (1996). «Сбалансированные коды серого» . Электронный журнал комбинаторики . 3 (1). DOI : 10.37236 / 1249 .
  52. ^ Донохью, Райан (2003). «Синхронизация в цифровых логических схемах» (PDF) . Архивировано (PDF) из оригинала 15.01.2018 . Проверено 15 января 2018 .
  53. ^ Халст, Джордж Д. (1962-02-06) [1957-11-15]. Счетчик отраженного двоичного кода (PDF) . Натли, Нью-Джерси, США: Международная телефонная и телеграфная корпорация (ITT). Патент США 3020481 . Серийный номер 696793. Архивировано (PDF) из оригинала 06.08.2020 . Проверено 6 августа 2020 . (5 страниц)
  54. ^ a b c d Пауэлл, Э. Александер (июнь 1968 г.). «Коды, особенно полезные для аналого-цифрового преобразования». Краткое примечание по полезным кодам для контуров управления жидкостями (PDF) . Крэнфилд, Великобритания: Колледж воздухоплавания , факультет технологии производства. С. 7, 9. S2CID 215864694 . CoA Memo 156. архивации (PDF) от оригинала на 2020-12-15 . Проверено 15 декабря 2020 .   (18 страниц) (Примечание. В статье назван модифицированный код Грея кода Glixon, а имя Ричарда Хэмминга написано с ошибками .)
  55. ^ Мехта, Хузефа; Оуэнс, Роберт Майкл; Ирвин, Мэри Джейн «Джени» (1996-03-22). Некоторые проблемы с адресацией кода Грея . Материалы 6-го Симпозиума Великих озер по СБИС (GLSVLSI 96) . Компьютерное общество IEEE . С. 178–181. DOI : 10,1109 / GLSV.1996.497616 . ISBN 978-0-8186-7502-7. ISSN  1066-1395 .
  56. ^ a b Доран, Роберт «Боб» Уильям (март 2007 г.). Код Грея (PDF) . Серия отчетов об исследованиях CDMTCS. Центр дискретной математики и теоретической информатики, Оклендский университет , Новая Зеландия. CDMTCS-304. Архивировано (PDF) из оригинала 22 мая 2020 года . Проверено 23 мая 2020 . (25 страниц)
  57. ^ Су, Цзин-Лун; Цуй, Чи-Инь; Despain, Элвин М. (1994). Методы проектирования и компиляции архитектуры с низким энергопотреблением для высокопроизводительных процессоров (PDF) (Отчет). Лаборатория продвинутой компьютерной архитектуры. ACAL-TR-94-01. Архивировано (PDF) из оригинала 26.07.2020 . Проверено 17 декабря 2020 .
  58. ^ Го, Хуэй; Парамешваран, Шри (апрель – июнь 2010 г.). «Кодирование со сдвигом Грея для уменьшения коммутации шины адресов памяти команд для маломощных встраиваемых систем». Журнал системной архитектуры . 56 (4–6): 180–190. DOI : 10.1016 / j.sysarc.2010.03.003 .
  59. ^ Дитц, Генри Гордон "Хэнк" (2002). «Агрегированные магические алгоритмы: преобразование кода Грея» . Агрегат . Факультет электротехники и вычислительной техники, Инженерный колледж, Университет Кентукки . Архивировано 16 декабря 2020 года . Проверено 16 декабря 2020 .
  60. ^ a b Guan, Dah-Jyh (1998). «Обобщенные коды Грея с приложениями». Материалы Национального научного совета Китайской Республики, часть A . 22 : 841–848. CiteSeerX 10.1.1.119.1344 . 
  61. ^ а б Супарта, И. Ненгах (2005). «Простое доказательство существования экспоненциально сбалансированных кодов Грея» . Электронный журнал комбинаторики . 12 . DOI : 10.37236 / 1986 .
  62. ^ a b Флайв, Мэри Элизабет ; Бозе, Белла (2007). «Уравновешивание циклических R -арических кодов Грея» . Электронный журнал комбинаторики . 14 . DOI : 10.37236 / 949 .
  63. ^ Strackx, Рауль; Писсенс, Франк (2016). «Ариадна: минимальный подход к преемственности государства» . Безопасность Usenix . 25 .
  64. ^ a b Сэвидж, Карла Дайан ; Винклер, Питер (1995). «Монотонные коды Грея и проблема средних уровней» . Журнал комбинаторной теории, Серия А . 70 (2): 230–248. DOI : 10.1016 / 0097-3165 (95) 90091-8 . ISSN 0097-3165 . 
  65. ^ Savage, Carla Диана (1997-01-16). «Длинные циклы на двух средних уровнях булевой решетки» . Ars Combinatoria . Государственный университет Северной Каролины, Роли, Северная Каролина, США. 35 (А): 97–108. CiteSeerX 10.1.1.39.2249 . ISSN 0381-7032 . S2CID 15975960 . Архивировано 13 мая 2020 года . Проверено 13 мая 2020 .    (15 страниц)
  66. ^ a b Годдин, Луис (1999). "MATH 343 Дополнительные материалы по прикладной дискретной математике" (PDF) . Департамент математики Университета Саймона Фрейзера . Архивировано из оригинального (PDF) 17 февраля 2015 года.
  67. ^ Савада, Джозеф «Джо»; Вонг, Деннис Чи-Хим (2007). «Быстрый алгоритм генерации кодов Беккета – Грея». Электронные заметки по дискретной математике . 29 : 571–577. DOI : 10.1016 / j.endm.2007.07.091 .
  68. ^ Ричардс, Ричард Колер (январь 1971). «Коды змейки в коробке». Написано в Эймсе, штат Айова, США. Цифровой дизайн . Нью-Йорк, США: Wiley-Interscience , John Wiley & Sons, Inc., стр. 206–207. ISBN 0-471-71945-5. LCCN  73-147235 . (12 + 577 + 1 страниц)
  69. ^ a b NZ 264738 , Спеддинг, Норман Брюс, "Датчик положения", опубликовано 28 октября 1994 г. [ неуспешная проверка ] 
  70. ^ Спеддинг, Норман Брюс (1994-10-28). «Ниже приводится копия предварительного патента, поданного от имени Industrial Research Limited 28 октября 1994 года - NZ Patent 264738» (PDF) . Компания Industrial Research Limited. NZ Patent 264738. Архивировано (PDF) из оригинала на 2017-10-29 . Проверено 14 января 2018 .
  71. ^ Хильтген, Ален П .; Paterson, Kenneth G .; Брандестини, Марко (сентябрь 1996 г.). «Однодорожечные коды Грея» (PDF) . IEEE Transactions по теории информации . 42 (5): 1555–1561. DOI : 10.1109 / 18.532900 . Zbl 857,94007 .  
  72. ^ Хильтген, Ален П .; Патерсон, Кеннет Г. (сентябрь 2001 г.). «Коды однопутных цепей» (PDF) . IEEE Transactions по теории информации . 47 (6): 2587–2595. CiteSeerX 10.1.1.10.8218 . DOI : 10.1109 / 18.945274 . Архивировано (PDF) из оригинала 15.01.2018 . Проверено 15 января 2018 .  
  73. ^ Эцион, Туви; Шварц, Моше (ноябрь 1999 г.) [1998-05-17]. «Структура однопутных кодов Грея» (PDF) . IEEE Transactions по теории информации . ИТ-45 (7): 2383–2396. CiteSeerX 10.1.1.14.8333 . DOI : 10.1109 / 18.796379 . Архивировано (PDF) из оригинала 15.01.2018 . Проверено 15 января 2018 .   Технический отчет CS0937
  74. ^ Sillke, Торстен (1997) [1993-03-01]. «Серые коды с несколькими треками (вопрос Марко Брандестини)» . Архивировано 29 октября 2017 года . Проверено 29 октября 2017 .
  75. ^ Эцион, Туви; Патерсон, Кеннет Г. (май 1996 г.). «Почти оптимальные однопутные коды серого» (PDF) . IEEE Transactions по теории информации . ИТ-42 (3): 779–789. CiteSeerX 10.1.1.14.1527 . DOI : 10.1109 / 18.490544 . Архивировано (PDF) из оригинала 30.10.2016 . Проверено 8 апреля 2018 .  
  76. ^ Раски, Фрэнк ; Уэстон, Марк (18.06.2005). «Обзор диаграмм Венна: симметричные диаграммы» . Динамические опросы. Электронный журнал комбинаторики . DOI : 10.37236 / 26 .
  77. ^ Alciatore, Дэвид G .; Хистанд, Майкл Б. (1999). Мехатроника . McGraw – Hill Education - Европа. ISBN 978-0-07-131444-2.
  78. ^ Кришна (2008-05-11). «Код Грея для QAM» . Архивировано 29 октября 2017 года . Проверено 29 октября 2017 .
  79. ^ Стрэнг, Томас; Дамманн, Армин; Рёкль, Матиас; Пласс, Саймон (октябрь 2009 г.). Использование кодов Грея в качестве идентификаторов местоположения (PDF) . 6. GI / ITG KuVS Fachgespräch Ortsbezogen Anwendungen und Dienste (на английском и немецком языках). Оберпфаффенхофен, Германия: Институт связи и навигации, Немецкий аэрокосмический центр (DLR). CiteSeerX 10.1.1.398.9164 . Архивировано (PDF) из оригинала на 2015-05-01 . Проверено 16 декабря 2020 . Текстовое резюме (PDF) .   (5/8 страниц) [11]
  80. ^ Греферат, Маркус (2009). «Введение в теорию линейного кодирования». В Сале, Массимилиано; Мора, Тео; Перре, Людовик; Саката, Сёдзиро; Траверсо, Карло (ред.). Основы Грёбнера, кодирование и криптография . Springer Science & Business Media . п. 220 . ISBN 978-3-540-93806-4.
  81. ^ Соле, Патрик (2016-04-17). Hazewinkel, Michiel (ред.). Коды Кердока и Препарата . Энциклопедия математики . Springer Science + Business Media . ISBN 1-4020-0609-8. ISBN 978-1-4020-0609-8 . Архивировано 29 октября 2017 года . Проверено 29 октября 2017 . 
  82. ^ Сполдинг, Карл П. (1965-07-12). Как использовать датчики вала . Монровия, Калифорния, США: Datex Corporation. (85 страниц)
  83. ^ a b Уиллер, Эдвин Л. (1969-12-30) [1968-04-05]. Аналого-цифровой кодировщик (PDF) . Нью-Йорк, США: Корпорация Конрак. Патент США 3487460A . Серийный номер 719026 (397812). Архивировано (PDF) из оригинала 2020-08-05 . Проверено 21 января 2018 . п. 5, левый столбец 9, строки 15–22: […] Код MOA-GILLHAM по сути представляет собой комбинацию кода Грея, описанного выше, и хорошо известного кода Datex ; код Datex раскрыт в патенте США 3165731. . Компоновка такова, что код Datex определяет биты для количества единиц кодера, а код Грея определяет биты для каждого из декад более высокого порядка, десятков, сотен и т. Д. […] (11 страниц)
  84. ^ a b c d e f Доктер, Фолкерт; Штайнхауэр, Юрген (18.06.1973). «2.4. Кодовые числа в двоичной системе счисления». Цифровая электроника . Техническая библиотека Philips (PTL) / Macmillan Education (Переиздание 1-го англ. Ред.). Эйндховен, Нидерланды: Macmillan Press Ltd. / NV Philips Gloeilampenfabrieken . С. 32, 39, 50–53. DOI : 10.1007 / 978-1-349-01417-0 . ISBN 978-1-349-01419-4. SBN 333-13360-9. Проверено 11 мая 2020 . п. 53: […] Код Datex […] использует код О'Брайена II внутри каждой декады и отражает десятичные числа для десятичных переходов. Для дальнейшей обработки необходимо преобразование кода в натуральную десятичную систему счисления. Поскольку код О'Брайена II образует дополнение до девяти , это не вызывает особых трудностей: всякий раз, когда кодовое слово для десятков представляет нечетное число, кодовые слова для десятичных единиц задаются как дополнения до девяток путем инверсии четвертая двоичная цифра. […] (270 страниц)
  85. ^ a b c d e Доктер, Фолкерт; Штайнхауэр, Юрген (1975) [1969]. «2.4.4.6. Коды Einschrittige». Digitale Elektronik in der Meßtechnik und Datenverarbeitung: Theoretische Grundlagen und Schaltungstechnik . Philips Fachbücher (на немецком языке). I (исправленное и дополненное 5-е изд.). Гамбург, Германия: Deutsche Philips GmbH . С. 41, 48, 51, 58, 60–61. ISBN 3-87145-272-6. (xii + 327 + 3 страницы)
  86. ^ "… Точное измерение уровня жидкости - НА ЛЮБОМ РАССТОЯНИИ!" . Нефтепереработчик (Реклама). Издательская компания "Галф" . 33 (9): 368. Сентябрь 1954 г. ISSN 0096-6517 . п. 368: […] Полная диспетчеризация, измерение и дистанционное управление интегрированы в единую унифицированную систему, когда установлена ​​система импульсной кодовой телеметрии «Varec». […] 
  87. ^ Бишуп, Бернард В .; Repeta, Anthony A .; Джарриццо, Фрэнк К. (1968-08-13) [1963-04-03]. «Система телеметрии и диспетчерского контроля, имеющая нормально непрерывные телеметрические сигналы» . Leeds and Northrup Co., US 3397386A. [12]
  88. ^ «Формат импульса энкодера». Руководство по установке и эксплуатации 4-проводного преобразователя модели 1900 Micro (PDF) . Сайпресс, Калифорния, США: Whessoe Varec, Inc., январь 1993 г. [1991-07-01]. С. 04-4–04-8. 33-08461. Архивировано (PDF) из оригинала на 2020-05-16 . Проверено 16 мая 2020 . (38 страниц) (Примечание. Позиция 5 для «Дюймов» на страницах 04-8 должна читаться как «0111», а не «1111».)
  89. ^ «2.2.3.3 Формат данных уровня MSP». Varec Model 1900 - Микро 4-проводный передатчик (протокол BSAP to Mark / Space (MSP)) - Примечания по применению (PDF) . Emerson Electric . С. 11–14. Архивировано (PDF) из оригинала на 2020-05-16 . Проверено 16 мая 2020 . (vi + 33 страницы)
  90. ^ a b c Уайтман, Эрик Джеффри (1972). «Глава 6. Измерение смещения» . Приборостроение в управлении процессами (1-е изд.). Лондон, Великобритания: Баттерворта & Co (Publishers) Ltd . С. 122–123. ISBN 0-408-70293-1. ISBN 1-48316335-0 , 978-1-48316335-2 . п. 122–123: […] Другие формы кода также хорошо известны. Среди них - кодекс Королевского радарного учреждения ; Превышение Три десятичного код ; Код Гиллхема , рекомендованный ИКАО для автоматической передачи данных о высоте в целях управления воздушным движением ; код Petherick и Лесли и Рассел код из Национальной инженерной лаборатории . У каждого есть свои достоинства, и они предлагаются в качестве опций различными производителями кодировщиков. […]  (12 + 367 + 5 страниц)
  91. ^ Филлипс, Дэррил (2012-07-26) [1998]. «Высота - MODEC ASCII» . Авиационная электроника AirSport. Архивировано из оригинала на 2012-07-26.
  92. ^ Стюарт, К. (03.12.2010). "Авиационный Кодекс Грея: Разъяснение Кодекса Гиллхэма" . Пользовательские компьютерные услуги (CCS). Архивировано 16 января 2018 года . Проверено 14 января 2018 .
  93. ^ Лесли, Уильям «Билл» HP; Рассел, А. (1964). Циклический прогрессивный десятичный код для простого преобразования в десятичные и аналоговые выходы (отчет). Ист-Килбрайд, Глазго, Великобритания: Национальная инженерная лаборатория . Отчет NEL 129. (17 страниц)
  94. ^ Лесли, Уильям «Билл» HP (1974). «Работа над NC в NEL» . В Кенигсбергере, Франц ; Тобиас, Стивен Альберт (ред.). Труды Четырнадцатый Международный станкостроительный дизайна и научно -практической конференции, 12-14 сентября 1973 . Macmillan Press Ltd . С. 215–224 [215, 217]. ISBN 978-1-34901921-2. LCCN  73-16545 . SBN 333-14913-0. ISBN 1-34901921-6 . 
  95. ^ Хоклас, Арчибальд (1989-09-06) [1988-04-29]. "Abtastvorrichtung zur digitalen Wegoder Winkelmessung" (PDF) (на немецком языке). VEB Schiffselektronik Johannes Warnke  [ de ] . Патент ГДР DD271603A1. WP H 03 M / 315 194 8. Архивировано 18 января 2018 года из оригинального (PDF) . Проверено 18 января 2018 - через DEPATIS  [ de ] . [13] [14]
  96. ^ Б с д е е г ч я J K Hoklas, Арчибальд (2005). «Код Грея - Код расстояния на единицу» . Архивировано 15 января 2018 года . Проверено 15 января 2018 .
  97. ^ a b c d e Хоклас, Арчибальд (2005). "Gray-Kode - Einschrittiger Abtastkode" (на немецком языке). Архивировано 15 января 2018 года . Проверено 15 января 2018 .
  98. ^ Петерик, Эдвард Джон; Хопкинс, AJ (1958). Некоторые недавно разработанные цифровые устройства для кодирования вращения валов (Техническая записка MS21). Фарнборо, Великобритания: Royal Aircraft Establishment (RAE).
  99. ^ "Digitizer als Analog-Digital-Wandler in der Steuer-, Meß- und Regeltechnik" (PDF) . Technische Mitteilungen . Relais, elektronische Geräte, Steuerungen (на немецком языке). № 13. Кельн-Ниль, Германия: Франц Баумгартнер (FraBa). Май 1963. С. 1–2. Архивировано из оригинального (PDF) 21 мая 2020 года . Проверено 21 мая 2020 . стр. 1–2: […] Die Firma Harrison Reproduction Equipment, Фарнборо / Англия […] шляпа в jahrelanger Entwicklung в Zusammenarbeit mit der Britischen Luftwaffe und britischen Industriebetrieben den Mechanischen Digitizer […] zu einer technischen Reife gebracht, die fast allen… Genderügen. […] 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 au kommenliez, wurde eeglünssen zu kommenliez, wurde eegelünssenzu kommenlee, seeller seinen Aufbau eine relativ einfache Entschlüsselung erlaubt. Der Code basiert auf dem Petherick-Code . […] (4 страницы)
  100. ^ а б Чарнли, CJ; Bidgood, RE; Бордман, GET (октябрь 1965 г.). «Конструкция пневматического датчика положения» (PDF) . Сборники трудов МФБ . Колледж воздухоплавания, Крэнфилд, Бедфорд, Англия. 2 (3): 75–88. DOI : 10.1016 / S1474-6670 (17) 68955-9 . Глава 1.5 . Проверено 14 января 2018 .
  101. ^ Холлингдейл, Стюарт Х. (1958-09-19). «Сессия 14. Обработка данных» . Приложения компьютеров . Атлас - применение компьютеров, Ноттингемский университет, 15–19 сентября 1958 г. (доклад конференции). Архивировано 25 мая 2020 года . Проверено 25 мая 2020 .
  102. ^ a b c О'Брайен, Джозеф А. (май 1956 г.) [1955-11-15, 1955-06-23]. «Циклические десятичные коды для аналого-цифровых преобразователей» . Труды Американского института инженеров-электриков, Часть I: Связь и электроника . Bell Telephone Laboratories, Уиппани, Нью-Джерси, США. 75 (2): 120–122. DOI : 10.1109 / TCE.1956.6372498 . ISSN 0097-2452 . S2CID 51657314 . Документ 56-21 . Проверено 18 мая 2020 .   (3 страницы) (Примечание. Этот документ был подготовлен для презентации на Зимнем общем собрании AIEE, Нью-Йорк, США, с 30 января 1956 по 03 февраля 1956).
  103. ^ a b c d e f g h i Steinbuch, Karl W. , ed. (1962). Написано в Карлсруэ, Германия. Taschenbuch der Nachrichtenverarbeitung (на немецком языке) (1-е изд.). Берлин / Геттинген / Нью-Йорк: Springer-Verlag OHG . С. 71–74, 97, 761–764, 770, 1080–1081. LCCN 62-14511 . 
  104. ^ a b c d e f g h я Steinbuch, Karl W .; Вебер, Вольфганг; Heinemann, Traute, eds. (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 . ISBN 978-3-540-06241-7 . 
  105. ^ Фосс, Фредерик А. (1960-12-27) [1954-12-17]. «Системы управления» (PDF) . International Business Machines Corp . Рис. 7, Рис. 8, Рис. 11. Патент США 2966670A . Серийный номер 475945. Архивировано (PDF) из оригинала 21.06.2020 . Проверено 5 августа 2020 . (14 страниц) (NB. Автор назвал свой код 2 * -4-2-1 (+ 9- ± 7- ± 3- ± 1) отраженным десятичным кодом.)
  106. ^ Фосс, Фредерик А. (декабрь 1954 г.). «Использование отраженного кода в цифровых системах управления». Операции IRE на электронных компьютерах . ИС-3 (4): 1–6. DOI : 10.1109 / IREPGELC.1954.6499244 . ISSN 2168-1740 .  (6 страниц)
  107. ^ Эванс, Дэвид Сильвестр (1958). «[неизвестно]» . Сделки . Институт Измерения и Контроля. 10–12: 87. Cite использует общий заголовок ( справка ) (NB. Код Уоттса был назван кодом WRD или отраженным десятичным числом Уоттса, чтобы отличать его от других кодов, используемых в Hilger & Watts Ltd. ).
  108. ^ Бенджамин, PW; Николлс, GS (1963). «3.2.2 Электромеханические дигитайзеры». Измерение нейтронных спектров методом полуавтоматического сканирования протонов отдачи в фотоэмульсиях . Управление по атомной энергии Соединенного Королевства , Научно-исследовательский центр по атомному оружию , Великобритания: Министерство энергетики США . С. 8–10, 19. Отчет AWRE № NR 5/63. [15] (23 страницы)
  109. ^ Klinkowski, Джеймс Дж (1967-03-14) [1964-03-23]. "Электронные схемы диодно-матричного декодера" (PDF) . Детройт, Мичиган, США: Корпорация Берроуз . Патент США 3309695A . Серийный номер 353845. Архивировано (PDF) из оригинала 2020-05-23 . Проверено 23 мая 2020 . (5 страниц) [16]
  110. ^ Klinkowski, Джеймс Дж (1970-03-31) [1966-12-22]. «Преобразователь двоично-десятичных сигналов» (PDF) . Детройт, Мичиган, США: Корпорация Берроуз . Патент США 3504363A . Серийный номер 603926. Архивировано (PDF) из оригинала 2020-05-23 . Проверено 23 мая 2020 . (7 страниц)
  111. ^ "[неизвестно]". Новости электрического дизайна . Издательство Роджерс . 12 . 1967. ISSN 0012-7515 .  Cite использует общий заголовок ( справка ) [17] [18]
  112. ^ Тота-Zentai, Györgyi (1979-10-05). «Некоторые проблемы угловых вращательных цифровых преобразователей» . Периодика Политехника Электротехника . Кафедра электронных технологий, Технический университет, Будапешт, Венгрия. 23 (3–4): 265–270 [266] . Проверено 23 мая 2020 . [19] (6 страниц) (NB. Показывает 6-значный код Ватт.)
  113. ^ Савард, Джон JG (2018) [2006]. «Десятичные представления» . квадиблок . Архивировано 16 июля 2018 года . Проверено 16 июля 2018 .
  114. ^ a b Терви младший, Фрэнк П. (1958-07-29) [1956-05-17]. "Импульсно-счетный кодер" (PDF) . Натли, Нью-Джерси, США: Международная телефонная и телеграфная корпорация . Патент США 2845617A . Серийный номер 585494. Архивировано (PDF) из оригинала 2020-05-23 . Проверено 23 мая 2020 . (5 страниц)
  115. ^ a b Гликсон, Гарри Роберт (март 1957 г.). «Можете ли вы воспользоваться преимуществами циклического двоично-десятичного кода?» . Техника управления . Техническая издательская компания , подразделение Dun-Donnelley Publishing Corporation, Dun & Bradstreet Corp. 4 (3): 87–91. ISSN 0010-8049 .   (5 страниц)
  116. ^ a b Боруки, Лоренц; Диттманн, Иоахим (1971) [июль 1970, 1966, осень 1965]. «2.3 Gebräuchliche Codes in der digitalen Meßtechnik». Написано в Крефельде / Карлсруэ, Германия. Digitale Meßtechnik: Eine Einführung (на немецком языке) (2-е изд.). Берлин / Гейдельберг, Германия: Springer-Verlag . С. 10–23 [12–14]. DOI : 10.1007 / 978-3-642-80560-8 . ISBN 3-540-05058-2. LCCN  75-131547 . ISBN 978-3-642-80561-5 . (viii + 252 страницы) 1-е издание (NB. Как и Каммерер , авторы описывают 6-битный 20-циклический код Glixon.)
  117. ^ a b Kämmerer, Вильгельм (май 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.(NB. Существует также второе издание 1973 года. Подобно Боруки и Диттманну , но не называя его кодом Glixon, автор создает 20-циклический тетрадический код из кода Glixon и вариант кода Glixon с инвертированным старшим битом.)
  118. ^ Пол, Маттиас Р. (1995-08-10) [1994]. "Unterbrechungsfreier Schleifencode" [Код непрерывного цикла]. 1.02 (на немецком языке) . Проверено 11 февраля 2008 .(NB. Автор назвал этот код Schleifencode (англ .: «loop code»). Он отличается от BCD-кода Грея только кодировкой состояния 0, чтобы сделать его циклическим кодом единичного расстояния для приложений с полным кругом вращения. -Нулевой кодовый шаблон позволяет выполнять самотестирование контура и использовать линии данных для бесперебойного распределения питания.)
  119. ^ Клар, Райнер (1970-02-01). Digitale Rechenautomaten - Eine Einführung [ Цифровые компьютеры - Введение ]. Sammlung Göschen (на немецком языке). 1241 / 1241a (1-е изд.). Берлин, Германия: Walter de Gruyter & Co. / GJ Göschen'sche Verlagsbuchhandlung  [ de ] . п. 17. ISBN 3-11-083160-0. ISBN 978-3-11-083160-3 . Archiv-Nr. 7990709. Архивировано 01.06.2020 . Проверено 13 апреля 2020 . (205 страниц) (Примечание. Перепечатка первого издания 2019 г. доступна под номерами ISBN 3-11002793-3 , 978-3-11002793-8 . Существует также переработанное и расширенное 4-е издание .) 
  120. ^ Клар, Райнер (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. ISBN 978-3-11011700-4 . (320 страниц) (NB. Автор назвал этот код Einheitsabstandscode (английский: «код единичного расстояния»). Поменяв местами две битовые строки и инвертируя одну из них, он может быть преобразован в код О'Брайена II , тогда как путем замены и инвертируя две битовые строки, его можно преобразовать в код Петерика .)

Дальнейшее чтение [ править ]

  • Ричардс, Ричард Колер (1955). Арифметические операции в цифровых компьютерах (5-е изд.). Нью-Йорк, США: D. Van Nostrand Co., Inc.
  • Ричардс, Ричард Колер (1967). Электронные цифровые компоненты и схемы . Д. Ван Ностранд Ко., Инк. Стр. 490, 500–504, 510–511.
  • Блэк, Пол Э. (25 февраля 2004 г.). «Код Грея» . NIST .
  • Press, William H .; Teukolsky, Saul A .; Веттерлинг, Уильям Т .; Фланнери, Брайан П. (2007). «Раздел 22.3. Коды Грея» . Числовые рецепты: искусство научных вычислений (3-е изд.). Нью-Йорк, США: Издательство Кембриджского университета . ISBN 978-0-521-88068-8.
  • Дикарь, Карла Дайан (1997). "Обзор комбинаторных кодов Грея" . SIAM Обзор . Общество промышленной и прикладной математики (SIAM). 39 (4): 605–629. CiteSeerX  10.1.1.39.1924 . DOI : 10.1137 / S0036144595295272 . JSTOR  2132693 .
  • Уилф, Герберт Сол (1989). «Главы 1–3». Комбинаторные алгоритмы: обновление . Общество промышленной и прикладной математики (SIAM). ISBN 0-89871-231-9. ISBN 978-0-89871-231-5 . 
  • Дьюар, Меган; Стивенс, Бретт (29 августа 2012 г.). Упорядочивание конструкций блока - коды Грея, универсальные циклы и конфигурация . CMS Книги по математике (1-е изд.). Нью-Йорк, США: Springer Science + Business Media . DOI : 10.1007 / 978-1-4614-4325-4 . ISBN 978-1-46144324-7. ISSN  1613-5237 . ISBN 1-46144324-5 . 
  • Максфилд, Клайв «Макс» (01.10.2012) [28.05.2011]. «Основы кода Грея» . Как сделать дизайн . EETimes . Часть 1. Архивировано 30.10.2017 . Проверено 30 октября 2017 . Часть 2 Часть 3
  • Уоррен-младший, Генри С. (2013). «Глава 13: Код Грея». Восторг хакера (2-е изд.). Эддисон Уэсли - Pearson Education, Inc., стр. 311–317. ISBN 978-0-321-84268-8. (7 страниц)
  • Зиновик, Игорь; Кронинг, Даниэль; Чебиряк, Юрий (21.03.2008). «Вычисление двоичных комбинаторных кодов Грея с помощью исчерпывающего поиска с помощью SAT-решателей» . IEEE Transactions по теории информации . IEEE . 54 (4): 1819–1823. DOI : 10.1109 / TIT.2008.917695 . ЛВП : 20.500.11850 / 11304 . (5 страниц)
  • О'Брайен, Джозеф А. (июнь 1957 г.). "Преобразователи двоично-десятичного кода единица-расстояние" . Операции IRE на электронных компьютерах . ИС-6 (2): 122–123. DOI : 10.1109 / TEC.1957.5221585 . ISSN  0367-9950 . Проверено 25 мая 2020 . (2 страницы)
  • Барр, К.Г. (март 1981 г.). «Десятичный код Грея - легко конвертируется для кодирования положения вала» (PDF) . Беспроводной мир . Vol. 87 нет. 1542. Факультет естественных наук Вест-Индского университета . С. 86–87. Архивировано (PDF) из оригинала 28.07.2020 . Проверено 28 июля 2020 .

Внешние ссылки [ править ]

  • Демонстрация "Gray Code" Майкла Шрайбера, Wolfram Demonstrations Project (с реализацией Mathematica). 2007 г.
  • Словарь алгоритмов и структур данных NIST: код Грея .
  • Hitch Hiker's Guide по эволюционным вычислениям, Q21: Что такое коды Грея и почему они используются? , включая код C для преобразования между двоичным кодом и BRGC.
  • Драгос А. Харабор использует коды Грея в 3D-дигитайзере .
  • Однодорожечные коды Грея, двоичные цепные коды ( Lancaster, 1994 ) и регистры сдвига с линейной обратной связью - все это полезно для определения абсолютного положения на однопутном поворотном энкодере (или другом датчике положения).
  • Столбец AMS: коды Грея
  • Генератор колеса оптического кодировщика
  • ProtoTalk.net - Понимание квадратурного кодирования - более подробно описывает квадратурное кодирование с акцентом на роботизированные приложения