我正在为我正在上课的课做作业。
如果可能的话,我需要给出几个给定综合症的码字错误的位置和大小。如果我能弄清楚如何为一个人做的方法,我可以做剩下的,但我迷失了第一个。
这是综合征: [2, 2, 0, 1]
我将使用一个 q = 11 的里德-所罗门代码,原始元素为 2。
我创建了以下 H 矩阵试图解决这个问题:
1 1 1 1 1 1 1 1 1 1
1 2 4 8 5 10 9 7 3 6
1 4 5 9 3 2 8 10 7 6
1 8 9 6 4 10 3 2 5 7
但由于我所拥有的只是综合症,我不确定从这里开始。我确定我在这里错过了一些相当直接的东西,希望有人可以向我指出来。
我在网上找到了Berlekamp,Peterson和Euclidean方法,但我们没有讨论过其中任何一个,我从网上有限的解释中不明白它们是如何工作的。我们使用了定位多项式方法的错误,但我不知道如何将其应用于这种情况,因为要达到有 4 个方程和 4 个未知数的地步,您需要知道输入码字。
谢谢。
有 4 种综合征且没有擦除(已知错误位置),只能纠正 2 个错误。有 2 个方程和 2 个未知数。参考维基文章中的示例:
https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction#Error_locator_polynomial
在您的情况下,综合症下标是 0 到 3,而不是 wiki 的 1 到 4。
S0 Λ2 + S1 Λ1 = -S2 (= 11 - S2)
S1 Λ2 + S2 Λ1 = -S3 (= 11 - S3)
反转 2 x 2 矩阵很简单,因此无需使用 Berlekamp Massey 或扩展的 Euclid 算法。
如果所有错误位置都是已知的(擦除),则代码只需要求解错误值,使用 E 表示错误值,L 表示定位器,^ 表示幂:
1^L1 E1 + 1^L2 E2 + 1^L3 E3 + 1^L4 E4 = S0
2^L1 E1 + 2^L2 E2 + 2^L3 E3 + 2^L4 E4 = S1
4^L1 E1 + 4^L2 E2 + 4^L3 E3 + 4^L4 E4 = S2
8^L1 E1 + 8^L2 E2 + 8^L3 E3 + 8^L4 E4 = S3