信号发生器的 MATLAB仿真 - 范文中心

信号发生器的 MATLAB仿真

08/30

信号发生器的MATLAB 仿真

[摘要]

本论文以课题“信号发生器的MATLAB 仿真”为背景展开,介绍了MATLAB 仿真技术的发展和信号发生器的现状,结合线性调制系统的应用背景设计了一种结构简便、性能优良的线性调制信号发生器,全面的实现信号发生器的功能要求。

本论文主要研究内容包括:

1. 研究了信号发生器的现状,MATLAB 仿真技术的发展及现状,介绍了用MATLAB 进行仿真的实用性及可靠性。

2. 研究了常规调制信号ASK 信号、FSK 信号和PSK 等有关理论,为信号生成打下基础。

3. 以线性调制为例研究了MATLAB 仿真的三种方法,比较了其各自的优缺点,同时选定以Simulink 进行系统的仿真。

4. 用Simulink 进行线性调制系统的模拟,完成软件设计的实现,对系统进行调试,使系统达到指标需求。

关键词:信号发生器;线性调制系统;MATLAB 仿真;simulink

[ABSTRACT]

The paper based on the Project “MATLAB simulation of signal generator ”, MATLAB simulation technology and the development situation of the signal generator is introduced. Combined with linear modulation system application background designs a simple structure and good performanced linear modulation signal generator. It realize the comprehensive function signal generator.

This thesis mainly research contents include:

First, research the status of the signal generator and development and the status quo of MATLAB simulation technology. It also introduced the practicability and reliability of MATLAB simulation .

Second, study the conventional modulation signal FSK signal and itinerary signal, PSK theories,it layed the foundation for the signal generation.

Third, use the example of linear modulation to study three methods of MATLAB simulation, compare their advantages and disadvantages, and decided to use Simulink conduct simulation.

Four, using Simulink simulate linear modulation system simulation, realize of the software design, and testing system,finally, make system index demand.

Key word : Signal generator; Linearity modulation system; MATLAB Simulation; simulink

目录

摘要........................................................................ 1

ABSTRACT ................................................................. 2

目录........................................................................ 3

第一章 绪论................................................................ 1

1.1论文的立题背景及研究意义............................................... 1

1.2 MATLAB 仿真技术的发展及现状..........................................1

1.3信号发生器的发展及现状................................................. 3

1.4论文的主要研究内容..................................................... 4

第二章 信号发生器的理论部分................................................ 5

2.1信号发生器分类简介.................................................... ..5

2.2常规信号............................................................... 7

2.3本章小结.............................................................. 10

第三章 MATLAB 的三种仿真办法............................................ .11

3.1仿真基础原理.......................................................... 11

3.2三种仿真方法的简单实现................................................ 12

3.3基于Matlab 7.0的三种仿真方法比较..................................... 15

3.4本章小结............................................................. 15

第四章 信号发生器的MATLAB 仿真实现...................................... 16

4.1常规信号的Matlab 仿真实现.............................................. 16

4.2线性调制系统Matlab 仿真实现........................................... 18

4.3AM 信号发生的Simulink 仿真实现......................................... 20

4.4本章小结............................................................. 23

结束语..................................................................... 24

致谢....................................................................... 25

参考文献................................................................... 26

第一章 绪论

1.1 论文的立题背景及研究意义

在现代声纳、雷达等通信系统测试与仿真中都需要高精度的任意的波形信号,任意波形信号的重构技术也是声学和语音信号合成等应用领域中的关键技术之一。不过声纳、雷达等通信系统研制过程中出于保密和成本等原因不可能长期做大量的外场实验,而更多情况下需要在实验室重构这些具有某一种特征的随机信号,进行系统测试、系统分析与半实物仿真研究。

而且,随着通信技术的发展,通信信号的种类越来越多,随着通信事业的发展,通信网络的数目也越来越多。如何截获敌方的通信信号,对其进行预测和干扰从而阻碍敌方正常通信,是通信对抗的主要研究内容。在通信对抗的研究中,为了模拟真实场景,通信信号发生器也是不可或缺的仪器。而市面上的通信信号发生器价格十分昂贵,功能也比较简单,因此开展任意波形的通信信号的高精度重构方法研究工作,具有重要的理论意义和实用价值。

