Reed-Solomon 检测能力

问题描述

我对 Reed-Solomon 检测能力的分析感兴趣(仅检测,当无法纠正时),特别是 RS(10,8),符号为 8 位,一个码字中总共有 10 个符号,其中 8 个用于数据,2 个用于 ECC。 在这种情况下,Reed-Solomon 码应该能够纠正 1 个有多个错误的符号,但在文献中我没有找到关于错误检测能力的太多信息(没有纠正),例如在 2 个不同的符号中有 2 个错误RS 应该能够检测到但不正确。

我想用 Python 做一些 Montecarlo 分析,我为 Reed-Solomon 找到了这个包: https://pypi.org/project/unireedsolomon/

python 包允许我创建 RS 代码,注入错误并进行更正解码,但它似乎没有提供检测能力,我尝试在两个不同的符号中注入 2 个错误,但我得到了错误纠正,我相信在在这种情况下,Reed-Solomon 应该能够报告无法纠正的错误。 unireedsolomon 包似乎没有实现这样的检测功能,或者我错了。 你知道unireedsolomon包中是否有这样的能力吗?

或者您对我如何使用不同的python包运行此类仅检测分析有建议吗? 或者任何关于 Reed-Solomon 代码中检测的评论也很有用。 谢谢

解决方法

RS(10,8) 保证检测任何 2 个错误或纠正任何单个错误,但不能同时检测两者。有 2 个错误且码字中只有 10 个符号,大多数情况下它应该检测到 2 个错误的情况是不可纠正的,但是根据 2 个错误值和位置,它看起来好像有一个单一的错误的可能性很小在第三个位置出现错误,纠正过程将错误纠正,产生一个有效的代码字(两个校验子 == 0),但在 3 个位置与原始代码字不同。 10 个符号中有 2 个错误导致此类错误纠正的概率较低,约为 0.00001538。

如果 unireedsolomon 包的错误纠正率更高,我怀疑它没有消除 10 个符号代码字的 0 到 9 个有效位置范围之外的位置,并且由于错误的错误而产生无效的代码字-更正。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...