卷积码编码及其维特比译码实现.doc_第1页
卷积码编码及其维特比译码实现.doc_第2页
卷积码编码及其维特比译码实现.doc_第3页
卷积码编码及其维特比译码实现.doc_第4页
卷积码编码及其维特比译码实现.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

通信原理课程设计报告 学 院 计算机与通信工程 专 业 通信工程 班 级 学 号 学生姓名 指导教师 课程成绩 完成日期 课程设计成绩评定学 院 计算机与通信工程 专 业 通信工程 班 级 学 号 学生姓名 指导教师 完成日期 指导教师对学生在课程设计中的评价评分项目优良中及格不及格课程设计中的创造性成果学生掌握课程内容的程度课程设计完成情况课程设计动手能力文字表达学习态度规范要求课程设计论文的质量指导教师对课程设计的评定意见综合成绩 指导教师签字 2009年 月 日卷积码编码及其维特比译码实现学生姓名: 指导老师: 摘 要 本课程设计主要基于System View平台,实现卷积码编译码系统的设计与仿真,添加高斯噪声测试系统抗噪声性能,通过理论结果与仿真结果分析,调整系统参数设置,寻找系统的最大抗噪声值,仿真的结果表明初步实现了设计目标。关键词 System View;卷积码;参数设置;卷积码编译码;高斯噪声;抗噪声性能1引言分组码是把k个信息元编成n个码元的码字,每个码字的n-k个校验位仅与本码字的 k个信息元有关,而与其他码字无关。为了达到一定的纠错能力和编码效率(Rk/n),分组码的码长一般都比较大。编译码时必须把整个信息码组存储起来,由此产生的译码时延随n 的增加而增加。卷积码(convolutional code)是1955年由麻省理工学院的伊利亚斯(P.Elias)发明的。它也是将k个信息元编成n个码元,但k和n通常很小,特别适合以串行形式进行传输,时延小。与分组码不同,卷积码编码后的n个码元不仅与当前段的k个信息元有关,还与前面的N-1段信息有关,各码字间不再是相互独立的,码字中互相关联的码元个数为n*N。同样,在译码过程中不仅从此时刻收到的码元中提取译码信息,而且还利用以后若干时刻收到的码字提供有关信息。卷积码的纠错性能随k的增加而增大,而差错率随N的增加而指数下降。由于卷积码的编码过程充分利用了码字间的相关性,因此在码率和复杂性相同的条件下,卷积码的性能优于分组码因此在通信领域应用的越来越多。但目前尚未找到较严密的数学手段,将码的构成与其纠/检错能力有规律地联系起来,一般是采用计算机搜索来寻找合适的编码方式。另外,卷积码的译码算法也有待于进一步研究与完善。1.1课程设计目的 综合运用我们所学过的知识,以达到巩固所学知识,提高我们思考问题、分析问题和解决问题能力的目的。进一步理解卷积码编译码的原理、方法、性能。学习使用通信系统仿真软件SystemView,了解SystemView的基本功能,并设计出卷积码编译码的仿真电路框图。对所设计的仿真电路进行调试及仿真,最后对仿真结果结合卷积码原理进行分析。1.2课程设计要求 通过对卷积码编译码系统的设计,进一步了解卷积码的原理、方法、性能;通过使用SystemView软件实现卷积码编译码系统并对其进行分析,掌握构建仿真环境和仿真电路框图的方法。按要求编写课程设计报告书,能正确分析仿真输出波形,并能与理论分析结果进行对比。1.3设计平台 SystemView是美国ELANIX公司推出的,基于Windows环境下运行的用于系统仿真分析的可视化软件工具,它使用功能模块(Token)去描述程序,无需与复杂的程序语言打交道,不用写一句代码即可完成各种系统的设计与仿真,快速地建立和修改系统、访问与调整参数,方便地加入注释。System View是一个完整的动态系统设计、仿真和分析的可视化环境,是一个适合多种操作系统的单机和网络平台。在System View环境下,可以构造各种复杂的模拟、数字、数模混合系统和各种速率的系统,可用于线性或非线性控制、通信系统的设计和仿真。System View有诸多优点:直观、简单、易用;支持多速率系统和并行系统;无限制分层结构;丰富的功能模块;广泛的滤波和线性系统设计;可扩展性。 2 卷积码的工作原理简述2.1卷积码的结构卷积码编码器的一般结构形式如图2-1所示,它主要由移位寄存器和加法器组成。输入移位寄存器包括N段,每段有k个,共Nk个寄存器,负责存储每段的k个信息码元;各信息码元通过n个模2加法器相加,产生每个输出码组的n个码元,并寄存在一个n级的移位寄存器中移位输出。整个编码过程可以看成是输入信息序列与由移位寄存器和模2加法器之间连接所决定的另一个序列的卷积,卷积码即由此得名。通常把N称为卷积码的约束长度,通常把卷积码记为:(n,k,N);其中,n为码长,k为码组中信息码元的个数,它的编码效率为R=k/n。图2-1卷积码编码器的一般形式下面以一种(2,1,3)卷积码为例加以说明。图2-2所示为这种卷积编码器的结构,其中没有画出图2-2中延时为零的第一级移位寄存器,并用转换开关代替了输出移位寄存器。图2-2 (2,1,3)卷积码编码器它的编码方法是:输入序列依次送入一个两级移位寄存器,编码器每输入一位信息b,输出端的开关就在,之间来回切换一次,输出和。在图2-2中,与 为移位寄存器,它们的起始状态均为零。、与、之间的关系如下: ; 。假如输入的信息为D = 11010,为了使信息D全部通过移位寄存器,还必须在信息位后面加3个零。表2-1列出了对信息D进行卷积编码时的状态。 表2-1 信息D进行卷积编码时的状态输入信息D11010000 0 00 11 11 00 11 00 00 0 输出1 10 10 10 01 01 10 00 0 2.3卷积码的图解表示 根据卷积码的特点,常常采用图解表示法对其进行研究。主要的图解表示法有3种,即树状图、网状图和状态图。 对于图2-2所示的(2,1,3)卷积码编码电路,其树状图如图2-3所示。这里,分别用a,b,c和d表示寄存器和的四种可能状态:00,10,01,11,作为树状图中每条支路的节点。 图2-3(2,1,3)卷积码的树状图 以全零状态a为起点,当第一位信息=0时,输出码元为00,寄存器保持状态a不变,对应图中从起点出发的上支路;当=1时,输出码元为11,寄存器则转移到状态b,对应图中的下支路;然后再分别以这两条支路的终节点a和b作为处理下一位输入信息b的起点,从而得到4条支路。以此类推,可以得到整个树状图。显然,对于第i个输入信息比特,图中将会出现条支路。但从第4位信息开始,树状图的上半部和下半部都完全相同,这意味着此时的输出码元一盒第1位信息无关,由此可以看出吧卷积码的约束长度定义为N的意义。利用树状图中观察到的重复性,把其中具有相同状态的节点合并到一起可以得到一种更为紧凑的图形,即网格图,如图2-4所示。这种图仍由节点和支路组成,4行接点分别表示a,b,c,d 4种状态,支路则代表了状态之间的转移关系,其中实线支路代表输入信息为“0”,虚线支路代表输入信息为“1”,之路上标注的码元为当前输出。一般情况下,网格图应有种状态,从第N节开始图形同样会出现重复。图2-4 (2,1,3)卷积码的网格图取出已达到稳定状态的一节网络,再把相同的当前状态和下一状态重叠起来,就能得到图2-5形式的状态转移图,图中的两个闭合圆圈分别表示“aa”和“dd”的状态转移。显然,状态图也应该有种可能状态(节点),每个节点会引出条支路,同时也会有条来自其他节点或本节点的支路到达。图2-5 (2,1,3)卷积码的状态图2.4卷积码的解析表示 我们可以用延时算子D构成的多项式来表示卷积编码器中各级移位寄存器与模2加之间的联系关系。如果某级寄存器与模2加相连没对应的系数为1,反之则为0。以上述(2,1,3)卷积码为例,图2-2所示的编码器结构可以用以下两式描述:其中,变量D的幂次等于该级寄存器相对于时间起点的单位延时数。在卷积码中,通常把表示移位寄存器与模2加连接关系的多项式称为生成多项式。为了方便,有时还可以用二进制或八进制的生成序列来表示生成多项式,即 同理,也可以用延时算子D的多项式来表示编码器的输入与输出序列。例如,输入序列“110111”可以表示为 其中,变量D的幂次扥与改比特相对于时间起点的单位延时数,时间起点则通常选在第1位比特上。 卷积码不是分组码,但是从生成多项式的描述可以看出,它仍属于线性码,同样可以有生成矩阵G或监督矩阵H所完全确定。令输入信息序列为u(u0,u1,),其多项式表示为u(x)u0+u1xux。编码器的连接可用多项式表示为(x)1+x+x2和(x)1+x2,称为码的子生成多项式。它们的系数矢量=(111)和=(101)称作码的子生成元。以子生成多项式为阵元构成的多项式矩阵G(x)Image:490-0.jpg(x)(x)称为码的生成多项式矩阵。由生成元构成的半无限矩阵称为码的生成矩阵。其中(11,10,11)是由和交叉连接构成。编码器输出序列为cuG,称为码序列,其多项式表示为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)。编码器的结构由k0n0阶生成多项式矩阵 给定。输出码序列由n0个子序列组成,即 c(x)c(x),c(x),c(x),且c(x)=u(x)G(x)。 2.5卷积码的译码卷积码的译码方法主要有代数译码和概率译码两种。代数译码根据卷积码自身的代数结构进行译码,计算简单;概率译码则在计算时考虑信道的统计特性,计算较复杂,但纠错效果好得多。典型的算法如:Viterbi 译码、序列译码等。随着硬件技术的发展,概率译码已占统制地位。代数译码是将卷积码的一个编码约束长度的码段看作是n0(m+1),k0(m+1)线性分组码,每次根据(m+1)分支长接收数字,对相应的最早的那个分支上的信息数字进行估计,然后向前推进一个分支。如果信息序列(10111),相应的码序列 c(11100001100111)。若接收序列R(10100001110111),先根据R的前三个分支(101000)和码树中前三个分支长的所有可能的 8条路径(000000)、(000011)、(001110)、(001101)、(111011)、(111000)、(110101)和(110110)进行比较,可知(111001)与接收序列(101000)的距离最小,于是判定第 0分支的信息数字为 0。然后以R的第 13分支数字(100001)按同样方法判决,依此类推下去,最后得到信息序列的估值为=(10111),遂实现了纠错。这种译码法,译码时采用的接收数字长度或译码约束长度为(m+1)n0,所以只能纠正不多于(dmin-1)/2个错误(nA长上的)。实用中多采用反馈择多逻辑译码法实现。 维特比译码是根据接收序列在码的格图上找出一条与接收序列距离(或其他量度)为最小的一种算法。若接收序列为R=(10100101100111),译码器从某个状态,例如从状态出发,每次向右延伸一个分支(对于lL,从每个节点出发都有2=2种可能的延伸,其中L是信息序列段数,对lL,只有一种可能),并与接收数字相应分支进行比较,计算它们之间的距离,然后将计算所得距离加到被延伸路径的累积距离值中。对到达每个状态的各条路径(有2=2条)的距离累积值进行比较,保留距离值最小的一条路径,称为幸存路径(当有两条以上取最小值时,可任取其中之一),译码过程如图2-6。图中标出到达各级节点的幸存路径的距离累积值。对给定 R的估值序列为=(10111)。这种算法所保留的路径与接收序列之间的似然概率为最大,所以又称为最大似然译码。这种译码的译码约束长度常为编码约束长度的数倍,因而可以纠正不多于(df/2)个错误。图2-6维特比译码过程维特比译码器的复杂性随m呈指数增大。实用中m不大于10。它在卫星和深空通信中有广泛的应用。在解决码间串扰和数据压缩中也可应用。 3 基于System View的系统仿真3.1卷积码系统模型由卷积码的工作原理图图2-1,用System View进行系统设计,得到一个完整的卷积码编译码模型如图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为终值,在系统循环结束时,显示该循环接收的最终之。每个循环只保留一个样本,在分析窗口观察结果。图3-1卷积仿真码波形3.2系统的参数设置系统的时间设置如图3-2所示。 图中,设置了系统的循环次数为5次。图3-2 时间设置在仿真时,由采用高次数循环可知在循环次数大于5的时候,软判决的输出误比特率已经为0,没有实际意义,且采用较大次循环时的运行时间较长影响计算效率,故采用5次循环。采用10次循环的结果如图3-3所示。图3-3(a)采用10次循环硬判决的结果图3-3(b)采用10次循环软判决的结果另外,为了能够对不同的信道噪声状况下的误码率进行仿真,需要设置图3-1中图符16为全局可变变量。为了达到这一目的,使用Tools菜单的Global Parameter Link菜单项,将打开如图3-5所示的窗口。在Linked System Tokens中选择“16 Operate:Gain”,然后在“Define Algebraic Relationship F(Gi,Vi)”区域的文本框中输入“-cl”设置该增益图符的增益为G=-C1,其中C1为循环次数。如图3-4所示。图3-5 设置全局变量该系统的各个图符的设置如表3-1所列。表3-1 各图符参数设置3.3 系统仿真运行系统仿真,由图3-1中图符11、14所示的终值,实时显示接收到的每次循环的误比特率数据,如图3-6(a)、(b)所示。图3-6(a)硬判决的误比特率图3-6(b)软判决的误比特率此时,在分析窗口能看到停止接收器的输出曲线和以时间为参数的BER(误比特率)曲线,如图3-7所示。图3-7(a)硬判决时的BER曲线图3-7(b)软判决时的BER曲线图3-7(c)停止接收器的输出曲线为了便于进行两种判决的对比,把它们的BER曲线重叠到同一个图中,如图3-8所示。为了反映系统抗噪声性能,应得出两者的BER/SNR(误比特率-信噪比)曲线,如图3-9所示,结果表明,软判决的性能要优于硬判决。这样就完成了BER/SNR曲线的绘制工作。其中加入1W/HZ高斯噪声时图3-9曲线基本接近输入曲线图3-7(c),且已经出现变形失真的趋势,说明已达到系统抗噪声最大值,可以得出系统抗噪声性能为能承受功率为1W/HZ的噪声干扰。图3-8 硬判决和软判决的BER曲线比较图3-9 硬判决和软判决的BER/SNR曲线3.4 系统抗噪声性能分析输入的高斯噪声的不同将导致输出的误比特率-信噪比(BER/SNR)曲线不同,下面通过系统仿真调试,找出产生最佳BER/SNR曲线的噪声范围,即系统的抗噪声性能。首先输入功率较小的0.8W/HZ高斯噪声,得到BER/SNR曲线与出入曲线基本一直,如图3-10所示,图中只取了停止接收器的输出曲线、硬判决和软判决的BER曲线、硬判决和软判决的BER/SNR曲线。从图中可看到0.8W/HZ得到BER/SNR曲线与出输入曲线基本一致。图3-10 输入噪声0.8W/HZ时仿真曲线逐渐增加输入噪声的功率值观察仿真波形变化,输入0.9W/HZ噪声(仿真结果如图3-11)、2W/HZ噪声(仿真结果如图3-12所示),观察仿真波形。图3-11 输入噪声0.9W/HZ时仿真曲线图3-11中可以看到BER/SNR曲线已经受到噪声影响,但曲线较平滑,下降不明显,仍在系统误差范围内。图3-12输入噪声2W/HZ时仿真曲线图3-12中可以看到BER/SNR曲受到噪声影响出现严重失真,且曲线很不平滑,棱角较大且开始随着噪声的变化而变化,波形接近高斯噪声波形。通过上面不同功率输入噪声产生的仿真波形,可以得出系统的最大抗噪声功率在1W/HZ左右。当系统工作在噪声干扰小于1W/HZ的条件下系统性能良好,编码译

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论