在生成任意波形时域信号的过程中,分为硬件、软件两种设计方法。Matlab 仿真属于通过软件编程实现。Matlab 是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks 公司出品的商业数学软件。MATLAB 可以行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。图形用户界面(Graphical User Interface ,简称GUI ,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。Matlab 自带了强大的GUI 工具。Matlab 仿真技术的出现也为研究产生任意波形的通信信号提供了有力的技术支持。

任意波形发生器不仅能产生正弦、余弦、方波、三角波和锯齿波等常见波形,而且还可以利用各种编辑手段,产生传统函数生器所不能产生的真正意义上的任意波形。如它能模拟诸如编码雷达信号、潜艇特征信号、磁盘数据信号、机械振动瞬变过程、电视信号以及各种各样的神经脉冲之类的波形。

1.2 MATLAB 仿真技术的发展及现状

1.2.1 MATLAB 的概况

MATLAB 是矩阵实验室(Matrix Laboratory )之意。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。 MATLAB 的基本数据单位是矩阵,它的指令表达式与数学, 工程中常用的形式十分相似, 故用MATLAB 来解算问题要比用C,FORTRAN 等语言完相同的事情简捷得多。 当前流行的MATLAB 7.0/Simulink 3.0包括拥有数百个内部函数的主包和三十几种工具包(Toolbox)。工具包又可以分为功能性工具包和学科工具包。功能工具包用来扩充

MATLAB 的符号计算, 可视化建模仿真,文字处理及实时控制等功能。学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。

1.2.2 MATLAB 产生的历史背景

在70年代中期,Cleve Moler 博士和其同事在美国国家科学基金的资助下开发了调用EISPACK 和LINPACK 的FORTRAN 子程序库.EISPACK 是特征值求解的FOETRAN 程序库,LINPACK 是解线性方程的程序库. 在当时, 这两个程序库代表矩阵运算的最高水平. 到70年代后期美国New Mexico大学计算机系系主任的Cleve Moler利用业余时间为学生编写EISPACK 和LINPACK 的接口程序. 在以后的数年里,MATLAB 在多所大学里作为教学辅助软件使用, 并作为面向大众的免费软件广为流传。

1983年春天,Cleve Moler和Cleve Moler,Steve Bangert一起, 用C 语言开发了第二代专业版. 这一代的MATLAB 语言同时具备了数值计算和数据图示化的功能.

1984年,Cleve Moler和John Little成立了Math Works公司, 正式把MATLAB 推向市场, 并继续进行MATLAB 的研究和开发.

在当今30多个数学类科技应用软件中, 就软件数学处理的原始内核而言, 可分为两大类. 一类是数值计算型软件, 如MATLAB,Xmath,Gauss 等, 这类软件长于数值计算, 对处理大批数据效率高; 另一类是数学分析型软件,Mathematica,Maple 等, 这类软件以符号计算见长, 能给出解析解和任意精确解, 其缺点是处理大量数据时效率较低.MathWorks 公司顺应多功能需求之潮流, 在其卓越数值计算和图示能力的基础上, 又率先在专业水平上开拓了其符号计算, 文字处理, 可视化建模和实时控制能力, 开发了适合多学科, 多部门要求的新一代科技应用软件MATLAB. 经过多年的国际竞争,MATLAB 以经占据了数值软件市场的主导地位.

时至今日,经过MathWorks 公司的不断完善,MATLAB 已经发展成为适合多学科,多种工作平台的功能强大大大型软件。在国外,MATLAB 已经经受了多年考验。在欧美等高校,MATLAB 已经成为线性代数,自动控制理论,数理统计,数字信号处理,时间序列分析,动态系统仿真等高级课程的基本教学工具。

1.2.3 MATLAB 的语言特点

一种语言之所以能如此迅速地普及,显示出如此旺盛的生命力,是由于它有着不同于其他语言的特点,正如同FORTRAN 和C 等高级语言使人们摆脱了需要直接对计算机硬件资源进行操作一样,被称作为第四代计算机语言的MATLAB ,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。MATLAB 最突出的特点就是简洁。MATLAB 用更直观的,符合人们思维习惯的代码,代替了C 和 FORTRAN 语言的冗长代码。MATLAB 给用户带来的是最直观,最简洁的程序开发环境。以下简单介绍一下MATLAB 的主要特点。

1)语言简洁紧凑,使用方便灵活,库函数极其丰富2)运算符丰富。3)MATLAB 既具有结构化的控制语句(如for 循环,while 循环,break 语句和if 语句),又有面向对象编程的特性。4)程序限制不严格,程序设计自由度大。5)程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。6)MATLAB 的图形功能强大。7)

MATLAB 的缺点是,它和其他高级程序相比,程序的执行速度较慢。8)功能强大的工具箱。9)源程序的开放性。

1.3 信号发生器的发展及现状

在七十年代前,函数信号发生器能够提供正弦波、余弦波、方波、三角波等几种常用标准波形,产生其它波形时,需要采用较复杂的电路和机电结合的方法。这个时期的波形发生器多采用模拟电子技术,而且模拟器件构成的电路存在着尺寸大、价格贵、功耗大等缺点,并且要产生较为复杂的信号波形,则电路结构非常复杂。同时,主要表现为两个突出问题,一是通过电位器的调节来实现输出频率的调节,因此很难将频率调到某一固定值; 二是脉冲的占空比不可调节。

在七十年代后,微处理器的出现,可以利用处理器A/D和D/A,硬件和软件使波形发生器的功能扩大,产生更加复杂的波形。这时期的波形发生器多以软件为主,实质是采用微处理器对DAC 的程序控制,就可以得到各种简单的波形。

信号发生的主要实现方法根据实现思路可以分为模拟式和数字式,根据实现方法可以分为直接法、锁相法、直接数字法和混合法四种。

直接法是优点是速度快,相位噪声底,但结构复杂、杂散多。锁相法所采用的锁相频率合成技术在近年发展较快,应用也较广泛,但其频率转换速度不快,电路控制复杂,这使得该技术的应用受到了一定的限制。直接数字法是采用直接数字合成(DDS)的方法实现信号产生。该技术具有频率转换速度快、频率分辨率高、易于控制的突出特点。在信号发生的几种技术当中,直接数字合成技术出现得最晚,但近年来发展得最快。随着大规模集成技术和数模混合信号集成技术的发展,单片集成的DDS 芯片纷纷出现,在应用领域内大有后来居上的势头。混合法则是指采用以上方法中的两种及两种以上的方法实现信号发生。

随着现代信息事业的发展,测试对象不断丰富,现代通信系统和电子系统对测试系统提出了越来越高的要求,进而对信号发生器也提出了更高的要求。我们将当前业内对信号发生部件的要求大致归纳为以下四点:(1)高频谱纯度、宽频带。 (2 ) 快速和多点频率捷变。(3 )系列化、模块化。(4 )小型化和工程化。

随着现代电子、计算机和信号处理等技术的发展,极大促进了数字化技术在电子测量仪器中的应用,使原有的模拟信号处理逐步被数字信号处理所代替,从而扩充了仪器信号的处理能力,提高了信号测量的准确度、精度和变换速度,克服了模拟信号处理的诸多缺点,数字信号发生器随之发展起来。

1.4 论文的主要研究内容

研究相关理论,并根据具体实验室的应用,意在设计一个通用的多路任意波形信号发生器,该系统由两部分组成:

本论文围绕第一部分数据处理、信号产生部分设计而展开,基于对Matlab7.0的三种仿真方式介绍引出信号发生器的Matlab 应程序设计。其主要工作如下:

第一章绪论

介绍了本论文的研究背景和立题意义,强调了通信信号发生器的重要性,概述了信号发生器的及MATLAB 仿真技术的发展和现状,提出了本文的研究内容,阐述了本文的主要工作。

第二章信号发生器的理论部分

