海明码检错纠错原理(王达)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
??1?001?1101 P1(n=1):1、3、5、7、9、11 1 1 0 1 1 0 P2(n=2):2、3、6、7、10、11 1 1 0 0 1 1 P3(n=3):4、5、6、7、12 0 0 0 1 1 P4(n=4):8、9、10、11、12 1 1 1 0 1 最终得出插入校验码后的信息码为:111000111101
信息码位数
校验码位数
1Fra Baidu bibliotek
2
2~4 5~11
3 4
12~26 27~57 58~120
5 6 7
121~247
8
2. 确定校验码位置 海明码的校验码的位置必须是在2n次方位置(n从0 开始 ,分别代表从左边数起分别是第1、2、4、8、16……) ,信息码也就是在非2n次方位置 3. 确定校验码 校验位置选择原则:第i位校验码从当前校验码位开始, 每次连续校验i位后再跳过i位,然后再连续校验i位,再 跳过i位,以此类推。确定每个校验码所校验的比特位
二、海明码计算
海明码计算要按以下步骤来进行:计算校验码位数→确 定校验码位置→确定校验码 1. 计算校验码位数 假设用N表示添加了校验码位后整个传输信息的二进制 位数,用K代表其中有效信息位数,r表示添加的校验码 位数,它们之间的关系应满足: N=K+r≤2r-1(是为了确保r位校验码能校验全部的 数据位,因为r位校验码所能表示的最大十进制数为2r-1 ,同时也确保各位码本身不被其他校验码校验)
海明码检错、纠错原理
创作:王达 参考教材:《深入理解计算机网络》
一、海明码检错/纠错基本思想
海明码(Hamming Code)是一个可以有多个校验 位,具有检测并纠正一位错误代码的纠错码,所以 也仅用于信道特性比较好的环境中,如以太局域网 它的检错、纠错基本思想如下: (1)将有效信息按某种规律分成若干组,每组安排 一个校验位通过异或运算进行校验,得出具体的校 验码 (2)在接收端同样通过异或运算看各组校验结果是 否正确,并观察出错的校校组,或者多个出错的校 验组的共同校验位,得出具体的出错比特位 (3)对错误位取反来将其纠正
P1校验码位校验的码字位为:第1位(也就是P1本 身)、第3位、第5位、第7位、第9位、第11位、第 13位、第15位,……。
• P2校验码位校验的码字位为:第2位(也就是P2本身)、 第3位,第6位、第7位,第10位、第11位,第14位、第15 位,……。 • P3校验码位校验的码字位为:第4位(也就是P4本身)、 第5位、第6位、第7位,第12位、第13位、第14位、第15 位,第20位、第21位、第22位、第23位,……。 • Pn校验码位校验的码字位为:第2n-1位(也就是Pn本身) 、第2n-1+1位、第2n-1+2位、第2n-1+3位、……、第2n-1位 ,第3×2n-1位、第3×2n-1+1、……、第2×2n-1位,第 5×2n-1位、第5×2n-1+1位、第3×2n-1位,……、第 7×2n-1位、第7×2n-1+1位、……、第4×2n-1位,……, 第(2m-1) 2n-1位、……第m×2n-1位 最后每组通过异或逻辑运算(与偶校验原理一样),使每组 的运算结果为0,即可得出第i位校验码的值
4. 实现校验和纠错 把以上这些校验码所校验的位分成对应的组,则在接收 端的对各校验位再进行逻辑“异或运算”,如果采用的是 偶校验,正常情况下均为0
• 如果最终发现只是一个校验组中的校验结果不符 ,则直接可以知道是对应校验组中的校验码在传 输过程中出现了差错,因为所有校验码所在的位 是只由对应的校验码进行校验
• 如果发现多组校验结果不正确,则查看这些组中 公共校验的数据位(只有数据位才可能被几个校 验码进行校验),以最终确定是哪个数据位出了 差错(海明码只能检查一位出错) • 对所找到的出错数据位取反即可实现纠错
三、海明码计算示例
示例:10011101 (1)确定校验码位数 原始信息码一共8,根据前面的表可得知校验码位数为4 (2)确定校验码位置 ??1?001?1101 (2)计算机各位校验码 Pn校验码位校验的码字位为:第2n-1位(也就是Pn本身 )、第2n-1+1位、第2n-1+2位、第2n-1+3位、……、第2n1位,第3×2n-1位、第3×2n-1+1、……、第2×2n-1位, 第5×2n-1位、第5×2n-1+1位、第3×2n-1位,……、第 7×2n-1位、第7×2n-1+1位、……、第4×2n-1位,…… ,第(2m-1) 2n-1位、……第m×2n-1位