循环码的特点与多项式描述

本专栏包含信息论与编码的核心知识,按知识点组织,可作为教学或学习的参考。markdown版本已归档至【Github仓库:github.com/timerring/i… 】或者公众号【AIShareLab】回复 信息论 获取。

循环码

能够识记循环码的基本概念;

能够说明循环码生成多项式的特点;

能够应用多项式运算完成循环码(系统型和非系统型)的编译码;

能根据生成多项式求出循环码的生成矩阵(系统型和非系统型);

能够解释循环码的编译码电路;

了解循环冗余校验(CRC) ,BCH和RS三种线性循环码

循环码的特点

1.可以用线性反馈移位寄存器很容易地实现编码和伴随式计算;

2.由于循环码有许多固有的代数结构,从而可以找到各种简单实用的译码方法。

由于循环码具有很多的良好性质,所以它在理论和实践中都很重要。

基本概念

定义: 设 C\mathrm{C} 是某 (n,k\boldsymbol{n}, \boldsymbol{k}) 线性分组码的码字集合, 如果对任何

c=(cn1,cn2,,c0)C\mathbf{c}=(c_{n-1}, c_{n-2}, \cdots, c_{0}) \in \mathbf{C}

它的循环移位(左移)

c(1)=(cn2,cn3,,c0,cn1)\mathbf{c}^{(1)}=(c_{n-2}, c_{n-3}, \cdots, c_{0}, c_{n-1})

也属于 C\mathrm{C} , 则称该 (n,k\boldsymbol{n}, \boldsymbol{k}) 码为循环码。

同理, 左移 i 位

