有无卷积码的BPSK调制性能对比

上传人:我** 文档编号:111667009 上传时间:2019-11-03 格式:DOC 页数:5 大小:58.50KB
返回 下载 相关 举报
有无卷积码的BPSK调制性能对比_第1页
第1页 / 共5页
有无卷积码的BPSK调制性能对比_第2页
第2页 / 共5页
有无卷积码的BPSK调制性能对比_第3页
第3页 / 共5页
有无卷积码的BPSK调制性能对比_第4页
第4页 / 共5页
有无卷积码的BPSK调制性能对比_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《有无卷积码的BPSK调制性能对比》由会员分享,可在线阅读,更多相关《有无卷积码的BPSK调制性能对比(5页珍藏版)》请在金锄头文库上搜索。

1、一、 卷积码原理FEC系统中除了应用分组码外,还广泛使用卷积码(Convolutional Code)。在同等码率和相似的纠错能力下,卷积码的实现往往比分组码要简单。因此在FEC系统中,将越来越多地应用卷积码。卷积码是P.Elias于1955年发明的一种分组码。分组码在编码时,先将输入信息码元序列分为长度为k的段,然后按照编码规则,给每段附加上r位监督码元,构成长度为n的码组。各个码组之间没有约束关系,即监督码元只监督本码组的码元有无错码。因此在解码时各个接收码组也是分别独立地进行解码的。卷积码则不同。卷积码在编码时,虽然也是把k个比特的信息段变成n个比特的码组,但是监督码元不仅仅和当前的k比

2、特信息段有关,而且还同前面m=(N-1)个信息段有关。所以一个码组中的监督码元监督着N个信息段。通常将N成为码组的约束度。一般来说,对于卷积码,k和n的值是比较小的整数。通常将卷积码记作做(n,k,m),其码率为k/n。1. 卷积码编码器原理编码器由3种主要元件构成,即移存器、模2加法器和旋转开关。移存器共有Nk级,模2加法器共有n个。每个模2加法器的输入端数目不等,它连接到某些移存器的输出端;模2加法器的输出端接到旋转开关上。在每个时隙中,一次有k个比特从左端进入移存器,并且移存器各级暂存的内容向右移了k位。在此时隙中,旋转开关旋转一周,输出n个比特(nk)。下面我们讨论实用中最常用的卷积码

3、,其k=1。这时,移存器共有N级。每个时隙中,只有1比特的输入信息进入移存器并且,移存器各级暂存的内容向右移1位,开关旋转一周输出n比特。所以,码率为1/n。在右图中给出一个这种编码器的实例,它是一个(n,k,m)=(3,2,1)卷积码的编码器,其码率等译1/3。我们将以它为例,做较详细的讨论。每当输入1比特时,此编码器,输出3比特123,输入和输出关系如下:1=1 2=13 3=123式中,1是当前输入信息位,2和3是移存器存储的前两个信息位。在输出中信息位在前,后接监督位,故这种码也是系统码。设编码器初始状态的1、2、和3是000,输入的信息位是1101,则此编码器的工作状态变化如下表所示

4、: 移存器后,使移存器回到初始状态,在表中信息位后面加了3个“0”。此外,由于32只有4个状态:00,01,10,11,因此在表中,用a、b、c和d表示这4种状态。2.卷积码译码卷积码的译码通常有如下几个比较流行的译码算法: 由Wozencraft和Reiffen在1961年提出, Fano和Jelinek分别在1963年和1969年进行改进了的序贯译码算法。该算法是基于码字树图结构的一种次最优概率译码算法。 由Massey在1963年提出的门限译码算法。这个算法利用码字的代数结构进行代数译码。由Viterbi在1967年提出的Viterbi算法。算法是基于码字格图结构的一种最大似然译码算法,

5、是一种最优译码算法。 在Viterbi译码算法提出之后,卷积码在通信系统中得到了极为广泛的应用。如GSM、3G、商业卫星通信系统等。3. Viterbi译码对于网格图描述Viterbi 算法,整个Viterbi 译码算法可以简单概括为“相加比较保留”,译码器运行是前向的、无反馈的,实现过程并不复杂。分析Viterbi 算法的复杂度: (n, k, N)卷积码的状态数为2k (N1) ,对每一时刻要做2k (N1) 次“加比存”操作,每一操作包括2k 次加法和2k 1 次比较,同时要保留2k (N1)条幸存路径。由此可见,Viterbi 算法的复杂度与信道质量无关,其计算量和存储量都随约束长度N

