数字调制系统分析与仿真1引言1.1数字调制的意义数字调制是指用数字基带信号对载波的某些参量进行控制,使载波的这些参量随基带信号的变化而变化。根据控制的载波参量的不同,数字调制有调幅、调相和调频三种基本形式,并可以派生出多种其他形式。由于传输失真、传输损耗以及保证带内特性的原因,基带信号不适合在各种信道上进行长距离传输。为了进行长途传输,必须对数字信号进行载波调制,将信号频谱搬移到高频处才能在信道中传输。因此,大部分现代通信系统都使用数字调制技术。另外,由于数字通信具有建网灵活,容易采用数字差错控制技术和数字加密,便于集成化,并能够进入综合业务数字网(ISDN网),所以通信系统都有由模拟方式向数字方式过渡的趋势。因此,对数字通信系统的分析与研究越来越重要,数字调制作为数字通信系统的重要部分之一,对它的研究也是有必要的。通过对调制系统的仿真,我们可以更加直观的了解数字调制系统的性能及影响性能的因素,从而便于改进系统,获得更佳的传输性能。1.2Matlab在通信系统仿真中的应用随着通信系统复杂性的增加,传统的手工分析与电路板试验等分析设计方法已经不能适应发展的需要,通信系统计算机模拟仿真技术日益显示出其巨大的优越性.。计算机仿真是根据被研究的真实系统的模型,利用计算机进行实验研究的一种方法.它具有利用模型进行仿真的一系列优点,如费用低,易于进行真实系统难于实现的各种试验,以及易于实现完全相同条件下的重复试验等。Matlab仿真软件就是分析通信系统常用的工具之一。Matlab是一种交互式的、以矩阵为基础的软件开发环境,它用于科学和工程的计算与可视化。Matlab的编程功能简单,并且很容易扩展和创造新的命令与函数。应用Matlab可方便地解决复杂数值计算问题。Matlab具有强大的Simulink动态仿真环境,可以实现可视化建模和多工作环境间文件互用和数据交换。Simulink支持连续、离散及两者混合的线性和非线性系统,也支持多种采样速率的多速率系统;Simulink为用户提供了用方框图进行建模的图形接口,它与传统的仿真软件包用差分方程和微分方程建模相比,更直观、方便和灵活。用户可以在Matlab和Simulink两种环境下对自己的模型进行仿真、分析和修改。用于实现通信仿真的通信工具包(Communicationtoolbox,也叫Commlib,通信工具箱)是Matlab语言中的一个科学性工具包,提供通信领域中计算、研究模拟发展、系统设计和分析的功能,可以在Matlab环境下独立使用,也可以配合Simulink使用。另外,Matlab的图形界面功能GUI(GraphicalUserInterface)能为仿真系统生成一个人机交互界面,便于仿真系统的操作。因此,Matlab在通信系统仿真中得到了广泛应用,本文也选用该工具对数字调制系统进行仿真。2数字调制系统的相关原理数字调制可以分为二进制调制和多进制调制,多进制调制是二进制调制的推广,所以本文主要讨论二进制的调制与解调,最后简单讨论一下多进制调制中的差分相位键控调制(M-DPSK)。最常见的二进制数字调制方式有二进制振幅键控(2-ASK)、移频键控(2-FSK)和移相键控(2-PSK和2-DPSK)。下面是这几种调制方式的相关原理。2.1二进制幅度键控(2-ASK)幅度键控可以通过乘法器和开关电路来实现。载波在数字信号1或0的控制下通或断,在信号为1的状态载波接通,此时传输信道上有载波出现;在信号为0的状态下,载波被关断,此时传输信道上无载波传送。那么在接收端我们就可以根据载波的有无还原出数字信号的1和0。2-ASK信号功率谱密度的特点如下:(1)由连续谱和离散谱两部分构成;连续谱由传号的波形g(t)经线性调制后决定,离散谱由载波分量决定;(2)已调信号的带宽是基带脉冲波形带宽的二倍。2.2二进制频移键控(2-FSK)频移键控是利用两个不同频率f1和f2的振荡源来代表信号1和0,用数字信号的1和0去控制两个独立的振荡源交替输出。对二进制的频移键控调制方式,其有效带宽为B=2xF+2Fb,xF是二进制基带信号的带宽也是FSK信号的最大频偏,由于数字信号的带宽即Fb值大,所以二进制频移键控的信号带宽B较大,频带利用率小。2-FSK功率谱密度的特点如下:(1)2FSK信号的功率谱由连续谱和离散谱两部分构成,离散谱出现在f1和f2位置;(2)功率谱密度中的连续谱部分一般出现双峰。若两个载频之差|f1-f2|≤fs,则出现单峰。2.3二进制相移键控(2-PSK)在相移键控中,载波相位受数字基带信号的控制,如在二进制基带信号中为0时,载波相位为0或π,为1时载波相位为π或0。载波相位和基带信号有一一对应的关系,从而达到调制的目的。2-PSK信号的功率密度有如下特点:(1)由连续谱与离散谱两部分组成;(2)带宽是绝对脉冲序列的二倍;(3)与2ASK功率谱的区别是当P=1/2时,2PSK无离散谱,而2ASK存在离散谱。2.4多进制数字调制上面所讨论的都是在二进制数字基带信号的情况,在实际应用中,我们常常用一种称为多进制(如4进制,8进制,16进制等)的基带信号。多进制数字调制载波参数有M种不同的取值,多进制数字调制比二进制数字调制有两个突出的优点:一是有于多进制数字信号含有更多的信息使频带利用率更高;二是在相同的信息速率下持续时间长,可以提高码元的能量,从而减小由于信道特性引起的码间干扰。现实中用得最多的一种调制方式是多进制相移键控(MPSK)。多进制相移键控又称为多相制,因为基带信号有M种不同的状态,所以它的载波相位有M种不同的取值,这些取值一般为等间隔。在多相制移键控有绝对移相和相对移相两种,实际中大多采用四相绝对移相键控(4PSK,有称QPSK),四相制的相位有0、π/2、π、3π/2四种,分别对应四种状态11、01、00、10。3数字调制系统的仿真设计3.1数字调制系统各个环节分析典型的数字通信系统由信源、编码解码、调制解调、信道及信宿等环节构成,其框图如图3.1所示:数字调制是数字通信系统的重要组成部分,数字调制系统的输入端是经编码器编码后适合在信道中传输的基带信号。对数字调制系统进行仿真时,我们并不关心基带信号的码型,因此,我们在仿真的时候可以给数字调制系统直接输入数字基带信号,不用在经过编码器。图3.1数字通信系统模型信息源编码器调制器信道解调器解码器受信者噪声源3.1.1仿真框图MATLAB提供的图形界面仿真工具Simulink由一系列模型库组成,包括Sources(信源模块),Sinks(显示模块),Discrete(离散系统模块),Linear(线性环节),Nonlinear(非线性环节),Connections(连接),Blocksets&Toolboxes(其他环节)。特别是在Blocksets&Toolboxes中还提供了用于通信系统分析设计和仿真的专业化模型库CommTbxLibrary。在这里,整个通信系统的流程被概括为:信号的产生与输出、编码与解码、调制与解调、滤波器以及传输介质的模型。在每个设计模块中还包含有大量的子模块,它们基本上覆盖了目前通信系统中所应用到的各种模块模型。通信系统一般都可以建立数学模型。根据所需仿真的通信系统的数学模型(或数学表达式),用户只要从上述各个模型库中找出所需的模块,用鼠标器拖到模型窗口中组合在一起,并设定好各个模块参数,就可方便地进行动态仿真.从输出模块可实时看到仿真结果,如时域波形图、频谱图等。每次仿真结束后还可以更改各参数,以便观察仿真结果的变化情况。另外,对Simulink中没有的模块,可运用S函数生成所需的子模块,并且可以封装和自定义模块库,以便随时调用。根据Simulink提供的仿真模块,数字调制系统的仿真可以简化成如图3.2所示的模型:图3.2数字调制系统仿真框图基带信号调制器信道解调器基带信号噪声源3.1.2信号源仿真及参数设置Simulink通信工具箱中的CommSources/DataSources提供了数字信号源BernoulliBinaryGenerator,这是一个按Bernoulli分布提供随机二进制数字信号的通用信号发生器。在现实中,对受信者而言,发送端的信号是不可预测的随机信号。因此,我们在仿真中可以用BernoulliBinaryGenerator来模拟基带信号发生器。其中主要参数的含义为:Probabilityofazero:产生的信号中0符号的概率,在仿真的时候一般设成0.5,这样便于频谱的计算;Initialseed:控制随机数产生的参数,要求不小于30,而且与后面信道中的Initialseed设置不同的值;Sampletime:抽样时间,这里指一个二进制符号所占的时间,用来控制号发生的速率,这个参数必须与后面调制和解调模块的Symbolperiod保持一致。3.1.3调制与解调模块Simulink通信工具箱中提供了数字信号各种调制方式的模块,如AM、CPM、FM及PM等。虽然不同的调制模块,参数设置有所不同,但很多参数在各种调制中是一致的,下面我们以DPSK调制模块为例介绍一下调制模块的参数及其设置,其余模块将在下面仿真模型的建立过程中详细介绍。M-DPSKModulatorPassband和M-DPSKDemodulatorPassband分别是数字信号DPSK调制和解调的专用模块,其中主要参数有:M-arynumber:输入信号的阶次数,比如2-DPSK就是2阶的;Symbolperiod:符号周期,即,一个符号所占的时间,这必须与信号源的Sampletime保持一致;Carrierfrequency:载波频率;Carrierinitialphase:载波的初始相位;Inputsampletime:输入信号的抽样时间;Outputsampletime:输出信号的抽样时间。其中,各参数要满足以下关系:Symbolperiod1/(Carrierfrequency)Inputsampletime1/[2*Carrierfrequency+2/(Symbolperiod)]Outputsampletime1/[2*Carrierfrequency+2/(Symbolperiod)]3.1.4信道在分析通信系统时通常选择高斯噪声作为系统的噪声来考查,因为这种噪声在现实中比较常见而且容易分析。Simulink中提供了带有加性高斯白噪声的信道:AWGNChanne。仿真时可以用该模块模拟现实中的信道,该模块的主要参数有:Initialseed:控制随机数产生的参数,要求不小于30,且与前面信号源中的Initialseed设置不同的值;Es/No(dB):信号每个符号的能量与噪声的功率谱密度的比值;SNR(dB):信号功率与噪声功率的比值;注:Es/No(dB)和SNR(dB)是表征信号与噪声关系的两种方法,在一次仿真中只能选择其中一个。3.1.5误码计算仪信号经过信道后,由于噪声的干扰,在接收端可能出现误码,Simulink中提供了ErrorRateCalculation模块来计算误码率,其主要参数的设置为:Receivedelay:接收延迟,表明在计算误码率时接收到的信号比源信号延迟的码元数,便于准确计算Outputdata:数据输出,将误码率、误码数及码元总数输出,有两个选项可选择:Workspace和Port。将数据输出到Workspace就是将误码率等数据存在内存中,以便下一步使用,而输出到Port中,则是在误码计算仪后面再接一个模块(比如结果显示模块),将数据传到该模块中(显示出来);(3.1)Variablename:变量名称,该参数只有在前面选择了Workspace后才有用,它决定数据输出到Wokspace后的名称,默认值为ErrorVec。3.1.6示波器在仿真过程中,必须观察各个环节的时域和频域波形,因此,必须在各个环节加上示波器以观察波形。另外,还可将示波器的数据输出到Workspace中存储,以便对仿真结果做进一步处理,比如将各个环节的波形对比显示和做频域变