海明码/汉明码的计算和纠错

Posted 忱叁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了海明码/汉明码的计算和纠错相关的知识,希望对你有一定的参考价值。

海明校验码:

 

 

 

详解:

当我们确定校验位在海明码中的位置后,我们需要做去确定哪几个位置的信息位进行异或来得到相应校验位p1、p2、p3的值,根据图3

我们将所有信息位的下标换算成二进制后,确定这些数二进制的比特位是否含有1来判断参入该校验位的计算,图中我们计算p1有H~3~

H~5~、H~7~这三个数的第一位含有1,所以参加p1的计算,其余的也是如此。这样下来我们就确定每个校验位如何计算。

 

当我们确定每个校验位的位置和大小后,我们开始判断纠错。海明码优于奇偶校验码的特点是可以判断出具体某一位出错。上述例子中有三个校验位,我们把整个海明码分成三部分,也就是校验位和他本身参与计算得信息位作为该组成员,就像S~1~、S~2~、S~3~这三部分,然后计算出她它们三个的值,如果都是0说明没错(因为偶数个1异或结果是0)出现一个1后出错,根据图中接收到1010000,S~2~出现了1,然后将这三个数按照二进制进行排列010,说明就是第二位也就是p2出错了。

 

我们也可以根据这个圆型图看,比如D~4~出错了,D~4~是被包含在S~1~、S~2~、S~3~这三部分中,说明影响了这三部分,那么这三部分最终结果都是1,换成二进制就是111,这个二进制就是7也就是海明码的第七位出错了。

 

以上是关于海明码/汉明码的计算和纠错的主要内容,如果未能解决你的问题,请参考以下文章

海明码校验和纠错原理 详细

海明码的编码和校验方法(易懂)

汉明码的理解

计算机系统知识—海明码

海明码(容易看懂)

计算机组成原理海明码