反復符号(Repetition Code)について
反復符号はビットを繰り返すことで誤りのない通信を実現する単純な符号化方式です。その基本的な形式は
(n,1) 符号であり、特にフェージングが存在する通信環境において有効です。しかし、ホワイトノイズが加わる環境においては、高い反復回数が逆に誤り率を上昇させることがあります。
エンコーダの役割
反復符号のエンコーダは、元のビット列の各ビットを n 回繰り返すことで機能します。たとえば、(3,1)の反復符号を用いると、101001というビット列は111000111000000111に符号化されます。このようにして生成された符号は、後続の変調器に送られ、通信路を通じて伝送されます。
例:3回の反復
ここで実際の数値を見てみます。元のビット列が101001の場合、エンコーダはこれを次のように繰り返します:
- - 最初のビット1は111となり、次のビット0は000になる。
- - 続けて1、0、1、0、1がそれぞれ111、000、111、000、000と符号化され、最終的に111000111000000111のビット列が得られます。
反復復号器の機能
復号の過程では、多数決論理復号法が適用されます。つまり、受信したビット群内の各ビットについて、最も多く出現した値がそのビットの決定値となります。たとえば、(3,1)の反復符号を用いて受信した110001111という信号があるとしましょう。この信号を復号する際、3ビット単位で調べて多数決を行うことで、最終的に元の信号101へ変換されます。
具体例:3ビットの多数決
受信したビットの塊を見てみます。
- - 110では1が2回で0が1回.
- - 次の110では1が2回で0が1回.
- - 最後の111では1がすべて1回.
このようにして、それぞれのグループから多数決を取ることで101が復号されるのです。
符号パラメータと誤り訂正能力
反復符号の最小ハミング距離は d_{min} = n であり、理論的には誤り訂正能力は [n/2] ですが、実際の復号アルゴリズムではその能力が十分に活用されていません。これにより、実際の誤り訂正能力は理論値より劣ることがあります。
実用性と応用
反復符号はその実装の簡単さから、ノイズの少ない通信路やフェージングの多い環境で特によく使用されており、多くのワイヤレス通信システムでの普及が見られます。エラーの検出と訂正を必要とする通信方式においても、反復符号は有用です。これにより、通信の信頼性が増し、受信者は正確なデータを受け取ることが可能となります。
参考資料
関連項目として
ハミング符号や
畳み込み符号などがあります。これらの技術も同様に誤り訂正に役立ち、通信の信頼性向上に貢献しています。