卷积码编码器及Viterbi译码器的设计_第1页
卷积码编码器及Viterbi译码器的设计_第2页
卷积码编码器及Viterbi译码器的设计_第3页
卷积码编码器及Viterbi译码器的设计_第4页
卷积码编码器及Viterbi译码器的设计_第5页
免费预览已结束,剩余41页可下载查看

下载本文档

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

文档简介

1、毕业论文(设计)题目:卷积码编码器及Viterbi 译码器的设计学生姓名: 琳学 号:所在系别:电气信息工程学院专业名称:通信工程届 次:指导教师:目 录前言 11卷积码 21.1卷积码基本概念 21.2卷积码的编码 31.3卷积码的译码 31.4 卷积码的Viterbi译码 42. 卷积码编码器及Viterbi译码器的设计系统方案制定 72.1方案提出 72.2方案论证 72.3方案选择 92.4硬件实现 93. 卷积码编码器及Viterbi译码器的设计系统的仿真和调试 93.1仿真软件介绍 93.2系统仿真实现 93.3卷积码实现 113.4数据分析 134 SlMULINK下仿真设计 1

2、44.1卷积码的仿真 144.2 SIMULINK模块仿真参数设置及意义 155总结 195.1设计小结 195.2收获体会 195.3展望 206参考文献: 20淮南师范学院2013届本科毕业论文卷积码编码器及Viterbi译码器的设计学生:陈琳(指导老师:王千春)(淮南师范学院电气信息工程学院)摘要:本毕业设计主要解决对一个卷积码序列进行维特比(Viterbi)译码输出,并通过MatIab软件进行设计与仿真,并进行误码率分析。在毕业设计中,系统开发平 台为 Windows ViSta UItimate ,程序设计与仿真均采用 MatIab R2007a(7.4),最 后仿真详单与理论分析一

