我有一个组合的数据信息,要求至少 35位。
使用 4状态条形码,每个条形表示 2位,因此上述信息可以转换为18个条形。
我想对该条形码添加一些强大的错误纠正功能,因此,如果某种程度上损坏了它,可以对其进行纠正。这种方法之一是Reed-Solomon error correction。
我的目标是添加尽可能强的错误校正,但是另一方面,我对条形码有大小限制。如果我正确理解Reed-Solomon algorithm,则m∙k必须至少是我的消息的大小,即本例中为35。
基于Reed-Solomon Interactive Demo,我可以将(m,n,t,k)设置为(4,15,3,9),这将使我可以将消息编码为4∙9 = 36位。这将导致大小为4∙15 = 60位的代码字或 30 bar ,但是纠错比率t/n仅为 20.0%。
下一个选择是将(m,n,t,k)设为(5,31,12,7),这将允许我编码消息,最高可达5∙7 = 35位。这将导致大小为5∙31 = 155位的码字或 78条,并且纠错比率t/n为〜 38.7%。
第一种情况要求使用带有30条的条形码,这很好,但是20.0%的纠错能力不如预期。第二种情况提供了出色的38.7%的错误校正,但是条形码必须具有78条,这太多了。
是否有其他方法或其他方法可以提供出色的纠错能力和合理的条形码长度?
最佳答案
您可以使用缩短的代码字,例如(5、19、6、7)31.5%的校正率,95位,48条。如果允许最多纠正6个错误,则缩短代码字的优势之一就是减少了错误纠正的机会。如果6个错误位置中的任何一个超出有效位置范围,则表明存在6个以上错误。错误校正的可能性约为(19/31)^ 6 = 5.3%。
关于algorithm - 将Reed-Solomon纠错算法与4状态条形码一起使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61663905/