西南科技大学方向设计报告课程名称:通信工程方向设计设计名称:2/3卷积码编译码器仿真与性能分析姓名:学号:班级:指导教师:起止日期:2011.12.12-2012.1.6西南科技大学信息工程学院制方向设计任务书学生班级:学生姓名:学号:设计名称:2/3卷积码编译码器仿真与性能分析起止日期:2011.12.12-2012.1.6指导教师:设计要求:(1)分析2/3卷积码编码器结构;(2)分析2/3卷积码译码的Viterbi算法;(3)基于SIMULINK进行2/3卷积码的纠错性能仿真;方向设计学生日志时间设计内容12.15-12.17 查看题目及设计要求。
12.18-12.23 查阅相关资料,设计方案。
12.23-12.27 编写报告及调试程序。
12.28-12.29 完善修改课程设计报告。
12.30-12.31 答辩。
方向设计考勤表周星期一星期二星期三星期四星期五方向设计评语表指导教师评语:成绩:指导教师:年月日2/3卷积码编译码器仿真与性能分析摘要:卷积码是一种性能优越的信道编码。
它的编码器和译码器都比较容易实现,同时它具有较强的纠错能力。
随着纠错编码理论研究的不断深入,卷积码的实际应用越来越广泛。
本文简明地介绍了卷积码的编码原理和Viterbi译码原理。
并在SIMULINK模块设计中,完成了对卷积码的编码和译码以及误比特统计整个过程的模块仿真。
最后,通过在仿真过程中分别改变卷积码的重要参数来加深理解卷积码的这些参数对卷积码的误码性能的影响。
经过仿真和实测,并对测试结果作了分析。
关键词:卷积码编码器、viterbi译码器、SIMULINK目录一设计目的和意义........................................... 错误!未定义书签。
二设计方法................................................. 错误!未定义书签。
三设计原理................................................. 错误!未定义书签。
3.1 卷积码的基本概念 (1)3.2 卷积码的结构 (2)3.3 卷积码的图解表示 (3)3.3.1 卷积码的树状图 (3)3.3.2 卷积码网格图 (4)3.4卷积码的解析表示 (4)3.5 卷积码的译码 (5)3.5.1 卷积码译码的方式 (5)3.5.2 卷积码的viterbi译码 (6)四 SIMULINK下的仿真设计 (7)4.1 SIMULINK下卷积码的仿真 (7)4.1.1 SIMULINK仿真模块参数设置及意义 (8)4.2 改变卷积码参数分析 (17)4.2.1 回溯长度对卷积码的影响........................ 错误!未定义书签。
4.2.2 约束长度对卷积码的影响 (19)五心得体会................................................. 错误!未定义书签。
六参考文献................................................. 错误!未定义书签。
一、设计目的和意义因为信道中信号不可避免会受到干扰而出错。
为实现可靠性通信,主要有两种途径:一种是增加发送信号的功率,提高接收端的信号噪声比;另一种是采用编码的方法对信道差错进行控制。
前者常常受条件限制,不是所有情况都能采用。
而编码理论可以解决这个问题,使得成本降低,实用性增强。
随着现代通信的发展,卷积码以其高速性和可靠性在实际应用中越来越广泛。
1967年Viterbi译码算法的提出,使卷积码成为信道编码中最重要的编码方式之一。
在卷积码中,因为Viterbi算法效率高,速度快,结构相对简单等特点,被广泛应用于各种数据传输系统。
特别是深空通信、卫星通信系统中。
因此采用Viterbi译码算法具有非常现实的意义。
二、设计方法本文在分析卷积码编译码器原理的基础上,通过基于MATLAB的SIMULINK下的模块对卷积编码,解码进行仿真。
通过仿真可以更清楚的认识到卷积码的编码,解码的各个环节,并对仿真结果进行了分析。
得出卷积码Viterbi译码的误比特性能和回溯长度,码率,约束长度的关系。
三、设计原理3.1 卷积码基本概念卷积码是一种性能优越的信道编码。
(n ,k ,N) 表示把k个信息比特编成n 个比特,N 为编码约束长度,说明编码过程中互相约束的码段个数。
卷积码编码后的n 个码元不仅与当前组的k 个信息比特有关,而且与前N - 1 个输入组的信息比特有关[6]。
编码过程中相互关联的码元有N ×n 个。
R = k/ n 是卷积码的码率,码率和约束长度是衡量卷积码的两个重要参数。
卷积码的编码描述方式有很多种:冲激响应描述法、生成矩阵描述法、多项式乘积描述法、状态图描述,树图描述,网格图描述等。
卷积码的纠错能力随着N的增加而增大,而差错率随着N的增加而指数下降。
在编码器复杂性相同的情况下,卷积码的性能优于分组码。
分组码的译码算法可以由其代数特性得到。
卷积码虽然可以采用适用于分组码的门限译码(即大数逻辑译码),但性能不如维特比译码和序列译码3.2 卷积码的结构图2-1卷积码的编码器一般都比较简单。
下图2-1是一般情况下的卷积码编码器框图。
它包括:一个由N段组成的输入移位寄存器,每段有k级,共Nk位寄存器;一组n个模2和相加器;一个由n级组成的输出移位寄存器。
对应于每段k个比特的输入序列,输出n个比特。
由图可知,n个输出比特不但与当前k个比特的输入比特有关,而且与以前的(N-1)k个输入信息有关。
整个编码过程可以看成是输入信息序列与由移位寄存器和模2加法器的连接方式所决定的另一个序列的卷积,卷积码由此得名。
图2-2如图2-2是卷积码(3,2,2)卷积编码器的一个框图。
左边是信息的输入。
下面分别是系统位输出和校验位输出。
其中间是四个移位寄存器和三个模2加法器。
简单的说就是信息位经过移位寄存器和一个模2加法器产生一个系统位和校验位加在一起输出。
可以看出:每输入一个比特,移位寄存器中就向右移动一个位子。
原来的第四个寄存器就被移出。
可见卷积编码不只与现在的输入比特有关还与前面的1个比特有关。
在这里,其中约束长度是N=2,k=2 ,n=3所以码率R=k/n=2/3。
3.3 卷积码的图解表示3.3.1 卷积码的树状图对于图2-2所示的(3,2,2)卷积码编码电路,其树状图如下图2-3所示。
若寄存器初始状态为全0,第一组输入的两个信息比特可以是:00,01,10,11,与他们对应的输出比特是000,010,111,101。
第二组两个输入比特进入移位寄存器时,第一组两个输入比特右移到右边那组寄存器,此时输出比特不但取决于当前的二个输入比特,而且取决于第一组的二个输入比特。
由于每组输入两个比特,因此树状图每个节点有2的平方条支路。
由于约束长度为2从第二级后开始重复出现4种状态,可以得到整个树状图。
如下图2-3图2-33.3.2 卷积码的网格图如下图2—4是(3,2,2)卷积编码的网格图。
图2-4 (3,2,2)卷积编码的网格图图2-5 (3,2,2)卷积码的状态图3.4 卷积码的解析表示除上述图解表示方法外,常常还用解析表示方法描述卷积码,即延时算子多项式。
在延时算子多项式表示中,编码器中的移位寄存器与模2加法器的连接关系以及输入、输出序列都表示为延时算子D 的多项式。
在一般情况下,输入序列可表示为:...M(D)2321D m D m m ++= (2-1)变量D 的幂的次数等于相对于时间起点的单位延时数目,时间起点通常选在第1个输出比特,ml,m2,m3,m...为输入比特的二进制表示(1或0)。
用D 算子多项式表示移位寄存器各级与各模2项连接关系时。
若某级寄存器与某模2和相连,则多项式中相应项的系数为1,否则为0(表示无连接)。
通常把表示移位寄存器与模2和连接关系的多项式称为生成多项式,因为由它们可以用多项式相乘计算出输出序列。
卷积码的图解与解析表示方法各有特点。
用延时算子多项式表示卷积码编码器的生成多项式最为方便。
网格图对于分析卷积码的译码算法十分有用。
3.5 卷积码的译码 3.5.1 卷积码译码的方式卷积码的译码方式有三种:(1)1963年由梅西((Massey)提出的门限译码,这是一种基于码代数结构的代数译码,类似于分组码中的大数逻辑译码;(2) 1963年由费诺(Fano)改进的序列译码,这是基于码的树状图结构上的一种准最佳的概率译码;(3) 1967年由维特比提出的Viterbi 算法。
这是基于码的网(trellis)图基础上的一种最大似然译码算法,是一种最佳的概率译码方法。
其中,代数译码,利用编码本身的代数结构进行译码,不考虑信道本身的统计特性。
该方法的硬件实现简单,但性能较差,其中具有典型意义的是门限译码。
另一类是概率译码,这种译码通常建立在最大似然准则的基础上。
由于计算是用到了信道的统计特性.因而提高了译码性能,但这种性能的提高是以增加硬件的复杂度为代价的。
常用的概率译码方法有维特比译码和序列译码。
维特比译码具有最佳性能,但硬件实现复杂;门限译码性能最差,但硬件简单;序列译码在性能和硬件方面介于维特比译码和门限译码之间。
3.5.2 卷积码的Viterbi译码卷积码概率译码的基本思路是:以接收码流为基础,逐个计算它与其他所有可能出现的、连续的网格图路径的距离,选出其中可能性最大的一条作为译码估值输出。
概率最大在大多数场合可解释为距离最小,这种最小距离译码体现的正是最大似然的准则。
卷积码的最大似然译码与分组码的最大似然译码在原理上是一样的,但实现方法上略有不同。
主要区别在于:分组码是孤立地求解单个码组的相似度,而卷积码是求码字序列之间的相似度。
基于网格图搜索的译码是实现最大似然判决的重要方法和途径。
用格图描述时,由于路径的汇聚消除了树状图中的多余度,译码过程中只需考虑整个路径集合中那些使似然函数最大的路径。
如果在某一点上发现某条路径已不可能获得最大对数似然函数,就放弃这条路径,然后在剩下的“幸存”路径中重新选择路径。
这样一直进行到最后第L级(L 为发送序列的长度)。
由于这种方法较早地丢弃了那些不可能的路径,从而减轻了译码的工作量,Viterbi译码正是基于这种想法。
对于(n, k, K )卷积码,其网格图中共2kL种状态。
由网格图的前K-1条连续支路构成的路径互不相交,即最初2k_1条路径各不相同,当接收到第K条支路时,每条路径都有2条支路延伸到第K 级上,而第K级上的每两条支路又都汇聚在一个节点上。
在Viterbi译码算法中,把汇聚在每个节点上的两条路径的对数似然函数累加值进行比较,然后把具有较大对数似然函数累加值的路径保存下来,而丢弃另一条路径,经挑选后第K级只留下2K条幸存路径。