汉明SEC / DED额外奇偶校验位

时间:2013-06-30 21:43:41

标签: error-correction parity hamming-code

我在使用SEC / DED纠错码时遇到了一些麻烦。似乎我发现了一些解码器认为发生双位翻转但只发生一次的情况。我想我做错了什么,但我无法理解什么。 让我举个例子。

假设我想使用(7,4)代码加上执行双错误检测所需的额外位来对4位1011进行编码。编码字应为00110011,其中最高有效位为额外校验位,后两位为p0和p1,依此类推。

现在,让我们假设在传输过程中,较低位被翻转;因此,收到的单词将为00110010。接收器将从该代码中提取四个接收的数据位1010,并将构造一个新的代码,该代码将产生01011010。最后,接收器将执行获得0111的两个代码的按位xor。最后三位表示第7位已经被翻转(这是正确的),但是第一位是0,据我所知,解码器应该考虑这种情况,就好像发生了多次翻转一样。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

我想我已经解决了这个问题。

在上面的示例中,我计算了校正子,然后计算得到的码字的新的整体校验位。相反,我应检查接收到的字的整体奇偶校验,并将error_happened布尔值设置为该值;然后计算综合症。