GF(2)域零空间

在 GF(2) 域(二元域,即模 2 运算域)上,零空间(Null Space)是线性分组码的理论基础。对于一个大小为 m x n 的校验矩阵 H(其中 m 为校验位长度,n 为码长),其零空间定义为所有满足 H x^T = 0 的向量 x 的集合,记作 N(H) = {x in GF(2)^n | H x^T = 0}。零空间构成了 GF(2)^n 中的一个线性子空间,其维度为 n - rank(H)。当 H 满秩(秩为 m)时,零空间包含 2^(n-m) 个码字,这意味着校验矩阵的每一行都给出一个线性约束条件,将所有码字限制在 n 维空间中的一个低维子空间内。

编码过程本质上是将原始信息向量 u in GF(2)^k 映射到零空间中的码字 x in GF(2)^n,其中 k = n - m。这一映射通过生成矩阵 G 实现:x = u G,其中 G 满足 H G^T = 0,即生成矩阵的行空间与校验矩阵的零空间重合。发送端构造码字时,将原始数据填入 k 个信息位的位置,然后通过求解线性方程组 H x^T = 0 确定其余 m 个校验位的取值。这一过程可表示为:

接收端收到向量 y 后,计算其伴随式 s = H y^T。若 s = 0,则 y 位于零空间中,认为传输过程中未检测到错误;若 s != 0,则 y 不在零空间中,判定传输出现错误。GF(2) 域上的运算遵循模 2 加法(即异或运算)和模 2 乘法(即与运算)。在该域中,加法和减法是等价的,这为编码和译码的硬件实现带来了极大的便利——异或门即可完成所有的加法运算。对于汉明码而言,校验矩阵 H 的各列向量互不相同且都不为零,这一设计保证了不同错误位置对应不同的伴随式,从而能够唯一确定错误比特的位置,实现单比特错误的精确纠正。

链接到