3、致。关键词:毕业论文;卷积码译码器;MatIab ;设计与仿真DeSign of the Viterbi Convolutional Code EnCOder and DeCOderStudent: Chen Lin (Instructor:WANG qian chun)(EIeCtriCaI and in formatio n engin eeri ng college of com muni Cati On engin eeri ngAbStraCt : ThiS COUrSe design mainly resolves to a COnVOIUtiOnal code SeqUence

4、for ViterbiViterbi decodi ng output, and through the MatIab SOftWare to Carry on the desig n and SimUIatiOn, and analysis of bit error rate. In CUrriCUIUm design, SyStem development platform for Windows ViSta Ultimate, PrOgram design and SimUIatiO n USing MatIab R2007a (7.4), and fin ally the SimUIa

5、tiO n list is con SiSte nt With theoretical an alysis.Key words : graduation thesis; ConvoIUtional code decoder; Matlab; DeSign and SimUIation本毕业设计主要解决对一个卷积码序列进行维特比(Viterbi)译码输出,并通过Matlab软件进行设计与仿真。卷积码的译码有两种方法一一软判决和硬判决,此毕业设计采用硬判决的维特比译码。随着现代通信的发展,高速信息传输和高可靠性传输成为信息传输的两个主要方面,而可靠性尤其重要。卷积码以其高速性和可靠性在实际应用中越

6、来越广泛。1967年Viterbi译码算法的提出,使卷积码成为信道编码中最重要的编码方式之一。在对卷积码的研究中,其中编码器较简单,模式也很统一。主要是研究提高卷积码 1卷积码编译器及Viterbi译码器的设计的译码速度和可靠度。译码算法中最重要的卷积码的 Viterbi算法问世以来,软件仿真和 实现都得到了迅速发展。目前,利用计算机仿真Viterbi算法,模拟在各种不同情况下(使 用不同码率、不同约束度等)卷积编码时的译码性能,寻找Viterbi算法的最佳适用信道 和不同要求(如误码率)下最优编码。在卷积码中,因为 Viterbi算法效率高,速度快,结 构相对简单等特点,被广泛应用于各种数据

7、传输系统。特别是深空通信、卫星通信系统 中。在现代信息处理系统中,需要处理的信息量越来越大,实时性要求越来越高。为减 少对主处理器各种资源的占用,要求通信模块方面的大部分工作能独立完成。因此采用 Viterbi译码算法具有非常现实的意义。由于卷积码的优良特性,被广泛的应用于深邃通信,卫星通信和2G及3G移动通信中,卷积码有三种译码方法:门限译码,概率译码和Viterbi算法,其中Viterbi算法是一种基于网格图的最大似然译码算法,是卷积码的最佳译码方式,具有效率高、速度 快等优点。Viterbi译码充分发挥了卷积码的特点,使译码错误概率达到最小,在码的约 束度教小时,它有译码算法效率高,速度

8、快,译码也简单的特点3。这次毕业设计研究卷积码的编码方法和解码方式。编写卷积码的编码和解码程序。 掌握卷积码编码及 Viterbi译码的基本原理。分析卷积码编码及 Viterbi译码的关键技术。 对卷积码编码器及Viterbi译码器进行设计。用卷积码编码器及 Viterbi译码器进行仿真, 并进行性能分析。理解卷积码的编码和解码原理和过程,会通过编码和解码程序对一些 卷积码进行仿真。对卷积码编码器及 Viterbi译码器进行仿真验证,并分析性能。尽可 能对系统进行优化。能运用 MATLA软件进行仿真4。1卷积码1.1卷积码基本概念卷积码是一种性能优越的信道编码。(n ,k ,N) 表示把k个信

9、息比特编成n个比 特,N为编码约束长度,说明编码过程中互相约束的码段个数。卷积码编码后的n个码元不仅与当前组的k个信息比特有关,而且与前N - 1 个输入组的信息比特有关。编 码过程中相互关联的码元有 N × n个。R = k/ n 是卷积码 的码率,码率和约束长度是 衡量卷积码的两个重要参数。卷积码的编码描述方式有很多种:冲激响应描述法、生成矩阵描述法、多项式乘积描述法、状态图描述,树图描述,网格图描述等。卷积码的 1淮南师范学院2013届本科毕业论文纠错能力随着N的增加而增大,而差错率随着 N的增加而指数下降。在编码器复杂性 相同的情况下,卷积码的性能优于分组码。分组码的译码算法

10、可以由其代数特性得到。卷积码虽然可以采用适用于分组码的门限译码 (即大数逻辑译码),但性能不如维特比译 码和序列译码。1.2卷积码的编码输入bMiMMbb i图1 一种卷积码编码器方框图编码输出图1卷积码的编码器一般都比较简单。下图1是一般情况下的卷积码编码器框图。它包括:一个由N段组成的输入移位寄存器,每段有k级,共Nk位寄存器;一组n 个模2和相加器;一个由n级组成的输出移位寄存器。对应于每段k个比特的输入序列,输出n个比特。由图可知,n个输出比特不但与当前k个比特的输入比特有关, 而且与以前的(N-1) k个输入信息有关。整个编码过程可以看成是输入信息序列与由 移位寄存器和模2加法器的连

11、接方式所决定的另一个序列的卷积,卷积码由此得名。1.3卷积码的译码卷积码的译码方式有三种:(1)1963年由梅西(MaSSey)提出的门限译码,这 是一 种基于码代数结构的代数译码,类似于分组码中的大数逻辑译码;(2) 1963 年由费诺(Fano)改进的序列译码, 这是基于码的树状图结构上的一种准最佳的概率译码;(3)1967年由维特比提出的Viterbi 算法。这是基于码的网(trellis)图基础上的一种最3卷积码编译器及Viterbi译码器的设计大似然译码算法,是一种最佳的概率译码方法。其中,代数译码,利用编码本身的代数结构进行译码,不考虑信道本身的统计特性。该方法的硬件实现简单,但性

12、能较差, 其中具有典型意义的是门限译码。另一类是概率译码,这种译码通常建立在最大似然准 则的基础上。由于计算是用到了信道的统计特性因而提高了译码性能,但这种性能的提高是以增加硬件的复杂度为代价的。常用的概率译码方法有维特比译码和序列译码。 维特比译码具有最佳性能,但硬件实现复杂;门限译码性能最差,但硬件简单;序列译码 在性能和硬件方面介于维特比译码和门限译码之间。1.4卷积码的Viterbi译码卷积码概率译码的基本思路是 :以接收码流为基础,逐个计算它与其他所有可能出现的、连续的网格图路径的距离,选出其中可能性最大的一条作为译码估值输出。概率最大在大多数场合可解释 为距离最小,这种最小距离译码

13、体现的正是最大似然的准则。卷积码的最大似然译码与分组码的最大似然译码在原理上是一样的,但实现方法上略有不同。主要区别在于:分组码是孤立地求解单个码组的相似度,而卷积码是求码字序列之间的相似度。基于网格图搜索的译码是实现最大似然判决的 重要方法和途径。用格图描述时,由于路径的汇聚消除了树状图中的多余度,译码过程中只需考虑 整个路径集合中那些使似然函数最大的路径。如果在某一点上发现某条路径已不可能获得最大对数 似然函数,就放弃这条路径,然后在剩下的幸存”路径中重新选择路径。这样一直进行到最后第L级(L为发送序列的长度)。由于这种方法较早地丢弃了那些不可能的路径I7】。1.4.1维特比译码原理采用概

14、率译码的基本思想是:把已接收序列与所有可能的发送序列做比较,选择其 中码距最小的一个序列作为发送序列。如果发送L组信息比特,那么对于(n,k)卷积码来说,可能发送的序列有 2kL个,计算机或译码器需存储这些序列并进行比较,以找到 码距最小的那个序列。当传信率和信息组数L较大时,使得译码器难以实现。维特比算法则对上述概率译码做了简化,以至成为了一种实用化的概率算法。它并不是在网格图 上一次比较所有可能的2kL条路径(序列),而是接收一段,计算和比较一段,选择一段 最大似然可能的码段,从而达到整个码序列是一个最大似然值得序列。下面以图2(a)的(2,1, 3)卷积码编码器所编出的码为例,来说明维特

15、比解码的 方法和运作过程。为了能说明解码过程,这里给出该码的状态图,如图2(b)所输入序列淮南师范学院2013届本科毕业论文50001567000000000000、11、11'11'11M11111111110010101000010101 0100/10、/图2(a) (2,1,3) 卷积码编码器图2(b) (2,1,3)卷积码状图示。维特比译码需要利用图来说明移码过程。根据卷积码画网格的方法,我们可以画出 该码的网格图,如图3所示。该图设输入信息数目L=5,所以画L+N=8个时间单位,图 中分别标以0至7。这里设编码器从a状态开始运作。该网格图的每一条路径都对应着 不同的

16、输入信息序列。由于所有可能输入信息序列共有2kL个,因而网格图中所有可能的路径也为2kL条。这里节点a=00, b=01, c=10, d=11。节点号 OI234卷积码编译器及Viterbi译码器的设计图3 (2,1,3)卷积码网格图设输入编码器的信息序列为(11011000),则由编码器对应输出的序列为 Y=(Iioioioooioiiioo),编码器的状态转移路线为abdcbdca。若收到的序列 R=(0101011001011100),对照网格图来说明维特比译码的方法 。由于该卷积码的约束长度为6位,因此先选择接收序列的前 6位序列R仁(010101)同 到达第3时刻的可能的8个码序列

17、(即8条路径)进行比较,并计算出码距。该例中到达 第3时刻a点的路径序列是(000000)和(111011),他们与R1的距离分别为3和4;到达 第3时刻b点的路径序列是(000011)和(111000),他们与RI的距离分别为3和4;到达 第3时刻C点的路径序列是(001110)和(110101),他们与R的距离分别为4和1;到达 第3时刻d点的路径序列是(001101)和(110110),他们与RI的距离分别为2和3。上述 每个节点都保留码距较小的路径作为幸存路径,所以幸存路径码序列是(000000)、(000011) > (1101001)和(001101),如图4所示。用于上面类

18、似的方法可以得到第4、5、6、7时刻的幸存路径10。节点号 0123图4维特比译码第3时刻幸存路径111需要指出的是,对于某个节点,如果比较两条路径与接收序列的累计码距值相等时, 则可以任意选者一条路径作为幸存路径,吃时不会影响最终的译码结果。在码的终了时 刻a状态,得到一条幸存路径。如果5所示。由此可看到译码器输出是 R =(1101010001011100),即可变换成序列(11011000),恢复了发端原始信息。比较R 和R序列,可以看到在译码过程中已纠正了在码序列第1和第7位上的差错。当然如果差错出现太频繁,以致超出卷积码的纠错能力,还是会发生纠误的淮南师范学院2013届本科毕业论文2

19、345678图5第8时刻幸存路径节点号 012.卷积码编码器及Viterbi译码器的设计系统方案制定2.1方案提出卷积码的译码方式有三种:(1)1963年由梅西(MaSSey)提出的门限译码,这是一种基 于码代数结构的代数译码,类似于分组码中的大数逻辑译码;(2) 1963年由费诺(Fano)改进的序列译码,这是基于码的树状图结构上的一种准最佳的概率译码;(3) 1967年由维特比提出的Viterbi算法。这是基于码的网(trellis)图基础上的一种最大似然译码算法,是 一种最佳的概率译码方法12。上。由于计算是用到了信道的统计特性因而提高了译码 性能,但这种性能的提高是以增加硬件的复杂度为

20、代价的。常用的概率译码方法有维特 比译码和序列译码。维特比译码具有最佳性能,但硬件实现复杂;门限译码性能最差,但 硬件简单;序列译码在性能和硬件方面介于维特比译码和门限译码之间13。2.2方案论证图6是卷积码解码原理图,由此图可见,当信息位出现一个错码时,仅当它位于 信息位移存器的第& 3、2和1级时,才使校正子等于“ 1”。因此,这时校正子序列为 100111;反之,当监督位出现一个错码时,校正子序列将为100000。由此可见,当校正7卷积码编译器及Viterbi译码器的设计子序列出现第一个“ 1”时,表示已经检出一个错码。此卷积码除了能够纠正两位在约 束长度中的随机错误外,还能够纠

21、正部分多于两位的错误。为了克服突发错误,可以采 用更长的约束长度和在约束长度中能纠正更多错误的码 14。O654321*b6b5b4b3b2bi接受监督位门限电路:“1 ”的个数 3 ?重算监督位C1计算校正子S6S5S4S3S2S11图6 (2,1, 6)卷积码解码器原理方框图淮南师范学院2013届本科毕业论文2.3方案选择由于维特比解码算法比较简单,计算快,故得到广泛应用,特别是卫星通信和蜂窝 网通信系统中应用。所以这里选择维特比解码。2.4硬件实现图7译码器硬件实现方框图3卷积码编码器及Viterbi译码器的设计系统的仿真和调试3.1仿真软件介绍MatIab 是英文 MATriX LAB

22、Oratory(矩阵实验室)的缩写。MatIab自1984年由MathWOrkS公司推向市场以来,历经20多年的发展和竞争,现在风靡世界。可靠的数值 计算和符号计算功能,强大的绘图功能、简单易学的语言体系以及为数众多的应用工具 箱是MatIab区别于其他科技应用软件的显著标志。3.2系统仿真实现3.2.1编码程序%header后面的寄存器需补零for i=1:SiZe(G,2)k-1 in put_matrix=coder_i nput(i*k:-1:1),zeros(1,size(G,2)-i*k);%取输入序列的前i*k个,其后补09卷积码编译器及Viterbi译码器的设计gg_out=G

23、*i nput_matrix'%生成矩阵和寄存器单元中的内容相乘得到输出for 1=1: n Cha nnel_in PUt (n *(i-1)+l)=rem(gg_oUt(I),2);%进行模二运算得到编码器输出endend%bodyfor i=size(G,2)/k:depth_of_i nputin PUt_matrix=coder_i nput(k*i:-1:k*i-G_2+1);%取输入序列的G-2个,即与寄存器个数相等gg_out=G*i nput_matrix'for l=1: n Cha nnel_in PUt (n *(i-1)+l)=rem(gg_oUt(I

24、),2);%模二运算endend%tailer,前面的寄存器需补零for i=(G_2/k-1):-1:1inPUt_matrix=zeros(1,G_2-i*k),coder_input(depth_of_input*k:-1:(depth_of_input-i) *k+1); %前G_2-i*k个补0gg_out=G*i nput_matrix'for l=1:n Channelnput(n*(G_2/k-i-1)+l+depth_of_input*n)=rem(gg_oUt(I),2);%模二运算end3.2.2解码程序for j=0:SteP:nu mber_of_states

25、-1;for l=0Nk-1 bran Ch_metric=0;bin ary_OUtPUt=deci2b in(o utput(j+1,l+1), n);%将理想输出转化为二进制for ll=1: n1淮南师范学院2013届本科毕业论文%计算汉明距bran ch_metric=bra nch_metric+metriC(Cha nn el_output_matrix(ll,i),bi nary_output(ll);end%在AWGN信道下,最大似然估计转化为求最小汉明距%如果下一状态度量距离大于当前距离加汉明距,或是下一状态未被遍历过则设为当前 状态下一状态的幸存状态,当前距离加汉明距设为

26、下一状态的距离if(state_metric (n extstate(j+1,l+1)+1,2)>state_metric(j+1,1)+bra nch_metric)|flag( next state(j+1,l+1)+1)=0)State_metric(nextstate(j+1,l+1)+1,2)=state_metric(j+1,1)+branch_metric; %更改汉明距SUrViVOr_state( nextstate(j+1,l+1)+1,i+1)=j;%更改幸存路径flag( nextstate(j+1,l+1)+1)=1;endendend%开始回溯最佳路径,从最佳

27、路径中找出解码%state_SeqUence(1结点深度)矩阵,1dep分别记载各个阶段的路径(即前一状态数)1dep分别记载各个阶段的路径(即前一状态数)。%从最佳路径中产生解码%由后到前得到各级的状态State_SeqUe nce=zeros(1,depth_of_trellis+1);State_SeqUe nce(1,depth_of_trellis)=SUrViVor_state(1,depth_of_trellis+1);%开始回溯最佳路径for i=1:depth_of_trellisState_SeqUe nce(1,depth_of_trellis-i+1)=SUrViVor

28、_state(State_seque nce(1,depth_of_tre llis+2-i)+1),depth_of_trellis-i+2);end3.3卷积码实现11卷积码编译器及Viterbi译码器的设计(3,1)卷积码的仿真:随机输入一组序列,本仿真实验中输入的序列是:0。通过卷积编码程序对所输入的序列进行编码,得到卷积码输出,再对这个卷积码进 行噪声干扰,在实际通信系统中即相当于在空中传输过程中出现传输错误,出现误码, 译码器接收到错误的码字进行解码,理论上按照Viterbi译码算法可以回溯到原始的正确码字,即正确的输入序列。现在对于编码程序在 MATLAB系统中对该实验进行仿真,