6、 和信息元分组k 呈指数增长。因此,在约束长度和信息元分组较大时并不适用。为了充分利用信道信息,提高卷积码译码的可靠性,可以采用软判决Viterbi 译码算法。此时解调器不进行判决而是直接输出模拟量,或是将解调器输出波形进行多电平量化而不是简单的 0、1 两电平量化,然后送往译码器。即编码信道的输出是没有经过判决的“信息”。软判决算法与硬判决算法相比,软判决译码算法的路径度量采用“软距离”而不是汉明距离。最常采用的是欧几里德距离,也就是接收波形与可能的发送波形之间的几何距离。在采用软距离的情况下,路径度量的值是模拟量,需要经过一些处理以便于相加和比较。因此,使计算复杂度有所提高。除了路径度量以

7、外,软判决算法与硬判决算法在结构和过程上完全相同。一般而言,由于硬判决译码的判决过程损失了信道信息,软判决译码比硬判决译码性能上要好约2 dB 。不管采用软判决还是硬判决,由于Viterbi 算法是基于序列的译码,其译码错误往往具有突发性。viterbi译码算法是一种卷积码的解码算法。优点不说了。缺点就是随着约束长度的增加算法的复杂度增加很快。约束长度N为7时要比较的路径就有64条,为8时路径变为128条。 (2(N-1)。所以viterbi译码一般应用在约束长度小于10的场合中。先说编码(举例约束长度为7):编码器7个延迟器的状态(0,1)组成了整个编码器的64个状态。每个状态在编码器输入0

8、或1时,会跳转到另一个之中。比如110100输入1时,变成101001(其实就是移位寄存器)。并且输出也是随之而改变的。这样解码的过程就是逆过程。算法规定t时刻收到的数据都要进行64次比较,就是64个状态每条路有两条分支(因为输入0或1),同时,跳传到不同的两个状态中去,将两条相应的输出和实际接收到的输出比较,量度值大的抛弃(也就是比较结果相差大的),留下来的就叫做幸存路径,将幸存路径加上上一时刻幸存路径的量度然后保存,这样64条幸存路径就增加了一步。在译码结束的时候,从64条幸存路径中选出一条量度最小的,反推出这条幸存路径(叫做回溯),得出相应的译码输出。二、 程序仿真Matlab提供了卷积

9、码的函数编码convenc和相应的Viterbi译码函数vitdec,可以快速地得到编译码结果。卷积码的编码函数主要有以下4个。1. code=convenc(msg,trellis)完成输入信号msg的卷积编码,其中trellis代表编码多项式,但其必须是MATLAB的网格结果,需要利用poly2trellis函数将多项式转化为网格表达式。msg的比特数必须为log2(trellis.numInputSymbols)2. code=convenc(msg,trellis,puncpat)作用与1类似,其中puncpat定义凿孔模式。3. code=convenc(msg,trellis,in

10、it_state)init_state指定编码寄存器的初始状态。4. decoded=vitdec(code,trellis,tblen,opmode,dectype)对码字code进行Viterbi译码。trellis表示产生码字的卷积编码器,tblen表示回溯的深度,opmode指明译码器的操作模式,dectype则给出译码器判决的类型,如软判决和硬判决。 本程序实现的功能:仿真BPSK调制在AWGN信道下分别使用卷积码和不适用卷积码的性能,其中,卷积码的约束长度为7,生成多项式为171,133,码率为1/2,译码分别采用硬判决译码和软判决译码。 程序源代码可参考BPSK_juanji.m

11、。(注:使用时需要修改BPSK_juanji.txt文件后缀格式,修改为BPSK_juanji.m,然后用MATLAB打开运行。其他程序也是如此。)仿真说明:程序的第2-7行定义了相关参数,第8行产生消息比特,第9-10行进行卷积编码并进行BPSK调制,第13行是把调制后的信号通过AWGN信道,第14-16行是对接收信号进行硬判决译码并统计误比特率,第18-19行是进行软判决译码并统计误比特率。第22行给出了BPSK在AWGN信道下的理论误比特率,第23-26行是画出仿真结果。程序运行结果如下图所示:从上图可以看出,在信噪比较高时,硬判决译码要比没有采用卷积码时性能大约提高3dB,而软判决要比硬判决性能好大约2dB。

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

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号