12 / 62

使用海明码进行纠错,7位码长(x1x2x3x4x5x6x7),其中4位数据位,3位校验位,其监督关系为:
C0=x1+x3+x5+x7
C1=x2+x3+x6+x7
C2=x4+x5+x6+x7
如果收到的码字为1000101,则纠错后的码字是()。

答案: C

答案解析:

本题考察海明码相关的知识。
 7位码长(x1x2x3x4x5x6x7),其中4位数据位,3位校验位,其监督关系为
C0=x1+x3+x5+x7
 C1=x2+x3+x6+x7
C2=x4+x5+x6+x7
如果收到的码字为1000101,意味着X1=1,X2=0,X3=0,X4=0,X5=1,X6=0,X7=1。
 根据:
 C0=x1+x3+x5+x7(异或运算)可知C0=1
C1=x2+x3+x6+x7(异或运算)可知C1=1
C2=x4+x5+x6+x7(异或运算)可知C2=0
然后告诉我们C0 C1 C2=110,其中C2为0,说明监督式中的x4、x5、x6、x7都是正常码。
 那么C0、C1为1,说明他们对应的表达式中肯定有出错位,再看看C0=x1+x3+x5+x7,C1=x2+x3+x6+x7,刚才我们通过C2得知x4、x5、x6、x7都是正常码,所以对于C0的监督式可能出错的位为X1或X3,同理对于C1可能出错的位为X2或X3,马上可以得知真正出错的位是X3,X3出错才可能造成C0和C1的监督式为1。
既然X3出错,那么对于收到的码字为1000101,错后的码字是1010101。
注:一般海明校验都是偶校验,所以通过监督式我们得到的为0表示没有出错,为1表示肯定有位出错。