2

我正在为我正在上的一门课做作业。

如果可能的话,我需要为几个给定的综合症提供代码字错误的位置和幅度。如果我能弄清楚如何为一个人做这件事的方法,我可以做剩下的事情,但我迷失了第一个。

这是综合症: [2, 2, 0, 1]

我将使用 q = 11 和原始元素为 2 的 Reed-Solomon 代码。

我创建了以下 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

1 回答 1

0

使用 4 个校正子且没有擦除(已知错误位置),只能纠正 2 个错误。有 2 个方程有 2 个未知数。参考wiki文章中的示例:

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 × 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
于 2017-04-19T20:38:25.340 回答