我正在阅读有关水平和垂直奇偶校验码的信息。这些代码的特性之一是最终奇偶校验(右下位)等于水平奇偶校验和的模 2,也等于垂直奇偶校验和的模 2。
我不明白,为什么这是真的。我可以在示例中看到它们,但我真的无法提出任何正式/直观的证明。
任何帮助/提示将不胜感激。
谢谢,钱德
我正在阅读有关水平和垂直奇偶校验码的信息。这些代码的特性之一是最终奇偶校验(右下位)等于水平奇偶校验和的模 2,也等于垂直奇偶校验和的模 2。
我不明白,为什么这是真的。我可以在示例中看到它们,但我真的无法提出任何正式/直观的证明。
任何帮助/提示将不胜感激。
谢谢,钱德
每一行和每一列都是模 2 的总和。结果是所有数字的总和模 2。你如何计算并不重要。
规则是:
((a mod c) + (b mod c)) mod c == (a+b) mod c
这是因为每个错误位都会水平或垂直传播奇偶校验。
考虑让你的位矩阵:
A B C D
E F G H
I J K L
M N O P
现在其中一些位被错误地传输了,因此您总共有y个错误,但您不知道矩阵内部的位置。
如果您按行(因此计算水平奇偶校验),您将确保如果该行中有偶数个错误,则每行奇偶校验模 2 的总和将为 0,否则为 1。您还将确信您正在考虑所有这些,因为您对每一行都进行了这项工作。
最后,如果您想从一行中纠正一点并在另一行中更改另一行,最终结果不会改变,因为您基本上从一行中删除 1 以将其添加到其他地方。
然后考虑按列进行操作,您最终会得到完全相同的行为,唯一的区别是错误可以以不同的方式分布,但将垂直奇偶校验加在一起模 2 将考虑相同的考虑因素。由于总错误数相同,因此对于行和列,它将是偶数或奇数。