- ベストアンサー
ハミング符号について
ハミング符号について勉強し始めています。いくつか質問させてください。 ・ハミング符号は2ビットの誤りまで検出できて、1ビットの誤りまで訂正できる。 ・ということは、例えば1000000ビットの情報を送りたい場合、より確実に送りたい場合は、ビット列を例えば100ビットくらいに分けて、それぞれにハミング符号(の冗長部分)を付与した方がよい。反対に、情報を軽く送りたい(スピード重視)場合は、ほとんど分割せずに、ハミング符号を作った方がよい。 という理解で、大丈夫でしょうか?よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
まあ基本的な(理論的な)理解はそれでいいんでしょうが。 >反対に、情報を軽く送りたい(スピード重視)場合は、ほとんど分割せずに、ハミング符号を作った方がよい。 理論的な話ではなくて、実際の通信では、こういう方針は考えられないです。 符号長が長くなれば、その分、必要な計算量がどんどん増えるんで(単純には計算量は符号長の3乗に比例します)、1000000ビットをまとめて符号化すると計算が大変なことになります。 さらに、ハミング符号は、1符合全部受信し終わらないと複合できないんで、この場合であれば、1000000ビット全て受信し終わるまで、これまでに受信し終わったデータの中にエラーがあるかどうかを判断することもできません。 しかも、1000000ビット受信し終わった後で、エラーが見つかったら、また、1000000ビット再送しなければなりません。 もし、こういう用途で使うならオンライン処理(データを送受信しながらリアルタイムで符号化・復号化する)可能な、符号化方法にするべきでしょう。
お礼
回答ありがとうございます。 私は情報理論の本を読んでいるだけなので、そういった「実際の通信では」という話は、説得力がまるで違いますし、とても面白いです。ありがとうございます。