本专栏包含信息论与编码的核心知识,按知识点组织,可作为教学或学习的参考。markdown版本已归档至【Github仓库:https://github.com/timerring/information-theory 】或者公众号【AIShareLab】回复 信息论 获取。
循环码
能够识记循环码的基本概念;
能够说明循环码生成多项式的特点;
能够应用多项式运算完成循环码(系统型和非系统型)的编译码;
能根据生成多项式求出循环码的生成矩阵(系统型和非系统型);
能够解释循环码的编译码电路;
了解循环冗余校验(CRC) ,BCH和RS三种线性循环码
循环码的特点
1.可以用线性反馈移位寄存器很容易地实现编码和伴随式计算;
2.由于循环码有许多固有的代数结构,从而可以找到各种简单实用的译码方法。
由于循环码具有很多的良好性质,所以它在理论和实践中都很重要。
基本概念
定义: 设
C 是某 (
n,k) 线性分组码的码字集合, 如果对任何
c=(cn−1,cn−2,⋯,c0)∈C
它的循环移位(左移)
c(1)=(cn−2,cn−3,⋯,c0,cn−1)
也属于
C , 则称该 (
n,k) 码为循环码。
同理, 左移 i 位
c(i)=(cn−i−1,cn−i−2,⋯,c0,cn−1,…,cn−i)
仍是这个循环码的一个码字。
下面A、B、C、D四个码集,哪个码集是循环码? A
提示:先判断是否线性分组码,再看是否符合循环特性
A. (000,110,101,011)
B. (000,010,101,111)
C. (001,110,101,111)
D. (000,010,100,001)
循环码的多项式描述
对任意一个长为
n 的码字
c=(cn−1,cn−2,⋯,c1,c0)∈C
可用一多项式来表示, 称其为码多项式:
c(x)=cn−1xn−1+cn−2xn−2+⋯+c1x+c0
C=(cn−1,cn−2,…,c1,c0)<C(x)=cn−1xn−1+cn−2xn−2+…+c1x+c0
ci 是多项式的系数, 一切系数的运算均是在
GF(2) 上的运算。
多项式的阶数一系数不为 0 的 x 的最高幂次:
degc(x)≤n−1
多项式的加法和乘法运算 GF (2)
加法
u(x)=u2x2+u1x+u0,g(x)=g1x+g0u(x)+g(x)=(u2+0)x2+(u1+g1)x+(u0+g0)
乘法
u(x)g(x)=u2g1x3+(u2g0+u1g1)x2+(u1g0+u0g1)x+u0g0
写成矩阵形式
c=(u2,u1,u0)(g100g0g100g0g100g0)=(u2g1,(u2g0+u1g1),(u1g0+u0g1),u0g0)
例:
(x6+x2+1)+(x3+x2)=x6+x3+(1+1)x2+1=x6+x3+1
基本多项式关系
(x+1)2=x2+1(x+1)(x3+x+1)(x3+x2+1)=x7+1(x+1)(xn−1+xn−2+⋯+x+1)=xn+1
多项式的模运算
模
N 运算:
M/N=Q+R/N0≤R<N ; 其中 M, N 为 正 整数,
Q 为整数, 则在模
N 运算下, 有
M≡R (模 $\mathbf{N} $, 记为
modN )
例 :
14≡2(mod12),
1+1=2≡0(mod2),
3+2=5≡1(mod2),
5×4=20≡0(mod2)
给定任意两个系数在 $G F(2) $ 上的多项式 a(x) 和 p(x) , 一定存在有唯一的多项式 Q(x) 和 r(x) , 使
a(x)=Q(x)p(x)+r(x)
称 Q(x) 是 a(x) 除以 p(x) 的商式, r(x) 是 a(x) 除以 p(x) 的余式, 在模 p(x) 运算下,
a(x)≡r(x)[modp(x)]
记 a(x) 除以 p(x) 的余式为
r(x)=[a(x)]modp(x) , 其中
0≤degr(x)<degp(x), 或 r(x)=0
x6被
x3+x+1除,求余式
注:GF(2)的运算中,用加法代替减法。
计算过程省略:
r(x)=x2+1
对于任意多项式 a(x) 、 b(x) 和 p(x) , 可以证明
{b(x)[a(x)]modp(x)}modp(x)=[b(x)⋅a(x)]modp(x)
若:
a(x)=x7+x+1b(x)=x2+1p(x)=x3+x+1
请验证上式。余式=1。
对于 (n, k) 循环码, 若 c(x) 对应码字
c=(cn−1,cn−2,…,c1,c0),
c(1)(x) 对应
c 的一次移位
c(1)=(cn−2,…,c1,c0,cn−1) , 对
c(i)(x) 对应 c 的 i 次移位
c(i) ,则
c(1)(x)=[xc(x)]mod(xn+1)c(i)(x)=[xic(x)]mod(xn+1)
证:
c(1)(x)=[xc(x)]mod(xn+1), c(i)(x)=[xic(x)]mod(xn+1)c(x)=cn−1xn−1+cn−2xn−2+⋯+c1x+c0xc(x)=cn−1xn+cn−2xn−1+⋯+c1x2+c0x=cn−1xn+cn−2xn−1+⋯+c1x2+c0x+cn−1+cn−1=cn−1(xn+1)+c(1)(x)arrow[xc(x)]mod(xn+1)=[cn−1(xn+1)+c(1)(x)]mod(xn+1)=c(1)(x)
例 (7,4) 循环码的第 12 个码字
c12 的码多项式 为
C(x)=x6+x4+x3 , 写出左循环移位 3 次的码字。
解:
i=3,x3C(x)=x9+x7+x6 , 与
x7+1 作除法, 得
C(3)(x)=x6+x2+1 。对应码字 1000101 。
另: 由简单移位给出, 原始码字 1011000 , 左移三位为: 1000101 。
参考文献:
- Proakis, John G., et al. Communication systems engineering. Vol. 2. New Jersey: Prentice Hall, 1994.
- Proakis, John G., et al. SOLUTIONS MANUAL Communication Systems Engineering. Vol. 2. New Jersey: Prentice Hall, 1994.
- 周炯槃. 通信原理(第3版)[M]. 北京:北京邮电大学出版社, 2008.
- 樊昌信, 曹丽娜. 通信原理(第7版) [M]. 北京:国防工业出版社, 2012.
评论(0)