最新——循环码(9,3)码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
目录 (1)
一、摘要: (2)
二、关键字: (2)
三、基本概念: (2)
四、循环码的多项式描述: (3)
4.1 生成多项式g(x)及生成矩阵G (3)
4.2 系统循环码 (4)
4.3 循环码的编码: (5)
4.4 检错纠错能力 (6)
五、编码器.译码器原理图: (6)
5.1 编码器原理图 (6)
5.2 译码器原理图 (8)
六、循环码和线性分组码、Hamming码的区别、联系: (12)
6.1 线性分组码 (12)
6.2 循环码 (12)
6.3 汉明码hamming (13)
七、循环码的MATLAB仿真: (13)
八、参考文献: (16)
九、参与人员: (16)
循环码(9,3)码课程设计
一、摘要:
本报告详细给出了循环码的定义以及由生成多项式求解生成矩阵和系统生成矩阵的过程,并在Matlab 环境下写出了循环码的编码器和解码器代码,实现了编码和译码功能。分析和讨论了此码发现错误、纠正错误的能力,并讨论了其与线性分组码、Hamming 码等信道编码的区别与联系。
二、关键字:
循环码 编码 译码 检错 纠错 Matlab
三、基本概念:
更好的设计和实现线性分组码的方法是引入特定的数学结构来界定某一类线性分组码。循环码即是采用循环移位特性界定的一类线性分组码。
循环码定义:设C 使某(n,k)线性分组码的码字集合,如果对任何
C c c c C n n ∈=--),,,(021 ,它的循环移位),,,(1032)1(---=n n n c c c c C 也属于C ,则称该(n,k )码为循环码。
该码在结构上有另外的限制,即一个码字任意循环移位的结果仍是一个有效码字。其特点是:(1)可以用反馈移位寄存器很容易实现编码和伴随式的计算;(2)由于循环码有很多固有的代数结构,从而可以找
到各种简单使用的译码办法。
如果一个(n,k )线性码具有以下的属性,则称为循环码:如果n 元组},,,{110-=n c c c c 是子空间S 的一个码字,则经过循环移位得到的
},,,{201)1(--=n n c c c c 也同样是S 中的一个码字;或者,一般来说,经过j 次循环移位后得到的},,,,,,,{11011)(---+--=j n n j n j n j c c c c c c c 也是S 中的一个码字。
四、循环码的多项式描述:
码字的多项式描述,一个n 元码字可以用一个次数不超过n-1的多项式唯一表示
)(0121c c c c c n n --=
0112211)(c x c x c x c x c n n n n ++++=----
其中,我们不关心x 的具体位置,其次数只表示相应码元的位置。称这样的c(x)为c 的码字多项式。
4.1 生成多项式g(x)及生成矩阵G
如果一种码的所有码多项式都是多项式g(x)的倍式,则称g(x)为该码的生成多项式。在循环码中,次数最低的多项式(0除外)就是生成多项式g(x),其他码多项式都是其倍数。且该g(x)的阶数为r=n-k ,常
数项为1,是n x +1的一个因式。为了寻求生成多项式,必须对n
x +1进
行因式分解。
循环码的生成矩阵多项式为:
⎥⎥⎥⎥⎥
⎥⎦
⎤⎢⎢⎢⎢⎢⎢⎣⎡=--)()()()()(21X g X Xg X g X X g X X G k k
然后将系数提出就得到生成矩阵G 。
4.2 系统循环码
循环码也可以构成为系统循环码。为方便系统码的构造,将消息多项式和码式都记为高位在前,即),,,,(0121m m m m m k k ⋅⋅⋅=--的消息多项式
为m(x),
1110)(--+++=k k x m x m m x m
又设码式的高幂次部分等于m(x),即
)
()()(1
11110x p x m x x c x c x c x c c x c k n n n k n k n k n k n +⋅=++++++=---+-+--- k n r x p -=<∂)(
其中p(x)称为校验位多项式,由于码式是生成式的倍式,所以
))
((mod 0)()()()(x g x g x a x m x x p k n ==+-
))()(mod ()(x g x m x x p r
⋅-=
因此循环码的系统码码式为
))]((mod )([)()(x g x m x x m x x c r r -=
将循环码的系统码构造步骤总结为
多项式乘
))(()(x m x x m x r r =
多项式求模(余式)
)())())(mod ((x p x g x m x r = 多项式减
)()())((x c x p x m x r
=- 如果令)(x m 为单项式1+r x ,1,,1,0-=k i
r x p x p x g x a x i i r <∂+=+)(),()()(1
i
r i i x x p x c ++=)()(
那么容易看到,
)(x c i 对应的向量i c ,1,,1,0-=k i 是线性无关的,
从而得到循环码系统码的生成矩阵
s
G 为
⎥
⎥
⎥⎥⎦
⎤⎢
⎢⎢⎢⎣⎡=------1000100011
,11
,10,11
,111101,00100
r k k k r r s p p p p p p p p p G
4.3 循环码的编码:
利用生成多项式g(x)实现编码:
如上所述,但循环码的生成多项式g(x)确定时,码就完全确定了。现在讨论生成多项式g(x)给定以后,如何实现循环码的编码问题。
若已知 g(x)=gn-kxn-k+gn-k-1xn-k-1+...g1x+g0 并设信息元多项式 m(x)=mk-1xk-1+mk-2xk-2+...m1x+m0 要编码成系统循环码形式,即码字的最左边k 位是信息元,其余n-k 位是校验元,则要用xn-k 乘以m(x),再加上校验元多项式r(x),这样得到的码字多项式c(x)为
c(x)=xn-km(x)+r(x)
=mk-1xn-1+mk-2xn-2+...m0xn-k+rn-k-1xn-k-1+...r1x+r0
其中 r(x)=rn-k-1xn-k-1+...r1x+r0 c(x)一定是g(x)的倍式,即有
c(x)=xn-km(x)+r(x)=q(x)g(x) c(x)=xn-km(x)+r(x)=0. mod g(x)
注意到g(x)为n-k 次多项式,而r(x)最多为n-k-1次多项式,必有 r(x)=xm(x), mod g(x) (1) 即r(x)必是xn-km(x)除以g(x)的余式。
式(1)指出了系统循环码的编码方法:首先将信息元多项式m(x)乘以xn-k 成为xn-km(x),然后将xn-km(x)除以生成多项式)(x g 得到余式r(x),该余式就是校验元多项式,从而得到码字多项式