首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基本里德-所罗门纠错问题

基本里德-所罗门纠错问题
EN

Stack Overflow用户
提问于 2010-02-26 10:16:02
回答 3查看 1.6K关注 0票数 4

在存在一个丢弃的字节(或多个丢弃的字节)的情况下,里德-所罗门纠错是否有效?例如,假设它是一个(12,8)里德-所罗门码,因此理论上它应该能够纠正2个错误(如果位置已知,则可以纠正4个擦除)。但是,如果只收到11 (或10)个字节,并且不知道丢弃了哪些字节,会发生什么呢?里德-所罗门纠错能行得通吗?

谢谢,

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-02-26 10:42:48

删除的RS解码需要“丢弃”或丢失的符号的位置。你所说的那种误差是由相位失真引起的。

票数 4
EN

Stack Overflow用户

发布于 2012-11-16 09:12:36

您可以通过简单地遍历字符可能丢失的可能位置并让它尝试更正您的结果来使其工作,所以假设您收到了10个字符:

代码语言:javascript
运行
复制
1234567890

让它更正以下值:

代码语言:javascript
运行
复制
??1234567890
?1?234567890
?12?34567890
 :
1??234567890
1?2?34567890
 :
1234567890??

每一次尝试都可能会给你一些结果,其中大多数都不是你想要的。但我希望应该只有一个额外修改次数最少的结果,这应该是您想要用作最有可能是正确答案的结果。

例如,如果更正上面示例中的前三个数字,您可能会得到以下结果:

代码语言:javascript
运行
复制
    v
361274567890
917234567890
312734569897
 :      ^  ^

对于第一种和第三种情况,除了填充两个空格(用v和^标记)之外,还需要进行额外的更正,而在第二种情况下,您只填充了缺少的位置,其他字符与未更正的输入匹配。因此,我会选择答案2作为最有可能正确的答案。

显然,这种方法起作用的可能性取决于是否存在其他错误。不幸的是,我不能给你一组严格的条件,在这些条件下,这种方法可以肯定地工作。

如果您的消息足够长,您可以做的另一件事是使用交错技术,基本上使多个正交RS码覆盖您的数据。这样,如果一个失败了,你也许可以用另一个来恢复。该方法例如用于光盘(CD)上,其中该方法被称为CIRC

票数 0
EN

Stack Overflow用户

发布于 2015-03-06 05:41:41

不,里德-所罗门算法不能自动纠正丢失比特的情况,因为就像大多数其他前向纠错算法一样,it was only designed to correct bit-flips。如果您知道丢失比特的位置,则可以在这些位置填充接收到的信号,以便RS可以正常工作。

但是,如果您不知道位置,则需要使用另一种支持bit-insertion or bit-deletion的算法,如标记代码和水印代码。

还要注意的是,RS不仅可以用于擦除,还可以用于process noisy bits using Forney syndrome

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2339083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档