首页 > 编程知识 正文

海明码奇偶校验区别,采用偶校验的海明校验码

时间:2023-05-04 23:47:08 阅读:225638 作者:1324

奇偶校验:

不管是奇校验还是偶校验,监督位都在数据的后面,而且仅一位。如:

信息位

监督位

111001110

1

编码原理:

                                信息位

监督位

1110 0110 00

1110 0110 00

奇校验时

0

1

偶校验时

1

0

上面的形式是10位数据位+1位监督位。

奇校验,要保证插入监督码后”1“的个数为奇数,其中数据位是不变的,所以监督位置1或0;也就是说,若数据位中”1“的个数是偶数,则监督位为1;若数据位中”1“的个数是奇数,则监督位为0。

偶校验,要保证插入监督码后”1“的个数为偶数,其中数据位是不变的,所以监督位置1或0;也就是说,若数据位中”1“的个数是偶数的话,则监督位为0;若数据位中”1“的个数是奇数,则监督位为1。
 

公式表示:

设码组长度为n,前n-1位信息码元,第n位为监督位

在偶校验时   有:

             则监督位:

在奇校验时   有:

             则监督位:

其中表示模2和,等同“异或”运算。

奇偶校验只能发现单个或者奇数个错误,而不能校测出偶数个错误,因而它的校错能力不强。

无语的便当:

  奇偶校验只能检错,并不能纠错,因为一位的监督码并不足以把错误的位置表示出来。无语的便当是一种多重(复式)奇偶检错系统。监督位的长度并不一定,信息位越长,监督位越长,因为它还要把错误的位置表示出来。

若信息长为n,信息位数为k,监督位为r=n-k。则要求:

若有两个监督位,那么两个校正字就有4种可能的组合:

00

无错

01

第一位出错

10

第二位出错

11

第三位出错

监督位不是放在信息位的后面,也不是连续的。

监督位在上,n是为整数且。假如四位信息码为“1011”,怎么去求校验位、、的值。
无语的便当也分为偶校验无语的便当、奇校验无语的便当。下面采用偶校验举例。

 对信息码“1011”进行海明编码:
第一步:确定校验码的个数和位置。

已知:信息位数k=4,由得最小的校验位数r=3。位置在上。P代表校验位,D代表信息位,如下:

码字位置(二进制)

1(0001)

2(0010)

3(0011)

4(0100)

5(0101)

6(0110)

7(0111)

码位类型

码值

1

0

1

1

第二步:根据关系式求出每一个校验位。

负责校验信息位、、,在偶校验时有

                         则:=0

负责校验信息位、、,在偶校验时有

                         则:=1

负责校验信息位、、,在偶校验时有

                         则:=0

对信息码“1011”进行海明编码后为“0110011”。

  在这里的每一个校验位该负责哪几个信息位是有规律的,从上面的表格可以看出来,每一个校验码跟其负责的任一信息位的码字位置进行“与”运算等于1,根据这规律就知道每个校验位负责的所有信息位。

如: (0001)&(0001)=1     (0001)&(0101)=1

     (0001)&(0110)=0     (0001)&(0111)=1

所以负责的校验信息位是、、。同理得出、。

以上是发送方的处理过程,在接收方根据下面3个校验方程对接收到的信息进行奇偶测试:

A==0

B==0

C==0

以A为最低有效位,可构成二进制数CBA.

若CBA=000,即等式右边都等于0,说明没有错;若CBA=001,说明出错;若CBA=100,说明出错。

 

 

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。