29、 验证译码是否正确,以得出是否有差错控制的功能,即卷积码可以实现差错控制。设置编码器输入端:随机输入序列:codernput=1 0 1 1 0 1 0 0输入(2,1)卷积码的生成矩阵:G = 1 0 1 1 0 1 1 1 1;1 1 0 1 1 0 0 1 1;1 1 1 0 0 1 0 0 1设置输入端个数:k=1则通过仿真得到编码器输出的卷积码序列:Chann el_OUtPUt= 1 1 1 0 1 1 0 1 0 0 1 0 1 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 0 11 1 0 0 0 0 0 0当通信过程中遇到

30、噪声干扰,出现错码时。例如本例中将第一位、第五位、第十位 和最后一位更改。得到噪声之后的序列,之后再将噪声之后序列送入译码程序进行译码 输出。经过维特比译码之后输出的输出序列理论上是原始的输入序列,若与输入序列相 同,则验证成功。设置译码器输入端:编码器输出的卷积码序列:Cha nn el_OUtPUt= 1 1 1 0 1 1 0 1 0 0 1 0 1 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 0 1 1 1 0 0 0 0 0 0加了噪声之后的序列(被送到译码器中进行译码的序列):Cha nn el_OUtPUt= 0 1 1 0

31、 0 1 0 1 0 1 1 0 1 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 0 1 1 1 0 0 0 0 0 1经过译码器译码之后的输出序列:decoder_OUtPUt = 1 0 1 1 0 1 0 0该序列与原始的输入序列 coder_input=1 0 1 1 0 1 0 0相同,即还原到了原始的输入 序列,达到了纠错的目的。验证成功8。1淮南师范学院2013届本科毕业论文3.4数据分析解码的结果见图8和图9。Here is an example Of how the fun CtiO n SteP works:COn S

