线性分组码(Linear Block Codes)是代数编码理论中最重要、应用最广泛的一类结构化分组码。其核心特征在于:信息元与校验元之间的代数约束关系完全由有限域上的线性方程组决定。
9.2.1 线性分组码的基本概念与代数性质
Section titled “9.2.1 线性分组码的基本概念与代数性质”1. 严格数学定义
Section titled “1. 严格数学定义”设信息分组为长为 k 的二元向量 u = (uₖ-1, uₖ-2, …, u₀) ∈ GF(2)^k。 信道编码映射 f 将信息空间 mathcalU^k 映射为长为 n(n > k)的码字空间 mathcalCⁿ:
f: mathcalU^k → mathcalCⁿ若映射 f 满足线性变换条件:
f(α u oplus β u') = α f(u) oplus β f(u'), ∀ α, β ∈ GF(2), u, u' ∈ mathcalU^k且 f 为一一对应映射(唯一可译),则由 f 生成的码集合称为 (n, k) 线性分组码。编码效率为 R = k/n。
2. 核心代数性质
Section titled “2. 核心代数性质”- 加法封闭性: 若 c₁, c₂ ∈ mathcalC,则其按位模 2 加法和必为合法码字: c₁ oplus c₂ ∈ mathcalC 线性分组码是 n 维向量空间 GF(2)ⁿ 的一个 k 维线性子空间。
- 全零码字必然存在: 由封闭性可知,c oplus c = 0 ∈ mathcalC。全零向量 (0, 0, …, 0) 必然属于任何线性分组码。
- 最小码距与非零最小码重等价定理:
对于任何线性分组码,其合法码字之间的最小汉明距离 d_(min) 严格等于该码集合中除全零码以外所有非零码字的最小汉明重量 w_(min):
d_(min) = w_(min) triangleq min_(c ≠ 0) w(c)严格证明: 根据汉明距离定义:
d(cᵢ, cⱼ) = w(cᵢ oplus cⱼ)由于线性码对加法封闭,若 cᵢ ≠ cⱼ,则其模 2 和必为码集合中的某个非零合法码字:cₖ = cᵢ oplus cⱼ ∈ mathcalC 且 cₖ ≠ 0。 因此:
min_(cᵢ ≠ cⱼ d(cᵢ, cⱼ) = min_cₖ ≠ 0) w(cₖ) iff d_(min) = w_(min)工程价值:检验一个 (n, k) 线性分组码的最小距离,无需对全部 binom2^k2 对码字进行繁杂的两两比对,只需遍历考察 2^k - 1 个非零码字的重量分布即可!
已知某 (5, 2) 分组码的码字集合定义为:
mathcalC = { (00000), (10100), (01111), (11011) }其信息映射规则为: 00 → 00000, 10 → 10100, 01 → 01111, 11 → 11011。 试判定该码是否属于线性分组码,并求其最小汉明距离 d_(min)。
查看解析与步骤
1. 验证加法封闭性:
- (10100) oplus (01111) = (11011) ∈ mathcalC;
- (10100) oplus (11011) = (01111) ∈ mathcalC;
- (01111) oplus (11011) = (10100) ∈ mathcalC;
- 全零码字 (00000) ∈ mathcalC。 码字集合对模 2 加法完全封闭,满足线性空间定义,故为线性分组码。
2. 求解最小码距: 非零码字的汉明重量分别为: w(10100) = 2, w(01111) = 4, w(11011) = 4。 根据 d_(min) = w_(min) 定理:
d_(min) = min{2, 4, 4} = 2该码最小距离为 2,能够检测 1 个随机错误,但无法纠正错误。
9.2.2 生成矩阵与监督矩阵
Section titled “9.2.2 生成矩阵与监督矩阵”1. 生成矩阵(Generator Matrix, G)
Section titled “1. 生成矩阵(Generator Matrix, GG)”(n, k) 线性分组码可以由输入信息向量 u = (uₖ-1, …, u₀) 经线性变换生成:
c = u G式中 G 为 k × n 阶矩阵:
G = gₖ-1, n-1 & gₖ-1, n-2 & … & gₖ-1, 0 gₖ-2, n-1 & gₖ-2, n-2 & … & gₖ-2, 0 vdots & vdots & ddots & vdots g₀, n-1 & g₀, n-2 & … & g₀, 0 = gₖ-1 gₖ-2 vdots g₀- 生成矩阵性质:
- G 的各行矢量 gᵢ 在 GF(2) 上线性无关,矩阵的秩为 k;
- G 的每一行本身就是一个合法码字(当输入为单位基向量时产生);
- 码空间 mathcalC 即为由 G 的 k 个行基向量所张成的 k 维行子空间。
2. 系统码与典型生成矩阵
Section titled “2. 系统码与典型生成矩阵”若信息位以原样未变的形式直接出现在码字的前 k 位(或后 k 位),称其为系统码(Systematic Code)。 系统码的典型生成矩阵可分块表示为:
G = [ Iₖ |dle| Q ]式中 Iₖ 为 k × k 阶单位矩阵,Q 为 k × (n-k) 阶监督生成子块。 此时码字前 k 位为原始信息 u,后 n-k 位为校验向量 uQ:
c = u G = ( u |dle| uQ )3. 监督矩阵(Parity-Check Matrix, H)
Section titled “3. 监督矩阵(Parity-Check Matrix, HH)”合法码字必须满足 r = n - k 个独立的线性校验方程,以约束冗余度。写成矩阵紧凑形式:
c H^T = 0 iff H c^T = 0^T式中 H 为 (n-k) × n 阶矩阵,称为监督矩阵(或校验矩阵)。 对于典型系统生成矩阵 G = [Iₖ | Q],由于 G 的每行都是合法码字,必须满足:
G H^T = 0设典型监督矩阵表示为 H = [P | Iₙ-k],代入上式展开:
G H^T = [ Iₖ |dle| Q ] P^T Iₙ-k = P^T oplus Q = 0 implies P = Q^T对于任意 (n, k) 典型系统线性分组码:
G = [ Iₖ |dle| Q ] iff H = [ Q^T |dle| Iₙ-k ]生成矩阵 G 负责发端编码映射,监督矩阵 H 负责收端差错校验,两者通过有限域零空间正交性完全对称绑定。
(n, k) 线性分组码的最小汉明距离为 d_(min) 的充要条件是:
- H 矩阵中任意 d_(min) - 1 个列向量线性无关;
- H 矩阵中存在某 d_(min) 个列向量线性相关。
严格证明: 将 H 展开为列向量形式 H = [hₙ-1, hₙ-2, …, h₀]。校验方程为:
c H^T = ∑ᵢ=0ⁿ-1 cᵢ hᵢ^T = 0^T- 若存在重量为 w 的非零码字 c,则上式意味着对应的 w 个非零分量所指引的 H 的列向量模 2 线性相加为零(线性相关);
- 反之,若 H 中某 w 列线性相关,即可构造出一个重量为 w 的合法非零码字。 根据 d_(min) = w_(min) 定理,最小非零码重对应的正是 H 中能构成线性相关的最少列数!
已知某 (7, 4) 线性分组码的非系统生成矩阵为:
G = 0 & 1 & 0 & 1 & 0 & 1 & 0 1 & 0 & 1 & 0 & 1 & 0 & 1 0 & 0 & 0 & 1 & 1 & 1 & 1 1 & 1 & 0 & 0 & 0 & 0 & 1试求其等价的系统码典型生成矩阵 Gₛys 与典型监督矩阵 Hₛys。
查看解析与步骤
在线性分组码中,对生成矩阵实施初等行变换(行交换、行模 2 异或相加)不改变行张成的子空间;实施列交换相当于对码字各分量位置进行置换,不改变码的距离分布与纠错能力。
通过初等行变换与列交换将左侧 4 × 4 子块消元规约化为单位矩阵 I₄,最终求得其等价系统生成矩阵为:
Gₛys = [ I₄ |dle| Q ] = 1 & 0 & 0 & 0 & 0 & 1 & 1 0 & 1 & 0 & 0 & 1 & 0 & 1 0 & 0 & 1 & 0 & 1 & 1 & 0 0 & 0 & 0 & 1 & 1 & 1 & 1由 Hₛys = [Q^T | I₃] 直接写出其典型监督矩阵:
Hₛys = 0 & 1 & 1 & 1 & 1 & 0 & 0 1 & 0 & 1 & 1 & 0 & 1 & 0 1 & 1 & 0 & 1 & 0 & 0 & 1Hₛys 的 7 个列向量两两均不相同且非零,任意 2 列均线性无关,但显然存在 3 列之和为零(例如第 5、6、7 列之和为零),故验证得 d_(min) = 3。
9.2.3 对偶码(Dual Codes)
Section titled “9.2.3 对偶码(Dual Codes)”对于由生成矩阵 Gₖ × n 张成的 k 维子空间 Vₖ,在 GF(2)ⁿ 中与 Vₖ 中所有向量模 2 正交的向量全体构成一个 n - k 维的正交补子空间 Vₙ-k:
Vₙ-k = { x ∈ GF(2)ⁿ |dle| x c^T = 0, ∀ c ∈ Vₖ }该子空间 Vₙ-k 称为原 (n, k) 码的对偶码(Dual Code),其参数为 (n, n - k):
- 原码的监督矩阵 H 正是对偶码的生成矩阵 G^perp;
- 原码的生成矩阵 G 正是对偶码的监督矩阵 H^perp。
若某个线性码与其对偶码完全一致(mathcalC = mathcalC^perp),则称该码为自对偶码(Self-Dual Code)。自对偶码的参数必然满足 n = 2k(码率恒为 1/2)。
9.2.4 系统码的硬件编码器与伴随式最优译码
Section titled “9.2.4 系统码的硬件编码器与伴随式最优译码”1. 硬件编码电路
Section titled “1. 硬件编码电路”系统码的物理实现极为简捷:信息位直接输出作为码字前 k 位;后 n-k 位校验位通过多输入模 2 异或门(XOR)依据生成方程硬件瞬时输出。
(a) (7,3) 系统码编码器
(b) (7,4) 系统码编码器
2. 二元加性信道模型与错误图样
Section titled “2. 二元加性信道模型与错误图样”设发送码字为 c,信道物理畸变与加性噪声诱发差错。二元信道模型可等效为发送码字叠加一个加性错误图样向量(Error Pattern) e:
y = c oplus e式中 e = (eₙ-1, eₙ-2, …, e₀)。eᵢ = 1 表示第 i 位传输发生错误,eᵢ = 0 表示该位正确接收。

