# 基本概念与评价指标

  • 理想信道编码:在理想情况下,如果传输速率 RR 小于信道容量 CC,当码长 nn 趋于无穷大时,差错率 PP 可以趋近于 0。错误指数 E(R)E(R) 描述了差错率随码长的下降速度,即 PenE(R)P \le e^{-nE(R)}
  • 信道编码种类
    • 反馈检测(Detection with Feedback):通过反馈信道进行检测和确认。
    • 自动重传请求(ARQ, Automatic Repeat reQuest):一种差错控制方法,结合了错误检测与重传机制。
    • 前向纠错(FEC, Forward Error Correction):在发送端加入冗余信息,接收端利用这些信息直接纠正错误。
  • 评价指标
    • 误比特率(BER, Bit Error Rate):衡量传输过程中比特错误数量的指标。
    • 码率(Code Rate):编码效率的度量,定义为信息比特数 kk 与总编码比特数 nn 的比值,即 Code Rate=k/n\text{Code Rate} = k/n

# 前向纠错(FEC)理论基础

  • 编码分类
    • 线性码(Linear Code):所有有效码字构成一个线性子空间。
    • 分组码(Block Code):将数据分成固定长度的组进行编码。
    • 卷积码(Convolutional Code):通过滑动窗口对数据流进行编码。
    • 系统码(Systematic Code):编码后的码字中,原始信息比特位保持不变。
  • 关键术语
    • 校验位(Parity Bits):为检测或纠正错误而附加的冗余位。
    • 有效码字(Valid Codewords):符合编码规则的合法码字,其数目为 2k2^k
  • 有限域 GF(2):二进制码字运算遵循 GF(2) 运算规则(即模2加减法,异或运算)。

# 常见编码方法

# 奇偶校验

最简单的错误检测方法,其校验位为信息位的模2和。发送端将信息位与校验位之和设为0,接收端通过检查所有位的模2和是否为0来检测错误。

# 海明编码(Hamming Code)

海明编码是一种经典的线性分组码,具有单比特纠错能力。

  • 海明距离:两个码字之间不同比特位的数量,记为 d(x,y)d(x, y)。最小海明距离 dmind_{min} 是所有不同有效码字对的海明距离中的最小值。
  • 检错与纠错能力
    • 检错距离 ee 和纠错距离 tt 必须满足:t+e+1dmint+e+1 \le d_{min}
    • 当仅用于纠错时,即 e=te=t,则 2t+1dmin2t+1 \le d_{min}
    • 当仅用于检错时,即 t=0t=0,则 e+1dmine+1 \le d_{min}
  • 编码与解码
    • 编码:利用生成矩阵 G=[Ik:Q]G = [I_k:Q],将信息向量 xx 编码为码字 a=xG=x[Ik:Q]a = xG = x[I_k:Q]
    • 校验矩阵:校验矩阵 HT=[QIr]H^T = \begin{bmatrix} Q \\ I_r \end{bmatrix},其中 rr 为校验位的数量。有效码字必须满足 aHT=0aH^T = 0
    • 解码:接收到的码字为 b=a+eb = a+eee 为错误向量)。通过计算伴随式 s=bHT=eHTs = bH^T = eH^T 来进行错误检测和纠正。
      • s=0s=0 时,表示没有错误。
      • s0s \ne 0 时,对于单比特错误,伴随式 ss 将对应于 HTH^T 的某一列,从而指示出错的比特位置。
  • 单比特纠错能力:海明编码能识别 2r12^r-1 种错误模式和1种正确模式。要纠正所有单比特错误,校验位数量 rr 需满足 2rn+12^r \ge n+1
  • 性能评估:对于海明编码,最小海明距离 dmin=3d_{min}=3,因此可纠正 t=1t=1 个比特错误。其码率为 2r1r2r1\frac{2^r-1-r}{2^r-1}

# 交织器(Interleaver)

交织器是一种用于对抗突发错误的编码技术,它通过重新排列数据位,将突发错误分散为随机的单比特错误,从而使纠错码(如海明码)能有效处理。

  • 编码过程:将数据按行写入一个 m×nm \times n 的矩阵,然后按列读出。
  • 解码过程:将接收到的数据按列写入同一个矩阵,然后按行读出。
  • 效果:一个长度为 kk 的突发错误经过交织后,会被分散到多个码字中,使得每个码字中的错误数量小于或等于1,从而能够被单比特纠错码成功纠正。