格雷码是怎么编码的?规则是什么?

在一组数的编码中,如果任意两个相邻的码只相差一个二进制数,这种编码称为格雷码。典型的二进制格雷码,简称格雷码,是以1953公布的弗兰克·格雷专利“脉冲码通信”命名的。最初用于通信,现在常用于模数转换和位置数字转换。法国电信工程师波特在1880中使用了波特码,相当于它的一个变种。乔治·斯蒂比兹在1941中设计的一个8元二进制机械计数器正好符合格雷码计数器的计数规律。

1.格雷码的编码规则

格雷码总线位置检测单元包括地址发射单元、天线盒、地址检测单元、格雷码总线和安装附件。利用单匝线圈最简单的感应原理,在天线盒线圈上施加交流电时,天线盒周围会产生交变磁场。格雷码母线近似处于交变均匀分布的磁场中,每对格雷码母线芯都会产生感应电动势。发射单元的地址信号通过电磁耦合传输到格雷码总线的感应回路。

地址检测单元比较接收信号的相位。交叉线的信号相位与平行线相同,地址为“0”;交叉线的信号相位与平行线的信号相位相反,地址为“1”,使感测到的地址信息为格雷码排列,永不重复,从而确定移动台在格雷码总线长度方向上的位置。

2.格雷码的一些定律

在数字系统中,只能识别0和1,各种数据只有转换成二进制码后才能进行处理。格雷码是一种不加权码,采用绝对编码方式。典型的格雷码是一步自互补码,具有反射和循环特性。其循环性和单步性的特点消除了取随机数时产生严重误差的可能性,其反射性和自补性的特点使求逆非常方便。格雷码属于可靠性编码,是一种误差最小化的编码方法,因为自然二进制码可以通过数模转换器直接转换成模拟信号,但在某些情况下,比如二进制码从十进制3转换成十进制4时,每一位都要改变,这就使得数字电路产生一个很大的峰值电流脉冲。而格雷码则没有这个缺点。这是一种数字排序系统,其中所有相邻的整数在数字表示上只有一个数字不同。当它在任意两个相邻数字之间转换时,只有一个数字发生变化。它大大减少了从一种状态到下一种状态的逻辑混乱。另外,由于最大数和最小数之间只有一个数不同,所以通常也称为格雷反射码或循环码。下表是几种自然二进制码和格雷码的对照表:

┌────┬──────┬───┬────┬──────┬────┐

十进制数,自然二进制数,格雷码,十进制数,自然二进制数,格雷码

├────┼──────┼───┼────┼──────┼────┤

│0 │0000 │0000 │8 │1000 │1100 │

├────┼──────┼───┼────┼──────┼────┤

│1 │0001 │0001 │9 │1001 │1101 │

├────┼──────┼───┼────┼──────┼────┤

│2 │0010 │0011 │10 │1010 │1111 │

├────┼──────┼───┼────┼──────┼────┤

│3 │0011 │0010 │11 │1011 │1110 │

├────┼──────┼───┼────┼──────┼────┤

│4 │0100 │0110 │12 │1100 │1010 │

├────┼──────┼───┼────┼──────┼────┤

│5 │0101 │0111 │13 │1101 │1011 │

├────┼──────┼───┼────┼──────┼────┤

│6 │0110 │0101 │14 │1110 │1001 │

├────┼──────┼───┼────┼──────┼────┤

│7 │0111 │0100 │15 │1111 │1000 │

└────┴──────┴───┴────┴──────┴────┘

一般来说,普通二进制码和格雷码可以通过以下方式相互转换:

二进制码-格雷码(编码):从最右边的位开始,每一位依次与左边的位异或(),作为对应格雷码位的值,最左边的位不变(相当于左边的0);

格雷码->二进制码(解码):将每一位与左起第二位的左位解码值进行异或,作为该位的解码值(最左位不变)。

数学(计算机)描述:

原码:p[0 ~ n];格雷码:c[0 ~ n](n∈n);代码:c = g(p);解码:p = f(c);写字时,数字从左到右递减。

代码:c = p xor p [I+1] (I ∈ n,0≤i≤n-1),c[n]= p[n];

解码:p [n] = c [n],p = c xor p [I+1] (I ∈ n,0≤i≤n-1)。

Gay码是贝尔实验室的盛品华·盖伊在20世纪40年代提出的(1880年由法国工程师Jean-Mauice-Emlle Baudot发明),用于使用PCM(脉冲编码调制)方法传输信号时避免出错,并于1953年3月17日获得美国专利。顾名思义,Gay码的编码方式不是唯一的,这里讨论的是最常用的一种。