32、ider a ran domly gen erated StabIe Tran Sfer Fun Cti on Model:of the form G(S)=nu m(s)de n(s):num =00-0.03760.0896-0.0533den =1.00002.97372.82170.91420.0908图8解码结果13卷积码编译器及Viterbi译码器的设计1'/ FigUre匚回詆EiIe Eli i Zie* InM电Yt I«ol IIeSlCtop Itiitdow HeIT) U ® B倉唸 口图9解码仿真结果图4 SlMULlNK下仿真设计4.1

33、卷积码的仿真a j CheriIiHEl T t-d Stw irula FfiLilftM比-cjIs tJ PD注口母' S Tl IfonajD"mnal1MMMU1* BlMebjBnrlRrariy淮南师范学院2013届本科毕业论文图10卷积码的编译译码框图如上图10的信号流程可以表示为先由Bernoulli Bin ary Gen erater(贝努利二进制序列产生器)产生一个0,1等概序列,经过COnvolutional ECOder (卷积编码器)对输入的二进 制序列进行卷积编码,并用 BPSK解调制后送人Viterbi DCOder(Viterbi译码器)进

34、行硬判 决译码。最后经过Error Rate CaCUIatiOn(误码统计)后由DiSPlay(显示输出)。然后通过 SeIeCtOr(数据选通器)将结果输出到To WOrkSPaCe(X作区间)。4.2 SlMULlNK模块仿真参数设置及意义在建立如果10所示的仿真模块后,对各个模块分别一一进行设置后并运行仿真图11贝努利二进制序列产生器模块的设置框图如上图11是贝努利二进制序列产生器模块的设置框图,其中参数有三项:第一项PrObabiIity of a zero取值为0.5,表示0和1出现的概率相等。Initial Seed表示随机种子 数,不同的随机种子数将产生不同的二进制序列,特定的

