基于MATLAB的循环码编译码器设计与仿真胡鑫
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告
题目:基于MATLAB循环码编
译码器的设计与仿真
学生姓名:胡鑫
学生学号:1114030110 系别:电气信息工程学院
专业:通信工程
届别:15届
指导教师:吴琰
电气信息工程学院制
2014年6月
基于MATLAB循环码编译码器的设计与仿真
学生:胡鑫
指导教师:吴琰
电气信息工程学院11级通信工程专业
1循环码编码的设计目的与要求
1.1设计目的
(1)巩固并扩展通信原理课的基本概念,基本理论,分析方法和实现方法;
(2)通过实验了解循环码的工程作原理;
(3)培养创新思维和设计能力;
(4)增强软件编程实现能力和解决能力。
1.2设计要求
(1)掌握循环码的编码与译码的相关知识;
(2)能够设计程序并建立模型。
2循环码介绍与原理
2.1循环码的介绍
随着社会经济的迅速发展和科学技术的全面进步,计算机事业的飞速发展,以计算机与通信技术为基础的信息系统正处于蓬勃发展的时期。随着经济文化水平的显著提高,人们对生活质量及工作软件的要求也越来越高。在计算机通信信息码中循环码是线性分组码的一个重要子集,是目前研究得最成熟的一类码。它有许多特殊的代数性质,它使计算机通信以一种以数据通信形式出现,实现了在计算机与计算机之间或计算机与终端设备之间进行有效的与正确地信息传递,它使得现代通信的可靠性与有效性实现了质的飞跃。它是现代计算机技术与通信技术飞速发展的产物,在日常生活通信领域、武器控制系统等领域都被广泛应用。
循环码是线性分组码的一种,所以它具有线性分组码的一般特性,此外还具有循环性。循环码的编码和解码设备都不太复杂,且检(纠)错能力强。它不但可以检测随机的错误,还可以检错突发的错误。(),n k循环码可以检测长为n k-或更短的任何突发错误,包括首尾相接突发错误。循环码是一种无权码,循环码编排的特点是相邻两个数码之间符合卡诺图中的邻接条件,即相邻两个数码之间只
有一位码元不同,码元就是组成数码的单元。符合这个特点的有多种方案,但循
环码只能是表中的那种。循环码的优点是没有瞬时错误,因为在数码变换过程中,
在速度上会有快有慢,中间经过其它一些数码形式,称它们为瞬时错误。这在某
些数字系统中是不允许的,为此希望相邻两个数码之间仅有一位码元不同,即满
足邻接条件,这样就不会产生瞬时错误。循环码就是这样一种编码,它可以在卡
诺图中依次循环得到。循环码又称格雷码(Gray Code )。
2.2循环码的设计原理
2.2.1 循环码的循环性
循环码除了具有线性码的一般性质外,还具有循环性。循环性是指任一码组
循环一位(即将最右端的一个码元移至左端,或反之)以后,仍为该码中的一个
码组。在表1中给出一种(7,3)循环码的全部码组。由此表可以直观看出这种
码的循环型。例如,表中的第2码组向右移一位即得到第5码组;第6码组向右
移一位即得到第7码组。一般说来,若(0121a a a a n n ⋯-- )是循环码的一个码组,则
循环移位后的码组:
(1032---⋯⋯n n n a a a a )
(2143----⋯⋯n n n n a a a a )
……
(1210a a a a n ⋯⋯-)
也是该编码组中的码组。
表1 一种(7,3)循环码的全部码组
由于循环码具有码的代数结构清晰、性能较好、编译码简单和易于实现的特
点,因此在目前的计算机纠错系统中所使用的线性分组码几乎都是循环码。它不。
但可以纠正独立的随机错误,也可用于检测突发错误并且非常有效。),(k n 循环码
能够检测长为k n -或更短的任何突发错误;其中n 为码长,k 为信息位数。
2.2.2循环码多项式表示
在代数编码理论中,为了便于计算,把这样的码组中各码元当作是一个多项
式的系数,即把一个长度为n 的码组表示成:
012211)(a x a x a x a x a x T i i n n n n ++⋯++⋯++=---- (2-1)
这种多项式中, x 仅是码元位置的标记,例如上式表示第7码组中a 6、a 5、
a 2和a 0为“1”,其他均为0。因此我们并不关心x 的取值。这种多项式有时称
为码多项式。
例如,表1中第7个码组可以表示为:
1)(256+++=x x x x T
2.2.3循环码的生成多项式
在循环码中,一个),(k n 码有2k 个不同的码组。若用)(x g 表示其中前)
1(-k 位皆为“0”的码组,则)(,),(),(),(12x g x x g x x xg x g k -⋯都是码组,而且这k 个码
组是线性无关的。对于(n,k )循环码中的生成多项式g (x ),它是(n,k)循环码码集中
唯一的,幂次为n-k 的码多项式,则()k x g x 是一个幂次为n 的码多项式。按模
(1n x +) 运算,此时:
1
)()(1)(++=+n n k x x R x Q x x g x ,R (x )余数多项式 (2-2) 即 ()()k x g x R x ≡,且因()k x g x 也是n 阶幂,故Q(x)=1.由于它是循环码,
故()k x g x 按模(1n x +)运算后的“余式”也是循环码的一个码字,它必能被g(x)
整除,即:
)()
()(x F x G x R = (2-3) 由以上两式可以得到:
)()()1()()1)(()(x G x F x x R x x Q x g x n n k ++=++= (2-4)