在本章中主要简单介绍了信号发生器的理论以及分类,研究了ASK 、PSK 、FSK 和代县白噪声等常规信号的时频域表达式、调制方法。为设计通信信号发生器奠定了技术和理论的基础。为后面用MATLAB 实现ASK 、PSK 、FSK 信号奠定了理论基础。

第三章MATLAB 的三种仿真办法

本文分析了线性模拟调制的数学模型,采用基于Matlab 7.0的三种仿真方法对AM 调制进行仿真,以实例阐述了三种仿真方法的特点。最后,在实例分析的基础上对三种方法进行了简单的比较。结果表明,三种方法各有优劣,基于Simulink 仿真模型能够反映系统的动态工作过程,基于GUI 的可视化界面具有很好的演示效果,都为通信系统的设计和研究提供了强有力的工具,也为通信系统理论的教学和学习提供了有力的工具。

第四章信号发生器的MATLAB 仿真实现

介绍了Matlab 软件实现的程序编程的情况,重点介绍了信号的软件产生,其中包括ASK 、PSK 、FSK 等信号以及AM 、DSB 、SSB 等信号。同时用Simulink 产生的线性调制系统可以产生AM 、DSB 、SSB 、VSB 等线性调制系统的任意波形信号等波形。

第二章 信号发生器的理论部分

2.1 信号发生器分类简介

信号发生器按输出波形可分为正弦波信号发生器、脉冲信号发生器、函数发生器和任意波形发生器等。按其产生频率的方法又可分为调谐信号发生器、锁相信号发生器和合成信号发生器。

调谐信号发生器是由调谐振荡器构成,传统调谐信号发生器都是由调谐振荡器和统调的调幅放大器(输出放大器) 加上一些指示电路构成。这种信号发生器结构复杂、频率范围窄,而且可靠性、稳定性较差,波形失真比较大。随着集成电路的迅速发展,高性能的集成电路越来越多,这类信号发生器的性能有所改善。一般这种信号发生器只能手动来转换量程,不仅体积大,而且可靠性和准确度很难进一步提高,频率准确度一般在0.5%以下。现代电子测量对信号发生器的频率准确度和稳定度要求越来越高,要求在较宽的频率范围内获得高稳定度和准确度的输出信号。因此调谐信号发生器己经越来越不能满足现代电子测量的需要。另外,这类信号发生器只能产生规则波形,如方波、三角波、TTL 信号和正弦波。进行科学试验则对信号发生器的输出波形提出了各种各样的要求,采用纯模拟的方法很难满足实验的要求。

锁相信号发生器是由调谐振荡器通过锁相的方法获得输出信号的信号源。这类信号发生器频率的精度和稳定度很高,但要实现快速和数控比较困难,同时输出信号的频率分辨率较差。实现高分辨率的信号发生器,采用锁相环来实现有一定的难度,尤其是覆盖低频和高频的信号发生器采用锁相实现比较困难。

合成信号发生器是采用频率合成方法构成的信号发生器。合成信号发生器中使用一个晶体参考频率源,所需的各种频率都由它经过分频、混频和倍频后得到的,因而合成器输出频率的稳定性和精度与参考源一样,现在绝大多数频率合成技术都使用这种合成方法。这类信号发生器具有频率稳定度高、分辨率高、输出信号频率范围宽、频率易于实现程序控制、可以实现多种波形输出及频率显示方便等优点。近10年间,随着微电子技术的迅速发展,它以有别于其它频率合成方法的优越性能和特点,成为现代频率合成技术中的佼佼者。具体体现在频率范围宽、频率转换时间短、频率分辨率高、输出相位连续、可产生宽带正交信号及其他多种调制信号、可编程和全数字化、控制灵活方便等方面,并具有极高的性价比。传统的模拟信号发生器存在可靠性差、体积大、不能实现数控等缺点。模拟信号发生器与模拟信号发生器相比,具有很大的优势。

2.2 常规信号

通信的根本任务是远距离传递信息,因此如何准确地传输数字信息是数字通信的一个重要组成部分。在数字传输系统中,其传输对象通常是二元数字信息,它可能来自计算机、电传打字机或其他数字设备的各种数字代码,也可能来自数字电话终端的脉冲编码信号。设计数字传输系统的基本考虑是选择一组有限的离散的波形来表示数字信息。这些离散波形可以是未经调制的不同电平信号,也可以是调制后的信号形式。由于未经调制的电脉冲信号占据的频带通常从直流和低频开始,因此称为数字基带信号。在某些有线信道中,特别是传输距离不太远的情况下,数字基带信号可以直接传送,我们称之为数字信号的基带传输。而在另外一些信道,特别是无线信道和光信道中,数字基带信号则必须经过调制,将信号频谱搬移到高频处才能在信道中传输,我们把这种传输称为数字信号的调制传输(或载波传输) 。

调制的方法主要是通过改变余弦波的幅度、相位或频率来传送信息。其基本原理是把数据信号寄生在载波的上述三个参数中的一个上,即用数据信号来进行幅度调制、频率调制或相位调制。数字信号只有几个离散值,因此调制后的载波参数也只有有限个值,类似于用数字信息控制开关,从几个具有不同参量的独立振荡源中选择参量,为此把数字信号的调制方式称为“键控”。数字调制分为调幅、调相和调频三类,分别对应“幅移键控”(ASK)、“相移键控”(PSK)和“频移键控”(FSK)三种数字调制方式。除这些基本的以外,还可以采用各种多相位、多振幅和多频率的方案。但ASK 、PSK 和FSK 这三种数字调制方式仍是最主要和最基本的,所以接下来要对这三种调制技术,以及上面提到的QAM 调制技术分别进行介绍。

2.2.1 ASK 信号

在幅度键控中载波幅度是随着调制信号而变化的。最简单的形式是载波在二进制基带信号1或0的控制下通或断,这种二进制幅度键控方式称为通一断键控(00K)。

S ook (t )=a n A cos ωc t (2-1)

其中,A 为载波幅度,ωc 为载波频率,a n 为二进制数字,

⎧1概率P a n =⎨ (2-2) ⎩0概率1-P

当二进制调制信号为1时,调制后信号为正弦波; 当二进制调制信号为0时,调制后信号幅度为0。

