卷积码的设计与实现_第1页
卷积码的设计与实现_第2页
卷积码的设计与实现_第3页
卷积码的设计与实现_第4页
卷积码的设计与实现_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、卷积码的设计与实现目录目录3摘要4Abstract5一、引言61.1设计任务及基本要求61.2设计目的61.3 设计所用仪器设备6二、基本概念62.1 卷积码的编码原理62.2 卷积码编码描述72.3 卷积码译码描述7三、卷积码的编译码原理73.1卷积码的图形描述73.1.1 树状图93.1.2 网格图93.1.3 状态图103.2 卷积积码的编码算法103.3卷积码的Viterbi译码11四、卷积码的仿真及性能分析134.1 SIMULINK仿真模块134.2 卷积码的参数对误码率的影响144.2.1 码率对误码性能的影响144.2.2 约束长度对误码性能的影响164.2.3 回溯长度对卷积

2、码性能的影响174.3 仿真分析18总结19参考文献:20摘要卷积码是深度空间通信系统和无线通信系统中常用的一种差错控制编码。在编码过程中,卷积码充分利用了各码字间的相关性。在与分组码同样的码率和设备复杂性的条件下,无论从理论上还是从实践上都证明,卷积码的性能都比分组码具有优势。而且卷积码在实现最佳译码方面也较分组码容易。因此卷积码广泛应用于卫星通信,CDMA数字移动通信等通信系统,是很有前途的一种编码方式。对其进行研究有很大的现实意义。为了解决传统的维特比译码器结构复杂、译码速度慢、消耗资源大的问题,提出一种新型的适用于FPGA特点,路径存储于译码输出并行工作,同步存储路径矢量和状态矢量的译

3、码器设计方案。该设计方案通过在ISE.2i中仿真验证,译码结果正确,得到编码前的原始码元,速度显著提高,译码器复杂程度明显降低。并在实际的软件无线电通信系统中信道编解码部分得到应用,性能优良。关键词:卷积码;误码性能;原理AbstractConvolution code is deep space communication system and wireless communication system nowadays.but the error-controlling codes. The coding process, convolution code makes full use o

4、f the correlation between each code words. With the same code block code rate and equipment and the complexity of conditions, either in theory or in practice proved that the performance of convolution code than block code has advantage. And convolution code in the realization of the optimal decoding

5、 with block code easier. Therefore convolution code is widely applied in satellite communications, such as CDMA digital mobile communication system, is very promising a encoding. Conducts the research has great practical significance. In order to solve the traditional victor than decoder structure i

6、s complex, decoding speed is slow, consume resources big problems, and put forward a new kind of applicable to the FPGA characteristics, the path stored in decoding output parallel work, synchronous storage path vector and state vector decoder design scheme. The design through 2i ISE. In simulation

7、test, decoding of results are correct, get before encoding source of yuan, speed increased significantly, decoder complexity significantly reduced. And in the actual software radio communication system channel decoding parts and get application and excellent performance. Keywords: convolution code;

8、The ber performance, principle 一、 引言1.1设计任务及基本要求信道编码是数字通信系统中的重要组成部分,他是保证信号可靠传输的一种重要方式.卷积码以其优越的性能被广泛使用在数字通信系统中。本课题要求掌握卷积码的组成、功能以及卷积码的译码及其算法,对卷积编码器进行设计和验证。整个设计要达到以下要求:(1)画出卷积码的原理框图,说明系统中各主要组成部分的功能。(2)根据选用的软件编好用于系统仿真的测试文件。(3)给出仿真结果及进行分析。(4)独立完成课程设计报告。(5)电路图中的图形符号必须符合国家或国际标准。1.2设计目的(1) 巩固加深对通信基本知识分析以及卷积

