使用通用汉明算法进行奇偶校验位检查

时间:2015-10-31 07:28:03

标签: algorithm circuit error-correction parity hamming-code

在逻辑电路中,我有一个8位数据向量,它被送入ECC IC,我应该为其开发逻辑,并包含5个奇偶校验位的向量。开发逻辑(使用逻辑门,XOR)的第一步是确定哪个奇偶校验位将检查哪些数据位(因为它们是隔行扫描的)。我使用偶校验,并遵循一般汉明码规则(每2 ^ n中的奇偶校验位),我得到以下输出序列:

P1 P2 D1 P3 D2 D3 D4 P4 D5 D6 D7 D8 P5

遵循通用汉明算法:

对于每个奇偶校验位,位置1,2,4,8,16等等......(2的幂),我们跳过第一个位置n(n-1)并检查1位,然后我们跳过另一个,检查另一个,等...我们对其他位重复相同的过程,但这次检查/跳过每2 ^ n,其中n是它们在输出数组中占据的位置({{1} })

按照惯例,我得到:

P1 P2 D1 P3 D2 D3 D4 P4 D5 D6 D7 D8 P5

我是对的吗?令我困惑的是,如果我应该开始检查将奇偶校验位计数为应该检查的2 ^ n位之一,或者在该特定奇偶校验位之后的1位。如果是包容性的话,几乎总结一下。

提前感谢您的帮助!

干杯!

1 个答案:

答案 0 :(得分:0)

你可以遵循这个模糊。换句话说,每行中标记的位必须总和为0(mod 2),对于每行中标记的位置,设置位的数量必须是偶数。

P1 P2 D1 P3 D2 D3 D4 P4 D5 D6 D7 D8
x     x     x     x     x     x
   x  x        x  x        x  x
         x  x  x  x              x
                     x  x  x  x  x

我不明白你为什么在计划中有P5。