我有一个需要使用纠错的应用程序。我不确定哪种方法最有意义。Reed Solomon 似乎是最受欢迎的选择,但我想我只是列出我的环境,看看是否会出现其他问题。
我有一个可能非常嘈杂的数据流,有 50% 的数据丢失和偶尔的同步丢失问题。发送者将多次重复数据。接收方可以读取数据的多个副本,但每个副本都会遭受不同的损失,并且可能会丢失一些数据。在每个数据块中我一般可以确定哪些字节由于传输而丢失,但是纠错还应该包括验证和纠正整个数据块的方法。
当我说缺少片段时,我的意思是同步丢失。我将退出数据流并稍后在某个任意时间点返回。如果没有某种标记代码,就无法判断我在流中的位置。这些我可以自己添加,但如果这里也有标准方法,那就太好了。
如果 Reed-Solomon 是要走的路,有人知道一个好的 C++ 实现吗?