9、码的掌握,提高综合运用通信知识的能力;(2) 培养学生查阅参考文献,独立思考、设计、钻研电子技术相关问题的能力;(3) 掌握采用仿真软件对系统进行仿真分析。(4) 掌握相关电子线路工程技术规范以及常规电子元器件的性能技术指标;(5) 了解电气图国家标准以及电气制图国家标准,并利用电子CAD等正确绘制电路图;(6) 培养严肃认真的工作作风与科学态度,建立严谨的工程技术观念;(7) 培养工程实践能力、创新能力和综合设计能力。1.3设计所用仪器设备电脑、MATLAB软件二、 基本概念2.1卷积码的编码原理卷积码通常用(n,k,m)表示,它是把k个信息比特编成n个编码比特,通常k和n很小,特别适宜于以

10、串行方式传输信息,延时小。m为编码约束长度,说明编码过程中互相约束的码段个数。卷积码编码后的n 个码元不仅与当前组的k 个信息比特有关,而且与前m- 1 个输入的信息比特有关,这样编码过程中相互关联的码元有m*n个。定义R=k/n为卷积码的码率,码率和约束长度是衡量卷积码性能的两个重要参数。卷积码的编码描述方法分为两类:解析表示法与图形表示法。前者又包括离散卷积法、生成矩阵法和码多项式法等;后者包括状态图法、树图法和格图法等。通常卷积码通过移位寄存器组成的网络结构来描述。2.2卷积码编码的描述卷积码的编码描述方法有5 种:冲激响应描述法、生成矩阵描述法、多项式乘积描述法、状态图描述法和网格图描

11、述法。卷积码的纠错能力随着N的增加而增大,而差错率随着N的增加而指数下降。在编码器复杂性相同的情况下,卷积码的性能优于分组码。分组码有严格的代数结构,但卷积码至今尚未找到如此严密的数学手段。分组码的译码算法可以由其代数特性得到。卷积码虽然可以采用适用于分组码的门限译码(即大数逻辑译码),但性能不如维特比译码和序列译码。2.3卷积码译码的描述卷积编码的最佳译码准则为:在给定已知编码结构、信道特性和接收序列的情况下,译码器将把与已经发送的序列最相似的序列作为传送的码字序列的估值。对于二进制对称信道,最相似传送序列就是在汉明距离上与接收序列最近的序列。卷积码的译码方法有两大类:一类是大数逻辑译码,又

12、称门限译码(硬判决,编者注);另一种是概率译码(软判决,编者注),概率译码又分为维特比译码和序列译码两种。门限译码方法是以分组码理论为基础的,其译码设备简单,速度快,但其误码性能要比概率译码法差。当卷积码的约束长度不太大时,与序列译码相比,维特比译码器比较简单,计算速度快。维特比译码算法是1967年由Viterbi提出,近年来有大的发展。它是根据接收序列在码的格图上找出一条与接收序列距离(或其他量度)为最小的一种算法。目前在数字通信的前向纠错系统中用的较多,而且在卫星深空通信中应用更多,该算法在卫星通信中已被采用作为标准技术。三、 卷积码编译码原理3.1卷积码的图形描述以图3-1的(3,1,3

13、)卷积码编码器为例说明卷积码编码器的工作过程二它由S输出序列m1,m2,mj,y1,jy2,j输入序列y3,j图3-1 (3,1,3)卷积码编码器3触点转换开关和一组3位移存器及模2加法器组成每输入一个信息比特,经该编码器后产生3个输出比特。为方便起见,先假设该移位寄存器的起始状态全为零,当第一个输人比特为”0”时,输出比特为OO0;若第一个输人比特为1时,则输出比特为111;当输人第二比特时,第一比特右移一位。此时的输出比特显然与“当前输人比特和前一输人比特”有关当输人第成比特时,第一和第二比特皆右移一位,可看到此时的输出比特与“当前输入比特和前二位愉人比特”有关。当第四比特输人时,原第一输

14、人比特已移出移位寄存器而消失,即第一输人比特已不再影响当前的输人比特,如图3-2所示,以上编码器在移位过程中可能产生的各种序列,可用树状图、网格图或状态图来描述。t输出输入t图3-2 编码器输入-输出关系3.1.1树状图dcbbaa000a011110001110001000111000111111000100101010ababccddadcbbaa111a01111010110001001110000111100011100101010ababccdd图3-3 (3,1,3)卷积码的树状图图3-3给出了(3,1,3)卷积码的树状图。按照习惯的做法。码树的起始节点位于左边;移位寄存器的初始状