c(i)=(cni1,cni2,,c0,cn1,,cni)\mathbf{c}^{(i)}=(c_{n-i-1}, c_{n-i-2}, \cdots, c_{0}, c_{n-1}, \ldots, c_{n-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)

循环码的多项式描述

对任意一个长为 nn 的码字

c=(cn1,cn2,,c1,c0)C\mathbf{c}=(c_{n-1}, c_{n-2}, \cdots, c_{1}, c_{0}) \in \mathbf{C}

可用一多项式来表示, 称其为码多项式:

c(x)=cn1xn1+cn2xn2++c1x+c0c(x)=c_{n-1} x^{n-1}+c_{n-2} x^{n-2}+\cdots+c_{1} x+c_{0}
C=(cn1,cn2,,c1,c0)<C(x)=cn1xn1+cn2xn2++c1x+c0\begin{array}{l} \mathrm{C}=(c_{n-1}, c_{n-2}, \ldots, c_{1}, c_{0}) \\ \lt C(x)=c_{n-1} x^{n-1}+c_{n-2} x^{n-2}+\ldots+c_{1} x+c_{0} \end{array}

ci\boldsymbol{c}_{i} 是多项式的系数, 一切系数的运算均是在 GF(2)\boldsymbol{G F}(2) 上的运算。

多项式的阶数一系数不为 0 的 x 的最高幂次:

degc(x)n1\operatorname{deg} c(x) \leq n-1

多项式的加法和乘法运算 GF (2)

加法

u(x)=u2x2+u1x+u0,g(x)=g1x+g0u(x)+g(x)=(u2+0)x2+(u1+g1)x+(u0+g0)\begin{array}{l} u(x)=u_{2} x^{2}+u_{1} x+u_{0}, g(x)=g_{1} x+g_{0} \\ u(x)+g(x)=(u_{2}+0) x^{2}+(u_{1}+g_{1}) x+(u_{0}+g_{0}) \end{array}

乘法

u(x)g(x)=u2g1x3+(u2g0+u1g1)x2+(u1g0+u0g1)x+u0g0\begin{array}{l} u(x) g(x) \\ =u_{2} g_{1} x^{3}+(u_{2} g_{0}+u_{1} g_{1}) x^{2}+(u_{1} g_{0}+u_{0} g_{1}) x+u_{0} g_{0} \end{array}

写成矩阵形式

c=(u2,u1,u0)(g1g0000g1g0000g1g0)=(u2g1,(u2g0+u1g1),(u1g0+u0g1),u0g0)c=(u_{2}, u_{1}, u_{0})(\begin{array}{llll} g_{1} & g_{0} & 0 & 0 \\ 0 & g_{1} & g_{0} & 0 \\ 0 & 0 & g_{1} & g_{0} \end{array})=(u_{2} g_{1},(u_{2} g_{0}+u_{1} g_{1}),(u_{1} g_{0}+u_{0} g_{1}), u_{0} g_{0})

例:

(x6+x2+1)+(x3+x2)=x6+x3+(1+1)x2+1=x6+x3+1\begin{array}{l} (x^{6}+x^{2}+1)+(x^{3}+x^{2})\\ =x^{6}+x^{3}+(1+1) x^{2}+1 \\ =x^{6}+x^{3}+1 \end{array}

基本多项式关系

(x+1)2=x2+1(x+1)(x3+x+1)(x3+x2+1)=x7+1(x+1)(xn1+xn2++x+1)=xn+1\begin{array}{c} (x+1)^{2}=x^{2}+1 \\ (x+1)(x^{3}+x+1)(x^{3}+x^{2}+1)=x^{7}+1 \\ (x+1)(x^{n-1}+x^{n-2}+\cdots+x+1)=x^{n}+1 \end{array}

多项式的模运算

N\mathbf{N} 运算: M/N=Q+R/N0R<NM / N=Q+R / N \quad 0 \leq R \lt N ; 其中 M, N 为 正 整数, Q\mathbf{Q} 为整数, 则在模 N\mathbf{N} 运算下, 有 MRM \equiv \mathbf{R} (模 N\mathbf{N} , 记为 modN\bmod \mathbf{N} )

例 : 142(mod12)14 \equiv 2(\bmod 12), 1+1=20(mod2)1+1=2 \equiv 0 (mod 2), 3+2=51(mod2)3+2=5 \equiv 1(\bmod 2), 5×4=200(mod2)5 \times 4=20 \equiv 0(\bmod 2)

给定任意两个系数在 GF(2)G F(2) 上的多项式 a(x) 和 p(x) , 一定存在有唯一的多项式 Q(x) 和 r(x) , 使

a(x)=Q(x)p(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) \equiv r(x) \quad[\bmod p(x)]

记 a(x) 除以 p(x) 的余式为 r(x)=[a(x)]modp(x)r(x)=[a(x)] \bmod p(x) , 其中

0degr(x)<degp(x), 或 r(x)=00 \leq \operatorname{deg} r(x)<\operatorname{deg} p(x) \text {, 或 } r(x)=0

x6x^6x3+x+1x^3+x+1除,求余式

注:GF(2)的运算中,用加法代替减法。

计算过程省略:r(x)=x2+1r(x) = x^2 + 1

对于任意多项式 a(x) 、 b(x) 和 p(x) , 可以证明

{b(x)[a(x)]modp(x)}modp(x)=[b(x)a(x)]modp(x)\{b(x)[a(x)]_{\bmod p(x)}\}_{\bmod p(x)}=[b(x) \cdot a(x)]_{\bmod p(x)}

若:

a(x)=x7+x+1b(x)=x2+1p(x)=x3+x+1\begin{array}{c} a(x)=x^{7}+x+1 \\ b(x)=x^{2}+1 \\ p(x)=x^{3}+x+1 \end{array}

请验证上式。余式=1。

对于 (n, k) 循环码, 若 c(x) 对应码字

c=(cn1,cn2,,c1,c0),\mathbf{c}=(c_{n-1}, c_{n-2}, \ldots, c_{1}, c_{0}),

c(1)(x)\boldsymbol{c}^{(1)}(\boldsymbol{x}) 对应 c\boldsymbol{c} 的一次移位 c(1)=(cn2,,c1,c0,cn1)\mathbf{c}^{(1)}=(c_{n-2}, \ldots, c_{1}, c_{0}, c_{n-1}) , 对 c(i)(x)c^{(i)}(x) 对应 c 的 i 次移位 c(i)c^{(i)} ,则

c(1)(x)=[xc(x)]mod(xn+1)c(i)(x)=[xic(x)]mod(xn+1)\begin{array}{c} c^{(1)}(x)=[x c(x)] \bmod (x^{n}+1) \\ c^{(i)}(x)=[x^{i} c(x)] \bmod (x^{n}+1) \end{array}

证:

c(1)(x)=[xc(x)]mod(xn+1)c(i)(x)=[xic(x)]mod(xn+1)c(x)=cn1xn1+cn2xn2++c1x+c0xc(x)=cn1xn+cn2xn1++c1x2+c0x=cn1xn+cn2xn1++c1x2+c0x+cn1+cn1=cn1(xn+1)+c(1)(x)arrow[xc(x)]mod(xn+1)=[cn1(xn+1)+c(1)(x)]mod(xn+1)=c(1)(x)\begin{array}{l} c^{(1)}(x)=[x c(x)] \bmod (x^{n}+1) \text {, } \\ c^{(i)}(x)=[x^{i} c(x)] \bmod (x^{n}+1) \\ c(x)=c_{n-1} x^{n-1}+c_{n-2} x^{n-2}+\cdots+c_{1} x+c_{0} \\ x c(x)=c_{n-1} x^{n}+c_{n-2} x^{n-1}+\cdots+c_{1} x^{2}+c_{0} x \\ =c_{n-1} x^{n}+c_{n-2} x^{n-1}+\cdots+c_{1} x^{2}+c_{0} x+c_{n-1}+c_{n-1} \\ =c_{n-1}(x^{n}+1)+c^{(1)}(x) \\ arrow[x c(x)]_{\bmod (x^{n}+1)}=[c_{n-1}(x^{n}+1)+c^{(1)}(x)]_{\bmod (x^{n}+1)} \\ =c^{(1)}(x) \\ \end{array}

例 (7,4) 循环码的第 12 个码字 c12c_{12} 的码多项式 为 C(x)=x6+x4+x3C(x)=x^{6}+x^{4}+x^{3} , 写出左循环移位 3 次的码字。

解: i=3,x3C(x)=x9+x7+x6i=3, x^{3} C(x)=x^{9}+x^{7}+x^{6} , 与 x7+1x^{7}+1 作除法, 得 C(3)(x)=x6+x2+1C^{(3)}(x)=x^{6}+x^{2}+1 。对应码字 1000101 。

另: 由简单移位给出, 原始码字 1011000 , 左移三位为: 1000101 。

参考文献:

  1. Proakis, John G., et al. Communication systems engineering. Vol. 2. New Jersey: Prentice Hall, 1994.
  2. Proakis, John G., et al. SOLUTIONS MANUAL Communication Systems Engineering. Vol. 2. New Jersey: Prentice Hall, 1994.
  3. 周炯槃. 通信原理(第3版)[M]. 北京:北京邮电大学出版社, 2008.
  4. 樊昌信, 曹丽娜. 通信原理(第7版) [M]. 北京:国防工业出版社, 2012.

© 版权声明
THE END
喜欢就支持一下吧
点赞0

Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MYpJzl2U' (Errcode: 28 - No space left on device) in /www/wwwroot/583.cn/wp-includes/class-wpdb.php on line 2345
admin的头像-五八三
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

图形验证码
取消
昵称代码图片