itslabtime.com

情報・計算・データ表現

誤り検出とハミング符号

誤り訂正符号は、有効なデータ表現の間の差を増やすために、冗長なビットを追加します。 検出または訂正できるエラーの数は、限定的です。

関連する実験:誤り検出と訂正 →
誤り検出と訂正
誤り検出と訂正の実験画面 →

概念と仕組み

パリティは、指定された偶数または奇数の条件において、1のビットの数が満たされるかどうかを確認する。パリティが誤っていることを知っていることは、どのビットを修正すべきかを知っていることとは異なる。

ハミング(7,4)は、データ4ビットと検査3ビットを合わせて7ビットにします。複数の検査結果を組み合わせたシンドロームから、1ビット誤りの位置を特定できます。

関係式と成立条件

受信ビット列 r の症候群は、二分演算を用いて Hrᵀ として計算されます。単一ビットのエラーを仮定した場合、症候群で示される位置を反転させることで、元の数列を復元できます。

基本的なハミング符号 (7, 4) は、2ビットのエラーの修正を保証するものではありません。単純なパリティチェックは、ビットの反転が偶数の場合にも誤検出することがあります。

仮想実験で読み取る変化

ハミング符号は検査ビットで1ビット誤りを特定します。

ハミング(7,4)は1ビット訂正のみ保証します。2ビットは誤訂正し得ます。パリティは奇数個の誤りを検出します。

重要な関係式と記号

Hamming(7,4) · syndrome = H rᵀ

式で使う記号と単位
記号意味単位
Hパリティ検査行列二進行列
r受信したビット列7 bit
シンドローム検査結果の組合せ二進ベクトル

例で確かめる

偶数個の反転を単純パリティで調べると?

見逃し得ます · ハミング符号は検査ビットで1ビット誤りを特定します。

よくある誤解

  • シンドロームが示すビットを反転しても、任意の個数の誤りをすべて訂正できるとは限りません。

この概念を実験で確かめる

参考資料

OpenStax · Introduction to Computer Science(英語)