2012-05-21 28 views
3

我有一個應用程序,我需要使用糾錯。我不確定哪種方法最有意義。裏德所羅門似乎是最流行的選擇,但我想我只是列出我的環境,看看是否有其他事情出現。糾錯重複流

我有一個可能非常嘈雜的數據流,其中有50%的數據丟失和偶然性同步丟失問題。發件人將多次重複數據。接收器可以讀取數據的多個副本,但每個副本都會受到不同的損失,並且可能會丟失部分數據。在每個數據塊中,我通常可以確定哪些字節由於傳輸而丟失,但是糾錯還應該包括驗證和校正整個數據塊的方式。

當我說件失蹤我的意思是一個同步損失。我將退出數據流並在稍後的某個任意點返回。如果沒有某種標記碼,我無法知道自己在哪裏。這些我可以補充一下,但如果這裏也有一個標準的方法,那會很好。

如果裏德 - 所羅門是要走的路,是否有人知道一個好的C++實現?裏德 - 所羅門

+0

是否可以看到它是如何在'TCP'中完成的?這會有幫助嗎? – Default

+0

TCP只是使用校驗和來查看是否有錯誤。它實際上不會進行糾錯(它只是再次請求數據包)。 –

+0

退房http://openfec.org/我不知道它的工作效果如何。 – rve

回答

-1

的源代碼:http://sourceforge.net/projects/rscode/

然而,對於50%的數據丟失率,我覺得Turbo碼或LDPC會比裏德 - 所羅門更好的性能。

+0

感謝您的指點。我會檢查出其他選項。性能不是我最關心的問題,因爲我只處理每次傳輸幾K個數據。簡單可能更重要,因爲我可能需要多次實施它。 –