在一般情况下,调制信号可以是具有一定波形形状的二进制序列(二元基带信号) ,即

B (t )=∑a n g (t -nT s ) (2-3)

其中,T s 为信号间隔,g (t )为调制信号的时间波形,a n 同上。二进制幅度键控信号的一般时域表达式为

S 2ASK (t )=

[∑a g (t -nT )]cos ωt (2-4)

n

s

c

若二进制序列的功率谱密度为ξB ,二进制幅度键控信号的功率谱密度为ξASK ,则有 ξASK (ω)=

1

[ξB (ω+ωc )+ξB (ω-ωc )] (2-5) 4

由此可知二进制幅度键控信号的频谱宽度是二进制基带信号的两倍。 二进制幅度键控的调制器可以用一个相乘器来实现,如图2.1所示,对基带信号和载波进行乘法运算即可得到ZASK 信号。对于通断键控信号来说,相乘器则可以用一个开关电

路来代替,调制信号为1时开关电路导通,为0

时开关电路切断。

图2.1 2ASK 调制原理图

2.2.2 FSK 信号

在二进制频移键控中载波频率随着调制信号1或0而变,1对应于载波频率f 1,0对应于载波频率f 0。二进制频移键控己调信号的时域表达式为

⎡⎤⎡⎤

S 2FSK (t )=⎢∑a n g (t -n Ts )⎥cos ω1t +⎢∑a n g (t -nT s )⎥cos ω2t (2-6)

⎣n ⎦⎣n ⎦

其中ω1

=2πf 1 ,ω2=2πf 2,a n 是a n 的反码,有

⎧1概率P ⎧0概率P a n =⎨a = n ⎨ (2-7)

0概率1-P ⎩⎩1概率1-P

在最简单也是最常用的情况下,g (t )为单个矩形脉冲。由式(2-6)可知,二进制频移键控已调信号可以看成是两个不同载频的幅度键控已调信号之和,因此它的频带宽度是两倍基带信号带宽B 与

f 2-f 1

之和,即

∆f =2B +f 2-f 1

(2-8)

二进制频移键控的调制器可以采用模拟信号调制电路来实现,但更容易的实现方法是

图2.10中的键控法,两个独立的载波发生器的输出受控于输入的二进制信号,按照1或O 分别选择一个载波作为输出。

FSK 方式实现起来比较容易,抗噪声和抗衰减性能好,稳定可靠,是中低速数据传输最佳选择。

图2.2 2FSK 调制原理图

2.2.3 PSK 信号

在PSK 调制时,载波的相位随调制信号状态不同而改变。如果两个频率相同的载波同时开始振荡,这两个频率同时达到正最大值,同时达到零值,同时达到负最大值,此时它们就处于“同相”状态; 如果一个达到正最大值时,另一个达到负最大值,则称为“反相”。一般把信号振荡一次(一周) 作为360度。如果相差半个周期,我们说两个波的相位差180度,也就是反相。二进制相移键控中,载波的相位随调制信号1或0而改变,通常用相位0。和180︒来分别表示1或0。二进制相移键控已调信号的时域表达式为

⎡⎤

S BPSK (t )=⎢∑a n g (t -nT s )⎥cos ωc t (2-9)

⎣n ⎦

⎧+1概率P a n =⎨ (2-10)

⎩-1概率1-P

若g (t )为单个矩形脉冲,则有

S BPSK (t )=±cos ωc t =cos (ωc t +φi ) (2-11)

其中,φi =0或π。当码变化的时候,信号的相位有180︒的翻转。

式(2-9)所示BPSK 信号与式(2-1)所示OOK 信号相对比可知,BPSK 信号是双极性非

归零码的双边带调制,而OOK 信号则是单极性非归零码的双边带调制。BPSK 调制信号没有直流分量,因而是抑制载波的双边带调制。由此可见,BPS 信号的功率谱与OOK 信号的相同,只是少了一个离散的载频分量。这一结论也同样适用于基带信号为其他形式的

BPSK 信号。BPSK 调制器可以采用相乘器,如图2.3所示。将二进制信息由单记性变为双极性后与载波相乘,即可得到已调信号。另外,也可以用相位选择器来实现,根据二进制信息选择载波的相位,也可得到已调信号。

图2.3 BPSK 调制原理图

PSK 相移键控调制技术在数据传输中,尤其是在中速和中高速的数传机2400bit/s-4800bit/s中得到了广泛的应用。应用较多的是二相和四相调相,即QPSK(Quadrature Phaseshift Keying) ,在卫星信道中传送数字电视信号时采用的就是QPSK 调制方式,它可以看成是由两个ZPSK 调制器构成的。输入的串行二进制信息序列经串一并变换后分成两路速率减半的序列,由电平转换器分别产生双极性二电平信号I(t)和Q(t),然后对载波Acos2πfct 和Asin2πfct 进行调制,相加后即可得到QPSK 信号。四相相移调制是利用载波的四种不同相位差来表征输入的数字信息,是四进制移相键控。QPSK 是在M=4时的调相技术,它规定了四种载波相位,分别为45度,135度,225度,275度。调制器输入的数据是二进制数字序列,为了能和四进制的载波相位配合起来,则需要把二进制数据变换为四进制数据,这就是说需要把二进制数字序列中每两比特分成一组,共有四种组合,即00,01,10,l1。QPSK 中每次调制可传输2个信息比特,这些信息比特是通过载波的四种相位来传递的。

2.2.4 带限白噪声

白噪声是指功率谱密度在整个频域内均匀分布的噪声。严格地说,白噪声只是一种理想化模型,因为实际噪声的功率谱密度不可能具有无限宽的带宽,否则它的平均功率将是无限大,是物理上不可实现的,如图2.4。然而,白噪声在数学处理上比较方便,因此它是系统分析的有力工具。一般,只要一个噪声过程所具有的频谱宽度远远大于它所作用系统的带宽,并且在该带宽中其频谱密度基本上可以作为常数来考虑,就可以把它作为白噪声来处理。

