第20卷第4期2004年7月基于MATLAB森林工程FORESTENGINEERINGVol采样时间要和前一个模块的采样时间一致UnitDelay(函数中只设有限个变量,Mux20No的数字信号基带传输系统仿真文中按照仿真过程基本步对系统性能进行了分析。QuZhongshui(HarbinScienceandTechnologyUniversity,Harbin150080),WangJianwei,ZhuYong(NortheastForestryUniversity,Harbin150040)SIMULINKistheintegrationenvironmentformodeling,simulationandanalysis曲中水1,王建卫2,朱泳2(1.哈尔滨理工大学,哈尔滨150080;2.东北林业大学,哈尔滨150040)摘要:SIMULINK是MATLAB中动态系统建模、仿真和分析的一个集成环境,骤用MATLAB的仿真工具SIMULINK实现了数字信号基带传输系统的仿真过程,关键词:数字信号;基带传输系统;MATLAB;仿真中图分类号:TP311文献标识码:A文章编号:1001-005X(2004)04-0031-03DigitalSignalBaseBandTransmissionSystemSimulationBasedonMATLAB/Abstract:SIMULINKtool,andthesystemcapabilityisanalyzed.Keywords:digitalsignal;basebandtransmissionsystem;MATLAB;simulation1引言MATLAB是美国Mathworks公司开发的适合(s),即系统采样时间。于是采用信道编码模块的函于工程各领域分析设计与复杂计算的软件。SIMULINK仿真工具包是MATLAB的一个附加组件,是实现动态系统建摸、仿真和分析的一个集数的采样时间特性设为继承前一模块,time=-1simulink模块库中提供的sample采用单位延迟成环境。[1,2]数字基带传输系统主要由信道信号形成器、信道、接收滤波器、抽样判决器和同步系统等部件组成。文中应用SIMULINK实现了数字信号基带传输系统仿真。[1,3,4,5]器)。对其中所有UnitDelay模块设置初始信号为1,采样时间为继承其它的模块,即SampleTime=-1。采用对于输入一次查四位,对于码元每位被查四次的模式,当信号在延迟中,同时被预输出,实现无因果关系的码元间的因果输出。为节省2数字信号基带传输系统仿真过程下面具体介绍仿真过程。内存空间,在s用原有变量的原则下,在充分利的向211信道编码器和解码器的设计量特性,把输入的4个信号用simulink提供的合理的设计首先在于选择基带信号码型,文中采用三阶高密度双极性码(HDB3)最低码速为singals&systems(信号与系统)(向量合成模块)输入向量u。模块Mux的功能是将2048kbps码元,间隔为T=1/2097152(s)。HDB3码是现在应用较广泛的码型之一。下面说明信道编码器和解码器的设计。在simulink的模块库中,没有对信道直接编码的模块,故而采用s函数,自行设计编码程序。HDB3码对输入的基带信号要求一次至少读入四位进行比较和输出,但从simulink中对离散系统工作状态可以知道一次只能判决一位,因此必须采用对前三位延时保留一个码元持续时间T=1/2097152收稿日期:2003-03-01基金项目:哈尔滨市青年基金项目(项目号0161218034)。第一作者简介:曲中水(1971-),男,山东省龙口人,哈尔滨理工大学讲师,主要从事信号处理。多个输入顺序合成一个向量输出信号。整体设计模型如图1。图1整体设计模型图其中,S-Function模块是使函数的参数以模块形式在模型中运行。模块In1功能是对一个子系统或外部输入提供一个输入端口。模块Out1功能是对一个子系统或内部输出提供一个输出端口。参数保持默认©1995-2005TsinghuaTongfangOpticalDiscCo.,Ltd.Allrightsreserved.32森林工程第20卷值。信道编码函数的输入得到解决,就可以设计函数了。在simulink中是系统采样时才初始化。具体实现解码分两步进行,①程序实现HDB3码向AMI码的解码;②AMI码基带信号解码。考虑到时间特性,是没有因果关系的,故而也只能采用延时的办法产生码元间因果关系,才能在程序中实现信息恢复。和信道编码一样采用s函数来实现模块功能,由于有四个输入关系,用同样方法来模块Mux实现多信号输入合成向量实现s函数的一个输入u。因而实现和信道编码类似。s函数的程序实现HDB3码向AMI码的解码。212信号源设计在simulink中没有这种信号源,对它的仿真模块采用子系统方式。主体采用source(信号模块库)的模块UniforRandomNumber(产生均匀分布的随机数)。该模块用于产生在指定时间区间内的有起始种子的随机数,它的参数Sampletime=01000000477。其它参数保持默认值,因而它产生的值在0~1之间变化,在用Nonlinear(非线性模块库)的模块Switch(两个输入模块)进行判决。模块Switch功能是根据第二个输入决定输出其他两个中的一个;判决方式是当第二个输入大于或等于参数Threshold的值,则输出第一个,否则输出第三个。由于模块UniforRandomNumber产生的数均匀分布,参数可任意设;为了检验编码和解码器对BHD3码的效果,加大连“0”码的机率,这里设参数Threshold=0175。对于模块Switch的另两个输入用Souce(源模块库)的Constant(常数源模块)。它的功能是产生一个常数输出信号。它们的参数Constantvalue分别设为“1”和“0”。且参数设为“1”的模块用信号线和模块Switch的第一个入口相连。如图2所示。图2信号源设计图213信道设计现实世界中多是白噪声高斯信道,且通常的噪声多是加性噪声。在simulink的模块库中,source库中有仿真白噪声的模块Band-LimitedWhiteNoise(白噪声信号)。它的功能是产生适合连续或混合系统的正态分布随机信号。把它加入信道就成了白噪声高斯信道。该模块的参数Sampletime=0100000447和信号源一致,其它参数可以任意设置以达到干扰的目的。214滤波器设计发送和接收滤波器性能的好坏直接决定了基带传输通信系统的好坏。在仿真中,使用simulink提供的Discrete(离散模块库)中的模块DiscreteFil2ter(离散滤波器),等效理想低通特性的升余弦滤波器是数字信号基带传输系统的最理想选择。因此,采用改进的升余弦窗,即哈明窗来设计。[3]215同步系统在仿真实现中用math库中的模块gain(增益模块)和Nonlinear中的模块Saturation(饱和度模块)来进行放大限幅。滤波器用4中设计的窄带滤波器。采用simulink模块库中提供的UnitDelay(单位延迟器)模仿移相器的功能,用时间延迟来实现相位的变化,只要合理选定时间,能实现最佳判决。实现时,把它置于脉冲形成电路之后,来实现对抽样的延迟。脉冲形成模块主要功能是寻找需要的f波上的点,选择抽样点在码元的中间时刻,即f波的极值点,由于波形有正负两部分,则选用Nonlin2ear(非线性模块库)的模块Switch(两个输入模块)两个作比较器,进行离散化,得到抽样脉冲;根据电路的衰减不同,其参数可调整,这里第一个模块Switch参数threshold=0195,另一个设为-0195。对于模块Switch的输入用Souce(源模块库)的Constant(常数源模块)。它们的参数Constantvalue分别设为“1”、“0”和“-1”。且参数设为“1”的模块用信号线和模块Switch的第一个入口相连。如图3所示。图3脉冲形成模块图©1995-2005TsinghuaTongfangOpticalDiscCo.,Ltd.Allrightsreserved.第4期曲中水等:基于MATLAB的数字信号基带传输系统仿真其中两模块Switch后的模块是Math库中的同步系统具体实现如图4所示。Sum(求和模块);它的功能是对输入信号求和,然后输出结果。4216抽样判决部分的设计图4同步系统图33抽样判决分为抽样和判决两部分。抽样是接收滤波器的输出信号和定时脉冲的输出信号相乘,到定时点时的值再送判决器,根据开始规定的判决规则进行判决。因此抽样部分可用math(数学库)中的模块product(乘法器)来实现。模块product的功能是对每个输入进行乘法运算,然后输出。由于是对定时信号和信息求积,则它的参数Numberofinputs=2。判决部分用两个Nonlinear(非线性模块库)的模块Switch(两个输入模块)来比较,参数设定threshold=0185。Souce(源模块库)的Constant(常数源模块)三个。它们的参数Con2stantvalue分别设为“1”、“0”和“-1”。鉴于模块Switch的判决准则,参数设为“1”的模块用信号线和第一个模块Switch的第一个入口相连,“-1”模块和另一个模块Switch的最后一个入口相连。如图5所示。图5抽样判决图3传输性能分析[1,6]评价通信系统的性能主要有两个方面,一是有效性,二是可靠性。得到pe与S/N的关系曲线,保持现有的带宽和码速不变,只有提高信噪比S/N,才能降低误码率pe。在仿真中,对信源输出和解码器输出作模2运算,只要得到“1”码的就是传错了;因此,求出最后的“1”码个数和总码元数的比值,就是误码率。考虑中间编码和解码模块的延时,须在信源输出进行延时,采用六个Discrete(离散模块库)的UnitDelay模块,参数分别设为1、1、1、0、0、0,重点分析仿真中成功的结果,得到系统特性,并运用到仿真中,计算出不等概率情况下的误码率。结论文中探讨了通信系统仿真的基本步骤,给出MATLAB在数字信号基带传输系统的仿真过程,对系统性能进行了仿真比较,还对信噪比对系统误码率的影响进行了仿真。参考文献[1]樊昌兴编著.通信原理(第五版)[M].北京:国防工业出版社,2002.[2]王沫然编著.SIMULINK建模和仿真[M].北京:电子工业出版社,2002.[3]程佩青.数字信号处理教程(第二版)[M].北京:清华大学出版社,2001.[4]肖田元主编.数字通信原理[M].北京:清华大学出版社.2000.[5]唐泽鹏.Matlab在通信中的仿真应用[J].电声技术,2001,(11):42~45.[6]王立宁编著.Matlab与通信仿真[M].北京:人民邮电出版社,2000.[7]徐素妍,曹坤梅.基于Matlab语言的现代通信仿真分析[J].计算机应用.2001,18(1):52~53.[8]谢文苗.通信原理试验的计算机仿真[J].实验技术与管理.2001,18(1):83~85.[9]肖大光.PCM数字基带传输系统[J].实验技术和管理.2002,19(1):21~24.[责任编辑:刘美爽]©1995-2005TsinghuaTongfangOpticalDiscCo.,Ltd.Allrightsreserved.