您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > (7,3)循环码编译码软件设计
摘要循环码的编码和译码都要用到由一个多项式去除另一个多项式。对于接收端译码的要求通常有两个:检错与纠错。本次课程设计运用C语言设计的软件系统能够实现(7,3)循环码的编码与在无差错和部分差错情况下的译码。关键字:循环码编码译码目录一、目的及意义..........................................................................................................................1二、设计结果..............................................................................................................................22.1循环码的介绍................................................................................................................22.1.1循环码的定义.....................................................................................................22.1.2循环码的特点.....................................................................................................22.1.3循环码的多项式表示.........................................................................................32.1.4(n,k)循环码的生成多项式.............................................................................32.2循环码编码原理............................................................................................................62.3循环码译码原理............................................................................................................8三、设计结果及分析..................................................................................................................93.1无差错编码仿真结果....................................................................................................91.初始界面...................................................................................................................92.正确编码界面...........................................................................................................93.无差错编码仿真结果.............................................................................................104.部分差错编码图..................................................................................................115.离开界面..............................................................................................................123.2运行结果理论分析......................................................................................................133.3软件可行性分析..........................................................................................................13四、总结....................................................................................................................................14参考文献....................................................................................................................................15附录............................................................................................................................................161一、目的及意义在实际的通信系统中,由于信道传输特性不理想以及加噪声的影响,接收到的信息中不可避免的会发生错误,影响通信系统的传输可靠性。随着数字通信技术的发展,各种业务对系统误码率的要求逐渐提高,差错控制编码技术是提高数字通信可靠性的有效方法之一。循环码的编码与译码电路比较简单,纠错能力也较强,是应用比较广泛的差错控制编码方法之一。通过完成本课题的设计,拟达到以下目的:1.学习循环码编、译码的基本原理,并重点掌握(7,3)循环码的编码与译码;2.查找并分析选择一个合理的生成多项式;3.用C语言分别编程实现(7,3)循环码的编码与译码部分;4.输入任意的数字信息序列,仿真并分析(7,3)循环码的编码结果;5.分别在无差错和部分差错的情况下仿真并分析(7,3)循环码的译码结果;6.分析软件的可行性。2二、设计原理2.1循环码的介绍循环码是线性分组码中一个重要的分支。它的检、纠错能力较强,编码和译码设备并不复杂,而且性能较好,不仅能纠随机错误,也能纠突发错误。循环码是目前研究得最成熟的一类码,并且有严密的代数理论基础,故有许多特殊的代数性质,这些性质有助于按所要求的纠错能力系统地构造这类码,且易于实现,所以循环码受到人们的高度重视。2.1.1循环码的定义循环码是一种线性代数分组码,记为(n,k)码,其中n为码长,k为信息码元数。2.1.2循环码的特点若0121ccccnn是一个码字,则它的循环移位1032nnncccc也是一个码字。循环码是线性分组码的一种,所以它具有线性分组码的一般特性,此外还具有循环性。循环码的编码和解码设备都不太复杂,且检(纠)错能力强。它不但可以检测随机的错误,还可以检错突发的错误。(n,k)循环码可以检测长为n-k或更短的任何突发错误,包括首尾相接突发错误。循环码是一种无权码,循环码编排的特点是相邻两个数码之间符合卡诺图中的邻接条件,即相邻两个数码之间只有一位码元不同,码元就是组成数码的单元。符合这个特点的有多种方案,但循环码只能是表中的那种。循环码的优点是没有瞬时错误,因为在数码变换过程中,在速度上会有快有慢,中间经过其它一些数码形式,称它们为瞬时错误。这在某些数字系统中是不允许的,为此希望相邻两个数码之间仅有一位码元不同,即满足邻接条件,这样就不会产生瞬时错误。循环码就是这样一种编码,它可以在卡诺图中依次循环得到。循环码又称格雷码(GreyCode)。循环码最大的特点就是码字的循环特性,所谓循环特性是指:循环码中任一许用码组经过循环移位后,所得到的码组仍然是许用码组。若0121ccccnn为一循环码组,则1032nnncccc、21043nnnnccccc……还是许用码组。也就是说,不论是左移还是右移,也不论移多少位,仍然是许用的循环码组。32.1.3循环码的多项式表示设码长为n的循环码表示为0121ccccnn,其中ic为二进制数,通常把码组中各码元当做二进制的系数,即把上式中长为n的各个分量看做多项式:012211Tcxcxcxcxcxiinnnn(1)的各项系数,则码字与码多项式一一对应,这种多项式中,x仅表示码元位置的标记,因此我们并不关心x的取值,这种多项式称为码多项式。我们用多项式来表示循环码的码字0122110121cxcxcxcccccnnnnnn(2)也就是一个n长码字可以用一个1nX次多项式来表示。它的循环特性,可由多模多项式来表示,例如左移一位,相当于乘x模1-nx102312021121021121012211nnnnnnnnnnnnnnnncxcxcxcxcxcxccxcxcxcxccxcxcxcx应该指出,这里采用了模多项式运算。同样,左移两位相当于乘以2x等等。2.1.4(n,k)循环码的生成多项式一个(n,k)循环码,它共有k2个码字,从中取出其前面1-k位的码字,以xg表示,它的次数为knkn11。则xgxxgxxxggk12,,,x都是码字,且k个码字彼此独立,因此可以作为码的生成矩阵G的k行。G一经确定,码也就确定了,编码的问题也就解决了。因此,我们称xg为码的生成多项式。生成矩阵G可以表示如下(3)因此,循环码xc可以写成xGmmmmckk0121x,式中0121kmmmmk为K位信息元矩阵。变换上式可得,xgxxgxgxxgxxgxGkk221x4(4)式中,xm为信息码组多项式。由(4)可以看出,所有用xG生成的码字xc都是生成多项式xg的倍式。也就是说,凡是一个码字多项式一定能被xg除尽。反之,能被xg除尽的次数不大于(n-1)次的多项式,也一定是码多项式。由此可以得出循环码编码方法如下:首先将次数小于(k-1)次的信息码组多项式xm乘以knX,得到xmXkn,其次数小于等于1n次。然后用生成多项式xg去除xmXkn,得到除式为xr,它的次数小于xg的次数kn,把此余式的系数作为监督元附加在信息码组后面,就得到一个必能被xg除尽的多项式,且它必是一个码多项式,运算过程为:(5)xrxgxqxmxkn(6)式中xq为商式,xr为余式,则码多项式为xgxqxrxmxxckn(7)而余式可以写成xmxrkn
本文标题:(7,3)循环码编译码软件设计
链接地址:https://www.777doc.com/doc-3042705 .html