图文详解海明校验码,通俗易懂,仔细看完就会了

图文详解海明校验码,通俗易懂,仔细看完就会了海明校验码海明校验码的准则:1.校验码必须放在2的幂次上(2^n^),n为0,1,2,3,….2.满足k+r+1<=2^r^,k为信息位的长度,r为校验码长度例:求信息1011的海明码。方法一:已知:k为4,则需要满足4+r+1<=2^r^,可知r=

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

海明校验码

海明校验码的准则:

  • 1.校验码必须放在2的幂次上(2n),n为0,1,2,3,….
  • 2.满足 k+r+1 <= 2r,k为信息位的长度,r为校验码长度

例:求信息 1011 的海明码。

方法一:

已知:k为4,则需要满足 4+r+1 <= 2r , 可知 r=3 时公式成立,校验码长度为3。校验码的位置为 20、21、22(1、2、4),海明码长度(信息位+校验位)为4+3=7。

图 32

当前信息位由那几个校验位决定?其规律是:第i位信息位,由校验位位号之和等于i的那些校验位所校验。
例如:I0是由r1和r0决定的。3=21+20=2+1
可得信息位7、6、5、3的校验位分别是哪几个。
7=22+21+20=4+2+1,6=22+21=4+2,5=22+20=4+1,3=21+20=2+1

可见下表:

信息位-位数 校验位-位数
7 4、2、1
6 4、2
5 4、1
3 2、1

校验位的值与数据位相关,例如:r2(位号:4)与信息位I4 、 I3 、 I2 有关。

图 33

异或⊕(xor)运算(同为0,异为1)

r2 = I4 ⊕ I3 ⊕ I2 = 1 ⊕ 0 ⊕ 1 = 0
r1 = I4 ⊕ I3 ⊕ I1 = 1 ⊕ 0 ⊕ 1 = 0
r0 = I4 ⊕ I2 ⊕ I1 = 1 ⊕ 1 ⊕ 1 = 1

多个异或运算规律:
算式中1的个数为奇数,结果为1;算式中1的个数为偶数,结果为0(注:0个也是偶数个)

可得海明码为:1010101

方法二(推荐):

已知:k为4,则需要满足 4+r+1 <= 2r , 可知 r=3 时公式成立,校验码长度为3。校验码的位置为 20、21、22(1、2、4),海明码长度(信息位+校验位)为4+3=7。

将位数取对应的二进制数,把校验位放入相应位置得:
图 37

校验位r下标i与信息位二进制位置i为1的位数相对应,例如r1
图 38

r1 = 3 ⊕ 5 ⊕ 7 = 1 ⊕ 1 ⊕ 1 = 1

r2对应的是:
图 39

同理可得r3

图 40

可得海明码为:1010101


校验1:若收到的信息为1011101(第4位出错,从左往右数)
接收方需要采用上面的方法进行计算,并加上校验位自身,则:
图 36

r2 ⊕ I4 ⊕ I3 ⊕ I2 = 1 ⊕ 1 ⊕ 0 ⊕ 1 = 1
r1 ⊕ I4 ⊕ I3 ⊕ I1 = 0 ⊕ 1 ⊕ 0 ⊕ 1 = 0
r0 ⊕ I4 ⊕ I2 ⊕ I1 = 1 ⊕ 1 ⊕ 1 ⊕ 1 = 0

100代表第 22 = 4 位置出错,取反就可以得到正确的值了。

校验2:若收到的信息为1010100(第1位出错,从左往右数)
图 34

r2 ⊕ I4 ⊕ I3 ⊕ I2 = 0 ⊕ 1 ⊕ 0 ⊕ 1 = 0
r1 ⊕ I4 ⊕ I3 ⊕ I1 = 0 ⊕ 1 ⊕ 0 ⊕ 1 = 0
r0 ⊕ I4 ⊕ I2 ⊕ I1 = 0 ⊕ 1 ⊕ 1 ⊕ 1 = 1

001代表第 20 = 1 位置出错,取反就可以得到正确的值了。

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

(0)

相关推荐

发表回复

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

关注微信