白噪声具有频带宽、能量分布均衡、对被测系统干扰小的特点,在工程实际中,是一种使用十分广泛的信号。当然用任何方法都无法产生理想的无限带宽的白噪声,实际应用中是要求信号的频率特性在一定带宽内具有白噪声的频率特性,即带宽内各频率分量能量近似相等。工程应用和试验研究中,经常需要信号的带宽可调,并具有较好的低通特性,一般还要求产生的白噪声信号具有一定的输出功率。

图2.4 理想白噪声的功率谱密度和自相关函数

白噪声的实现可以通过单一的Logist 方程进行,Logist 方程见式(2-11)。Logist 所产生的迭代混沌序列是平稳的随机过程,并且当参数K=4时,所产生的信号的统计特性和时频特性与白噪声一致,因此用Logist 方程可以产生白噪声的理论成立。而且同时应用两个Logist 方程可以改善白噪声的性能。

X n +1=λX n (1-X n )x ∈(0, 0. 5)⋃(0. 5, 1) (2-12)

2.3 本章小结

在本章中主要简单介绍了信号发生器的理论以及分类,研究了ASK 、PSK 、FSK 和代县白噪声等常规信号的时频域表达式、调制方法。为设计通信信号发生器奠定了技术和理论的基础。为后面用MATLAB 实现ASK 、PSK 、FSK 信号奠定了理论基础。

第三章 MATLAB 的三种仿真办法

3.1 仿真基础原理

3.1.1 三种仿真方法简介

目前,计算机仿真已经成为解决工程实际问题的重要手段,Matlab 软件是其中功能最为强大的仿真软件之一。目前利用Matlab 进行系统性能仿真,主要有三种方法:其一是通过脚本程序的编写,实现相关系统仿真和性能分析;其二是利用Simulink 模块库,通过鼠标拖拉的方式建立相关系统的仿真模型,对每个模块进行参数设置,以达到动态系统仿真和性能分析的目的;其三是利用图形用户界面GUI ,创建各种菜单、按钮等可视化界面,通过函数回调等手段,实现人机交互的系统仿真及其性能分析。Matlab 语言比较简单,脚本程序的编写也比较简单,很多语言结构和风格与常用的C 语言非常相似,因此,对于初学者而言,是很容易上手的。

Simulink 软件具有丰富的模块库,其中公共模块库共包含9个模块库:连续系统模块库、离散系统模块库、函数与表库、数学运算库、非线性系统模块库、信号与系统模块库、系统输出模块库、系统输人模块库、子系统模块库。除了公共模块库之外,Simulink 中还集成了许多面向不同专业领域的专业模块库,如面向控制系统设计与分析的Control System Toolbox 模块库、面向数字信号处理系统设计与分析的DSP Blockset模块库、专用于通信系统仿真的通讯模块库等。Simulink 不但功能非常强大,而且还是一个开放性体系,可以支持用户开发模块来增强其自身的功能。

图形用户界面GUI(Graphics User Interface)是由各种图形对象,如图形窗口、图轴、菜单、按钮、文本框等构建的用户界面,是人机交流信息的T 具和方法。在该界面内,用户可以根据界面提示完成整个工程,不必去了解工程内部是如何工作的。GUI 设计可以以基本的Matlab 程序设计为主,也可以鼠标为主利用GUIDE(Graphics User Interface Design Environment) 工具进行设计。利用GUIDE 设计图形用户界面时,可通过GUI 应用属性设置编辑器来设置对句柄操作的响应,findobj 命令可以获得所需对象的旬柄。GUIDE 是—个专用于GUI 程序设计的快速开发环境,使用者通过鼠标就能迅速地产生各种CUI 控件,并随心所欲地改变它们的外形、大小及颜色等,从而帮助用户方便地设计出各种符合要求的图形用户界面。

本章将以线性模拟调制为例,来阐述基于Natlab7.0的三种系统仿真方法,最后在仿真分析的基础上,对三种仿真方法进行分析比较。

3.2.2 线性模拟调制原理

线性模拟调制主要有调幅(AM)、双边带(DSB)、单边带(SSB)和残留边带(VSB)等调制方式。其中VSB 调制是介于SSB 与DSB 之间的一种折中方式。

由于基于Matlab 7.0的三种系统仿真,都需要了解系统数学模型,所以下面就对AM 、DSB 和SSB 调制的数学模型进行分析。 AM 调制的时域表示式:

S AM (t )=[A0+m (t )]cos ωc t =A0cos ωc t +m (t )cos ωc t (3-1)

DSB 调制的时域表示式:

S D SB =m (t )cos ω0t (3-2)

SSB 调制的时域表示式:

S SSB (t )=m (t )cos ω0t *h (t ) (3-3)

式中, m (t )为基带调制信号,均值为0;A 0为常数,表示叠加的直流分量;ωc 为载波角频率;h (t )为滤波器的时域传输函数。显然,DSB 调制与AM 调制相比,少了直流分量A 0。SSB 调制只是DSB 调制通过一个滤波器得到的,不同的滤波器得到不同的SSB 信号。若是

低通滤波器,则得到的是下边带信号LSB ;若是高通滤波器,则得到的是上边带信号USB 。

3.2 三种仿真的简单实现

3.2.1 基于Matlab 的系统仿真

本文以线性模拟调制中的线性调制AM 调制为例,通过脚本程序的编写,实现系统仿真和性能分析。

首先,编写Matlab 脚本程序如下:

clear; clf;

t=0:pi/10:40*pi; Carrier=sin(t);

Mod_Sig=sin(t/20);

Dsb_am=Carrier.*(1+Mod_Sig); plot(t,Carrier,t,Mod_Sig,t,Dsb_am);

title('Plot of carrier modulated by sinewave (dsb-am)'); xlabel('time');

ylabel('voltage'); grid on;

legend('carrier','baseband','modulated signal')

Plot of carrier modulated by sinewave (dsb-am)

21.510.5

v o l t a g e

0-0.5-1-1.5-2

0204060

time

[1**********]

图3.1 基于脚本程序仿真的仿真结果

3.2.2 基于Simulink 的系统仿真及分析

从以上理论分析可知,AM 、DSB 和SSB 调制具有一定的共性,因此,为了演示和比较这三种调制方式的特点,可以将其集成在同一个仿真模型中。当需选择其他调制方式时,只需手动点击开关就可以进行切换。

