TOP榜写作榜手机小说

最近更新新书入库全部小说

白洁小说网 >> 数学心 >> 第六百八十六章 汉明码(纠错码)

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

2.确定校验码位置

上一步我们确定了对应信息中要插入的校验码位数,但这还不够,因为这些校验码不是直接附加在信息码的前面、后面或中间的,而是分开插入到不同的位置。但不用担心,校验码的位置很容易确定的,那就是校验码必须是在2^n的位置,如第1、2、4、8、16、32,……位(对应20、21、22、23、24、25,……,是从最左边的位数起的),这样一来就知道了信息码的分布位置,也就是非2^n位置,如第3、5、6、7、9、10、11、12、13,……位(是从最左边的位数起的)。

举一个例子,假设现有一个8位信息码,即b1、b2、b3、b4、b5、b6、b7、b8,它需要插入4位校验码,即p1、p2、p3、p4,也就是整个经过编码后的数据码(称之为“码字”)共有12位。根据以上介绍的校验码位置分布规则可以得出,这12位编码后的数据就是p1、p2、b1、p3、b2、b3、b4、p4、b5、b6、b7、b8。

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

3.确定校验码

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

4.校验与纠错

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

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

如计算出的每组的校验结果为p1、p2、p3、p4,均为0则正确,有一个不为0的则出错的位置在p1+10?p2+100?p3+1000?p4的位置处。

喜欢数学心请大家收藏:数学心本站更新速度全网最快。

数学心最新章节 - 数学心全文阅读 - 数学心txt下载 - 蔡泽禹的全部小说 - 数学心 白洁小说网

最近更新: 无敌战神附体,对抗剑与魔法 HP:当邓布利多有了个女鹅 无限开局 寻常书 不当魅魔后,我端上了铁饭碗 蓝紫钟情 综影视:时途红颜幻旅录 原神:神行世间 开心超人之我成为了她们的哥哥 某霍格沃茨的密教教主

数学心最新章节手机版 - 数学心全文阅读手机版 - 数学心txt下载手机版 - 蔡泽禹的全部小说 - 数学心 白洁小说网移动版 - 白洁小说网手机站