【计组】海明码

写在前面:

学习计组的时候,听网课的时候一开始没整明白,后来自己找了其他视频跟博客,总算把这个知识点捋清楚了~
现整理成笔记,希望能帮助到一起学习的同学们。我会在文末附上一个我参考的视频的地址,视频讲得很清晰明了,很有帮助。


海明码解题过程(以数据1010为例):

1.求出海明码长度及检验码有多少位:

在这里插入图片描述
通过上面推导得出的公式构建不等式并求解,即可求得应该增加多少位校验码。

不等式解释如下:
海明码的纠错目的是发现数据中哪一位发生错误。
数据总共有m+p位,每一位都有出错的可能,因此只出错一位的情况有m+p种。
校验码总共有2^p种取值,其中有一种取值对应着数据正确的情况,另外的取值分别对应着某一位出错的情况。
因此需要2^p-1>=m+p,才能保证能够发现每一种(单个位)出错的情况。

2.确定海明码的位置,及进行分组:

在这里插入图片描述
校验码放在2^n(n=0、1、2、…)位置上。
【在此处的例子中,由于第一步已经求出了p=3位校验码,所以校验码只要插入到 2 0 、 2 1 、 2 2 2^0、2^1、2^2 202122这三个位置就可以了。】
分组:首先将位置序号1、2、3、…化成二进制。
【此处的例子中,m=4】
然后遵循以下规律分组:
第1组:序号二进制数的从右往左的第1位为1;
第2组:从右往左的第2位为1;
第3组:从右往左的第3位为1…
依次类推。

3.求出校验码的值及海明码:

得到分组之后,按求奇偶校验码的方法求校验码,通常题目会说明是使用“奇校验”还是“偶校验”。

在这里插入图片描述
之后再把求得的校验码放入数据中即可得到海明码。

在这里插入图片描述

4.进行纠错:

在这里插入图片描述
首先按照原数据写出p1、p2、p3、m3、m5、m7,然后在每一组前面新增一位e1、e2、e3。e1、e2、e3的值按奇偶校验法的规则求出。

在这里插入图片描述
求出e1、e2、e3之后,将这三个值按顺时针旋转九十度得到一个新的数,如:

在这里插入图片描述
将这个数化为10进制,即可知道是哪一位出错。比如此处的101,那就是第五位出错。如果数值为000,则证明数据没有出错。


参考资料(链接可能失效,侵删):
①★★视频:天勤公开课-计算机组成原理:https://www.bilibili.com/video/BV1SJ41157pR?from=search&seid=3918195512624917135
②视频:哈工大-计算机组成原理:https://www.bilibili.com/video/BV1ix41137Eu?p=109


END

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值