海明码详解
发现双比特错,纠正单比特错
计算方法:
海明不等式:2^r>=k+r+1
其中r为冗余校验位,
k为该数据信息位
最后的信息数据位数位:k+r
举例:
要发送的数据为:101101
1、则k=6; 求得r=4满足海明不等式
因此有4冗余校验码,因此最终要发送的数据为:信息位+冗余位=10
这4位冗余校验码再数据中的位置是2^r-1
2、因此令这四位用p1,p2,p3,p4来表示
所在位置位为p1=1,p2=2,p3=4,p4=8,如下列表格所示
将原本数据以D1,D2,D3,D4,D5,D6来表示,填入下面表格
3、填入初始数据到相应位置:如下面表格所示
二进制 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 | 1010 |
---|---|---|---|---|---|---|---|---|---|---|
十进制 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
代码 | P1 | P2 | D1 | P3 | D2 | D3 | D4< |