-1-湖南科技大学信息与电气工程学院课程设计报告课程:题目:专业:班级:姓名:学号:-2-任务书题目时间安排目的:要求:总体方案实现:-3-指导教师评语:评分等级:【】指导教师签名:卷积码的仿真一、课程设计的目的1.巩固所学的专业技术知识;2.熟悉SystemView仿真环境并能在其环境下了解并掌握通信系统的一般设计方法,具备初步的独立设计能力;3.更深地理解卷积码编译码的原理、方法、性能。学习使用通信系统仿真软件SystemView,了解SystemView的基本功能,并设计出卷积码编译码的仿真电路框图。4.提高综合运用所学理论知识独立分析和解决问题的能力;5.更好地将理论与实践相结合。二、系统原理2.1卷积码的结构卷积码编码器的一般结构形式如图2-1所示,它主要由移位寄存器和加法器组成。输入移位寄存器包括N段,每段有k个,共Nk个寄存器,负责存储每段的k个信息码元;各信息码元通过n个模2加法器相加,产生每个输出码组的n个码元,并寄存在一个n级的移位寄存器中移位输出。整个编码过程可以看成是输入信息序列与由移位寄存器和模2加法器之间连接所决定的另一个序列的卷积,卷积码即由此得名。通常把N称为卷积码的约束长度,通常把卷积码记为:(n,k,N);其中,n为码长,k为码组中信息码元的个数,它的编码效率为R=k/n。-4-输入输出12N1n1k图2-1卷积码编码器的一般形式下面以一种(2,1,3)卷积码为例加以说明。图2-2所示为这种卷积编码器的结构,其中没有画出图2-2中延时为零的第一级移位寄存器,并用转换开关代替了输出移位寄存器。m2输入输出m1b1b1b2b3c1c2图2-2(2,1,3)卷积码编码器它的编码方法是:输入序列依次送入一个两级移位寄存器,编码器每输入一位信息b,输出端的开关就在1c,2c之间来回切换一次,输出1c和2c。在图2-2中,1m与2m为移位寄存器,它们的起始状态均为零。1c、2c与1b、2b、3b之间的关系如下:1123cbbb;213cbb。-5-假如输入的信息为D=[11010],为了使信息D全部通过移位寄存器,还必须在信息位后面加3个零。表2-1列出了对信息D进行卷积编码时的状态。表2-1信息D进行卷积编码时的状态输入信息D110100003b2b0001111001100000输出1c2c11010100101100002.2卷积码的图解表示根据卷积码的特点,常常采用图解表示法对其进行研究。主要的图解表示法有3种,即树状图、网状图和状态图。对于图2-2所示的(2,1,3)卷积码编码电路,其树状图如图2-3所示。这里,分别用a,b,c和d表示寄存器1m和2m的四种可能状态:00,10,01,11,作为树状图中每条支路的节点。-6-起点信息01aababcdabcdabcdabcdabcd000000001111111001110001101001110001100011100111000110a=00b=10c=01d=11状态图2-3(2,1,3)卷积码的树状图以全零状态a为起点,当第一位信息1b=0时,输出码元为00,寄存器保持状态a不变,对应图中从起点出发的上支路;当1b=1时,输出码元为11,寄存器则转移到状态b,对应图中的下支路;然后再分别以这两条支路的终节点a和b作为处理下一位输入信息b的起点,从而得到4条支路。以此类推,可以得到整个树状图。显然,对于第i个输入信息比特,图中将会出现2i条支路。但从第4位信息开始,树状图的上半部和下半部都完全相同,这意味着此时的输出码元一盒第1位信息无关,由此可以看出吧卷积码的约束长度定义为N的意义。利用树状图中观察到的重复性,把其中具有相同状态的节点合并到一起可以得到一种更为紧凑的图形,即网格图,如图2-4所示。这种图仍由节点和支路组成,4行接点分别表示a,b,c,d4种状态,支路则代表了状态之间的转移关系,其中实线支路代表输入信息为“0”,虚线支路代表输入信息为“1”,之路上标注-7-的码元为当前输出。一般情况下,网格图应有(1)2KN种状态,从第N节开始图形同样会出现重复。图2-4(2,1,3)卷积码的网格图取出已达到稳定状态的一节网络,再把相同的当前状态和下一状态重叠起来,就能得到图2-5形式的状态转移图,图中的两个闭合圆圈分别表示“aa”和“dd”的状态转移。显然,状态图也应该有(1)2KN种可能状态(节点),每个节点会引出2K条支路,同时也会有2K条来自其他节点或本节点的支路到达。001011011101110010bcad-8-图2-5(2,1,3)卷积码的状态图2.3卷积码的解析表示我们可以用延时算子D构成的多项式来表示卷积编码器中各级移位寄存器与模2加之间的联系关系。如果某级寄存器与模2加相连没对应的系数为1,反之则为0。以上述(2,1,3)卷积码为例,图2-2所示的编码器结构可以用以下两式描述:21()1GDDD22()1GDD其中,变量D的幂次等于该级寄存器相对于时间起点的单位延时数。在卷积码中,通常把表示移位寄存器与模2加连接关系的多项式称为生成多项式。为了方便,有时还可以用二进制或八进制的生成序列来表示生成多项式,即21()1GDDD1(111)(7)g22()1GDD2(101)(5)g同理,也可以用延时算子D的多项式来表示编码器的输入与输出序列。例如,输入序列“110111”可以表示为345()1bDDDDD其中,变量D的幂次扥与改比特相对于时间起点的单位延时数,时间起点则通常选在第1位比特上。卷积码不是分组码,但是从生成多项式的描述可以看出,它仍属于线性码,同样可以有生成矩阵G或监督矩阵H所完全确定。令输入信息序列为u=(u0,u1,…),其多项式表示为u(x)=u0+u1x+…+ux+…。编码器的连接可用多项式表示为(x)=1+x+x2和(x)=1+x2,称为码的子生成多项式。它们的系数矢量=(111)和=(101)称作码的子生成元。以子生成多项式为阵元构成的多项式矩阵G(x)=[[[Image:490-0.jpg]](x)(x)]称为码的生成多项式矩阵。由生成元构成的半无限矩阵-9-称为码的生成矩阵。其中(11,10,11)是由和交叉连接构成。编码器输出序列为c=u·G,称为码序列,其多项式表示为c(x),它可看作是两个子码序列c(x)和c(x)经过合路开关S合成的,其中c(x)=u(x)·(x)和c(x)=u(x)g(x),它们分别是信息序列和相应子生成元的卷积,卷积码由此得名。在一般情况下,输入信息序列经过一个时分开关被分成k0个子序列,分别以u(x)表示,其中i=1,2,…k0,即u(x)=[u(x),…,u(x)]。编码器的结构由k0×n0阶生成多项式矩阵给定。输出码序列由n0个子序列组成,即c(x)=[c(x),c(x),…,c(x)],且c(x)=u(x)·G(x)。2.4卷积码的译码卷积码的译码方法主要有代数译码和概率译码两种。代数译码根据卷积码自身的代数结构进行译码,计算简单;概率译码则在计算时考虑信道的统计特性,计算较复杂,但纠错效果好得多。典型的算法如:Viterbi译码、序列译码等。随着硬件技术的发展,概率译码已占统制地位。代数译码是将卷积码的一个编码约束长度的码段看作是[n0(m+1),k0(m+1)]线性分组码,每次根据(m+1)分支长接收数字,对相应的最早的那个分支上的信息数字进行估计,然后向前推进一个分支。如果信息序列=(10111),相应的码-10-序列c=(11100001100111)。若接收序列R=(10100001110111),先根据R的前三个分支(101000)和码树中前三个分支长的所有可能的8条路径(000000…)、(000011…)、(001110…)、(001101…)、(111011…)、(111000…)、(110101…)和(110110…)进行比较,可知(111001)与接收序列(101000)的距离最小,于是判定第0分支的信息数字为0。然后以R的第1~3分支数字(100001)按同样方法判决,依此类推下去,最后得到信息序列的估值为=(10111),遂实现了纠错。这种译码法,译码时采用的接收数字长度或译码约束长度为(m+1)n0,所以只能纠正不多于(dmin-1)/2个错误(nA长上的)。实用中多采用反馈择多逻辑译码法实现。维特比译码是根据接收序列在码的格图上找出一条与接收序列距离(或其他量度)为最小的一种算法。若接收序列为R=(10100101100111),译码器从某个状态,例如从状态ɑ出发,每次向右延伸一个分支(对于l<L,从每个节点出发都有2=2种可能的延伸,其中L是信息序列段数,对l≥L,只有一种可能),并与接收数字相应分支进行比较,计算它们之间的距离,然后将计算所得距离加到被延伸路径的累积距离值中。对到达每个状态的各条路径(有2=2条)的距离累积值进行比较,保留距离值最小的一条路径,称为幸存路径(当有两条以上取最小值时,可任取其中之一),译码过程如图2-6。图中标出到达各级节点的幸存路径的距离累积值。对给定R的估值序列为=(10111)。这种算法所保留的路径与接收序列之间的似然概率为最大,所以又称为最大似然译码。这种译码的译码约束长度常为编码约束长度的数倍,因而可以纠正不多于(df/2)个错误。图2-6维特比译码过程维特比译码器的复杂性随m呈指数增大。实用中m不大于10。它在卫星和深空通信中有广泛的应用。在解决码间串扰和数据压缩中也可应用。-11-三、仿真实现3.1卷积码系统模型由卷积码的工作原理图图2-1,用SystemView进行系统设计,得到一个完整的卷积码编译码模型如图3-1所示。在本设计中,该模型可用于分析卷积码编译码系统的抗噪声性能。图符4、5、16信道用于模拟噪声。为了便于进行抗噪声性能的对比,在这个模型中,将硬判决和软判决方式放在一个系统中。图符0为信号发生源,用来输出一个按设定速率,由不同电平幅度脉冲组成的伪随机序列(PN)信号;图符1和图符15为采样延迟,按设定的采样点数对数据传输进行延迟;图符2、8为采样器,按设定的采样率采样,输出的结果是输入信号在采样宽度内的线性组合;图符9为卷积码编码器,根据输入的n,k,l参数生成卷积编码,并自动给出生成多项式;图符3为多项式符;图符6为保持器,用于采样或抽样后返回系统采样率;图符5为高斯噪声,产生一个具有高斯分布的随机信号;图符16为增益,对输入信号进行放大;图符11为加法器,对输入信号进行加法操作;图符10、13为比特误码率(BER),估计信道的比特误码率,作长时间仿真时,可配合循环选项及停止接收图符进行;图符7为积分清除滤波器,该积分滤波器无须每个积分周期T都清零,每个输入周期都独立,不存在码间干扰,使译码能够具有更好的抗噪声性能;图符12、18为卷积码译码器,根据所选的判决方式(hard/soft)进行卷积码译码。软判决是还需输入判决比特数,bin值,逻辑1的电平值,噪声密度等参数;图符19、20为重新采样,按制定的采样率采样,内建一个采样-保持器,用于多速率系统;图符17为停止,当接收到的数据值大于或等于设定的门限值时即停止系统仿真,在分析窗口可以观察到输出结果;图符11、14为终值,在系统循环结束时,显示该循环接收的最终之。每个循环只保留一个样本,在分析窗口观察结果。-12-图3-1卷积仿真码波形3.2系统的参数设置系统的时间设置如图3-2所示。图中,设置了系统的循环次数为5次。图3-2时间设置在仿真时,由采用高次数循环可知在循环次数大于5的时候,软判决的输出-13-误比特率已经为0,没有实际意义,且采用较大次循环时的运行时间较长影响计算效率,故采用5次循环。采用10次循环的结果如图3-3所示。图3-3(a)采用10次循环硬判决的结果图3-3(b)采用10次循环软判决的结果另外,为了能够对不同的信道噪声状况下的误码率进行仿真,需要设置图3-1中图符16为全局可变变量。为了达到这一目的,使用T