- 错误纠正能力低于纠错能力
这将表明代码中存在错误。如果错误少于 ⌊(nk)/2⌋,则 RS 解码器永远不会失败。
- 校正检测何时有更多错误然后纠错能力
即使有超过 ⌊(nk)/2⌋ 的错误,RS 解码器仍然很有可能检测到不可纠正的错误,因为大多数错误模式不会导致接收到的码字在 ⌊(nk)/有效码字的 2⌋ 或更少的错误符号,因为工作的 RS 解码器应该只产生有效码字或指示不可纠正的错误。多于 ⌊(nk)/2⌋ 错误的错误纠正涉及解码器创建额外的 ⌊(nk)/2⌋ 或更少的错误符号,从而产生有效的码字,但与原始码字相差 n-k+1 或更多符号。
可以通过为已纠正的码字重新生成伴随式来检测不可纠正的错误,但在求解错误定位多项式时(通常通过遍历所有可能的定位值来完成)通常会更快地被捕获,因为它产生的定位符比它应该由于重复或缺根。
我用 C 语言为 4 位和 8 位字段编写了一些交互式 RS 演示程序,其中包括 3 个最常见的解码器(PGZ(矩阵)、BM(差异)、SY(扩展 Euclid))。请注意,我的示例中的 SY - 扩展 Euclid 解码器模拟了面向硬件寄存器的解决方案,两个寄存器始终左移,每个寄存器包含两个多项式,其中拆分与寄存器一起左移。每个寄存器的右半部分被反转(首先是最不重要的系数)。wiki 文章示例可能更容易理解。
http://rcgldr.net/misc/eccdemo4.zip
http://rcgldr.net/misc/eccdemo8.zip