【例】使用海明码进行纠错,7位码长(x7x6x5x4x3x2x1),其中四位数据,监督关系为:
c0=x1+x3+x5+x7
c1=x2+x3+x6+x7
c2=x4+x5+x6+x7
如果接收到的码字为1000101,那么纠错后的码字是什么?
解题思路:由题意可知接收到的码字里面有错,所以需要找到哪一位出错了,所以我们必须算出那一位
首先我们可以列一个表格将每一位对应的值填入表格
7
|
6
|
5
|
4
|
3
|
2
|
1
|
位数
|
x7
|
x6
|
x5
|
x4
|
x3
|
x2
|
x1
|
信息位数
|
1
|
0
|
0
|
0
|
1
|
0
|
1
|
数值
|
然后带入c0c1c2中
则c0=1+1++0+1=1 c1=0+1+0+1=0 c2=0+0+0+1=1
则c2c1c0=101 对应十进制中的是5,所以是第五位出错了。
那么我们就需要将原来接收的码字从左往右数到第五位将第五位的数字取反,所以就是将0替换成1
故纠错后的码字为1010101