我能在Google上找到的最好的东西是Reed-Solomon编码;但它似乎非常激烈。
基本上,我正在与一个具有串行端口的小型资源受限设备进行通信。通过红外线进行通信;串行端口直接连接到IR编码器/解码器硬件,然后连接到IR收发器。
通信是半双工的。这是一个硬件限制,因为IR收发器会看到自己的传输。我与主机一起轮询并在客户端上使用中断来知道何时传回。
我遇到的问题是硬件对静电放电非常敏感。我采取了所有实用的硬件措施来减少这个问题并且它们还不够好;我现在正在研究软件问题。
任何人都可以建议任何错误恢复实现,理想情况下不需要重传吗?
越简越好。如果那里有一个免费的图书馆,那就更好了!
答案 0 :(得分:2)
如果您不想使用Reed-Solomon,Golay编码怎么样?它是一个非常小的算法,这个代码完全在一个C文件中实现它,并且在商业项目中看起来犹太洁食(尽管它不是标准的开源许可证之一)。
您也可以找到其他实现。 Golay码是用于低比特率数字无线电系统中的错误恢复的几种机制之一。