一、引言
循环码作为线性分组码中的重要一员,凭借其出色的纠错和检测能力,在通信领域得到了广泛应用。本文将深入探讨循环码的解码过程,详细阐述其纠错和检测的机理。
二、循环码基础回顾
2.1 循环码的定义与性质
循环码是一类具有循环特性的线性分组码,即任一码组循环移位后仍然是该编码中的一个码组。例如,若 ( a n − 1 a n − 2 ⋯ a 0 ) (a_{n - 1}a_{n - 2}\cdots a_0) (an−1an−2⋯a0) 是循环码的一个码组,那么循环移位后的 ( a n − 2 a n − 3 ⋯ a 0 a n − 1 ) (a_{n - 2}a_{n - 3}\cdots a_0a_{n - 1}) (an−2an−3⋯a0an−1) 等仍然是码组。
2.2 码组的多项式表示
在代数编码理论中,将码组中的各个码元视为一个多项式的系数。一个长度为 n n n 的码组可以表示为:
T ( x ) = a n − 1 x n − 1 + a n − 2 x n − 2 + ⋯ + a 1 x + a 0 T(x) = a_{n - 1}x^{n - 1} + a_{n - 2}x^{n - 2} + \cdots + a_1x + a_0 T(x)=an−1xn−1+an−2xn−2+⋯+a1x+a0
其中 x x x 的值无实际意义,仅用其幂代表码元的位置,这种多项式称为码多项式。
三、循环码解码的基本概念
3.1 伴随式(Syndrome)
先回顾一下编码过程:
循环码编码的原理概括来讲,是基于给定的码长 n 和信息位长度 k,从 x n + 1 x^{n}+1 xn+1的因子中选取一个 ( n − k ) (n - k) (n−k)次的生成多项式g(x),将信息码多项式m(x)乘以 x n − k x^{n - k} xn−k后,用g(x)除得到余式r(x),把r(x)作为监督位添加到信息位之后,形成能被g(x)整除的码多项式,从而实现对信息的编码。
伴随式是循环码解码中的关键概念。设发送的码多项式为 C ( x ) C(x) C(x),接收的码多项式为 R ( x ) R(x) R(x),错误图样多项式为 E ( x ) E(x) E(x),则有 R ( x ) = C ( x ) + E ( x ) R(x) = C(x) + E(x) R(x)=C(x)+E(x)。
通过监督矩阵 H H H 或生成多项式 g ( x ) g(x) g(x) 计算接收码多项式 R ( x ) R(x) R(x) 的伴随式 S ( x ) S(x) S(x)。对于循环码,通常用生成多项式 g ( x ) g(x) g(x) 来计算伴随式,即 S ( x ) = R ( x ) m o d g ( x ) S(x) = R(x) \bmod g(x) S(x)=R(x)modg(x)。
3.2 伴随式与错误图样的关系
伴随式 S ( x ) S(x) S(x) 与错误图样 E ( x ) E(x) E(x) 存在一一对应的关系(在码的纠错能力范围内)。这是因为 S ( x ) = R ( x ) m o d g ( x ) = ( C ( x ) + E ( x ) ) m o d g ( x ) S(x) = R(x) \bmod g(x) = (C(x) + E(x)) \bmod g(x) S(x)=R(x)modg(x)=(C(x)+E(x))modg(x)
而 C ( x ) C(x) C(x) 是 g ( x ) g(x) g(x) 的倍式,所以 S ( x ) = E ( x ) m o d g ( x ) S(x) = E(x) \bmod g(x) S(x)=E(x)modg(x)。这意味着伴随式只与错误图样有关,不同的错误图样会产生不同的伴随式。
四、循环码解码的逻辑过程
4.1 接收码多项式的获取
接收端接收到经过信道传输后的码组,将其表示为接收码多项式 R ( x ) R(x) R(x)。
4.2 伴随式的计算
用生成多项式 g ( x ) g(x) g(x) 去除接收码多项式 R ( x ) R(x) R(x),得到余式,即为伴随式 S ( x ) S(x) S(x)。具体计算过程如下:
设 R ( x ) = Q ( x ) g ( x ) + S ( x ) R(x) = Q(x)g(x) + S(x) R(x)=Q(x)g(x)+S(x),其中 Q ( x ) Q(x) Q(x) 是商式, S ( x ) S(x) S(x) 的次数小于 g ( x ) g(x)