概述
纠错编码--海明码(汉明码)
第一步:
已知k,k带入不等式可知最小的r为4
第二步:
校验码为4位,因此填入p1、p2、p3、p4到1、2、4、8的格子上,接着把D1-D6依次填入格子,再把101101填入D1-D6对应的格子
第三步:
符合XXX1这种形式的属于P1
符合XX1X这种形式的属于P2
符合X1XX这种形式的属于P3
符合1XXX这种形式的属于P4
以P1为例,符合右边数起第一位是1的有D1、D2、D4、D5,因此
D1、D2、D4、D5分别对应1、0、1、0,接着按照同0异1的规则
D1与D2 = 1^0 = 1,接着用D1与D2异或的结果1 与D4接着异或
1与D4 = 1^1 = 0,接着用1与D4异或的结果0 与D5接着异或
0与D5 = 0^0 = 0,因此D1、D2、D4、D5异或后最后的结果0
注意图片上的红字,令所有要校验的位异或=0,
意思是:P1与D1、D2、D4、D5异或的结果再异或要为0,
所以 P1^0 = 0,因此P1只能为0
接着以P2为例,符合右边数起第一位是1的有D1、D3、D4、D6,因此…(不再赘述)
用此方法可以得出P1、P2、P3、P4的值,填入表格后可得海明码
第四步:
使用上面同0异1的规则可得出P1、P2、P3、P4分别为1010
接着从P4往P1写为0101,对应的十进制数为5,因此出错位置是第5位,因为只有0和1两种结果,因此取反就可得正确结果
最后
以上就是欣慰金针菇为你收集整理的纠错编码---海明码(汉明码)的全部内容,希望文章能够帮你解决纠错编码---海明码(汉明码)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复