15、态取00,取=00,用a来表示,并把该a标注于起始节点处。当输人码元是0时,则由节点出发走上支路;当输人码元是1时.则由节点出发走下支路。例如,当该编码器第一输入比特为0时,则走上支路,此时移存器的输出码“000”就写在上支杈的上方;当该编码器第一输人比特为1时,则走下支路,此时移存器的输出码“111”就写在图中下支杈的上方。在输人第二比特时,移位寄存器右移一位,此时上支路情况下的移位寄存器的状态为00,即a,并标注于上支路节点处;此时下支路情况下的移位寄存器状态为O1,即b,并标注于下支路节点处;同时上下支路都将分两杈。以后每一个新输人比特都会使上下支路各分两杈。经过4个输人比特后,得到的该

16、编码器的树状图如图3-3所示。树状图中,节点上标注的a表示 =00, b表示=O1,。C表示= 10, d表示=11。3.1.2网格图由树状图看到,对于第j个输人信息比特,相应出现有条支路,且在时树状图出现节点,自上而下重复取4种状态。又看到,当j变大时,图的纵向尺寸越来越大。于是提出一种网格图,注意到码树状态的重复性,使图形变得紧凑。上例(3,1,3)码的网格图示于图3-4。网格图中,把码树中具有相同状态的节点合并在一起;码树中的上支路用实线表示,下支路用虚线表示;支路上标注的码元为输出比特;自上而下的4行节点分别表示a ,b,c,d的四种状态。网格图中的状态,通常有种状态。从第N个节点开始

17、.图形开始重复,且完全相同。abcd000000000000000111111111111111011001001110010010010010010010110110110011011011011100图3-4 (3,1,3)卷积码网格图3.1.3状态图当网格图达到稳定状态后,取出两个节点间的一段网格图,即得到图3-5( a)的状态转移图。此后,再把目前状态与下一节拍状态合并起来,即可得到图3-5(b)的最简的状态转移图,称之为卷积码状态图。bdcabdca100011110001010101111000a000adcb111100011010110110101b图3-5 (3,1,3)卷积

18、码状态图3.2卷积积码的编码算法卷积码的编码描述方法有5种:冲激响应描述法、生成矩阵描述法、多项式乘积描述法、状态图描述法和网格图描述法。本文采用的是冲击响应描述法编码思想,下面以n=2,k=1,N=3,(2,1,3)卷积码为例展开研究,其编码方式如图3-6所示m1,m2,mj,10输入序列图3-6(2,1,3)卷积码编码器冲激响应,就是编码器对移入的单个“1”比特的响应(假设寄存器初始状态为0 0 0),当一位1通过图1的寄存器时,寄存器的内容为:表一:寄存器内容寄存器内容分支字10100110101000111输入序列:1 0 0输出序列:1 11 01 1输入“1”所对应的输出序列就是这

19、个编码的响应,输入序列m=101时,对应的输出可按如下方式线性叠加时移输入“脉冲”得到。由于可以通过将按时间移位的脉冲进行线性叠加,或者将输入序列和编码器的脉冲响应相卷积来产生输出编码,因此这种编码器称为卷积编码器。表二:卷积编码器输出输入m输出111 10 11000 00 00111 10 11模2和11 10 00 10 113.3卷积码的Viterbi译码Viterbi译码是最大似然译码,译码的任务是在树状图或网格图中选择一条路径,计算出各支路与接收到的信息序列的距离。从中选出距离最小的一条支路作为译码输出。这样选出来的输出序列和发送端发出的序列最为相似。换句话说,此序列出错的概率最低

