湖南科技大学信息与电气工程学院课程设计报告课程:通信原理题目:卷积码的仿真专业:电子信息工程班级:电子二班姓名:高二奎学号:1104030205任务书题目卷积码的仿真时间安排2013-2014第二学期第19周目的:1巩固所学的专业知识2熟悉systemview仿真环境并能在其环境下了解并掌握通信系统的一般设计方法,具备初步的独立设计能力3将理论与实际相结合4提高综合运用所学理论知识独立分析和解决问题的能力要求:建立系统的数学模型;在systemview5.0仿真环境下,从各种功能库中选取、拖动可视化图符,组建系统,在信号源图符库、算子图符库、函数图符库、信号接收器图符库中选取满足需要的功能模块,将其图符拖到设计窗口,按设计的系统框图组建系统;设置、调整参数,实现系统模拟;设置观察窗口,分析模拟数据和波形。总体方案实现:1设计方案选择及论证2总体电路的功能框图及其说明3功能及其单元电路的设计4总体电路原理图及其说明5心得体会6参考文献指导教师评语:评分等级:【】指导教师签名:目录一、任务与要求·····················································41.1设计的目的················································41.2设计的基本内容············································4二、卷积码的介绍···················································42.1卷积码的介绍··············································42.2编码原理··················································42.3译码原理··················································7三、SystemView软件简介············································83.1SystemView基本特点·······································83.2各单元模块功能介绍及电路设计······························83.3各模块的原理及介绍·······································103.4图符库选择按钮···········································103.5systemview的操作步骤···································113.6分析窗的接收计算器······································12四、系统仿真和调试················································124.1系统仿真·················································124.2调试结果·················································13五、总结···························································155.1设计小结·················································155.2心得体会·················································15参考文献··························································16一、任务与要求1.1设计的目的这次的课程设计就是基于SystemView软件的卷积码仿真设计,要学会运用SystemView,理解卷积码系统的原理,并用SystemView进行仿真设计。1.2设计的基本内容SystemView是一种动态系统分析软件,也是一个非常好的仿真工具。它能按照物理概念直接建立分析和仿真,对通信技术的发展起到很大的作用。本次课程设计就是利用软件SystemView对卷积码进行可视化仿真,对信息数据的编码,传输及译码等功能的实现,充分展示了SystemView在通信仿真中灵活的应用实例。二、卷积码的简介2.1卷积码介绍卷积码(convolutioncode)是频道编码(channelcoding)技术的一种,在电信领域中,属于一种错误更正码(error-correctingcode)。相对于分组码,卷积码维持频道的记忆效应(memoryproperty)。卷积码的由来,是因为输入的原始讯息资料会和编码器(encoder)的脉冲响应(impulseresponse)做卷积运算。卷积码具有以下特性:一段m字符的讯息(m字符的二进制元字串)会被编码转换成n字符的符号,m/n即是编码率(coderate,n≥m)。2.2编码原理非分组码的卷积码的编码器是在任一段规定时间内产生n个码元,但它不仅取决于这段时间中的k个信息位,还取决于前(K-1)段规定时间内的信息位,这K段时间内的码元数目为K·k,称参数K为卷积码的约束长度,每k个比特输入,得到n比特输出,编码效率为k/n,约束长度为K。在k=1的条件下,移位寄存器级数m=K-1。卷积码一般可用(n,k,K)来表示,其中k为输入码元数,n为输出码元数,而K则为编码器的约束长度。典型的卷积码一般选n和k(kn)值较小,但约束长度K可取较大值(K10),以获得既简单又高性能的信道编码[6]。卷积码是1955年Elias最早提出,1957年Wozencraft提出了序列译码。1963年Massey提出了一种性能稍差,但比较实用的门限译码方法。1967年维特比(Viterbi)提出了最大似然译码。它对存储器级数较小的卷积码的译码很容易实现,称为维特比算法或维特比译码。图1、二进制卷积码的编码器图2给出了(3,1,2)二进制卷积码编码器。在每一时间单位,输入一个比特信息im,同时存贮器内的数据向右移一位,产生3个比特的输出ic,其中一个是输入比特im,两个是校验比特,1ip,,2ip。图2由图可知:,12,212iiiiiiipmmpmmm因为校验比特是输入信息元im的模2和,它们是线性关系,所以这类卷积码是线性码。称ic为卷积码的一个子码或码段,它不仅与当前输入信息有关,还与前2个(m)时间单位的输入信息有关,即和前2个子码有关;而且im要经过2个时间单位才能移出存贮器,所以ic也参与了后2个子码中的校验运算,称1Nm为编码约束度,说明编码过程中互相约束的码段个数。本例的编码约束度为3。m或N是表示卷积码编码器复杂性的一个重要参数。m或N越大,编码器和译码器越复杂,但卷积码的纠错能力也越强。因此这是一对矛盾,在具体设计时要根据应用要求进行折衷处理,选择适当的码型。卷积码的描述方式为解析法和图解法两类。解析法包括矩阵形式和生成多项式形式,图解法包括树图、状态图和网格图。图3卷积码的树图表示图4卷积码的网格图图5卷积码的状态图2.3译码原理采用概率译码的基本思想是:把已接收序列与所有可能的发送序列做比较,选择其中码距最小的一个序列作为发送序列。如果发送L组信息比特,那么对于(n,k)卷积码来说,可能发送的序列有2kL个,计算机或译码器需存储这些序列并进行比较,以找到码距最小的那个序列。当传信率和信息组数L较大时,使得译码器难以实现。维特比算法则对上述概率译码做了简化,以至成为了一种实用化的概率算法。它并不是在网格图上一次比较所有可能的2kL条路径(序列),而是接收一段,计算和比较一段,选择一段最大似然可能的码段,从而达到整个码序列是一个最大似然值得序列。下面以图6的(2,1,3)卷积码编码器所编出的码为例,来说明维特比解码的方法和运作过程。为了能说明解码过程,这里给出该码的状态图,如图7所示。根据卷积码画网格的方法,我们可以画出该码的网格图,如图8所示。该图设输入信息数目L=5,所以画L+N=8个时间单位,图中分别标以0至7。这里设编码器从a状态开始运作。该网格图的每一条路径都对应着不同的输入信息序列。由于所有可能输入信息序列共有2kL个,因而网格图中所有可能的路径也为2kL条。这里节点a=00,b=01,c=10,d=11。设输入编码器的信息序列为(11011000),则由编码器对应输出的序列为Y=(1101010001011100),编码器的状态转移路线为abdcbdca。若收到的序列R=(0101011001011100),对照网格图来说明维特比译码的方法。mjmj-1mj-2输出序列m1,m2,…mj,…y1jy2j输入序列00adcb110011010110abcd节点号0123456700000000000000111111111111111100000101010101010101010101111110101010图6(2,1,3)卷积码编码器图7(2,1,3)卷积码状态图图8(2,1,3)卷积码网格图由于该卷积码的约束长度为6位,因此先选择接收序列的前6位序列R1=(010101)同到达第3时刻的可能的8个码序列(即8条路径)进行比较,并计算出码距。该例中到达第3时刻a点的路径序列是(000000)和(111011),他们与R1的距离分别为3和4;到达第3时刻b点的路径序列是(000011)和(111000),他们与R1的距离分别为3和4;到达第3时刻c点的路径序列是(001110)和(110101),他们与R1的距离分别为4和1;到达第3时刻d点的路径序列是(001101)和(110110),他们与R1的距离分别为2和3。上述每个节点都保留码距较小的路径作为幸存路径,所以幸存路径码序列是(000000)、(000011)、(1101001)和(001101),如图9所示。用于上面类似的方法可以得到第4、5、6、7时刻的幸存路径。三、SystemView软件简介3.1SystemView基本特点SystemView是美国ELANIX公司推出的,基于Windows环境下运行的用于系统仿真分析的可视化软件工具,它使用功能模块(Token)描述程序。利用SystemView,可以构造各种复杂的模拟、数字、数模混合系统和各种多速率系统,因此,它可用于各种线性或非线性控制系统的设计和仿真。用户在进行系统设计时,只需从SystemView配置的图标库中调出有关图标并进行参数设置,完成图标间的连线,然后运行仿真操作,最终以时域波形、眼图、功率谱等形式给出系统的仿真分析结果。3.2各单元模块功能介绍及电路设计1)系统设计窗口启动SystemView后就会出现如图所示的系统设计窗口,它包括标题栏、菜单栏、工具条、滚动条、提示栏、图符库和设计窗工作区。abcd节点号0123000000111111010101图9维特比译码第3时刻幸存路径图3.1系统设计窗口系统视窗最上边一行为主菜单栏,包括:文件(File)、编辑(Edit)、参数优选(Preferences)、视窗观察(View)、便笺(NotePads)、连接(Connetions)、编译器(Compiler)、系统(System)、图符块(Tokens)、工具(Tools)和帮助(Help)共11项功能菜单。与最初的SystemView1.8相比,SystemView3.0的操作界面和对话框布局有所改变。2)定时窗口:图3.2SystemView系统定时窗口设定系统定时窗口:此窗口定义系统仿真的起始和终止时间(StartTimeandStopTime)、采样率(SampleRate)、采样间隔(TimeSpacing)、采样点表(No.ofSam