使用Simulink 建立如图3.2所示的线性模拟调制仿真模型。

c(t)=2cos62.8tf=10hz

图3.2 线性模拟调制仿真模型

仿真模型中所用到的模块,均可以用鼠标从Simulink 模块库中拖到模型编辑窗口,进行模块间的连线,然后对每一个模块的参数进行设置。当参数设置和连线正确后,就可以点击开始仿真按钮,进行性能仿真。通过示波器和频谱仪等输出模块,可以非常直观地看到各个节点的时域和频域特性。

本文以AM 调制的性能仿真结果为例,得出相关节点的仿真图形。显然,示波器模块可以非常直观地显示了AM 调制的调制信号时域波形、乘法器输出时域波形、乘法器输出信号频谱和已调信号时域波形。

在图2中,当切换左边开关就可以改变调制信号,实现AM 调制与DSB 或SSB 调制不同调制方式的切换;当切换右边下面的开关就可以通过选择不同的滤波器,得到不同的SSB 调制信号;而切换右边上面的开关就可以在示波器和频谱仪中显示相应的输出结果。当然,整个仿真模型中载波频率、滤波器传输特性等都可以按需要改变,相应节点的输出时域波形和频域波形都会随之改变。

3.2.3 基于GUI 的动态系统仿真及分析

Matlab 7.0通信工具箱提供了一个典型的通信系统通常所包括的信源、信宿、信道和发送接收处理部分,可以通过应用相应的函数实现相关通信功能的仿真。通过使用GUI ,可以使不同功能的系统形成一个独立的界面,编写m 函数实现界面上相应按钮的功能,使用函数回调功能实现界面和m 函数之间的链接。调试成功的图形用户界面可以实现对不同仿真系统的运行、暂停或停止进行控制,通过滑动块或动态文本框等实时修改模块参数,形成一个完整的仿真体系。

仍然以线性模拟调制解调系统中的AM 调制为例,设计图形用户界面,编写m 函数,通过函数回调等功能,达到动态演示AM 调制的目的。

此种仿真首先要建立基于GUI 的仿真系统主界面,添加按钮、静态文本、坐标轴等来

实现界面的可视化,然后通过编辑回调函数,调用回调函数,来实现分析仿真。

3.3 基于Matlab 7.0的三种仿真方法比较

从上文的仿真范例可以看出,基于脚本程序编写的方法比较简单,只要掌握Matlab 语言,就可以编辑一些简单的程序,实现一些仿真功能。但这种方法不直观,对于复杂系统的仿真对编程水乎有较高的要求。另外,这种仿真方法不直观,用户不了解功能系 统的体系构成。

Simulink 是一个对动态系统进行建模、仿真并对仿真结果进行分析的软件包。使用Simulink 可以更加方便地对系统进行可视化建模,并进行基于时间流的系统级仿真,使得仿真系统建模与工程中的方框图统一起来。并且仿真结果可以近乎“实时”地通过可视化模块,如示波器模块、频谱仪模块以及数据输入输出模块等显示出来,使得系统的仿真工作十分方便。因此,目前这种方法在科研中被广泛使用。但这种方法,不足之处就在于人机交互不太理想,对于系统演示等也不是很适合。

而使用GUI 进行的界面设计,具有人机交互功能,可以实时改变系统各个参数,进行动态仿真,并将仿真结果形象地展现m 来。可以通过形象、对比式的演示,使用户能够从整体上认识和区别各种系统,容易理解、印象深刻。因此,这种方法常用于演示系统 的开发,如通信原理课程的实验教学等。

3.4 本章小结

本文分析了线性模拟调制的数学模型,采用基于Matlab 7.0的三种仿真方法对AM 调制进行仿真,以实例阐述了三种仿真方法的特点。最后,在实例分析的基础上对三种方法进行了简单的比较。结果表明,三种方法各有优劣,基于Simulink 仿真模型能够反映系统的动态工作过程,基于GUI 的可视化界面具有很好的演示效果,都为通信系统的设计和研究提供了强有力的工具,也为通信系统理论的教学和学习提供了有力的工具。

第四章 信号发生器的MATLAB 仿真实现

4.1 常规信号的MATLAB 仿真实现

理论论述介绍参见第二章, 现在仅介绍用Matlab 仿真实现常规数字信号的发生实现,现列举简洁的程序请单及运行结果如图一所示下: clear all; close all; A=1;

fc=2; %2Hz N_sample=8;

N=500; %码元数

Ts=1; %1Baud/s

dt=Ts/fc/N_sample; %波形采样间隔 t=0:dt:N*Ts-dt; Lt=length(t);

%产生二进制信号源 d=sign(randn(1,N)); X=length((d+1)/2);

dd=zeros(fc*N_sample,X);

dd(1,:)=(d+1)/2;

dd=reshape(dd,1,fc*N_sample*X)

gt=ones(1,fc*N_sample); %NRZ波形

figure(1)

subplot(411); %输入NRZ 信号波形(单极性) d_NRZ=conv(dd,gt);

plot(t,d_NRZ(1:length(t)));

axis([0 10 0 1.2]);ylabel('输入信号'); %OOK信号 ht=A*cos(2*pi*fc*t);

s_2ask=d_NRZ(1:Lt).*ht; subplot(412); plot(t,s_2ask);

axis([0 10 -1.2 1.2]);ylabel('OOK'); %2PSK信号

d_2psk=2*d_NRZ-1; s_2psk=d_2psk(1:Lt).*ht; subplot(413);

plot(t,s_2psk);

axis([0 10 -1.2 1.2]);ylabel('2PSK'); %2FSK信号 sd_2fsk=2*d_NRZ-1;

s_2fsk=A*cos(2*pi*fc*t+2*pi*sd_2fsk(1:length(t)).*t); subplot(414); plot(t,s_2fsk);

axis([0 10 -1.2 1.2]);ylabel('t');ylabel('2PSK');

1输入信号

0.5

[1**********]0

1O O K

-101

1

2

3

4

5

6

7

8

9

10

2P S K

-101

1

2

