我在使用 SEC/DED 纠错码时遇到了一些问题。似乎我发现了一些解码器认为发生了双位翻转但真正发生的情况。我想我做错了什么,但我无法理解是什么。让我给你看一个例子。
假设我想1011
使用 (7,4) 代码加上执行两次错误检测所需的额外位对 4 位进行编码。编码的字应该是00110011
,其中最高位是额外的奇偶校验位,以下两个是 p0 和 p1 等等。
现在,让我们假设在传输过程中,较低的有效位被翻转;因此接收到的单词将是00110010
。接收器将从该代码中提取四个接收到的数据位 1010 并将构造一个新代码,该代码将产生01011010
. 最后,接收器将对获得的两个代码执行按位异或0111
。最后三位表示第 7 位已被翻转(这是正确的),但第一位是 0,据我所知,解码器应该将这种情况视为发生了不止一个位翻转。
我做错了什么?