35、随机种子数可以产生特定的二 进制序列,SamPIe time=0.0001表示抽样时间。也就是说输出序列中每个二进制符号的 持续时间是0.0001秒。SamPIeS Per frame表示每帧的抽样数用来确定每帧的抽样点的数 目。OUtPUt date type是用来确定每帧的输出格式。15卷积码编译器及Viterbi译码器的设计d FUnCtiOn BlOCk PJraFnete-rE!匚OnVolUtional EnCOCIerCnvcinaL Enccder (IlLaS1) (LIak)CorVOIlLltLanally erLCode hmary da,ta. USe the Pel

36、Ly2trell function to crte trellis using the constraint IerL COde geneuator (OCtal) and feedback COnneCtion CoCtal).Select the i* Temnat e t IeHlS by appending hterr operation IllOde -to teriRinate the trellis at the all-zeo State by appending tail bits st the end f each LnPUt frajne. CheCk the Punct

37、uie COie checkbox to juncture the encoded dat i for all OXher oprition modes.Use the iStrellis functicn in OTLAE to CheCl if AStmetLlre LS a VaILd trellis Structure.PaJ'ajsterTrellis strutIIre:&址,【2 缶 d岳 O;山缶 13)OPerat icn InGde: TrUIiCated CreSet evary fiame)T SPeCLfy IrLltiaI State Via inp

