ユーザーがエラーを検出するだけでなく修正することを可能にするCRCライブラリがありますか?私はC/C++またはJavaライブラリ、理想的にはオープンソースを探しています。CRCエラー修正ライブラリ?
答えて
私はCRCsがエラーを検出し、修正することはできないと信じています。これは、最も一般的な実装に当てはまります。あなたはerror correctionのテクニックを必要としますが、CRCは必要ありません。私はこれを行うためのライブラリを認識していませんが、あなたが探しているものが分かれば、簡単に見つけることができます。
これは正しいとは言えません。 http://www.cs.nmsu.edu/~pfeiffer/classes/573/notes/ecc.htmlによれば、「常に2ビットエラーを検出できるエラーチェックコードは、常に1ビットエラーを修正できます」 。そして、http://www.dsprelated.com/showmessage/107079/1.php: "単一エラー訂正を行うには、ECC ビットのワードサイズが2 ** N以下でなければなりません。ここで、NはECCビットの番号 – Gili
これは一般的なレベルで当てはまりますが、CRCアルゴリズムは修正を行いません。 – skaffman
CRCを使ってエラー訂正を行うことができます。 CRC(A XOR B)= CRC(A)XOR CRC(B)... Bをエラー、Aを送信、A XOR Bを受信メッセージとする。次に、CRC(B)= CRC(A XOR B)XOR CRC(A)。 ハミング距離証明は、すべてのエラーチェックコード(特に、大した努力なしには予約できない安全なハッシュコード)にはあてはまりませんが、CRCにはこのような問題はありません。 次に、CRC(B)からB(1つのエラー訂正の場合、ルックアップテーブルには単一エラービットのインデックスが含まれます)に戻るルックアップテーブルが必要です。 –
CRCは誤り訂正のために頻繁に使用されるとは思われませんが、ファイルのセットをチェックして修復したい場合は、常にus2で使用されるpar2を試すことができます。例えば、win32 libraryのように、インターネット上で多くの文書や実装を見つけることができます。
CRCは必要ありませんが、FEC(前方誤り訂正)は必要ありません。オープンソースの実装はlibfecにあります。
エラー訂正に関する最善の技術的解決策はターボコードと呼ばれます。 詳細については、http://en.wikipedia.org/wiki/Turbo_codeを参照してください。
しかし、私は多くの無料の実装を見つけることはないと思います。
あなたは本当に自由なものをしたい場合は、以下を参照してhttp://rscode.sourceforge.net/
ターボ符号は、高い符号化効率を達成するためにかなり複雑である。 –
で試してみてください:私はCRCが唯一のそれらを修正、エラーを検出しないことができると信じています。
作者が誤っています。 CRCは、シングルビットエラーを訂正するために使用できます。 C/C++ユーザージャーナル - 2003年6月 - 6ページ
http://www.drdobbs.com/an-algorithm-for-error-correcting-cyclic/184401662?queryText=Bill%2BMcDaniel
オンラインソースへのリンクがあるといいですか? – Gili
- 1. 修正Tkinterエラー
- 2. CRC-5正しい計算?
- 3. ファイルを修正してCRCエラーを生成する方法はありますか?
- 4. .NET用ライブラリを修正しました
- 5. SQLエラー1064 - 修正方法?
- 6. 不正な修飾エラー
- 7. Nagios:SSHエラーを修正する
- 8. 名前のエラー修正
- 9. DynamicJasper:java.lang.NoSuchMethodErrorエラーの修正方法
- 10. ヘッダファイルのエラーを修正するには?
- 11. エラー502ステータスを修正するには
- 12. エラー安全/修正リソース識別子
- 13. StackOverflowエラーを修正しました
- 14. エラーなしの次の修正
- 15. NoClassDefFoundErrorを修正するには:CircularOutputStreamエラー?
- 16. 修正する方法のjava.lang.NullPointerExceptionエラー?
- 17. 輝度、ファインダーパターン、エラー修正レベルのzxingチェック
- 18. httpsエラーを修正するには
- 19. 直接CRCと間接CRCの違い
- 20. crcカードコラボレーター
- 21. 修正位置:iOS 4で修正
- 22. linux mplayerライブラリの問題を修正しました
- 23. Androidライブラリの参考文献を修正する
- 24. 複数のjqueryライブラリを修正しました
- 25. C++ ZIPファイルを修正するためのライブラリ
- 26. 共有ライブラリの壊れたリンクを修正しましたg ++
- 27. ヘルプ "コードリストを長すぎます"エラーを修正するエラー
- 28. 不正なURIを修正するためのスカラまたはJavaライブラリ
- 29. PythonのCRC、リトルエンディアン
はちょうどチェックしますが、CRCは、ここで難しいの要件である、またはそれは誤り訂正/検出のための、より一般的な要件ですか? – skaffman
低レベルの通信プロトコルに適している限り、エラー訂正/検出の一般的な要件。最後に私はみんながCRC32を使っていることを確認しました。 – Gili
作業しているデータに関する詳細を指定する必要があります。データをストリーミングしたり、保存したりしていますか?トランスミッションはどのくらい騒々しいですか? – heyitsme