分组码与冗余

$(n,k)$ 分组码把 $k$ 位信息编成 $n$ 位码字,加入 $n-k$ 位冗余以检错纠错。线性码的码字构成向量空间,由生成矩阵 $G$ 生成、校验矩阵 $H$ 验证($H\mathbf c^\top=\mathbf 0$)。

最小距离决定纠错能力

码的最小汉明距离 $d_{\min}$(任意两码字不同位数的最小值)决定能力:
$\text{检错 }d_{\min}-1\text{ 位},\qquad \text{纠错 }t=\Big\lfloor\frac{d_{\min}-1}{2}\Big\rfloor\text{ 位}$

汉明码 (7,4)

经典单纠错码:4 位信息 + 3 位校验,$d_{\min}=3$,可纠 1 位错。收码乘校验矩阵得校验子 (syndrome),其值直接指出出错位置。

例题

 汉明 $(7,4)$ 收到一码字,算校验子 $H\mathbf r^\top$:若为 $\mathbf 0$ 则无错;否则校验子的二进制值即出错比特的位置,翻转即纠正。

应用

线性码用于 ECC 内存、RAID、二维码、卫星与存储;汉明码思想(校验子定位)是一切代数纠错码的起点,也启发了 CRC 与更强的循环码。