20、。因此,Viterbi译码是一种极大似然译码。如果发送L组信息比特,对于(n,k)的卷积码来说,可能发送的序列有个,计算机或译码器需存储这些序列并进行比较,以找到码距最小的那个序列。当传信率和信息组数L较大时,使得译码器难以实现。VB算法则对上述概率译码(又称最大似然解码)傲了简化,以至成为了一种实用化的概率算法。它并不是在网格图上一次比较所有可能的条路径(序列),而是接收一段,计算和比较一段,选择一段有最大似然可能的码段,从而达到整个码序列是一个有最大似然值的序列。通常把可能的译码序列与接收序列之间的距离称为量度。Viterbi译码分为硬判决Viterbi译码和软判决Viterbi译码,他们

21、之间惟一不同之处在于支路量度的计算方法。硬判决Viterbi译码以序列之间的汉明距离作为量度,适用于二进制对称信道(BSC);而软判决Viterbi译码则是将信道输出的信号进行Q(2)电平量化,然后再进行Viterbi译码,这样充分利用了信道输出信号的信息,提高了译码的可靠性,是一种适用于离散无记忆信道(DMC)的译码方法。如图3-7和图3-8所示,以(2,1,3)卷积码说明维特比译码原理。分支路经距离12a=00b=10c=01d=11t1t2t3t4t5t62111101111111002020202011220输入数据序列110110101010011发送码字接收序列01011001ZU

22、m11状态图3-7 (2,1,3)Viterbi译码器的网格图从图3-7中可以看出,序列m是发送方卷积编码器的输入序列,即为通信系统要传输的数字信号,码字U为序列m按相应参数卷积编码后得到的码字,也是信道中传输的信号,接收码字Z是U加上信道噪声后在接收方接收到的码字序列。网格图的每个时间间隔内,标注的是各个分支上接收码元Z和编码器网格图相应各个分支上分支字之间的汉明距离即分支路径距离(Branch Metric)。Viterbi译码算法正是利用了编码网格图的特殊结构,计算网格图上在时刻ti到达各个状态的路径和接收序列之间的相似度(Measureof Similarity),即上面标注的分支路径

23、距离,经过“加一比一选”操作,去除不可能成为最大似然选择对象的网格图上的路径。即如果两条路径到达同一状态,则选择具有最小路径距离的路径,这条路径被称为幸存路径(Surviving Path)。对所有的状态进行这样的路径操作,译码器不断在网格图上深入,根据最后得到的幸存路径实现最终判决。由于较早的抛弃了不可能的路径,从而降低了译码器的复杂性。由上述可见,译码器的运行是前向的、无反馈的。他接收一段,计算一段,选择一段最可能的码段(分支),从而达到整个码序列是一个有最大似然函数的序列。由图3-7给出了前6个时刻各个分支路径距离,得在码的第6时刻的一条幸存路径,如图3-8所示。由此看到译码器输出是Z

24、=,即可变换成序列(11011),恢复了发端原始信息。比较Z和Z序列,可以看到在译码过程中已纠正了在码序列第4位上的差错。abcd110101t1t2t3t4t5t60001图3-8 第六时刻幸存路径四、 卷积码的仿真及性能分析4.1 SIMULINK仿真模块通过MATLAB下的SIMULINK仿真,首先建立卷积的仿真模块并组合起来如图4-1所示图4-1 卷积码的编译码模块图如图4-1所示,信源由Bernoulli Binary Generator(贝努利二进制序列产生器)产生一个0,1等概序列,经过卷积码编码器对输入信号进行卷积编码,并用BPSK调制方式调制信号。加入高斯白噪声做为信道噪声后

25、在经过BPSK接调器后送入Viterbi Decoder(Viterbi译码器)进行硬判决译码。最后经过Error Rate Calculation(误码统计)后由Display(显示)输出。然后通过Selector(数据选通器)将结果输出到To workspace(工作区间)。4.2卷积码的参数对误码率的影响4.2.1码率对误码性能的影响下面图4-9是通过改变卷积码的码率为1/2和1/3而得到的二条对比曲线。上面的一条曲线是码率为1/2,下面的是码率为1/3。卷积码的码率R = k/ n,他是卷积码的一个重要参数,当改变卷积码的码率时,系统的误码性能也将随之发生变化。从图4-9中的误比特率曲

