奇数位容易检错,因为奇偶性发生了改变;偶数位发生改变,奇偶性不变!
原文地址:奇偶校验作者:无敌宝贝
奇偶校验码

奇偶校验码
    奇偶校验码是一种通过增加冗余位使得码字中"1"的个数恒为奇数或偶数的编码方法,它是一种检错码。在实际使用时又可分为垂直奇偶校验、水平奇偶校验和水平垂直奇偶校验等几种。

1.垂直奇偶校验

    垂直奇偶校验又称为纵向奇偶校验,它是将要发送的整个信息块分为定长p位的若干段(比如说q段),每段后面按"1"的个数为奇数或偶数的规律加上一位奇偶位,如图2.19所示。问位信息(I11,I21,…,Ipl,I12,…,Ipq)中,每p位构成一段(即图中的一列),共有q段(即共有q列〉。每段加上一位奇偶校验冗余位,即图中的rio编码规则为

[转载]奇偶校验_转载

    注意:此间的"+"指的是模二加,也即异或运算。

    图中箭头给出了串行发送的顺序,即逐位先后次序为I11,I21,…,Ip1,r1,I12,…,Ipa,r2,…,儿,…,I间,rq。在编码和校验过程中,用硬件方法或软件方法很容易实现上述连续半加运算,而且可以边发送边产生冗余位;同样,在接收端也可边接收边进行校验后去掉校验位。

 [转载]奇偶校验_转载_02

    垂直奇偶校验方法的编码效率为R=p/(p+1)。通常,取一个字符的代码为一个信息段,这种垂直奇偶校验有时也称为字符奇偶校验。例如,在8位字符代码(即用8位二进制数位表示一个字符)中,p=8,编码效率便为8/9。

    垂直奇偶校验方法能检测出每列中的所有奇数位错,但检测不出偶数位的错。对于突发错误来说,奇数位错与偶数位错的发生概率接近于相等,因而对差错的漏检率接近于1/20。

2.水平奇偶校验

    为了降低对突发错误的漏检率,可以采用水平奇偶校验方法。水平奇偶校验又称为横向奇偶校验,它是对各个信息段的相应位横向进行编码,产生一个奇偶校验冗余位,如图2.20所示,编码规则为

[转载]奇偶校验_转载_03

    若每个信息段就是一个字符的话,这里的q就是发送的信息块中的字符数。

    水平奇偶校验的编码效率为R=q/(q+1)。

    水平奇偶校验不但可以检测出各段同一位上的奇数位错,而且还能检测出突发长度<p的所有突发错误。因为按发送顺序从图2.20可见,突发长度《p的突发错误必然分布在不同的行中,且每行一位,所以可以检出差错,它的漏检率要比垂直奇偶校验方法低。但是实现水平奇偶校验时,不论采用硬件方法还是软件方法,都不能在发送过程中边产生奇偶校验冗余位边插入发送,而必须等待要发送的全部信息块到齐后,才能计算冗余位,也就是一定.要使用数据缓冲器,因此它的编码和检测实现起来都要复杂一些。

[转载]奇偶校验_转载_04

3.水平垂直奇偶校验

    同时进行水平奇偶校验和垂直奇偶校验就构成水平垂直奇偶校验,也称为纵横奇偶校实验,如图2.21所示。若水平垂直都采用偶校验,则

[转载]奇偶校验_转载_05

    水平垂直奇偶校验的编码效率为R=pq/[(p+1)(q+1)]。.

[转载]奇偶校验_转载_06

    水平垂直奇偶校验能检测出所有3位或3位以下的错误(因为此时至少在某一行或某一'列上有一位错)、奇数位错、突发长度<=p+1的突发错以及很大一部分偶数位错。测量表明,这种方式的编码可使误码率降至原误码率的百分之一到万分之一

    水平垂直奇偶校验不仅可检错,还可用来纠正部分差错。例如数据块中仅存在1位错时,便能确定错码的位置就在某行和某列的交叉处,从而可以纠正它