我是靠谱客的博主 欣慰金针菇,最近开发中收集的这篇文章主要介绍纠错编码---海明码(汉明码),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

纠错编码--海明码(汉明码)

在这里插入图片描述
第一步:
在这里插入图片描述
已知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两种结果,因此取反就可得正确结果

最后

以上就是欣慰金针菇为你收集整理的纠错编码---海明码(汉明码)的全部内容,希望文章能够帮你解决纠错编码---海明码(汉明码)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部