Momo 发表于 2022-3-23 20:25:59

求适合8位机的轻量级前向纠错算法

看了一些资料,感觉要做好也挺不容易的,请教有没有合适的开源代码,或者参考资料,用于小量数据通讯(每包数据64bytes以内,每秒最多20包),感谢~

1a2b3c 发表于 2022-3-24 09:13:51

那你的考虑你的有效细节要多少了,FEC还不是靠牺牲有效带宽实现的。比如你64个字节主要传输的内容,那么你要纠正其中任意8bits错误,那么就需要整个包的字节数翻一番的状态了(乱说的,没去算,大概是这样)

redroof 发表于 2022-3-24 09:21:47

常见的bch 16 26算法,给每16个bit增加10个bit变成26个,可以对付任意2个bit错。
按这样算,64字节就涨到104字节,最多对付8个字节错误

think_a_second 发表于 2022-3-24 09:22:08

轻量级是指算法复杂度低,还是码率高(开销小)。你的应用是什么场景,有线通信还是无线,信噪比大不大,带宽多大,码率多低可以接受(2/3,1/2,1/3)?

hameyou 发表于 2022-3-24 10:30:03

之前在433通信上用过,有效数据减半,最多连续纠错2bit,再多就不行了

Momo 发表于 2022-3-24 10:43:42

谢谢楼上各位,我现在再做一个单线远距离发送数据,600米左右,评估了一下,FEC的方法目前不太适合这个项目,还是考虑差分或无线了,主要还是成本控制得太严格了。

redroof 发表于 2022-3-24 10:53:01

hameyou 发表于 2022-3-24 10:30
之前在433通信上用过,有效数据减半,最多连续纠错2bit,再多就不行了
(引用自5楼)

你用多组纠错码交织起来,就可以得到更长的连续纠错长度。比如1626的纠错码,一批数据16个字节,那么每个字节的bit0是一个纠错码,每个字节的bit1是另一个纠错码。。。。。。
这样最终16个字节数据变成26字节,可以错任意两个字节,不是两个bit
纠错码都是让你让你这么用的。
页: [1]
查看完整版本: 求适合8位机的轻量级前向纠错算法