26、线可以看出,当码率一定时,随着信道噪声的逐渐减小,系统的误比特率也逐渐减小,当改变系统码率时,随着卷积码码率的逐渐提高,系统的误比特率也呈现出增大的趋势,也就是说码率越低,系统的误比特率就越小,误码性能就越好。分析不同码率对卷积码误码性能的影响时用到的程序如下:x=0:5; %x表示信噪比y=x; %y表示信号的误比特率 hold off; %准备一个空白图形 for i=1:length(x) %重复运行convh.mdl,检验不同条件下硬判决译码的性能 SNR=x(i); %信道的信噪比依次取x中的元素 sim(yima); %运行仿真程序,得到的误比特率保存在工作区变量BitErrorR

27、ate中 y(i)=mean(BitErrorRate); %计算BitErrorRate的均值作为本次仿真的误比特率endsemilogy(x,y); %绘制x和y的关系曲线图,纵坐标采用对数坐标 hold on; %保持已经绘制的图形%修改SIMULINK模块参数,重复运行,检验不同码率对硬判决译码的性能for i=1:length(x) SNR=x(i); sim(yima); y(i)=mean(BitErrorRate);endsemilogy(x,y);4.2.2约束长度对误码性能的影响如下图4-10,对于码率一定的卷积码,当约束长度N 发生变化时,系统的误码性能也会随之发生变化,

28、 我们以码率R = 1/ 2的(2 ,1 ,3)和(2,1,7) 卷积码为例展开分析。上面的曲线是(2,1,3)卷积码的误码性能曲线。下面的曲线是(2,1,7)卷积码的误码性能曲线。从图4-4中的误比特率曲线可以清楚地看到,随着约束长度的逐渐增加,系统的误比特率明显降低,所以说当码率一定时,增加约束长度可以降低系统的误比特率,但是随着约束长度的增加,译码设备的复杂性也会随之增加,所以对于码率为1/ 2 的卷积码,我们在选取约束长度时一般为39 。图4-10 不同约束长度对卷积码误码性能的影响分析不同约束长度对卷积码误码性能影响用到的程序如下:x=0:5; %x表示信噪比y=x; %y表示信号的

29、误比特率 hold off; %准备一个空白图形 for i=1:length(x) %重复运行convh.mdl,检验不同条件下硬判决译码的性能 SNR=x(i); %信道的信噪比依次取x中的元素 sim(yima); %运行仿真程序,得到的误比特率保存在工作区变量BitErrorRate中 y(i)=mean(BitErrorRate); %计算BitErrorRate的均值作为本次仿真的误比特率endsemilogy(x,y); %绘制x和y的关系曲线图,纵坐标采用对数坐标 hold on; %保持已经绘制的图形%修改SIMULINK模块参数,重复运行,检验不同约束长度对硬判决译码的性能

30、 for i=1:length(x) SNR=x(i);sim(yima); y(i)=mean(BitErrorRate);endsemilogy(x,y);4.2.3回溯长度对卷积码性能的影响下面将以(2,1,7)卷积码来建立模块仿真。将译码模块中的Traceback depth分别设置为20,35,45并在一个图中画出这三种方式下的误码性能曲线得到下图4-8。从上到下的三条曲线分别是Traceback depth为20,35,45。可以看出:回溯长度是在Viterbi 译码过程中一个很重要的参数,他决定了译码延迟,随着他的不断变化,误码性能也随误比特率曲线可以清楚地看到,当回溯长度一定时,随着信道噪声的逐渐减小,系统的误比特率逐渐降低;当回溯长度逐渐增加,系统的误比特率随之逐渐降低,但是当回溯程度增加到5 N 时( N 为编码的约束长度) ,误比特率数值趋于稳定,因此,在确定回溯长度时既要考虑到随着的增加误比特率随之降低的趋势,也要考虑到译码延迟会变大,在选取回溯长度时,通常取= 5 N。 图4-8 不同回溯长

温馨提示

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

评论

0/150

提交评论