38、ut Part口 OUtPIIt f inl Stat ePWriCtUre CCdeOICarLCeLHelpAPPly图12卷积编码器模块的设置框图如上图12所示是卷积码编码器模块的设置框图。其中, Trellis StrUCtUre (Trellis结构)中通过poly2trellis ()函数把卷积码的约束长度,生成多项式以及反馈多项式转换成Trellis结构中的形式。 FLlrrtiOn EIOCk Faremeter5: BPSK MOdUlatOr BaSebandBPS Madulator BasebandJkdulate Ihe IriPU-t SlgrLaI uing th

39、e binary phase EhIft k tying JILethCd.Main Data IyPeSPar aet erFhae OffSet (rd) : OVleWionOtCanCeIIieLPply图13 BPSK调制器模块的设置框图如上图13是BPSK调制器模块的设置框图。PhaSe OffSet(rad)相位偏移),这里设置为O1淮南师范学院2013届本科毕业论文LI FUnctIOn Blo匚k ParFinerter&: ErrQr Rate CalculationError Rate CalCUlajtion (mask) (IlInk)Cojipute tke

40、 error ra+e Of the TeCeLVed data by CCITtParirg It to a (IeIayed version Of the Itansniitted data- The block OlltPUl is a three-eLenen,t vector consisting Of the ErroX ratej Tollovred ty Jthe HrulnbeU Of ezior? (IeteCte山 and e Jt Ot:al IIuJlIber Cf EyTILbol COjllPared- This VECrt Or can be sertt ,to

41、 etther the workspace Or an OlJtput POrtXThe delays are specified in InjInber Clf sanplj regardless Oi Wh&ther the inepui is a SCalar or a vector* The input to tb& , Tx3 and , Kx3 POrtS rut be scalars Or CoIUrnn VeCtOrs.Ihe 'Stop SiinlIlation' ption S1OPS the KinUIIaItion UPOn del ec

42、jtin a ,t ar get niuaber Of errors Or S IllaKinLuk tube r Of symbols, hiCheVLer canes ,flist.CeiVe delay:rrfFaraJReteLEOKCanCeIHelPply图14误比特统计模块的设置框图如上图所示是误比特统计模块的设置框图。ReCeiVedeIa y表示接收延迟,意思是在通信接收端口需要对接收到的信号进行解调,解码或解交织而带来一定的延迟使得到达误码统计模块接收端的信号滞后于发送端的信号21。为了补偿这种延迟,这里设置为0。 COmPutatiOn delay表示计算延迟,在仿真过程

43、中,有时间需要忽略最初的若干个输入数 据就通过计算延迟来实现。这里设置为0。COmPUtatiOn mode表示计算模式,帧的计算模式(Entire frame),误码统计模块对发送端和接收端所有输入数据进行统计。OUtPUt data是输出数据,这里设置为port的意思是表示把统计数据从端口中输出。WOrkSPaCe表示把统计数据输出到工作区22。17卷积码编译器及Viterbi译码器的设计1图15数据选通器模块的设置框图如图15所示是数据选通器模块的设置框图。InPUt port Width表示输入端口的个数为3图16卷积码译码器模块的设置框图淮南师范学院2013届本科毕业论文如上图16所

44、示是卷积码译码器模块的设置框图。DeCiSiOn type是指判决类型,有3种:(1)Unquantized(非量化);(2)Hard DeCiSiOn (硬判决);(3)Soft DeCiSiOn(软判决)。TraCebaCk depth表示反馈深度。它的值会影响译码精度和解码延迟。OPeratiOn mode是指操作模式。在TrunCated模式下,解码器在每帧数据结束的时候总会恢复到全0状态,它与卷积编码器的On each frame复位方式相对应23。5总结5.1设计小结卷积码是一种纠错编码,纠错编码己有五十几年历史,早在1948年,香农(Shannon在他的开创性论文 通信的数学理论

45、”中,首次阐明了在有扰信道中实现可靠通 信的方法,提出了著名的有扰信道编码定理,奠定了纠错码的基石24。以后,纠错码受到了越来越多的通信和数学工作者,特别是数学家的重视,使纠错码无论在理论上还 是在实际中都得到了飞速发展。通过编写卷积码的编码和解码程序,并且用MATLAB仿真软件对TD-SCDMA系统的卷积码编解码进行仿真,进行纠错验证可以看出卷积 码编译码对差错控制有很大的应用。通过对译码算法的仿真,可以看出,维特比译码器设备比较简单,计算速度快,因而Viterbi译码器被广泛应用于各种领域。尤其在卫星和深空通信中得到广泛应用,在解决码间串扰和数据压缩中也可应用25。5.2收获体会了解了卷积

46、码的原理及其编码和译码原理,同时掌握了如何用用MATLAB对其进行仿真。卷积码具有纠错功能,适合于各种领域。此毕业设计对整个通信系统包含的编 码、传输和译码都进行了设计与仿真,从这些过程中我们看到了通信系统的基本工作原 理。通过整个卷积码系统的设计与仿真,使我们加深了对卷积码的理解,掌握维特比译 码的基本思路,知道如何进行误码率分析从而选者合适的信道传输信号,更重要的是学 会了使用MatIab作为学习工具来对我们的通信系统进行设计和仿真等操作,这对我们 以后的学习和工作有着重要意义26。19卷积码编译器及Viterbi译码器的设计5 3 展望现代通信中,随着信号序列的传输速率的不断提高,要求卷

47、积码译码的速度也要不 断提高,Viterbi译码由于充分利用信号序列统计概率的特性而具有最佳性能。 信道编码 的应用领域主要包括深空通信、卫星通信、数据传输、移动通信、文件传输和数字音频 /视频传输等。卷积编码作为信道编码方式中最重要一种,被广泛使用于卫星通信、无人 机测控、深空通信、移动通信、水声通信等数字通信系统,甚至被采纳到某些无线通信 的标准之中,女口 GSM、IS.95和CDMA2000的标准。在卫星通信中,码率为1/2和1/3 的卷积码己经成为商业卫星通信系统中的标准编码方法。在无人机测控中,与传统的信 道改善控制指令传输误码的方式比较,利用卷积码对无人机遥控信道进行编码,在一定

48、信道条件下,其控制指令传输误码有明显下降。在码速率不增加的条件下,无人机系统 控制指令传输可靠性得到明显改善27。参考文献:1 .曹沛先.卷积码的编码及其 Viterbi译码的计算机模拟J.无线电工程,1994,24(8): 24-28.2 .张普珩.Viterbi译码算法的研究与实现D.湖南:国防科学技术大学研究生院,2008.3 .孟夏,申敏,王飞.TD-SCDMA中(2,1,9)卷积编码及其VlTERBl译码算法的 SIMULINK S-FUNCTION实现J.通信技术,2008,41(8):26-30.4 .张传达,李小文.卷积码编码及其 Viterbi译码的实现J.无线电工 程,20

49、06,36(7):45-47.通信原理(第六版)樊昌信,曹丽娜编著国防工业出版社;6 .MATLAB程序设计与应用(第二版)刘卫国主编高等教育出版社7 .徐莉,罗新民,徐燕红.卷积码的 MATLAB仿真及其性能研究J.现代电子技 术,2006,64(11):64-66.8 .肖学云,信道编码的研究及其在TD-SCDMA中的应用与实现D.北京:北京邮电大学,2006.9 .宋镜业,信道编码识别技术研究D.西安:西安电子科技大学,2009. SerieS.IRE10 .庞沁华,吴伟陵.通信原理M.北京:北京邮电出版社,2008.11 .李建东,郭梯云,邬国扬著移动通信第四版 出版社:西安电子科技大

50、学出版社 2006, 71淮南师范学院2013届本科毕业论文12 樊昌信,曹丽娜著通信原理第六版 出版社:国防工业出版社2011, 113 刘卫国主编 MATLAB程序设计与应用第二版出版社:高等教育出版社2011,114 张辉,曹丽娜编著现代通信原理与技术 出版社:西安电子科技大学出版社 200215 曹志刚,钱亚生著现代通信原理出版社:清华大学出版社 199216 王兴亮,达新宇著数字通信原理与技术第二版 出版社:西安电子科技大学出版社200417 桑林,郝建军,刘丹谱著数字通信出版社:北京邮电大学出版社18 曹兴雯,刘乃安,陈健等著高频电路原理与分析出版社:西安电子科技大学出版社2001

51、19 张圣勤著 MATLAB7.0实用教材出版社:机械工业出版社200620 邓华著 MATLAB通信仿真及应用实例详解出版社:人民邮电出版社 200321 CESha nnon.A MathematiC TheOry Of COmmu ni Cati On s.Bell syst,Tech.J.1948,Vl 27.22 D.J. Costello,J.Hage nauer&H.lm ai.Applicati ons of ErrOr-C on trol Cod in g,IEEE TranS.On In formation TheOry,1998,VOl 44.23 M.J .Go

52、lay.Compleme ntary SerieS.IRE Tran s.I nfo.Theory.5I.IT-7,pp82-87,1981.24 V.D.Goppa.ANewClassofLi nearError-correcti ngCodes.Probl,l nform,Tra ns,1990.vol.6.pp 207-212.21卷积码编译器及Viterbi译码器的设计附录1编码程序%header后面的寄存器需补零for i=1:SiZe(G,2)k-1 in put_matrix=coder_i nput(i*k:-1:1),ZerOS(1,SiZe(G,2)-i*k);%取输入序列的前i*k个,其后补0gg_out=G*i nput_matrix'%生成矩阵和寄存器单元中的内容相乘得到输出for 1=1: n Cha nnel_in PUt (

温馨提示

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

评论

0/150

提交评论