奇偶檢查矩陣
GF(2) 上的每一個線性碼——只有 0 和 1 的域,模 2 算術——都有一個奇偶檢查矩陣 H。對於 (7,4) Hamming 碼,H 是一個 3×7 矩陣,其列是 1 到 7 的二進制表示:
``
H = [ 0 0 0 1 1 1 1 ] ← bit 2 of position number
[ 0 1 1 0 0 1 1 ] ← bit 1 of position number
[ 1 0 1 0 1 0 1 ] ← bit 0 of position number
``
H 的第 j 列是 j 的二進制表示。這就是為什麼伴隨式 s = Hr 直接標記錯誤位置。
映射 H: GF(2)^7 → GF(2)^3 是一個線性映射(模 2 矩陣乘法)。其核 ker(H) = { r : Hr = 0 } 正好是有效碼字的集合。
維度計數:dim(ker H) = 7 − rank(H) = 7 − 3 = 4。所以有 2^4 = 16 個碼字。這確認了 4 個消息位。
碼作為核
一個二進制字 c ∈ {0,1}^7 是有效碼字當且僅當 Hc = 0 (mod 2)。這是線性碼的定義方程。
例子:c = 0011001。檢查 Hc mod 2:
``
Row 1: 0·0+0·0+0·1+1·1+1·0+1·0+1·1 = 0+0+0+1+0+0+1 = 2 ≡ 0
Row 2: 0·0+1·0+1·1+0·1+0·0+1·0+1·1 = 0+0+1+0+0+0+1 = 2 ≡ 0
Row 3: 1·0+0·0+1·1+0·1+1·0+0·0+1·1 = 0+0+1+0+0+0+1 = 2 ≡ 0
``
Hc = 000。所以 0011001 是一個有效碼字。
碼的陪集
碼字 C = ker(H) 形成 GF(2)^7 的一個子群。GF(2)^7 中的每一個其他字恰好屬於 C 的某個陪集。
陪集定義:對於任何字 e,陪集 C + e = { c + e : c ∈ C }。
兩個字屬於同一個陪集當且僅當它們的差是一個碼字——等價地,如果它們有相同的伴隨式:H(r₁) = H(r₂) 當且僅當 H(r₁ − r₂) = 0 當且僅當 r₁ − r₂ ∈ C。
伴隨式映射 H 引發同構 GF(2)^7 / C ≅ GF(2)^3。因為 |C| = 16 和 |GF(2)^7| = 128:恰好有 128/16 = 8 個陪集,每個對應 GF(2)^3 中的一個伴隨式值。
標準陣列:為每個陪集列出一個陪集領導者——該陪集中 Hamming 重量最小的字。對於單錯誤校正,每個非零伴隨式唯一對應一個重量為 1 的錯誤模式(在 7 個位置之一有單個 1)。這就是為什麼 7 個錯誤模式 + 1 個無錯誤 = 8 個陪集 = 2^3。
通過陪集領導者進行解碼
解碼演算法:接收 r → 計算 s = Hr → 查詢陪集領導者 e_s(伴隨式 s 的規範錯誤)→ 輸出 r − e_s = r + e_s(在 GF(2) 中相同)。
對於 (7,4) 碼,8 個陪集領導者是:0000000(伴隨式 000)、1000000(伴隨式 001)、0100000(伴隨式 010)、0010000(伴隨式 011)、0001000(伴隨式 100)、0000100(伴隨式 101)、0000010(伴隨式 110)、0000001(伴隨式 111)。
為什麼 (7,4) 是完美的
最小距離為 3 的碼 C ⊆ GF(2)^n 校正所有單個錯誤。每個碼字 c 有一個半徑為 1 的 Hamming 球:中心 c 及其 n 個直接鄰近(重量 1 的錯誤模式)。球體積 = 1 + n。
對於 n = 7:球體積 = 8。有 16 個碼字:16 × 8 = 128 = 2^7。球完美地平鋪 GF(2)^7——沒有點未被覆蓋,沒有點被覆蓋兩次。
這是完美碼的定義:M · Vol(n, t) = 2^n。完美單錯誤校正碼(t=1)僅在特定參數下存在:(7,4)、(15,11)、(23,12)(二進制 Golay 碼),以及平凡情況 n = 2^r − 1,k = n − r 對於任何 r ≥ 2。
幾何:GF(2)^7 根據碼的作用作為陪集分割分解為恰好 8 個軌道。每個軌道是一個陪集;每個陪集有一個唯一的伴隨式。伴隨式映射 H 是從陪集到 GF(2)^3 的雙射。
計數論證
對於 n = 2^r − 1 位上的完美單錯誤校正碼,帶 r 個奇偶檢查位:
- 碼字數:M = 2^k = 2^(n−r)
- 球體積:Vol(n, 1) = 1 + n = 1 + 2^r − 1 = 2^r
- 總覆蓋:M × Vol = 2^(n−r) × 2^r = 2^n ✓
當 n = 2^r − 1 時 Vol(n,1) = 2^r 這一事實使完美碼在這些長度上成為可能。在其他長度上,1 + n 不是 2 的冪,完美單錯誤校正二進制碼無法存在。
生成矩陣與對偶性
奇偶檢查矩陣 H 通過核定義碼。其對偶:生成矩陣 G,其行形成 ker(H) 的基。
對於 (7,4) 碼:G 是一個 4×7 矩陣。任何碼字 c = mG,其中 m ∈ GF(2)^4 是某個消息向量。G 的行跨越碼;H 的行跨越碼的零空間。
關鍵關係:HG^T = 0 (mod 2)。G 的每一行都在 ker(H) 中;H 的每一行都與 G 的每一行正交。
對偶碼:C⊥ = ker(G^T) = image(H^T)。對於 (7,4) 碼,對偶是一個 (7,3) 碼——一個 [7,3,4] 碼,最小距離為 4。
對偶性的幾何:C 和 C⊥ 是 GF(2)^7 的正交子空間。整個空間分解為碼、其陪集,以及伴隨式映射編碼的對偶結構。