3

4

5

6

7

8

9

10

2P S K

-10

1

2

3

4

5

6

7

8

9

10

图4.1 OOK 、PSK 、FSK 信号的仿真实现图

4. 2 线性调制信号的MATLAB 仿真实现

Matlab 语言比较简单,脚本程序的编写也比较简单,很多语言结构和风格与常用的C 语言非常相似,因此,对于初学者而言,是很容易上手的。

本文以线性模拟调制中的线性调制AM 、DSB 、SSB 调制为例,通过脚本程序的编写,实现系统仿真和性能分析。理论介绍参考第三章。

close all; clear all; dt=0.001;

fm=1; fc=10; t=0:dt:5;

mt=sqrt(2)*cos(2*pi*fm*t);

%AM信号

A=2;

s_am=(A+mt).*cos(2*pi*fc*t); figure;

subplot(311); plot(t,s_am);hold on; plot(t,A+mt,'r');

title('AM');xlabel('t');

%DSB信号

s_dsb=mt.*cos(2*pi*fc*t); subplot(312);

plot(t,s_dsb);hold on; plot(t,mt,'r');

title('DSB');xlabel('t');

%SSB信号

s_ssb=real(hilbert(mt).*exp(j*2*pi*fc*t)); subplot(313); plot(t,s_ssb); title('SSB');xlabel('t');

AM

42

0-2-4

00.511.52

2.5t DSB

33.544.55

21

0-1-20

0.5

1

1.5

2

2.5t SSB

3

3.5

4

4.5

5

21

0-1-2

00.511.52

2.5t

33.544.55

图4.2 AM 、DSB 、SSB 信号的仿真实现图

4.3 AM 信号发生的Simulink 仿真实现

第三章所建立的Simulink 模型如图4.3进行分析如下:

c(t)=2cos62.8tf=10hz

图4.3 AM 信号发生的Simulink 仿真实现

图4.4 调制信号1

图4.5 调制信号

2

图4.6 AM 调制信号

图4.7 DSB 单边带调制信号

图4.8 AM 经过带通滤波器的输出波形

其中,仿真结果图4.6验证了调幅波是一个载波振幅按照调制信号的大小线性变化的高频振荡信号,而其载波频率保持不变的特点。图4.6和图4.8相比较可以看出,未经过

带通滤波器滤波的乘法器输出时域波形比经过带通滤波器滤波的已调信号时域波形多很多带外噪声,这也验证了带通滤波器在AM 调制中的作用。

在图4.3中,当切换左边开关就可以改变调制信号,实现AM 调制与DSB 或SSB 调制不同调制方式的切换;当切换右边下面的开关就可以通过选择不同的滤波器,得到不同的SSB 调制信号;而切换右边上面的开关就可以在示波器和频谱仪中显示相应的输出结果。当然,整个仿真模型中载波频率、滤波器传输特性等都可以按需要改变,相应节点的输出时域波形和频域波形都会随之改变。

图4.6,4.7分别与4.2节中直接用MATLAB 语言进行仿真的结果相比较,可以发现,其调制结果是相同的。由此也可以证明用Simulink 来进行仿真是很简洁的,可以不用过多的了解MATLAB 语言,只要懂得对参数进行设计就可以了。

4.4 本章小结

综上分析,Simulink 是一个对动态系统进行建模、仿真并对仿真结果进行分析的软件包。使用Simulink 可以更加方便地对系统进行可视化建模,并进行基于时间流的系统级仿真,使得仿真系统建模与工程中的方框图统一起来。并且仿真结果可以近乎“实时”地通过可视化模块,如示波器模块、频谱仪模块以及数据输入输出模块等显示出来,使得系统的仿真工作十分方便。因此,目前这种方法在科研中被广泛使用。

结束语

计算机仿真已经成为解决工程实际问题的重要手段,Matlab 软件是其中功能最为强大的仿真软件之一。目前利用Matlab 进行系统性能仿真,主要有三种方法:其一是通过脚本程序的编写,实现相关系统仿真和性能分析;其二是利用Simulink 模块库,通过鼠标拖拉的方式建立相关系统的仿真模型,对每个模块进行参数设置,以达到动态系统仿真和性能分析的目的;其三是利用图形用户界面GUI ,创建各种菜单、按钮等可视化界面,通过函数回调等手段,实现人机交互的系统仿真及其性能分析。Matlab 语言比较简单,脚本程序的编写也比较简单,很多语言结构和风格与常用的C 语言非常相似,因此,对于初学者而言,是很容易上手的。

利用MATLAB 丰富的数据处理函数和强大的图形可视化功能,用它来实现信号源,使设计者能快速实现多种方案,对于信号源的采集、分析和处理都带来了较大的方便。虽然这种方法实现的信号源受声卡采样频率、电脑噪音的影响较大,但还是能够基本满足电路实验室低频信号发生器的要求。

但是,采用这种方法实现的低频信号发生器有产生噪音,分析如下: (1)主机电源的噪音; (2)主机的高频幅射; (3)环境噪音。降低噪音。 我们可以:

(1)选择信噪比比较高的主机电源将会对消除噪到重要作用; (2)实验设备在利用信号源时应尽量与主机保持距离,以减少电磁辐射对设备的影响; (3)对于环境噪音,当信号频率与50HZ 相差很大时忽略环境噪音对设备的影响,但当信号频率接近50HZ 应对实验设备采取良好的屏蔽措施;

虽然会有一些噪声,但总体而言,用MATLAB 仿真得到的信号发生器总体效果还是很好的,简单可靠有效。这些特点使MATLAB 仿真在实际应用中具有广泛的推广应用前景。

致谢

在论文完成之际,衷心向那些在论文完成过程中支持、帮助、鼓励过我的人,表达我的感激之情。

首先感谢我的导师对我学术上的悉心指导,从课题的确定,到程序编写的指导,再到学士论文的撰写和修改,倾注了李老师的大量心血。李老师渊博的学术修养和蔼可亲的为人世道,严谨认真、孜孜不倦的治学态度以及对事业、对工作的高度热情,使我不禁由衷敬佩。

