基本里德-所罗门纠错问题
在存在丢失字节(或多个丢失字节)的情况下,里德-所罗门纠错是否有效?例如,假设它是 (12,8) Reed Solomon 码,那么理论上它应该能够纠正 2 个错误(如果位置已知,则可以纠正 4 个擦除)。但是,如果仅接收到 11(或 10)个字节并且不知道丢失了哪些字节,会发生什么情况?里德-所罗门纠错会起作用吗?
谢谢,
本
Does Reed-Solomon error correction work in an instance where there is a dropped byte (or multiple dropped bytes)? For example, let's say it's a (12,8) Reed Solomon code, so theoretically it should be able to correct 2 errors (or 4 erasures if the position is known). But, what happens if only 11 (or 10) bytes are received and one doesn't know which byte(s) were dropped? Will Reed-Solomon error correction work?
Thanks,
Ben
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以通过简单地循环遍历字符可能丢失的可能位置并让它尝试纠正您的结果来使其工作,假设您收到了 10 个字符:让它
纠正以下值:
每次尝试都可能会给您一些结果,其中大部分都不是您想要的。但我希望通过最少的额外修改就能得到一个结果,并且这应该是您想要用作最有可能是正确答案的结果。
例如,如果您更正上面示例中的前三个数字,您可能会得到以下结果:
对于第一种和第三种情况,除了填写两个空格(用 v 和 ^ 标记)之外,您还进行了其他更正,而在第二种情况,您只填写了缺失的位置,其他字符与未更正的输入匹配。因此,我会选择答案 2 作为最有可能正确的答案。
显然,这种方法成功的可能性取决于是否存在其他错误。不幸的是,我无法为您提供一套严格的条件,在这些条件下该方法肯定会起作用。
。
如果您的消息足够长,您可以做的另一件事是使用交织技术基本上让多个正交 RS 代码覆盖您的数据。这样,如果其中一个失败,您也许可以通过另一个来恢复。例如,此方法用于光盘 (CD),称为 中国保监会。
You can make it work by simply cycling through the possible positions where the character might be missing and letting it try to correct your result, so let's say you received 10 characters:
Have it correct the following values:
Each attempt will probably give you some result, most of which are not the one you want. But I would expect that there should be exactly one result with the minimal number of additional modifications, and that should be the one you want to use as the most likely to be correct answer.
For example, if you correct the first three numbers of the example above, you might get the following result:
For the first and third case, you have additional corrections made beyond filling in the two blanks (marked with v and ^), whereas in the second case you have only the missing positions filled in and the other characters match the uncorrected input. Therefore, I would choose answer 2 as the most likely to be correct one.
Clearly, the chances that this works depend on whether there are other errors. Unfortunately I'm not able to give you a rigorous set of conditions under which this method will work for sure.
.
Another thing you can do if your message is long enough is to use an interleaving technique to basically have multiple orthogonal RS codes cover your data. That way, if one fails, you might be able to recover with another one. This method is for example used on compact discs (CDs), where it is called CIRC.
不,Reed-Solomon 无法自动纠正丢失位的实例,因为就像大多数其他 FEC 算法一样,
但是,如果您不知道位置,则需要使用另一种支持位插入的算法。或位删除,例如标记代码和水印代码。
另请注意,RS 不仅可以用于擦除,还可以用于处理噪声位。使用福尼综合症。
No, Reed-Solomon can't automatically correct instances where there are missing bits, because just like most other FEC algorithms, it was only designed to correct bit-flips. If you know the position of the missing bits, you can pad your received signal at those positions so that RS can then work normally.
However, if you don't know the position, you will need to use another algorithm that supports bit-insertion or bit-deletion such as Marker Codes and Watermark Codes.
Also note that RS can be not only used for erasures but also to process noisy bits using Forney syndrome.
用于擦除的 RS 解码需要“丢弃”或丢失的符号的位置。您所说的这种错误是由于相位失真造成的。
RS decoding for erasures requires the position of the symbols "dropped" or lost. The kind of error you're talking about is due to phase distortion.