海明校验码求信息1011的海明码 1.2^r^ >= 4 + r +1 ,确定校验码为三位:2^3^>=4+3+1.分别放在2^0^=1,2^1^=2,2^2^=4位 2.列出校验位公式。

海明校验码的基本规则

首先要懂用海明码编码的信息位哪些位是校验位那些位是信息位。

规定了 校验位的位置是位于 整个信息编码中2n的位置,比如说20,21,22 对应的也就是1,2,4位,都是需要放校验位的,因此在海明码的编码体系当中,所有的校验位都是固定的,其他位置则是填充信息位。

假如只有一个信息位,那么最终他的编码有多长呢?这个很好理解,我们知道20是第一位,不能放信息位,21是第二位也不能放信息位,只有第三位能放,所以他的编码有3位。

在这里插入图片描述
例如:求信息1011的海明码
1.2r >= 4 + r +1 ,确定校验码为三位:23>=4+3+1.分别放在20=1,21=2,22=4位
2.列出校验位公式。

首先要知道1011是四位的信息,想存放这思维信息需要几位编码呢,
1位 2位 3位 4位 5位 6位 7位
20校验位 21校验位 1信息位 22校验位 2信息位 3信息位 4信息位
因此可知1011一共需要7位编码
但是信息位只有四位分别在7位 6位 5位 3位
想要验证信息位是否正确比如:
7位: 22 + 21 + 20 因此由 4位校验位 2位校验位 1位校验位验证7位信息位
6位: 22 + 21 因此由 4位校验位 2位校验位 6位信息位
5位: 22 + 20 因此由 4位校验位 1位校验位验证 5位信息位
3位: 21 + 20 因此由 2位校验位 1位校验位验证 3位信息位

比如说第七位如何验证:就通过这所需要的校验位进行异或操作,就是将4位 2位 1位进行抑或处理得到的值是
异或是指: 参与运算的两个值,如果两个相应位相同,则结果为0,否则为1

反之亦然如何知道校验码是多少,就是通过信息码,比如说22第四个位置的校验码是如何得到的,由上可知 7位 6位 5位都有用到22校验码,
所以我们将7位信息码的值 异或 上6位的 最后异或上5位的信息码就能得到4位的校验码
因为已知是1011
所以将 1 异或 0 异或 1 结果就是0 第四位为0
同理第二位校验码为 1 异或 0 异或 1 结果为0
第一位校验码为 1 异或 1 异或 1 结果为1
所以最后整串校验码为 1010101

海明码纠错:
这个很简单 就是将收到的校验码 异或 正确的校验码
转成十进制就知道哪个位置出错了。

发布了21 篇原创文章 · 获赞 3 · 访问量 4451

猜你喜欢

转载自blog.csdn.net/nb_zsy/article/details/104086599
今日推荐