笔趣阁

读小说网>数学心理学 > 第六百八十六章 汉明码纠错码(第1页)

第六百八十六章 汉明码纠错码(第1页)

信号在传输的过程中会不可避免的生错误,而纠错码就可以现和改正这个错误。

年,香农在《通信的数学理论》中信道编码定理指出:只要采用适当的纠错码,就可以在多类信道撒谎能够传输消息,误码率可以很小。

o年,汉明现了可以纠正一个独立错误的线性分组码。

格雷给粗一种可以纠正三个错误的完备码。

海明码(hagde)是一个可以有多个校验位,具有检测并纠正一位错误代码的纠错码,所以它也仅用于信道特性比较好的环境中,如以太局域网中,因为如果信道特性不好的情况下,出现的错误通常不是一位。

海明码的检错、纠错基本思想是将有效信息按某种规律分成若干组,每组安排一个校验位进行奇偶性测试,然后产生多位检测信息,并从中得出具体的出错位置,最后通过对错误位取反(也是原来是就变成o,原来是o就变成)来将其纠正。

要采用海明码纠错,需要按以下步骤来进行:、计算校验位数;、确定校验码位置;、确定校验码;、实现校验和纠错

计算校验位数

要使用海明码纠错,先就要确定送的数据所需要要的校验码(也就是“海明码”)位数(也称“校验码长度”)。它是这样的规定的:假设用n表示添加了校验码位后整个信息的二进制位数,用k代表其中有效信息位数,r表示添加的校验码位,它们之间的关系应满足:n=k+r≤r-

如k=,则要求r?r≥+=,根据计算可以得知r的最小值为,也就是要校验位信息码,则要插入位校验码。如果信息码是位,则要求r?r≥+=,根据计算可以得知r的最小值也为。

信息码位数与校验码位数之间的关系

信息码位数分别为、、、、、o、的时候,则校验码位数分别为、、、、、、。

.确定校验码位置

上一步我们确定了对应信息中要插入的校验码位数,但这还不够,因为这些校验码不是直接附加在信息码的前面、后面或中间的,而是分开插入到不同的位置。但不用担心,校验码的位置很容易确定的,那就是校验码必须是在n的位置,如第、、、、、,……位(对应o、、、、、,……,是从最左边的位数起的),这样一来就知道了信息码的分布位置,也就是非n位置,如第、、、、、o、、、,……位(是从最左边的位数起的)。

举一个例子,假设现有一个位信息码,即b、b、b、b、b、b、b、b,它需要插入位校验码,即p、p、p、p,也就是整个经过编码后的数据码(称之为“码字”)共有位。根据以上介绍的校验码位置分布规则可以得出,这位编码后的数据就是p、p、b、p、b、b、b、p、b、b、b、b。

现假设原来的位信息码为,因现在还没有求出各位校验码值,现在这些校验码位都用“?”表示,最终的码字为:???oo?o。

确定校验码

这些校验码的值不是随意的,每个校验位的值代表了代码字中部分数据位的奇偶性(最终要根据是采用奇校验,还是偶校验来确定),其所在位置决定了要校验的比特位序列。总的原则是:第i位校验码从当前位开始,每次连续校验n-位后再跳过i位,然后再连续校验n-位,再跳过n-位,以此类推。最后根据所采用的是奇校验,还是偶校验即可得出第n位校验码的值。

校验与纠错

把以上这些校验码所校验的位分成对应的组,则在接收端的对各校验位再进行逻辑“异或运算”,如果采用的是偶校验,正常情况下均为o。

如果最终现只是一个校验组中的校验结果不符,则直接可以知道是对应校验组中的校验码在传输过程中出现了差错,因为所有校验码所在的位是只由对应的校验码进行校验;如果现多组校验结果不正确,则查看这些组中公共校验的数据位(只有数据位才可能被几个校验码进行校验),以最终确定是哪个数据位出了差错(海明码只能检查一位出错);最后,对所找到的出错数据位取反即可实现纠错。

如计算出的每组的校验结果为p、p、p、p,均为o则正确,有一个不为o的则出错的位置在p+o?p+oo?p+ooo?p的位置处。

喜欢数学心请大家收藏:dududu数学心小说网更新度全网最快。

已完结热门小说推荐

最新标签