admin管理员组文章数量:1585968
有效信息转换为海明码进行发送,转换过程如下:
例子:
有效信息:10011100
1.海明码不等式
设N为校检码的位数,K是有效信息位,r是校检位,则有海明不等式:
N = K+r < 2^r ;
2.校验位+有效信息位的表示
在海明码中,位号数(1,2,3,4....)为2的权值的那些位,即1(2的0次方),2(2的1次方),4(2的平方)位,作为奇偶校检位,记作:P1,P2,P3.....余下各位则为有效信息位
10011100有8个有效信息位,则海明码可表示为:
位号(a) | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
P占位 | P1 | P2 | 1 | P3 | 0 | 0 | 1 | P4 | 1 | 1 | 0 | 0 |
3.确定校验位对应的二进制数值(即0,1)
海明码中的每一位分别被P1,P2,P3....Pr中的一至若干位所校验,规律为:
第i位由校验位位号之和等于i的那些校验位所校验
引入表格:
海明码位号 | 占用的检验位位号 | 备注 |
1 | 1 | 1 = 1 |
2 | 2 | 2 = 2 |
3 | 1,2 | 3 = 1+2 |
4 | 4 | 4 = 4 |
5 | 1,4 | 5 = 1+4 |
6 | 2,4 | 6 = 2+4 |
7 | 1,2,4 | 7 = 1+2+4 |
8 | 8 | 8 = 8 |
9 | 1,8 | 9 = 1+8 |
10 | 2,8 | 10 = 2+8 |
11 | 1,2,8 | 11 = 1+2+8 |
12 | 4,8 | 12 = 4+8 |
每个校验位所校检的位号
校验位位号 | 被校检位位号 |
1(P1) | 1,3,5,7,9,11 |
2(P2) | 2,3,6,7,10,11 |
4(P3) | 4,5,6,7,12 |
8(P4) | 8,9,10,11,12 |
条件备齐,检验位数值由其对应的被校检位位号对应数值之和来确立
如P1 = a1+a3+a5+a7+a9 + a11 = 0+1+0+1+1+0+0 = 1(没有进位,1+1为0),
以此类推,P2 = 1,P3 = 1,P4 = 0
至此,10011100对应海明码彻底推出:111100101100
5.校验
来到最有意思的环节,改掉海明码中任意一位数值,都能从错误的海明码中把这一位找出来,一下为校验过程
改掉以上例子中的第3位,即改为110100101100,再次计算校验码Pn的值,
P1 = a1+a3+a5+a7+a9 + a11 = 1,P2 = 1, P3 = 0, P4 = 0;
此时检验码由大到小从左到右排列,即为0011,化成十进制是3,即检验出第3位被修改过了,此时只需修改第三位的数值,即0变1,1变0,即为正确的传输信息。
海明码的局限性在于只能检验并修改1位错误的信息。
版权声明:本文标题:海明码(简单转化) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1727971950a1140271.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论