如果RS代码中的纠错码字被破坏会发生什么

时间:2017-09-19 04:32:33

标签: error-correction reed-solomon

用Reed Solomon代码编码的消息,现在我有整个数据,即消息+代码字。现在在传输过程中,如果消息部分发生了变化,那么可以解码但是如果代码字本身被破坏/改变了怎么办?是否可以更正代码字?如果可以纠正怎么办?或者Reed Solomon错误纠正代码本身将负责纠正损坏的代码字?

我有点困惑。我希望我能得到一个相关的答案。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

问题中的术语存在问题。代码字由消息数据和奇偶校验(冗余)数据组成(问题是调用代码字)。此外,术语代码字通常表示没有错误的一个(在消息部分或奇偶校验部分中),一个是生成多项式的精确倍数(具有有限域系数乘法的多项式)。

在纠正期间,错误是否位于消息数据或奇偶校验数据中无关紧要。只要错误符号的总数小于或等于奇偶校验符号数的1/2倍,则错误是可纠正的。有两种类型的Reed Solomon码,“原始视图”和“BCH视图”,大多数实现都是“BCH视图。”

维基文章可能会帮助您理解。

https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction

在wiki文章的“BCH视图”部分中:

https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction#Systematic_encoding_procedure

该消息被视为多项式p(x)乘以x ^ t以为t奇偶校验符号腾出空间,余数sr(x)= p(x)x ^ t mod g(x),其中g (x)是生成器多态。代码字是s(x)= p(x)x ^ t mod g(x) - sr(x)。如果对Reed Solomon使用基于二进制的字段,则加法和减法都是异或的。

注意,在关于Reed Solomon的其他文章中,通常t表示可以校正的符号数,并且奇偶校验符号的数量将是2t(或奇数个奇偶校验符号2t + 1)。维基文章使用lambda:Λ作为定位多项式的系数,而其他文章使用sigma:σ作同一事物。