其次感谢烟台大学光电学院的的全体老师和同学,同样的目标使我们走到了一起,让我体验了美好的学生时代,在我人生旅途中让我认识了很多优秀的教师,结交了很多朋友,从他们身上我学到了很多,结识他们是我一生的财富。

再次,我要感谢我的父母的理解和支持,他们虽然不在我身边,但是父母对我无限的牵挂和关心不断激励着我奋发学习、刻苦钻研。

最后,我还要感谢在百忙中抽出宝贵时间阅读本文的各位评委。谢谢!

回顾漫长的学习之路,此时感慨万千,学习是艰苦的又是快乐的,每一阶段小小的成功都会令我欣喜万分,大学期间的学习经历会伴随着我今后的人生,也是我宝贵的人生财富!

参考文献

[1] 鲁哨廷. 多波形数字信号发生器的设计与实现. 微处理机.2008,2:149-151 [2] 车子萍. 基于MATLAB 的虚拟信号发生设备. 电脑学习2010,2:3-4

[3] 杨洁芳. 基于MATLAB 与声卡的低频信号发生器的设计与实现. 电脑学习.2006,4 :30-31

[4] 张桂林,张烈平. 基于声卡和MATLAB 的虚拟信号发生器. 电子元器件.2005,8:75-79 [5] 杨守良,程正富. 基于Matlab/DSP Builder多波形信号发生器的设计. 微计算机息 (测控自动化).2007,23:180-181

[6] 刘雄英, 丘水生, 范艺基于.MATLAB/Simulink的实时混沌信号发生器研究. 桂林电子科技大学学报2007,2:87-90

[7] 叶青娣. 基于Matlab 7.0的三种仿真方法研究. 计算机与现代化.2010,3:65-69

[8] 周祥才, 杨铮. 基于MATLAB 的信号采样与重构的实现. 实验技术与管理.2007,2:79-81 [9] 张昊. 语音数字信号增强处理及其Matlab 实现. 通信技术.2009,1:280-284 [10] 庄海军, 数字信号发生器的设计与实现, [硕士学位论文], 江南大学,2008,2 [11] 王硕, 任意波形信号发生器的研究,[硕士学位论文],哈尔滨工程大学,2008,2

[12] 林若波, 基于混沌理论的信号发生器的研究与设计,[硕士学位论文],湖南大学,2009年

6月

[13] 熊焰, 混沌信号发生器及其性能分析, 南京航空航天大学,[硕士学位论文],2006年1月 [14] 郭文彬, 桑林编. 通信原理—基于MATLAB 的计算机仿真. 北京邮电大学出版社.2006 [15] 黄永安, 马路, 刘慧敏编著.MATLAB7.0/simulink6.0建模仿真与高级工程应用. 清华大

学出版社.2005

[16] 程卫国, 冯峰, 王雪梅, 刘艺编.MATLAB5.3精要编程及高级应用. 机械工程出版社2000

1


相关内容

  • 雷达电子战仿真系统设计
    第8卷第4期 2010年8月 信息与电子工程 V01.8.No.4Aug.,2010 INFORMATIONANDELECTRONICENGINEERING 文章编号:1672-2892(2010)04-0393-05 雷达电子战仿真系统设 ...
  • 毕业论文图像处理噪声方法与研究
    长 治 学 院 2013届学士学位毕业论文 图像处理中消除噪声的方法研究 学 号: 09407205 姓 名: 程晓满 指导教师: 上官晋太 专 业: 计算机科学与技术 系 别: 计算机 完成时间:2013年5月 图像处理中消除噪声的方法研 ...
  • 应用于雷达系统匹配滤波器的matlab仿真
    应用于雷达系统匹配滤波器的matlab仿真 一.匹配滤波器原理 在输入为确知加白噪声的情况下,所得输出信噪比最大的线性滤波器就是匹配滤波器,设一线性滤波器的输入信号为x(t): x(t)=s(t)+n(t) (1.1) 其中:s(t)为确知 ...
  • AM模拟调制系统的设计与仿真
    摘要 调幅,英文是Amplitude Modulation(AM ).调幅也就是通常说的中波,范围在503---1060KHz .调幅是用声音的高低变为幅度的变化的电信号. 本课程设计主要研究了AM 模拟调制系统的设计和仿真.在本次通信系统 ...
  • 通信系统原理
    课 程 设 计 报 告 系 : 三 系 学 生 姓 名 :班 级:学 号: [1**********] 成 绩:指 导 教 师: 吴 琼 开 课 时 间:2013-2014学年一学期 目录 一.课程设计目的 ................ ...
  • 小波变换在突变信号检测中的应用仿真研究
    摘 要 本文介绍了小波变换及其检测突变信号的基本原理,选用了具有低通特性的高斯函数高斯函数作为小波基的小波变换能够有效识别出非平稳态的突变信号,而且小波尺度大小的选择与检测精度有直接关系. [关键词]小波变换 突变信号检测 小波尺度 1 引 ...
  • 伺服驱动器测试方法的仿真研究
    第7期2012年7月 组合机床与自动化加工技术 Modular Machine Tool &Automatic Manufacturing Technique No.7Jul.2012 文章编号:1001-2265(2012)07- ...
  • MATLAB在电力系统三相短路故障分析中的应用
    M ATLAB 在电力系统三相短路故障分析中的应用电子质量(2013第10期) MAT LAB 在电力系统三相短路故障分析中的应用 Application of M ATLAB in the Analysis of the Three-ph ...
  • 四旋翼飞行器仿真 实验报告
    动态系统建模仿真 实验报告(2) 姓 名 : 学 号 : 指导教师 : 院 系 : 2014.12.28 四旋翼飞行器仿真 1实验内容 基于Simulink 建立四旋翼飞行器的悬停控制回路,实现飞行器的悬停控制: 建立GUI 界面,能够输入 ...
  • 三相瞬时功率理论在有源电力滤波器仿真中的研究
    第35卷第6期2013年12月 光学仪器 OPTICAL V01.35,No.6December,2013 INSTRUMENTS 文章编号:1005-5630(2013)06-0058-06 三相瞬时功率理论在有源电力滤波器仿真中的研究 ...