




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科毕业设计说明书(论文) 第 37 页 共 37 页1 引言卷积码的概率码最早始于1961年由Wozencraft提出的序列译码,这是第一个实用的概率译码方法,1963年Fano对序列译码进行改进,提出Fano算法,从而推动了序列译码的实际应用。1967年Viterbi提出了另一种概率译码算法:Viterbi算法,它是一种最大似然译码算法。在码的约束比较小时,它比序列译码算法效率更高、速度更快,译码器也较简单。因而自Viterbi算法提出以来,无论在理论上还是实践上都得到了极其迅速的发展,并广泛应用于各种数据传输系统,特别是卫星通信系统中。1.1 卷积码的发展卷积码是深度空间通信系统和无线通信系统中常用的一种编码。卷积码与分组码不同,它的本码组的校验元不仅与本组的信息元有关,而且还与以前各时刻输入至编码器的信息组有关。在编码过程中,卷积码充分利用了各码字间的相关性,而且它的信息元和校验元也比分组码小,在与分组码同样的码率R和设备复杂性条件下,无论从理论上还是从实践上都证明卷积码的性能至少不比分组码差;而且卷积码在实现最佳译码也较分组码容易。所以从信道编码定理来看,卷积码是一种非常有前途的码类。在IS-95.CDMA的无线数字蜂窝标滩中都采用了卷积码;在第三代无线通信系统的蜂窝结构中所采用的Turbo码,也是源自卷积码。卷积码是由伊利亚斯(P.Elias)发明的一种非分组码。通常它更适用于前向纠错,因为对于许多实际情况它的性能优于分组码,而且运算简单。卷积码是一种线性树码,由于该码的输出序列是输入序列和编码器的冲击响应的离散时间卷积,故名卷积码。其一般结构包括:一个由N段组成的输入移位寄存器,每段k个,共Nk个移位寄存器、一组n个模2和相加器,一个由n级组成的输出移位寄存器。对应于每段k个比特的输入序列,输出n个比特。卷积码常记为(n,k,N-1),当k等于1时,N-1就是寄存器的个数。卷积编码器是由记忆的,即一组信息码元的校验码元不但取决于本组信息元,而且还与前m=N-1组信息码元有关。其中m被称为编码存贮,N=m+1被称为编码约束长度。一个卷积码不但可以通过增加校验码元(相应地降低编码效率)来改善纠错性能,更可以用增加编码约束长度的方法提高纠错能力1。卷积码的概率译码方法主要有两种:viterbi译码算法和序列译码算法(费诺算法)。其中,viterbi算法的复杂度和编码约束度成指数关系,所以只适合m较小的卷积码或者误码率高于10-5的应用。由于该算法的收敛性与信道干扰程度无关,所以计算量是固定的,译码实时性较好;另外该算法适合软判决译码,可以获得额外的编码增益。序列译码(费诺算法)的复杂度与m无关,适合大编码约束长度(即具有较大自由距离)的卷积码或者误码率低于10-6的业务需求。这种算法的收敛速度与信道干扰程度有关,译码实时性较差,使用软判决较为复杂2。本文主要研究(2,1,7)卷积码的viterbi译码,其中码率为1/2,约束长度为7,共有64个状态。1.2 数字信号处理(DSP)20世纪60年代以来,随着大规模集成电路、数字计算机等信息技术的飞速发展。数字信号处理(Digital Signal Processing,DSP)技术应运而生并得到快速的发展。在过去的20多年里,DSP在理论和应用方面不断地进步和完善,在越来越多的应用领域中迅速取代传统的模拟信号处理方法,并且开辟出许多新的应用领域。目前数字信号处理技术已经在通信、雷达、航空航天、工业控制、生物医学工程、网络及家电领域得到极为广泛的应用,数字时代正在到来。由于DSP技术应用非常广泛,迫切需要一种能高效完成复杂数字信号处理或数字系统控制,能够作为DSP系统核心的器件。因此,众多半导体厂商投入到高性能数字信号处理器(Digital Signal Processors,DSPs)芯片的研发当中。1982年,美国德州仪器公司(Texas Instruments Incorporation,简称TI公司)推出了该公司的第一款DSPs芯片,很快DSPs芯片就以其数字器件特有的稳定性、可重复性、可大规模集成和易于实现DSP算法等优点,为数字信号处理技术带来了更大的发展和应用前景。采用各种类型DSPs实现系统的数字化处理和控制已经成为了未来发展的趋势,并且随着DSPs运算能力的不断提高,数字信号处理的研究重点也由最初的非实时应用转向高速实时应用3。本文主要讲用到TI公司的C54X系列的DSPs芯片,并将在CCS2000(for 5000)平台上进行仿真、运行。在TMS320C54系列DSP的应用设计中,DSP的运行速度是衡量系统性能的一项重要指标,要达到预期的运行速度,就要给DSP系统的程序空间设计一个高速程序存储空间。常用的存储器件分为停电数据丢失和停电数据不丢失两类。停电数据丢失的器件有RAM;停电数据不丢失的有ROM,EPROM,FLASH等,其中FLASH因读写方便快速而较常用。在对DSP硬件进行编程时,有时C语言不如汇编语言方便,有时根本不能用C语言进行编程。因此,对实时性要求较高或需对硬件直接控制的功能,如A/D采用程序及数字信号处理的核心算法等,可由汇编语言实现;而对运行速度和代码效率要求不高但要求可读性强维护容易的程序,如系统初始化、用户操作界面等,则用C语言编写。因此,混合编程法已成为开发TMS320C54X DSP应用程序的常用方法。要想开发基于C54X DSP系统,首先要有C54X DSP的仿真器,才能实现程序的下载及调试。在没有仿真器的情况下,也同样可以开发DSP系统,因为C54X DSP提供JTAG口和HPI口用于程序的下载,可以根据相应协议设计自己的开发系统。其中,HPI是8位的数据总线接口,由于C5000系列DSP是16位,所以与主机通信的数据都是由2个连续的字节组成4。C54X主要特点如下:具有先进的多总线结构,一条程序总线三条16位数据总线和四条地址总线;40位算术逻辑单元(ALU),包括一个40位桶形移位器和两个40位累加器;一个17*17乘法器和一个40位专用加法器,允许16位带/不带符号的乘法;整合viterbi加速器,用于提高viterbi编译码的速度;单周期正规化及指数译码;8个辅助寄存器及一个软件栈,允许使用业界最先进的定点DSP C语言编译器;数据/程序寻址空间1M*16bit,内置4k*16bit ROM和16k*16bit RAM;低功耗,工作电压为1.8V/3.3V。1.3 本文研究对象本文所设计的viterbi译码是基于C54X DSP实现的。在此之前,要先运用matlab软件对viterbi译码程序进行仿真,再在ccs2000(for 5000)环境下进行软件仿真。在viterbi译码器的设计中,采用了并行加比选(ACS)碟形算法来完成对分支度量、路径度量的计算,以及对幸存路径的选择和路径溢出的控制,在对幸存路径的处理上,有两种经典的算法,一种是寄存器交换(register exchange)算法,另一种是回溯(trace_back)算法,本文所设计的viterbi译码采用回溯算法。同时viterbi译码器还同时支持硬判决和软判决。通过matlab和ccs上的仿真,我们将具体呈现viterbi译码的正确性和实用性,以及viterbi译码器的误码性能。2 卷积码卷积码至今尚未建立像线性分组码那样有严密而完整的数学分析体系,分析它的方法也很多,但都有一定的局限性。描述卷积码的方法大致可以分为解析表示法和图形表示法。解析法又分为生成矩阵法、码多项式法等;图形表示法也可以分为状态图法、树图法、网格图法等。2.1 卷积码的编码及其应用2.1.1 卷积码的编码表达形式对于一个信道,最不确定的因素就是噪声干扰,引起差错的往往也是噪声。就噪声引发差错的统计规律而言可分为随机差错信道和突发差错信道。对于随机差错信道,它的差错主要是由加性高斯白噪声(AWGN)引起的。 根据编码信道的输出是二电平、多电平或是模拟量(多电平数的极限)它可分为:二进制对称信道(BSC)、离散无记忆信道(DMC)、离散输入连续输出信道。BSC信道输入输出都是二进制的,也就是检测器实行门限硬判决;DMC信道的输入是二进制输出是多进制的,也就是检测器进行多电平量化,亦即所谓软判决:离散输入连续输出信道是DMC的极限情况。从香农(Shannon)信道编码定理可以看出要降低误码率,通过某种规则加入冗余信息(编码)是常用途径之一。常用的这些编码“规则”有:分组编码、卷积编码等等。寻找好的编码方法一直是信息论研究的重点与核心。在相同误码率的条件下,编码比不编码可以节省几个dB的信号功率,也就是说在同样的信噪比条件下编码以后可以降低发射和接收功率。卷积编码是在实际中应用极为广泛的一种编码方法,可以用(n,k,m)来表示。其编码器是一个由k个输入端、n个输出端且具有m-1级移位寄存器所构成的有限状态的有记忆系统,m称之为编码约束长度,它表示编码码字的产生受m个信息分组的制约;k/n表示编码效率5。图2.1是卷积码的编码流程,卷积码至今尚未建立像线性分组码那样有严密而完整的数学分析体系,分析它的方法也很多,但都有一定的局限性。描述卷积码的方法大致可以分为解析表示法和图形表示法。解析法又分为生成矩阵法、码多项式法等;图形表示法也可以分为状态图法、树图法、网格图法等。图2.1 卷积码编码程序流程图下面结合(2,1,3)卷积码来说明常用的几种表示法:树状图、状态图法和网格图法。图2.2 (2,1,3)卷积码树状图按照习惯的做法,码树的起点节点位于左边;移位寄存器的初始状态为00,分别用a,b,c和d表示寄存器,的4种状态:00,01,10和11,作为树状图中每条支路的节点。以全零状态a为起点,当第1位输入信息为零时,输出码元为00,寄存器保持状态a不变。输入第二个比特为1时,输出码元为11,寄存器则转移到状态b。然后再分别以这两条支路的终节点a和b作为处理下一位输入信息比特的起点,从而得到4条支路。以此类推,可以得到整个树状图。显然,对于第i个输入信息比特,途中将会出现2i条支路。从第4位信息开始,树状图的上半部和下半部完全相同,这意味着此时的输出码元己和第1位信息无关,由此可以看出把卷积码的约束长度定义为N-1的意义。顾名思义,状态图法就是对编码寄存器做相应的状态标定,然后讨论编码规则的方法6。图2.3 (2,1 ,3 )卷积码的状态图从图2.3可以看出寄存器总的状态数为4 种,其状态标号为S0=00,S1=10, S2=01, S3=11。由于每次的输入有两种可能:0或者1,所以每次更新后的状态和编码输出可能也只有两个。四个圆圈内的分别表示状态及对应的寄存器信息,状态之间的连线与箭头表示状态转移方向,分支上的数字表示状态转移时相应的编码输出(码字),而括号内的数字则表示相应的输入信息。例如,假定初始状态为s0 (00),若输入信息位为1,则输出码字为11,下一时刻的状态为S1(10);若输入信息位为0,则输出码字00,下一时刻的状态仍旧是S0(00)。它实际上就是一个有限状态机。状态转移图虽然表现了各状态转移的去向,但不能记录状态转移随时间的轨迹。另一种描述法一网格图法(也称栅格图法)可以弥补这一缺陷.它可以将状态转移展开在时间轴上,使整个编码的全过程跃然纸上。特别是在卷积码的概率译码中,它起着极其重要的作用。网格图以状态为纵轴,以时间为横轴,将平面分割成格状就像网格一样。状态以及状态转移的定义和状态转移图法一致,也是用箭头表示转移。箭头上方标出的是状态转移时的输出码字(输入信息)。对于k=1的情况还可以用箭头的虚实来表示导致状态转移的输入是0还是1,实线表示0。虚线表示1。上一次转移与下一次转移在图上首尾相连以体现时间的变化。如图2.4所示的卷积码网格图。假设初始状态为S0,输入的信息序列仍为U=(1011100),则在网格图上状态转移轨迹为S0-S1-S2-S1-S3-S3-S2 -S0,相应的编码输出为(11, 01, 00, 10, 01, 10, 11)。对于不同的输入总能从网格图上找到唯一的一条路径(轨迹)与之相对应反过来,如果知道了状态转移的路径也就知道对应的输入信息。因此如果事先知道了状态转移路径为S0-S2-S1-S2-S3-S3-S1-S0,则必然输入的信息序列为(1011100)。这对于卷积码的Viterbi译码中很重要,译码时就是根据最大似然准则找到这条路径,找了这条路径也就找到了相应的输入信息序列。图2.4 (2, 1, 3)卷积码的网格图上述三种表示方法各有千秋,是理解卷积码编译码方法的基础。2.1.2 卷积码的解析表示2.1.2.1 生成矩阵一个卷积码完全由一个监督矩阵H或生成矩阵G所确定。下面将寻找卷积码的生成矩阵。以(3,1,3)为例来讨论生成矩阵7。当第一信息比特输入时,若移位寄存器起始状态全为零。那么三个输出比特为, (2.1)第二个信息比特输入时,右移一位,那么输出比特为 , (2.2)当第j个(j3)信息比特输入时,输出为: (2.3)式2.1可写成矩阵形式 (2.4)其中系数矩阵 (2.5)由上看到,在第一和第二信息比特输入时,存在过渡过程,此时有 (2.6)其中, (2.7)类同线性码的输出序列矩阵与输入序列矩阵的关系有 (2.8)式2.8中 = 为输入序列矩阵=为输出序列矩阵为生成矩阵,这里和显然是半无限矩阵。总括上面的编码过程,生成矩阵应该是 (2.9)式2.9中矩阵空白区元素都为0。显然,该生成矩阵是半无限矩阵,常记为。2.1.2.2 多项式我们可以用多项式来表示输入序列、输出序列、编码器中移位寄存器与模2和的连接关系。在一般情况下,输入序列可表示为 (2.10)这里为二进制表示(1或0)的输入序列。常称为移位算子或延迟算子,它标志着位置状况。我们可以用多项式表示移位寄存器各级与模2加的连接关系。若某级寄存器与模2加相连接,则相应多项式的系数为1;反之,无连接线时的多项式项系数为0。以(3,1,3)编码器为例7,相应的生成多项式为 (2.11)利用生成多项式与输入序列多项式相乘,可以产生输出序列多项式,即得到输出序列。设输出序列为1101010111,借助上述输出多项式来求输出序列如下。输入序列多项式为 (2.12)所以 (2.13)即有序列=1 1 0 1 0 1 0 1 1 1 =1 1 1 0 0 0 0 0 1 0 =1 0 0 0 1 0 1 0 0 1 (2.14)于是输出序列= 1 1 1,1 1 0,0 1 0,1 0 0,0 0 1,1 0 0,0 0 1,1 0 0,1 1 0,1 0 1,为方便起见,人们常用八进制序列和二进制序列来表示生成多项式,比如 (2.15)2.1.3 卷积码的应用从信道编码定理看,卷积码是一种很有前途的能达到信道编码定理所提出的码型,广泛应用于各种领域如:数字卫星通信系统、遥测外测系统、GSM (Group Special Mobile)、3G(第三代移动通信)、各种数字电视标准等等。例如:绝大多数卫星通信采用的是(2,1,7)卷积码:GSM采用了 (2,1,5)卷积码;CDMA的IS-95标准采用的是(2,1, 9)卷积码;3GPP(第三代移动通信伙伴关系)的WCDMA正向信道采用的是(2,l,9) 卷积码,反向信道采用的是(3,1,9 )卷积码;CCSDS(空间数据系统咨询委员会)也把卷积码作为实时要求较高业务的信息纠错编码。此外卷积码还和RS码作为一对黄金搭档常常级连使用,RS码做为外码卷积码作为内码用于DVB(欧洲数字视频广播)标准和ATSC(美国先进电视)标准等等。不同结构的卷积码有不同的特性,卷积码也分成系统卷积码和非系统卷积码等等,但这些不是本文研究的范畴。本文主要研究viterbi译码在DSP中的仿真以及在matlab环境下的仿真实验。2.2 卷积码的译码原理卷积码的译码方法可分为两大类。一类是代数译码,利用编码本身的代数结构进行译码,不考虑信道本身的统计特性。该方法的硬件实现简单,但性能较差,其中具有典型意义的是门限译码。另一类是概率译码,这种译码通常建立在最大似然准则的基础上。由于计算是用到了信道的统计特性。因而提高了译码性能,但这种性能的提高是以增加硬件的复杂度为代价的。常用的概率译码方法有维特比译码和序列译码。2.2.1 代数译码代数译码8是从码字本身的代数结构出发,不考虑信道统计特性,在每次的计算循环之内,可全部译出一个码的支路。在信道传输中码字产生了错误,如果错误图样是已知的,则一定满足R=C+E (R为接收码元序列,C为发送码元序列,E为误码序列)。根据码元信息位与监督位的关系,一个接收的码字有没有错误可以用监督矩阵H来检验,R,C,E之间有如式2.16关系式 (2.16)因为是一个码字,所以有,则。令或,称为伴随式或校验字。当时,判无错;当时,判有错。因此可以利用伴随式的内容对接收序列进行检错和纠错。伴随式与信道所产生的错误图样有关,而与发送的是哪一个码字无关。任何一个错误图样都可由公式(2.16)算出相应的伴随式。译码器的任务就是根据伴随式来确定错误图样,得到最可能发送的码字。适用于代数译码的卷积码是具有快检特性的系统卷积码。代数译码方法很多,且各有特点和使用场合,常用的有门限译码法。2.2.2 最大似然译码卷积码概率译码的基本思路是9:以断续的接收码流为基础,逐个计算它与其他所有可能出现的、连续的网格图路径的距离,选出其中可能性(概率)最大的一条作为译码估值输出。概率最大在大多数场合可解释为距离最小,这种最小距离译码体现的正是最大似然的准则。卷积码的最大似然译码(NLD,Maximum Likelihood Decoding)与分组码的最大似然译码在原理上是一样的,但实现方法上略有不同。主要区别在于:分组码是孤立地求解单个码组的相似度,而卷积码是求码字序列之间的相似度。显然,序列的似然度与序列长度有关。如果把码组的似然度称作分支量度(BM,Branch Metric),把序列的累积似然度称为路径量度(PM,Path Metric),那么在相同序列长度下(长度L应足够大),具有最大路径的那个序列应选作译码估值序列输出。2.2.3 维特比译码的原理维特比译码一种最大似然译码算法13,最大似然译码过程就是根据接收序列,按最大似然译码准则力图找出编码器在网格图上所走过的路径,这个过程也就是译码器计算、寻找最大似然函数 (2.17)的过程,也可以说是计算、寻找有最大“度量”的路径的过程。对BSC(二进制对称信道)而言,计算、寻找有最大度量的路径,等价于寻找与R有最小汉明距离的路径,即寻找 (2.18) 而对二进制输入Q进制输出的DMC信道而言,就是寻找与R有最小软距离的路径,此时的度量就是软判决距离 (2.19)式2.19中,与是接收序列R与序列的Q进制表示。但是,用这种方法译码是非常难以实现的。例如L=50,=3,=2,则网格图上共有=条不同路径;如果要在一秒钟内送出这=100个信息元,则信息传输率只有100 bit/s,这是很低的。但即使在如此低的信息速率下,也要求译码器在一秒钟内计算、比较个似然函数(或汉明距离),这相当于要求译码器计算每一似然函数的时间小于s,这根本无法实现。Viterbi译码算法正是在解决上述困难时所引入的一种最大似然译码算法。它并不是在网格图上一次比较所有可能的条路径,而是接收一段,计算、比较一段,选择一段最可能的码段,从而达到整个码序列是一个有最大似然函数的序列。2.3 卷积码的译码卷积码的译码方式主要有三种:1963年Massey提出的门限译码,这是一种基于码代数结构的代数译码,类似于分组码中的大数逻辑译码。1963年有Fano改进的序列译码,这是基于码的树状图结构的一种准最佳概率译码。1967年
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国美术史试题及答案
- 2025年飞行执照测试题及答案
- DB65T 4777.2-2024 社区视频信息结构化处理系统 第2部分:接口协议要求
- 幼资面试题库及答案
- 高速防护栏施工劳务合同(3篇)
- 2025公务员英雄面试题及答案
- 2025公务员天灾面试题及答案
- 餐饮连锁厨师团队合作协议
- 影像专业面试题目及答案
- 2025年中医基础理论试题及答案
- 高龄患者PICC导管静脉血栓形成的个案分享课件
- 中国骨折内固定术后感染诊断与治疗专家共识
- 食品安全与日常饮食智慧树知到期末考试答案章节答案2024年中国农业大学
- 基础护理学第七版题附有答案
- (正式版)HGT 20593-2024 钢制化工设备焊接与检验工程技术规范
- 200个句子涵盖高中英语3500词汇
- 光线传媒公司章程
- 二手车产品目录
- 弹塑性力学讲稿课件
- 护坡工程竣工汇报
- 急诊科护士的病人家属安抚与沟通
评论
0/150
提交评论