3. 伴随式(Syndrome,校验子)理论
Section titled “3. 伴随式(Syndrome,校验子)理论”接收端收到向量 y 后,利用已知的信道监督矩阵 H 计算 r = n - k 维的伴随式向量 s:
s = y H^T将信道模型代入展开:
s = (c oplus e) H^T = cH^T oplus eH^T = 0 oplus eH^T = eH^T伴随式 s = eH^T 的取值完全唯一地取决于传输错误图样 e,与发端发送的实际有效码字 c 彻底无关!
- 若 s = 0,表明接收码字满足监督方程,判决未发生错误(或错误不可检);
- 若 s ≠ 0,则精准表征了错误图样对监督关系的破坏特征,为后继差错定位提供了完备信息。
4. 伴随式译码与标准阵列(Standard Array)
Section titled “4. 伴随式译码与标准阵列(Standard Array)”方程 e H^T = s 在 GF(2)ⁿ 中存在 2^k 个数学可能解(构成一个陪集)。 根据最大后验概率(MAP)准则,在二元对称信道(p < 0.5)中,发生差错比特数越少的错误图样先验概率越高。因此,最佳译码策略是在该伴随式对应的全部可能解中,选取汉明重量最小的向量作为最优估算错误图样 hate(陪集首,Coset Leader)。
最终纠正错误输出码字为:
hatc = y oplus hate
以 (7, 4) 汉明码为例,全部 8 种伴随式与可纠正错误图样对应关系如下表所示:
| 伴随式 (s₂ s₁ s₀) | 可纠正错误图样 hate | 纠错物理含义 |
|---|---|---|
0 0 0 | 0 0 0 0 0 0 0 | 传输无差错 |
0 0 1 | 0 0 0 0 0 0 1 | 第 0 位校验位 c₀ 出错 |
0 1 0 | 0 0 0 0 0 1 0 | 第 1 位校验位 c₁ 出错 |
1 0 0 | 0 0 0 0 1 0 0 | 第 2 位校验位 c₂ 出错 |
1 0 1 | 0 0 0 1 0 0 0 | 第 3 位信息位 c₃ 出错 |
0 1 1 | 0 0 1 0 0 0 0 | 第 4 位信息位 c₄ 出错 |
1 1 1 | 0 1 0 0 0 0 0 | 第 5 位信息位 c₅ 出错 |
1 1 0 | 1 0 0 0 0 0 0 | 第 6 位信息位 c₆ 出错 |
9.2.5 汉明码(Hamming Codes)
Section titled “9.2.5 汉明码(Hamming Codes)”汉明码是理查德·汉明(Richard Hamming)于 1949 年提出的最早且最经典的单错纠正完全线性分组码。
1. 结构参数
Section titled “1. 结构参数”设监督位数为 m ≥ 3:
- 码长:n = 2^m - 1
- 信息位数:k = 2^m - 1 - m
- 校验位数:r = n - k = m
- 最小码距:d_(min) = 3(保证纠正所有 t=1 单比特差错)
- 码率:R = (2^m - 1 - m)/(2^m - 1) = 1 - (m)/(2^m - 1) xrightarrowm → ∞ 1
2. 构造机理与硬件定位
Section titled “2. 构造机理与硬件定位”汉明码监督矩阵 H 的 n = 2^m - 1 列由全体非全零的 m 维二进制列向量按任意次序排列构成。 由于每列互不相同且非零,当发生单比特错误时(设第 i 位出错,e = [0, …, 1, …, 0]):
s = e H^T = hᵢ^T伴随式 s 的值恰好就是 H 矩阵中第 i 列的向量! 若在设计时将 H 的各列按自然二进制数值次序从小到大编排,则计算得到的伴随式二进制数值即为错误比特所在的绝对硬件位置索引,接收机无需查表即可直通纠错,展现了数学与工程融合的极致美感。