卷积码编码器及Viterbi译码器的设计(共26页).doc

上传人:飞****2 文档编号:13367601 上传时间:2022-04-29 格式:DOC 页数:26 大小:481.50KB
返回 下载 相关 举报
卷积码编码器及Viterbi译码器的设计(共26页).doc_第1页
第1页 / 共26页
卷积码编码器及Viterbi译码器的设计(共26页).doc_第2页
第2页 / 共26页
点击查看更多>>
资源描述

《卷积码编码器及Viterbi译码器的设计(共26页).doc》由会员分享,可在线阅读,更多相关《卷积码编码器及Viterbi译码器的设计(共26页).doc(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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);

23、 %模二运算 end 3.2.2 解码程序for j=0:step:number_of_states-1; for l=0:2k-1 branch_metric=0;binary_output=deci2bin(output(j+1,l+1),n); %将理想输出转化为二进制 for ll=1:n %计算汉明距 branch_metric=branch_metric+metric(channel_output_matrix(ll,i),binary_output(ll); end %在AWGN信道下,最大似然估计转化为求最小汉明距 %如果下一状态度量距离大于当前距离加汉明距,或是下一状态未被遍

24、历过则设为当前状态下一状态的幸存状态,当前距离加汉明距设为下一状态的距离 if(state_metric(nextstate(j+1,l+1)+1,2)state_metric(j+1,1)+branch_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)=

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

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

27、入序列。现在对于编码程序在 MATLAB 系统中对该实验进行仿真,验证译码是否正确,以得出是否有差错控制的功能,即卷积码可以实现差错控制7。 设置编码器输入端: 随机输入序列: coder_input=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则通过仿真得到编码器输出的卷积码序列:channel_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

28、 0 0 0 1 1 1 1 0 1 1 1 0 0 0 0 0 0当通信过程中遇到噪声干扰,出现错码时。例如本例中将第一位、第五位、第十位和最后一位更改。得到噪声之后的序列,之后再将噪声之后序列送入译码程序进行译码输出。经过维特比译码之后输出的输出序列理论上是原始的输入序列,若与输入序列相同,则验证成功。 设置译码器输入端: 编码器输出的卷积码序列: channel_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 加了噪声之后的序列(

29、被送到译码器中进行译码的序列): channel_output= 0 1 1 0 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。3.4 数据分析 解码的结果见图8和图9。Here is an example of how the f

30、unction step works:Consider a randomly generated stable Transfer Function Model:of the form G(s)=num(s)/den(s):num =0 0 -0.0376 0.0896 -0.0533den =1.0000 2.9737 2.8217 0.9142 0.0908图8 解码结果 图9解码仿真结果图4 SIMULINK下仿真设计4.1 卷积码的仿真图10卷积码的编译译码框图如上图10的信号流程可以表示为先由Bernoulli Binary Generater(贝努利二进制序列产生器)产生一个0,1等

31、概序列,经过Convolutional Ecoder(卷积编码器)对输入的二进制序列进行卷积编码,并用BPSK解调制后送人Viterbi Dcoder(viterbi译码器)进行硬判决译码。最后经过Error Rate Caculation(误码统计)后由Display(显示输出)。然后通过Selector(数据选通器)将结果输出到To workspace(工作区间)。4.2 SIMULINK模块仿真参数设置及意义在建立如果10所示的仿真模块后,对各个模块分别一一进行设置后并运行仿真图11贝努利二进制序列产生器模块的设置框图如上图11是贝努利二进制序列产生器模块的设置框图,其中参数有三项:第一

32、项probability of a zero取值为0.5,表示0和1出现的概率相等。Initial seed表示随机种子数,不同的随机种子数将产生不同的二进制序列,特定的随机种子数可以产生特定的二进制序列,Sample time=0.0001表示抽样时间。也就是说输出序列中每个二进制符号的持续时间是0.0001秒。Samples per frame表示每帧的抽样数用来确定每帧的抽样点的数目。Output date type是用来确定每帧的输出格式。图12卷积编码器模块的设置框图如上图12所示是卷积码编码器模块的设置框图。其中,Trellis structure(Trellis结构)中通过pol

33、y2trellis()函数把卷积码的约束长度,生成多项式以及反馈多项式转换成Trellis结构中的形式。图13 BPSK调制器模块的设置框图如上图13是BPSK调制器模块的设置框图。Phase offset(rad)(相位偏移),这里设置为0。图14误比特统计模块的设置框图如上图所示是误比特统计模块的设置框图。Receive delay表示接收延迟,意思是在通信接收端口需要对接收到的信号进行解调,解码或解交织而带来一定的延迟使得到达误码统计模块接收端的信号滞后于发送端的信号21。为了补偿这种延迟,这里设置为0。Computation delay表示计算延迟,在仿真过程中,有时间需要忽略最初的若

34、干个输入数据就通过计算延迟来实现。这里设置为0。Computation mode表示计算模式,帧的计算模式(Entire frame),误码统计模块对发送端和接收端所有输入数据进行统计。Output data是输出数据,这里设置为port的意思是表示把统计数据从端口中输出。Workspace表示把统计数据输出到工作区22。图15数据选通器模块的设置框图如图15所示是数据选通器模块的设置框图。Input port width表示输入端口的个数为3。图16卷积码译码器模块的设置框图如上图16所示是卷积码译码器模块的设置框图。Decision type是指判决类型,有3种:(1)Unquantize

35、d(非量化);(2)Hard Decision(硬判决);(3)Soft Decision(软判决)。Traceback depth表示反馈深度。它的值会影响译码精度和解码延迟。Operation mode是指操作模式。在Truncated模式下,解码器在每帧数据结束的时候总会恢复到全0状态,它与卷积编码器的on each frame复位方式相对应23。5 总结5.1 设计小结卷积码是一种纠错编码,纠错编码己有五十几年历史,早在 1948 年,香农 (Shannon)在他的开创性论文“通信的数学理论”中,首次阐明了在有扰信道中实现可靠通信的方法,提出了著名的有扰信道编码定理,奠定了纠错码的基石

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

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

38、星通信、数据传输、移动通信、文件传输和数字音频/视频传输等。卷积编码作为信道编码方式中最重要一种,被广泛使用于卫星通信、无人机测控、深空通信、移动通信、水声通信等数字通信系统,甚至被采纳到某些无线通信的标准之中,如 GSM、IS.95 和 CDMA2000 的标准。在卫星通信中,码率为 1/2 和 1/3 的卷积码己经成为商业卫星通信系统中的标准编码方法。在无人机测控中,与传统的信道改善控制指令传输误码的方式比较,利用卷积码对无人机遥控信道进行编码,在一定信道条件下,其控制指令传输误码有明显下降。在码速率不增加的条件下,无人机系统控制指令传输可靠性得到明显改善27。参考文献:1. 曹沛先.卷积

39、码的编码及其 Viterbi 译码的计算机模拟J. 无线电工 程,1994,24(8): 24-28. 2. 张普珩.Viterbi 译码算法的研究与实现D.湖南:国防科学技术大学研究生院, 2008.3. 孟夏, 申敏, 王飞.TD-SCDMA 中(2,1,9)卷积编码及其 VITERBI 译码算法的 S IMULINK S-FUNCTION 实现J.通信技术,2008,41(8):26-30. 4. 张传达 , 李小文 . 卷积码编码及其 Viterbi 译码的实现J. 无线电工 程,2006,36(7):45-47.5.通信原理(第六版)樊昌信,曹丽娜编著国防工业出版社;6.MATLAB

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

41、11,113 刘卫国主编 MATLAB程序设计与应用第二版 出版社:高等教育出版社2011,114 张辉,曹丽娜编著 现代通信原理与技术 出版社:西安电子科技大学出版社 200215 曹志刚,钱亚生著 现代通信原理 出版社:清华大学出版社 199216 王兴亮,达新宇著 数字通信原理与技术第二版 出版社:西安电子科技大学出版社 200417 桑林,郝建军,刘丹谱著 数字通信 出版社:北京邮电大学出版社18 曹兴雯,刘乃安,陈健等著 高频电路原理与分析 出版社:西安电子科技大学出版社 200119 张圣勤著 MATLAB7.0实用教材 出版社:机械工业出版社 200620 邓华著 MATLAB通

42、信仿真及应用实例详解 出版社:人民邮电出版社 200321 C.E.Shannon.A Mathematic Theory of Communications.Bell syst,Tech.J.1948,Vol 27.22 D.J.Costello,J.Hagenauer&H.Imai.Applications of Error-Control Coding,IEEE Trans.On Information Theory,1998,Vol 44.23 M.J.Golay.Complementary Series.IRE Trans.Info.Theory.Vol.IT-7,pp82-87,1

43、981. 24V.D.Goppa.ANewClassofLinearError-correctingCodes.Probl,Inform,Trans,1990.vol.6.pp207-212. 附录1 编码程序%header,后面的寄存器需补零 for i=1:size(G,2)/k-1 input_matrix=coder_input(i*k:-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

44、)=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 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

45、-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); %模二运算 end2解码程序for j=0:step:number_of_states-1; for l=0:2k-1 branch_metric=0;binary_output=deci2bin(output(j+1,l+1),n); %将理想输出转化为二进制 f

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