其他分享
首页 > 其他分享> > 计组笔记(4)--海明校验码

计组笔记(4)--海明校验码

作者:互联网

海明校验码/汉明校验码

海明码是什么?

首先需要知道什么是奇偶校验码:在 n 位有效信息位前 或 后添加一个校验码改变整个校验码的1的个数。
在这里插入图片描述

举个栗子,如果我们使用偶校验的方式检查数据是否出错:

海明码就是改进偶校验的具有纠错功能的校验码,其思路是在有效信息位中分组,对每个分组添加校验位(这样就有多个校验位可以表示更多的结果,之前的偶校验位只有0/1两种结果,所以只能表示对错),同时根据校验位还可以标注出错的位置。

但是随之而来的问题有下面这几个

假设我们有n位有效信息位,k 个校验位,那么总校验码长度为(n+k);我们需要使用校验位来判断以下情况

所以我们需要的校验位个数应该大于等于 n+k+1,它们的关系可以不等式表达如下:
在这里插入图片描述

例如n = 4 ,那么 k 至少需要等于 3 才能满足汉明码的校验码要求;2^3 >= (4+3+1)
常见的有效信息位 n 和海明校验码个数 k 的关系,
在这里插入图片描述

在这里插入图片描述
存放的结果如下

在这里插入图片描述

在这里插入图片描述

具体校验码的分组包含哪些信息位根据其二进制的值决定。

在这里插入图片描述

最后得到海明校验码的值如下

在这里插入图片描述

利用校验位和其分组内的信息位进行偶校验(即异或),得到结果为0说明正确。

在这里插入图片描述
根据得到的校验结果的二进制转为十进制得到错误位置。注意S1对应二进制的低位;

在这里插入图片描述

在这里插入图片描述

总结

在这里插入图片描述

标签:校验位,计组,--,海明,校验,信息,校验码,分组,出错
来源: https://blog.csdn.net/qq_44880154/article/details/118254090