メインメニューを開く

前方誤り訂正(ぜんぽうあやまりていせい、: Forward Error Correction, FEC)は、データ転送における誤り検出訂正方式の一種。データ送信時に誤り訂正用の符号をあらかじめ付与することにより、受信者は再送を要求することなく、ただちに誤りを検出し訂正することができる。一方向誤り訂正とも言う。

概要編集

FEC は「ノイズ平均化; averaging noize」を利用した方式であり、データの一部がノイズによって破壊されても、データを復元することができる。FEC を利用したデジタル通信システムは、ある程度のSN比までは完璧に機能する。ただしSN比が限界を越えると全く機能しない。その(全てか無かという)傾向は、シャノン限界で定められる理論的限界に近い強い符号ほど顕著である。

前方誤り訂正の利点は、誤り検出時にデータの再送を行わないことである。このため、動画配信や音声通話など、完全かつ低遅延が求められるデータ転送において利用される。一方で、誤り訂正用の符号を付与するため、データ量は増加する。訂正可能な誤りの程度は、訂正符号の設計によって異なり、一般に訂正符号のデータ量が多いほど高頻度な誤りを訂正することができる。

種類編集

FEC はブロック符号畳み込み符号に分類される。

  • ブロック符号はビット列やシンボル列を固定サイズのブロック(パケット)に分割した上で符号化する。
  • 畳み込み符号は任意長のビット列やシンボル列を対象とする。
  • 畳み込み符号は必要ならブロック符号に変換可能である。
  • 畳み込み符号はビタビアルゴリズムを使って復号されることが多いが、他のアルゴリズムが使われることもある。

ブロック符号には様々な種類があるが、有名なものとしてコンパクトディスクDVD、コンピュータのディスクドライブで広く使われているリード・ソロモン符号がある。他にもゴレイ符号BCH符号ハミング符号などがある。

ほとんどのブロック符号は、有限体の代数的特性を利用している。

ブロック符号と畳み込み符号を「連結」することで、誤り訂正能力を高めることができる。一般に畳み込み符号を基本とし、畳み込み符号の復号器で起きた誤りをブロック符号で訂正する。1986年にボイジャー2号天王星に接近した際に初めて使われて以来、この手法は人工衛星や宇宙探査での通信に標準的に使用されている。

ターボ符号編集

誤り訂正における1990年代初期の進展としてターボ符号がある。この方式は、2つ以上の比較的単純な畳み込み符号を用い、インタリーバと呼ばれる機構によってブロック符号を生成し、シャノン限界に迫る性能を発揮する。

  • ターボ符号の最初の商用利用の1つとして CDMA2000 1x (TIA IS-2000) がある。これはクアルコムが携帯電話向けに開発し、ベライゾン・ワイヤレススプリント・ネクステルなどの事業者によって販売されている。
  • CDMA2000 1x をインターネット向けに改良した 1xEV-DO (TIA IS-856) でもターボ符号が使われている。1x と同様、 EV-DO もクアルコムが開発し、ベライゾン・ワイヤレスなどの事業者が販売している。

関連項目編集

参考文献編集

外部リンク編集