伴随式
伴随式(Syndrome)是线性分组码译码中的核心概念和基本工具。对于给定的 m x n 校验矩阵 H,接收向量 y 的伴随式定义为 s = H y^T,其中 s 是一个 m 维列向量。若发送码字为 x(满足 H x^T = 0),信道错误图样为 e(即接收向量 y = x + e,加法在 GF(2) 域中按位进行),则伴随式可写为:
这一关系表明,伴随式仅与错误图样 e 有关,而与发送的具体码字 x 无关。这一关键性质使得译码器无需知道发送的是什么码字,仅通过伴随式即可进行错误检测和纠正,大大简化了译码器的设计。
在汉明码中,伴随式的计算过程十分简洁。若计算结果 s = 0,则表明传输未发生错误(或发生了不可检测的错误模式)。若 s != 0,则表明传输出现错误。由于汉明码的校验矩阵 H 的各列互不相同且非零,伴随式 s 恰好等于 H 中对应错误位置的列向量。举例来说,若错误出现在第 j 位(即 e 的第 j 位为 1,其余为 0),则 s = H e^T 恰好等于 H 的第 j 列。因此,通过查找伴随式 s 在 H 中的列索引,即可直接定位错误比特的位置,将该比特取反即可完成纠错。
伴随式译码在硬件实现中极为高效。接收端只需使用异或门阵列计算 s = H y^T,然后通过一个查找表将伴随式映射到错误位置,最后将对应位取反。伴随式与错误图样之间的对应关系可以通过标准阵列(Standard Array)系统地建立——标准阵列将整个接收空间划分为陪集,每个陪集中选择一个重量最小的向量作为陪集首(Coset Leader),由陪集首对应的伴随式索引。若 s 非零但不对应 H 的任意一列,则表明发生了多于 1 位的错误,此时译码器通常输出错误标志或尝试进行最大似然译码。