海明校验码的理解和计算

海明校验码的理解和计算海明码是一种利用奇偶性来差错和纠错的校验方法。海明码的构成方法是在数据位之间的特定位置插入K个校验位,通过扩大码距来实现检错和纠错。假设数据位是n位,校验位是k位,则n和k的关系必须满足以下关系:2^k-1>=n+k依据给定的数据位,很容推断到校验位,但是校验位在数据中的位置需要立即。还是以一个实际的例子说明吧:原始数据:1011这样n=4,将k=1,2,3,… 代入公式很容发现k=3就满足条件,2^3-1>=4+3所以校验码位数为3位,数据和校验码一共7位。校

大家好,欢迎来到IT知识分享网。

海明码是一种利用奇偶性来差错和纠错的校验方法。海明码的构成方法是在数据位之间的特定位置插入K个校验位,通过扩大码距来实现检错和纠错。

假设数据位是n位,校验位是k位,则n和k的关系必须满足以下关系:

2^k -1 >= n+k

依据给定的数据位,很容推断到校验位,但是校验位在数据中的位置需要立即。

还是以一个实际的例子说明吧:

原始数据:1011

这样 n=4 , 将 k=1,2,3,…  代入公式很容发现 k=3就满足条件,2^3-1 >=4+3

所以校验码位数为3位,数据和校验码一共7位。

校验码的位置都处在2的n(n=0,1,2,3…)次方中,即位于1,2,4,8,16…的位置上,其余为才能填充数据。

本例就7位数据组成:D4D3D2D1+P2P1P0

7        6        5        4        3        2        1

D4      D3    D2    **   P2**     D1      P1    P0

1        0        1                    1

7=4+2+1 ==> 第4位 P2,第2位P1,第1位 P0 这3个校验位共同校验

6=4+2==> 第4位 P2,第2位P1 这2个校验位共同校验

5=4+1 ==> 第4位 P2,第1位 P0  这2个校验位共同校验

3=2+1 ==> 第2位P1,第1位 P0    这2个校验位共同校验

校验码计数,异或运算:

P2 = D7D6D5=101=0

P1=D7D6D3=101=0

P0=D7D5D3=111=1

校验码为:001

传输数据为: 1 0 1 0 1 0 1

检错和纠错原理

接收方依据同样的规则重新计算三位校验码的值。而后与接收到的校验码进行异或。当数据无误时,产生的校验码无误,若接收到的校验码有误,那么这不同的2个校验码异或,必然为1.

若某位的校验码最终异或结果为1,则表示产生了错误,找出错误位之后,就可以纠错了,纠错方法就时将该为逆转。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/10673.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信