汉明码混淆

时间:2012-09-26 17:23:31

标签: hamming-code

我很难回答这个问题。这是最初的问题:

  

一个字用校验位0111(c8,c4,c2和c1)编码。该单词以11101011(数据)的形式回读。什么是原始数据字?

我认为由于有4个校验位,所以这必须是4位存储器字,只有16个可能的字:0000, 1000, 0100, 1100, 0010, 1010, 0110, 1110, 0001, 1001, 0101, 1101, 0011, 1011, 0111, 1111。因此,每个码字具有8位,并且校验位位于位置1,2,4和8中。

  • 位1检查位上的奇偶校验:1,3,5,7,9,1
  • bit 2检查位上的奇偶校验:2,3,6,7,10,11
  • bit 4检查位上的奇偶校验:4,5,6,7,12
  • bit 8检查位上的奇偶校验:8,9,10,11,12

我也知道,如果1的总数检查为奇数,则将奇偶校验位设置为1,如果所有1的检查均匀,则将奇偶校验位设置为0。

我认为读回的单词必须有错误,我必须更正它然后这将允许我找到原始数据字。

这是在这个问题中发生了什么?

1 个答案:

答案 0 :(得分:0)

消息:11000010

方法A:

CBA987654321  <-- Hexadecimal
1100?001?0??

C=1100
B=1011
5=0101
______
X=0010

垂直测试每一位(XOR)。

解决方案:

1100?001?0??
    0   0 10

110000010010

方法B:

CBA987654321  <-- Hexadecimal
1100?001?0??