格雷碼辨析
格雷碼( Gray Code,GreyCode,又稱作葛萊碼,二進制循環碼) 是1880 年由法國工程師Jean - Maurice - Emlle Baudot 發明的一種編碼,因Frank Gray 于1953 年申請專利"Pulse CodeCommunicatiON"而得名。當初是為了機械應用,后來在電報上取得了巨大發展,現在則常用于模擬- 數字轉換和轉角- 數字轉換中。
1 格雷碼( Gray Code) 的由來
無容置疑,迄今為止對典型格雷碼( Primary GrayCode) 的權威描述是Frank Gray的美國專利"PULSECode Communication[8]".該專利申請于1947 年11 月13 日,申請號為785697; 1953 年3 月17 日獲得批準,專利號為2632058,專利權歸貝爾電話實驗室所有。
根據所用編碼的鏡像反射特性,專利將其稱之為反射二進制碼( Reflected Binary Code) .專利還介紹了幾種變形格雷碼( Gray Code Variants)。
筆者所見最早使用術語"Gray Code"的文獻是Earl Albert Ragland 等人在1953 年10 月16 日申請、1958 年2 月11 日獲得批準的2823345 # 美國專利"Direction - Sensitive Binary Code Position Control System[9]".據此,Gray code 出現在1953 年10 月16 日之前在邏輯上是可能的。另一篇使用Gray Code 的文獻是Jack Breckman 在1953 年10 月31 日申請、1956 年1 月31 日獲得批準的2733432 # 美國專利"EncodingCircuit".考慮到專利公開時的修訂問題,GrayCode 的出現應不晚于1956 年1 月。
2 格雷碼的特點和應用
典型的二進制格雷碼( Binary Gray Code) 和部分其他數碼如表1 所示。
表1 典型二進制格雷碼和其他部分數碼

典型格雷碼是具有反射特性和循環特性的單步二進制自補碼( Reflected Cyclic Binary Unit - diSTanceSelf - complementing Code) .與自然二進制碼( NaturalBinary Code) 相比,它的誤碼率較低,是一種錯誤最小化的可靠性編碼,又稱為最小差錯〔二進制〕碼( Minimum Error [binary]Code) ,經常用在數字通信和自動化測控系統中,使用在格雷碼計數器中還可以大大降低計數器的動態功耗。格雷碼還與PDC( Position - to - Digital Converter) 、TDC、ADC、DAC、真值表、卡諾圖、哈密頓圖、九連環、漢諾塔、十六進制難題( Hexadecimal Puzzle) 、回形滑行難題或瘋像跳舞( Spinout Puzzle or Crazy Elephant Dance) 等數字測控、數理邏輯和人工智能問題有著密切關系。利用格雷碼的奇偶性和± 1 規律等數學性質,可以方便地設計出可級聯、可預置、可逆計數的三可格雷碼計數器,也方便了九連環的套解和漢諾塔的搬移。
3 幾個錯誤說法
盡管有很多專家學者對格雷碼的研究和發展做出了巨大貢獻,但難免也會出現一些不太準確的說法。
現歸納如下:
( 1) 將Gray Code 說成無權碼。
在Gray 的專利中可知其權的絕對值為2n - 1,其符號按照1 出現的次序從高到低正負交替。可能是因為無數學推導,且在專利中有3
評論