可靠性编码的作用是为了提高系统的可靠性,格雷(Gray)码和奇偶检验码(Parity Check Code)两种简单的可靠性编码。
1.格雷码
(1)特点
任意两个相邻数的格雷码仅有一位不同。这一特点可以减少代码在形成或按序变化时所产生的错误。
(2)格雷码与二进制数之间的转换
典型格雷码与普通二进制数之间的转换规则如下:
设二进制码为B=Bn-1Bn-2…Bi+1Bi…B1B0,与其对应的格雷码为G=Gn-1Gn-2…Gi+1Gi…G1G0,有:
二进制数转换成格雷码:Gn-1=Bn-1
Gi=Bi+1Bi i=0~n-2
例如,二进制码10110100对应的格雷码为11101110,转换方法如下:
格雷码转换成二进制数:Bn-1=Gn-1
Bi=Bi+1Gi i=0~n-2
转换方法类似。
2.奇偶检验码
奇偶检验码主要用于检查信息在传送过程中是否产生错误。它由n位信息位加1位检验位组成。
(1)编码规则
奇偶检验码分为奇检验和偶检验两种编码方式。若采用奇检验,则检验位的取值应使整个代码中含“1”的个数为奇数;若采用偶检验,则检验位的取值应使整个代码中含“1”的个数为偶数。
(2)检验原理
在发送端对n位信息进行编码,产生1位检验位,形成n+1位代码发往接收端;在接收端检测n+1位代码中含“1”的个数是否与约定的编码规则相符,若相符则判定为正确,否则判定为错误。工作原理如图1所示。
图1 奇偶检验码的工作原理
奇偶检验码的优点是编码简单,相应的编码电路和检测电路也简单。但它存在两点不足:一是发现错误后不能对错误定位,所以在接收端不能对错误进行纠正;二是只能发现单错,不能发现双错。