卷积码编码器及Viterbi译码器的设计(共26页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《卷积码编码器及Viterbi译码器的设计(共26页).doc》由会员分享,可在线阅读,更多相关《卷积码编码器及Viterbi译码器的设计(共26页).doc(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上毕业论文(设计)题目:卷积码编码器及Viterbi译码器的设计学生姓名: 琳 学 号: 所在系别: 电气信息工程学院 专业名称: 通信工程 届 次: 指导教师: 目 录专心-专注-专业卷积码编码器及Viterbi译码器的设计学生:陈琳(指导老师:王千春)(淮南师范学院电气信息工程学院)摘要:本毕业设计主要解决对一个卷积码序列进行维特比(Viterbi)译码输出,并通过Matlab软件进行设计与仿真,并进行误码率分析。在毕业设计中,系统开发平台为Windows Vista Ultimate,程序设计与仿真均采用Matlab R2007a(7.4),最后仿真详单与理论分析
2、一致。关键词:毕业论文;卷积码译码器;Matlab;设计与仿真Design of the Viterbi Convolutional Code Encoder and DecoderStudent: Chen Lin(Instructor:WANG qian chun)(Electrical and information engineering college of communication engineering)Abstract :This course design mainly resolves to a convolutional code sequence for Viterb
3、i Viterbi decoding output, and through the Matlab software to carry on the design and simulation, and analysis of bit error rate. In curriculum design, system development platform for Windows Vista Ultimate, program design and simulation using Matlab R2007a (7.4), and finally the simulation list is
4、consistent with theoretical analysis.Key words :graduation thesis; Convolutional code decoder; Matlab; Design and simulation前 言本毕业设计主要解决对一个卷积码序列进行维特比(Viterbi)译码输出,并通过Matlab软件进行设计与仿真。卷积码的译码有两种方法软判决和硬判决,此毕业设计采用硬判决的维特比译码。随着现代通信的发展,高速信息传输和高可靠性传输成为信息传输的两个主要方面,而可靠性尤其重要。卷积码以其高速性和可靠性在实际应用中越来越广泛。1967年Viterbi
5、译码算法的提出,使卷积码成为信道编码中最重要的编码方式之一1。在对卷积码的研究中,其中编码器较简单,模式也很统一。主要是研究提高卷积码的译码速度和可靠度。译码算法中最重要的卷积码的Viterbi算法问世以来,软件仿真和实现都得到了迅速发展。目前,利用计算机仿真Viterbi算法,模拟在各种不同情况下(使用不同码率、不同约束度等)卷积编码时的译码性能,寻找Viterbi算法的最佳适用信道和不同要求(如误码率)下最优编码。在卷积码中,因为Viterbi算法效率高,速度快,结构相对简单等特点,被广泛应用于各种数据传输系统。特别是深空通信、卫星通信系统中。在现代信息处理系统中,需要处理的信息量越来越大
6、,实时性要求越来越高。为减少对主处理器各种资源的占用,要求通信模块方面的大部分工作能独立完成。因此采用Viterbi译码算法具有非常现实的意义2。由于卷积码的优良特性,被广泛的应用于深邃通信,卫星通信和2G及3G移动通信中,卷积码有三种译码方法:门限译码,概率译码和Viterbi算法,其中Viterbi算法是一种基于网格图的最大似然译码算法,是卷积码的最佳译码方式,具有效率高、速度快等优点。Viterbi译码充分发挥了卷积码的特点,使译码错误概率达到最小,在码的约束度教小时,它有译码算法效率高,速度快,译码也简单的特点3。这次毕业设计研究卷积码的编码方法和解码方式。编写卷积码的编码和解码程序。
7、掌握卷积码编码及Viterbi译码的基本原理。分析卷积码编码及Viterbi译码的关键技术。对卷积码编码器及Viterbi译码器进行设计。用卷积码编码器及Viterbi译码器进行仿真,并进行性能分析。理解卷积码的编码和解码原理和过程,会通过编码和解码程序对一些卷积码进行仿真。对卷积码编码器及Viterbi译码器进行仿真验证,并分析性能。尽可能对系统进行优化。能运用MATLAB软件进行仿真4。1 卷积码1.1 卷积码基本概念 卷积码是一种性能优越的信道编码。(n ,k ,N) 表示把 k 个信息比特编成 n 个比特,N 为编码约束长度,说明编码过程中互相约束的码段个数。卷积码编码后的 n 个码元
8、不仅与当前组的 k 个信息比特有关,而且与前 N - 1 个输入组的信息比特有关。编码过程中相互关联的码元有 N n 个。R = k/ n 是卷积码 的码率,码率和约束长度是衡量卷积码的两个重要参数。 卷积码的编码描述方式有很多种:冲激响应描述法、生成矩阵描述法、多项式乘积描述法、状态图描述,树图描述,网格图描述等。卷积码的纠错能力随着 N 的增加而增大,而差错率随着 N 的增加而指数下降。在编码器复杂性相同的情况下,卷积码的性能优于分组码。分组码的译码算法可以由其代数特性得到。卷积码虽然可以采用适用于分组码的门限译码(即大数逻辑译码),但性能不如维特比译码和序列译码5。1.2 卷积码的编码编
9、码输出输入图1 一种卷积码编码器方框图图 1卷积码的编码器一般都比较简单。下图1是一般情况下的卷积码编码器框图。它包括:一个由 N 段组成的输入移位寄存器,每段有 k 级,共 Nk 位寄存器; 一组 n 个模 2 和相加器;一个由 n 级组成的输出移位寄存器。对应于每段 k 个比特的输入序列,输出 n 个比特。由图可知,n 个输出比特不但与当前 k 个比特的输入比特有关,而且与以前的(N-1)k 个输入信息有关。整个编码过程可以看成是输入信息序列与由移位寄存器和模 2 加法器的连接方式所决定的另一个序列的卷积,卷积码由此得名。1.3 卷积码的译码 卷积码的译码方式有三种:(1)1963 年由梅
10、西(Massey)提出的门限译码,这 是一种基于码代数结构的代数译码,类似于分组码中的大数逻辑译码;(2) 1963 年由费诺(Fano)改进的序列译码, 这是基于码的树状图结构上的一种准最佳的概 率译码;(3) 1967 年由维特比提出的 Viterbi 算法。这是基于码的网(trellis) 图基础上的一种最大似然译码算法,是一种最佳的概率译码方法。其中,代数译 码,利用编码本身的代数结构进行译码,不考虑信道本身的统计特性。该方法的硬件实现简单,但性能较差,其中具有典型意义的是门限译码。另一类是概率译码,这种译码通常建立在最大似然准则的基础上。由于计算是用到了信道的统计特性.因而提高了译码
11、性能,但这种性能的提高是以增加硬件的复杂度为代价的。常用的概率译码方法有维特比译码和序列译码。维特比译码具有最佳性能,但硬件实现复杂;门限译码性能最差,但硬件简单;序列译码在性能和硬件方面介于维特比译码和门限译码之间6。1.4 卷积码的 Viterbi 译码 卷积码概率译码的基本思路是:以接收码流为基础,逐个计算它与其他所有可能出现的、连续的网格图路径的距离,选出其中可能性最大的一条作为译码估值输出。概率最大在大多数场合可解释为距离最小,这种最小距离译码体现的正是最大似然的准则。 卷积码的最大似然译码与分组码的最大似然译码在原理上是一样的,但实现方法上略有不同。主要区别在于:分组码是孤立地求解
12、单个码组的相似度,而卷积码是求码字序列之间的相似度。基于网格图搜索的译码是实现最大似然判决的重要方法和途径。用格图描述时,由于路径的汇聚消除了树状图中的多余度,译码过程中只需考虑整个路径集合中那些使似然函数最大的路径。如果在某一点上发现某条路径已不可能获得最大对数似然函数,就放弃这条路径,然后在剩下的“幸存”路径中重新选择路径。这样一直进行到最后第L级(L为发送序列的长度)。由于这种方法较早地丢弃了那些不可能的路径7。1.4.1 维特比译码原理采用概率译码的基本思想是:把已接收序列与所有可能的发送序列做比较,选择其中码距最小的一个序列作为发送序列。如果发送L组信息比特,那么对于(n,k)卷积码
13、来说,可能发送的序列有2kL个,计算机或译码器需存储这些序列并进行比较,以找到码距最小的那个序列。当传信率和信息组数L较大时,使得译码器难以实现。维特比算法则对上述概率译码做了简化,以至成为了一种实用化的概率算法。它并不是在网格图上一次比较所有可能的2kL条路径(序列),而是接收一段,计算和比较一段,选择一段最大似然可能的码段,从而达到整个码序列是一个最大似然值得序列8。下面以图2(a)的(2,1,3)卷积码编码器所编出的码为例,来说明维特比解码的方法和运作过程。为了能说明解码过程,这里给出该码的状态图,如图2(b)所mjmj-1mj-2输出序列m1,m2,mj,y1jy2j输入序列00adc
14、b110011010110 图2(a) (2,1,3)卷积码编码器 图2(b) (2,1,3)卷积码状图示。维特比译码需要利用图来说明移码过程。根据卷积码画网格的方法,我们可以画出该码的网格图,如图3所示。该图设输入信息数目L=5,所以画L+N=8个时间单位,图中分别标以0至7。这里设编码器从a状态开始运作。该网格图的每一条路径都对应着不同的输入信息序列。由于所有可能输入信息序列共有2kL个,因而网格图中所有可能的路径也为2kL条。这里节点a=00,b=01,c=10,d=11。abcd节点号012345670000000000000011111111111111110000010101010
15、1010101010101111110101010图3 (2,1,3)卷积码网格图设输入编码器的信息序列为(),则由编码器对应输出的序列为Y=(11100),编码器的状态转移路线为abdcbdca。若收到的序列R=(11100),对照网格图来说明维特比译码的方法9。由于该卷积码的约束长度为6位,因此先选择接收序列的前6位序列R1=()同到达第3时刻的可能的8个码序列(即8条路径)进行比较,并计算出码距。该例中到达第3时刻a点的路径序列是()和(),他们与R1的距离分别为3和4;到达第3时刻b点的路径序列是()和(),他们与R1的距离分别为3和4;到达第3时刻c点的路径序列是()和(),他们与R
16、1的距离分别为4和1;到达第3时刻d点的路径序列是()和(),他们与R1的距离分别为2和3。上述每个节点都保留码距较小的路径作为幸存路径,所以幸存路径码序列是()、()、()和(),如图4所示。用于上面类似的方法可以得到第4、5、6、7时刻的幸存路径10。abcd节点号0123000000111111010101图4 维特比译码第3时刻幸存路径需要指出的是,对于某个节点,如果比较两条路径与接收序列的累计码距值相等时,则可以任意选者一条路径作为幸存路径,吃时不会影响最终的译码结果。在码的终了时刻a状态,得到一条幸存路径。如果5所示。由此可看到译码器输出是R=(11100),即可变换成序列(),恢
17、复了发端原始信息。比较R和R序列,可以看到在译码过程中已纠正了在码序列第1和第7位上的差错。当然如果差错出现太频繁,以致超出卷积码的纠错能力,还是会发生纠误的11。abcd节点号0123110101456780001011100图5 第8时刻幸存路径2.卷积码编码器及Viterbi译码器的设计系统方案制定 2.1 方案提出 卷积码的译码方式有三种:(1)1963 年由梅西(Massey)提出的门限译码,这是一种基于码代数结构的代数译码,类似于分组码中的大数逻辑译码;(2) 1963 年由费诺(Fano)改进的序列译码,这是基于码的树状图结构上的一种准最佳的概率译码;(3) 1967 年由维特比
18、提出的 Viterbi 算法。这是基于码的网(trellis)图基础上的一种最大似然译码算法,是一种最佳的概率译码方法12。上。由于计算是用到了信道的统计特性.因而提高了译码性能,但这种性能的提高是以增加硬件的复杂度为代价的。常用的概率译码方法有维特比译码和序列译码。维特比译码具有最佳性能,但硬件实现复杂;门限译码性能最差, 但硬件简单;序列译码在性能和硬件方面介于维特比译码和门限译码之间13。 2.2 方案论证 图6是卷积码解码原理图,由此图可见,当信息位出现一个错码时,仅当它位于信息位移存器的第6、3、2和1级时,才使校正子等于“1”。因此,这时校正子序列为;反之,当监督位出现一个错码时,
19、校正子序列将为。由此可见,当校正子序列出现第一个“1”时,表示已经检出一个错码。此卷积码除了能够纠正两位在约束长度中的随机错误外,还能够纠正部分多于两位的错误。为了克服突发错误,可以采用更长的约束长度和在约束长度中能纠正更多错误的码14。 6 5 4 3 2 1 门限电路:“1”的个数3?Y接受监督位重算监督位计算校正子图6 (2,1,6)卷积码解码器原理方框图2.3 方案选择由于维特比解码算法比较简单,计算快,故得到广泛应用,特别是卫星通信和蜂窝网通信系统中应用。所以这里选择维特比解码。2.4 硬件实现定时与控制输入与同步单元支路量度计算路径量度的更新与存储判决与输出单元信息序列的更新与存储
20、图7译码器硬件实现方框图3 卷积码编码器及Viterbi译码器的设计系统的仿真和调试 3.1 仿真软件介绍 Matlab是英文MATrix LABoratory(矩阵实验室)的缩写。Matlab自1984年由MathWorks公司推向市场以来,历经20多年的发展和竞争,现在风靡世界。可靠的数值计算和符号计算功能,强大的绘图功能、简单易学的语言体系以及为数众多的应用工具箱是Matlab区别于其他科技应用软件的显著标志6。3.2 系统仿真实现3.2.1 编码程序%header,后面的寄存器需补零 for i=1:size(G,2)/k-1 input_matrix=coder_input(i*k:
21、-1:1),zeros(1,size(G,2)-i*k); %取输入序列的前i*k个,其后补0 gg_out=G*input_matrix;%生成矩阵和寄存器单元中的内容相乘得到输出 for l=1:n channel_input (n*(i-1)+l)=rem(gg_out(l),2);%进行模二运算得到编码器输出 end end %body for i=size(G,2)/k:depth_of_input input_matrix=coder_input(k*i:-1:k*i-G_2+1); %取输入序列的G-2个,即与寄存器个数相等 gg_out=G*input_matrix; for
22、l=1:n channel_input(n*(i-1)+l)=rem(gg_out(l),2); %模二运算 end end %tailer,前面的寄存器需补零 for i=(G_2/k-1):-1:1 input_matrix=zeros(1,G_2-i*k),coder_input(depth_of_input*k:-1:(depth_of_input-i) *k+1);%前G_2-i*k个补0 gg_out=G*input_matrix; for l=1:n channel_input(n*(G_2/k-i-1)+l+depth_of_input*n)=rem(gg_out(l),2);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 卷积码 编码器 Viterbi 译码器 设计 26
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内