Reed-Solomon 代码用于大代码长度和错误

Reed-Solomon Code for large code length and errors

我是纠错码 (ECC) 的新手。以Reed-Solomon码(RS(n,k))为例,它将k个符号编码成n个符号,具有n-k个校验符号,可以纠正(n-k)/2个错误符号。

我想知道是否有RS(n,k)的设计或实现,n大如600,k为400?这意味着它可以纠正大约100错误符号。如果不可能,限制是什么?如果可以的话,时间成本是多少,特别是对于大数据,解码比编码更复杂。

我查阅了几篇文献。虽然n=544是可以的,但是目前的方案只支持RS(544,514),也就是说纠错能力只有(544-514)/2=15.

我知道解码最难的部分是解关键方程。但是我不知道如何估算解码的时间成本。

谢谢!

请记住,随着 RS(n,k) 中的 n 变大,字段也会变大。对于 n = 512 到 1023,需要一个 10 位字段。如果数据是400个字节,那实际上是320个10位符号。

RS(600,400) 不是问题。对于奇偶校验数 = 校正子数 = n-k = p 的 RS(n,k),编码的时间复杂度为 O(pn)。生成综合症是 O(pn)。如果使用 Berlekamp Massey 或 Sugiyama 扩展 Euclid 解码器,则解码为 O(p^2),如果使用 Peterson Gorenstein Zierler 矩阵求逆,则解码为 O((p/2)^3)。


作为“更大”代码的示例,BCH 代码使用 GF(2^n) 的元素,但将编码多项式限制为 1 位系数。例如有一个BCH(48600,48408),48408个数据位,192个校验位,但是在GF(2^16)中进行校正子生成和错误解码。它用于称为 DVBS2 的数字广播。