构造:校验位放在 2 的幂位置
取 个校验位、码长 、维数 。把比特位置编号 ,校验位放在编号为 2 的幂的位置(),第 个校验位 覆盖所有”编号的二进制展开含 “的位置。 情形: 覆盖 , 覆盖 , 覆盖 ,信息位占据 Hamming 1950 (Bell Syst. Tech. J.)。
用线性码的语言最干净:校验矩阵 的第 列就是 的二进制表示—— 矩阵的 7 个列恰好取遍 的全部非零向量:
(列的排序按”编号=二进制读数”,与上面 的覆盖关系一致。)
伴随式译码:二进制读出错误位置
设单比特错误发生在位置 ,错误向量 仅第 位为 1,则伴随式
把伴随式的三个比特当作二进制数读出来,直接就是出错位置的编号——校验位兼任”地址线”。7 个非零伴随式与 7 个单错位置一一对应,无错则 ,译码完成Hamming 1950 (Bell Syst. Tech. J.)。量子纠错的综合征提取在结构上就是这一机制的 Pauli 化(见syndrome-extraction)。
距离与完美性
任意两列不同 ⇒ 无重量 2 的码字;三列(如 )之和为零 ⇒ ,纠 个错。完美性:纠单错的码要求 个汉明球(半径 1,体积 )铺满 的 个点,而校验位数 恰提供 个伴随式,故
取等时汉明界饱和——汉明码是完美码(perfect code)。全族 (、、……)都完美; 退化为 重复码,同样完美。据 Handbook 引述的经典分类(Tietäväinen 等),二元/三元非平凡完美码只有汉明全族与 Golay 码 Albert & Faist 2026 (arXiv)。
检错与纠错的区分:SECDED
的码可以纠 1 个错或检 2 个错,但二者不能同时:双错的伴随式等于某个单错的伴随式,“纠错”会把好位置改坏。给 追加一个全校验位得到扩展码 :全校验位区分”奇数个错”与”偶数个错”,于是单错被纠正、双错被检出但不误纠——SECDED(single error correction, double error detection)。注意 并不取等汉明界(),它的”完美”是工程意义而非球填充意义。服务器内存 ECC 至今运行在这套 ( 的工业打包)机制上。
对偶码与 Steane 码原料
的行空间即对偶码 ,是 simplex 码:7 个非零码字全是重量 4。由CSS 构造所需的对偶包含 在这里自动成立——(行自重 4 为偶、行两两内积 为偶),行空间含于自身的正交补即汉明码内。取 、 便得 Steane 码,且 是弱自对偶构造达到 的最短长度Steane 1996 (Phys. Rev. A)。同一族思想沿 BCH 码推广为 型量子码族(Steane 表中 的 BCH 行,见bch-codes、steane-code)。