algorithm - 将Reed-Solomon纠错算法与4状态条形码一起使用

标签 algorithm error-handling error-correction reed-solomon galois-field

我有一个组合的数据信息,要求至少 35位

使用 4状态条形码,每个条形表示 2位,因此上述信息可以转换为18个条形。

enter image description here

我想对该条形码添加一些强大的错误纠正功能,因此,如果某种程度上损坏了它,可以对其进行纠正。这种方法之一是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/

相关文章:

arrays - 找到 S(S=(min2∧min) ) 的最大可能值,其中 min2 和 min 是数组的 k 个元素中的最小整数和下一个最小整数

algorithm - s-t min 切割交点

创建十六进制洪水拼图的算法

algorithm - 图上距离动态变化的最短路径? (最大能量路径)

c++ - 重复流的纠错

excel - VBA On Error 语句执行时没有错误

swift - “ fatal error :在展开可选值时意外发现nil”是什么意思?

Python - 语法错误 'Exception'

algorithm - 只有当输入数据部分发生错误时,Reed-Solomon 错误算法才允许更正?

algorithm - 纠错建议?