エンコード | デコード | 圧縮

> hamming | (7,4) | ecc <

// ハミングコード – 信頼性の高いデータ伝送のための誤り訂正コード

[訂正]

誤り訂正

データ内の 1 ビット誤りを自動的に検出して訂正します。

[検出]

二重誤りの検出

各ブロック内の 2 ビット誤りを検出できます(訂正はできません)。

[効率的]

オーバーヘッドが小さい

4 ビットのデータに対してパリティビットはわずか 3 ビット(効率 75%)。

>> 技術情報

ハミングコードの仕組み:

Hamming(7,4) コードは、4 ビットのデータごとに 3 ビットのパリティビットを追加し、7 ビット長のブロックを生成します。パリティビットは 2 のべき乗の位置(1, 2, 4)に配置されます。誤りが発生すると、シンドローム(パリティチェックの結果)が誤りビットの位置を直接示します。

Hamming(7,4) の構造:

データ: 1011 (4 ビット) 位置: P1 P2 D1 P3 D2 D3 D4 Hamming: 1 0 1 1 0 1 1 P1 = D1 ⊕ D2 ⊕ D4 = 1 ⊕ 0 ⊕ 1 = 0 P2 = D1 ⊕ D3 ⊕ D4 = 1 ⊕ 1 ⊕ 1 = 1 P3 = D2 ⊕ D3 ⊕ D4 = 0 ⊕ 1 ⊕ 1 = 0

ハミングコードを使う理由:

  • >メモリエラー訂正
  • >衛星通信
  • >データストレージシステム
  • >ネットワーク伝送
  • >RAID アレイ

>> よくある質問

ハミングコードとは?

ハミングコードは、リチャード・ハミングが 1950 年に考案した誤り訂正コードです。データにパリティビットを追加し、1 ビット誤りを自動的に検出・訂正できるようにします。

(7,4) はどういう意味ですか?

Hamming(7,4) とは、合計 7 ビットのうち 4 ビットがデータ、3 ビットがパリティビットであることを意味します。7 ビットブロック内の任意の 1 ビット誤りを訂正できます。他のバリエーションとして (15,11) や (31,26) などがあります。

誤り訂正はどのように動作しますか?

受信側ではパリティビットが再計算されます。一致しない場合、シンドローム(差分)がどのビットが誤っているかを直接示します。そのビットを反転することで誤りを修正します。

ハミングコードと他の ECC の違いは?

ハミングコードは、1 ビット誤りに対してシンプルで効率的です。Reed–Solomon のようなより複雑なコードは複数の誤りを訂正できますが、オーバーヘッドが大きくなります。ハミングコードは低ノイズの通信路に最適です।

他の言語