ハミング(7,4)符号について:
- データビット4個から7ビットの符号語を生成
- 1ビットエラーの検出と修正が可能
- パリティビット3個(p1, p2, p3)とデータビット4個(d1, d2, d3, d4)で構成
- ビット配置: p1 p2 d1 p3 d2 d3 d4
生成行列 G (4×7): c = d G (mod 2)
G = [[1, 1, 1, 0, 0, 0, 0],
[1, 0, 0, 1, 1, 0, 0],
[0, 1, 0, 1, 0, 1, 0],
[1, 1, 0, 1, 0, 0, 1]]
検査行列 H (3×7): s = H rT (mod 2)
H = [[1, 0, 1, 0, 1, 0, 1],
[0, 1, 1, 0, 0, 1, 1],
[0, 0, 0, 1, 1, 1, 1]]
パリティビット計算:
p1 (bit 0) = d1⊕d2⊕d4 (bits 2,4,6)
p2 (bit 1) = d1⊕d3⊕d4 (bits 2,5,6)
p3 (bit 3) = d2⊕d3⊕d4 (bits 4,5,6)
(⊕はXOR)
シンドロームとエラー位置:
シンドローム s = [s3, s2, s1] (MSBファースト)
s3s2s1 | 10進数 | エラービット | Name
-------------------------------------------
0 0 0 | 0 | エラーなし | -
0 0 1 | 1 | Bit 1 | p1
0 1 0 | 2 | Bit 2 | p2
0 1 1 | 3 | Bit 3 | d1
1 0 0 | 4 | Bit 4 | p3
1 0 1 | 5 | Bit 5 | d2
1 1 0 | 6 | Bit 6 | d3
1 1 1 | 7 | Bit 7 | d4