MATLAB8章 Simulink_第1页
MATLAB8章 Simulink_第2页
MATLAB8章 Simulink_第3页
MATLAB8章 Simulink_第4页
MATLAB8章 Simulink_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第八章 Simulink仿真8.1.1 SIMULINK起源起源 1990年,Math Works软件公司为MATLAB提供了新的控制系统模型图输入与仿真工具,并命名为SIMULAB,该工具很快就在控制工程界获得了广泛的认可,使得仿真软件进入了。但因其名字与当时比较著名的软件SIMULA类似,所以1992年正式将该软件更名为。 从它的名字可以看出,该系统的两个主要功能:, Simu表明它可以用于计算机仿真,而Link表明它能进行系统连接,即把一系列的模块连接起来,构成复杂的。正是由于这两大功能和特色,使得它成为仿真领域首选的计算机环境。SIMULINK起源:起源: 在SIMULINK出现以前,

2、仿真一个给定框图的连续系统是件很复杂的事情。当时仿真的方法多是采用手工编程的方式,需要大量的编程工作,而且,对复杂的问题还容易出错。 SIMULINK采用基于Windows的,其结果是使得用户可以把更多的精力投入到,而非语言的编程上。 所谓模型化图形输入是指SIMULINK提供了一些,用户只需要知道这些模块的,而不必考察模块内部是如何实现的,通过对这些基本模块的调用,再将它们连接起来就可以构成所需要的(以文件进行存取),进而进行仿真与分析。用户不须专门掌握一种程序设计语言。8.1.2 Simulink 的特点的特点:1.Simulink是一个动态仿真系统,用于对动态系统进行仿真和分析,预先模拟

3、实际系统的特性和响应,根据设计和使用要求,对系统进行修改和优化。2.Simulink可将系统分为从高级到低级的几个层次,每层又可以细分为几个部分,每层系统构建完成后,将各层连接起来构成一个完整系统。3.模型创建完成后,可以启动系统的仿真功能分析系统的动态特性,其内置的分析工具包括各种仿真算法、系统线性化、寻求平衡点等。仿真结果可以以图形方式在示波器窗口显示,也可将输出结果以变量形式保存起来,并输入到MATLAB中以完成进一步的分析。4.Simulink可以仿真线性和非线性系统,并能创建连续时间、离散时间或二者混合的系统。支持多采样频率系统。5.Simulink的三大步骤:的三大步骤:模型创建与

4、定义、模型的分析、模型的修正。8.1.3 Simulink工作特点工作特点8.1.4 SIMULINK应用应用 8.2 1. 数学类型分类现实中每个系统都有输入、输出和状态3个基本要素,以及它们之间随时间变化的数学函数关系,即数学模型 图形化模型也体现了输入、输出和状态间随时间变化的某种关系,如下图所示。 只要这两种关系在数学上是等价的,那么就可以图形化模型代替数学模型.3. Simulink仿真系统: (1) 输入模块:即信号源模块,包括常数字信号源和用 户自定义信号; (2) 状态模块:即被模拟的系统模块,是系统建模的核心和主要部分;(3) 输出模块:即信号显示模块,它能够以图形方式、文件

5、格式进行显示。注意:在设计一个模型时,必须先确定这三个部分的意,以及它们之间的联系;Simulink的仿真模型并非一定要完全包括这三个部分,它可以缺少其中一个或者两个; Simulink的状态模块可以是连续的、离散的,或者它们二者的结合。输入(Input)、状态(states)和输出(Output)三个部分。 在MATLAB菜单上选择【File】|【New】|【Model】选项。 在MATLAB的命令窗口直接键入命令Simulink; 用鼠标左键单击MATLAB工具条上的按钮; 8.3.1. Simulink启动和浏览器窗口8.3 SIMULINK的模块库 1. 启动3种方式:2. Simul

6、ink模块库浏览器窗口(simulink library browser):标题菜单工具栏库目录树搜索栏库的子目录功能分类的各种模块 MATLAB菜单上选择【File】|【New】| 【Model】选项的新建模型窗口。 3. 新建模型窗口8.3.2 SIMULINK的模块库介绍 常见的库:Continuous(连续模块)Discrete(离散模块)Function&Tables(函数和平台模块)Math(数学模块)Nonlinear(非线性模块)Signals&Systems(信号和系统模块)Sinks(接收器模块)Sources(输入源模块)不同版本的Simulink有些模块

7、可能不同!1. 连续模块(Continuous)continuous.mdl 积分器( Integrator ):连续动态系统最常用的元件,该模块将输入端信号经过数值积分,在输出端直接反映出来。 数值微分器(Derivative):该模块的作用是将其输入端的信号经过一阶数值微分,在输出端输出出来。 线性系统的状态方程(State-Space)-是线性系统的一种时域描述,用于实现以下数学方程描述的系统,系统的状态方程数学表示为:xAxBuyCxDu1.连续模块(Continuous)continuous.mdl 传递函数(Transfer Fun):传递函数是频域下常用的描述线性微分方程的一种方

8、法,通过引入Laplace变换可以将原来的线性微分方程在零初始条件下变换成“代数”的形式,从而以多项式的比值形式描述系统。 零极点传递函数模块(Zero-Pole):用于建立一个预先指定的零点、极点,并用延迟算子s表示的连续。 存储器模块(Memory):保持输出前一步的输入值。 传输延迟模块(Transport Delay):用于将输入端的信号延迟指定的时间后再传输给输出信号。 可变传输延迟模块(Variable Transport Delay):用于将输入端的信号进行可变时间的延迟。2 离散模块(Discrete) discrete.mdl Discrete-time Integrator

9、:离散时间积分器 Discrete Filter:IIR与FIR滤波器 Discrete State-Space:离散状态空间系统模型 Discrete Transfer-Fcn:离散传递函数模型 Discrete Zero-Pole:以零极点表示的离散传递函数模型 First-Order Hold:一阶采样和保持器 Zero-Order Hold:零阶采样和保持器 Unit Delay:一个采样周期的延时 函数与表格模块库(Function & Table)主要实现各种一维、二维或者更高维函数的查表,另外用户还可以根据自己需要创建更复杂的函数。该模块库包括多个主要模块。3 函数与表格

10、模块库(Function & Table)1. 一维查表模块(Look-Up Table) 一维查表模块(Look-Up Table)实现对单路输入信号的查表和线性插值。2二维查表模块(Look-Up Table 2-D)功能:根据给定的二维平面网格上的高度值,把输入的两个变量经过查表、插值,计算出模块的输出值,并返回这个值。说明:对二维输入信号进行分段线性变换。3自定义函数模块(Fcn)功能:用于将输入信号进行指定的函数运算,最后计算出模块的输出值。说明:输入的数学表达式应符合C语言编程规范;与MATLAB中的表达式有所不同,不能完成矩阵运算。4MATLAB函数模块(MATLAB F

11、cn)功能:对输入信号进行MATLAB函数及表达式的处理。说明:模块为单输入模块;能够完成矩阵运算。注意:从运算速度角度,Math function模块要比Fcn模块慢。当需要提高速度时,可以考虑采用Fcn 或者S函数模块。5S-函数模块(S-Function)功能:按照Simulink标准,编写用户自己的Simulink函数。它能够将MATLAB语句、C语言等编写的函数放在Simulink模块中运行,最后计算模块的输出值。4. 数学模块( Math ) Sum:加减运算 Product:乘运算 Dot Product:点乘运算 Gain:比例运算 Math Function:包括指数函数、对

12、数函数、求平方、开根号等常用数学函数 Trigonometric Function:三角函数,包括正弦、余弦、正切等 MinMax:最值运算 Abs:取绝对值 Sign:符号函数 非线性模块(Nonlinear)中包括一些常用的非线性模块:5非线性模块(Nonlinear)非线性模块( Nonlinear ) Saturation:饱和输出,让输出超过某一值时能够饱和。 Relay:滞环比较器,限制输出值在某一范围内变化。 Coulomb与粘性摩擦(Coulomb & Viscous Friction) 磁滞回环模块(Backlash) 此模块中定义了很多分段线性的静态非线性模块,如死

13、区非线性(Dead Zone)、饱和非线性(Saturation)、量化模块(quantizer)、继电模块(Relay)、变化率限幅模块(Rate Limiter)等。6. 信号和系统模块 Signal&Systems sigsys.mdl Mux:将多个单一输入转化为一个复合输出。 Demux:将一个复合输入转化为多个单一输出。1. Bus 信号选择模块(Bus Selector)功能:用于得到从Mux模块或其它模块引入的Bus信号。2. 混路器模块(Mux)功能:把多路信号组成一个矢量信号或者Bus信号。3.分路器模块(Demux)功能:把混路器组成的信号按照原来的构成方法分解成

14、多路信号。4. 信号合成模块(Merge)功能:把多路信号进行合成一个单一的信号。5. 接收/传输信号模块(From/Goto)功能:接收/传输信号模块(From/Goto)常常配合使用, From模块用于从一个Goto模块中接收一个输入信号,Goto模块用于把输入信号传递给From模块。6初始值设定模块(IC)功能:初始值设定模块(IC)用于设定与输出端口连接的模块的初始值。7. 接收器模块( Sinks ) sinks.mdl Scope:示波器。 XY Graph:显示二维图形。 To Workspace:将输出写入MATLAB的工作空间。 To File(.mat):将输出写入数据文件

15、。 Display:直接在Simulink中显示数据。1. 示波器模块(Scope)功能:显示在仿真过程中产生的输出信号,用于在示波器中显示输入信号与仿真时间的关系曲线,仿真时间为x轴。2. 二维信号显示模块(XY Graph)功能:在MATLAB的图形窗口中显示一个二维信号图,并将两路信号分别作为示波器坐标的x轴与y 轴,同时把它们之间的关系图形显示出来。3. 显示模块(Display)功能:按照一定的格式显示输入信号的值。可供选择的输出格式包括:short、long、short_e、long_e、bank等。4. 输出到文件模块(To File)功能:按照矩阵的形式把输入信号保存到一个指定

16、的MAT文件。第一行为仿真时间,余下的行则是输入数据,一个数据点是输入矢量的一个分量。5. 输出到工作空间模块(To Workspace)功能:把信号保存到MATLAB的当前工作空间,是另一种输出方式。6. 终止信号模块(Terminator)功能:中断一个未连接的信号输出端口。7. 结束仿真模块(Stop simulation)功能:停止仿真过程。当输入为非零时,停止系统仿真。8. 输入源模块( Sources ) sources.mdlConstant:常数信号。Clock:时钟信号。From Workspace:来自MATLAB的工作空间。From File(.mat):来自数据文件。P

17、ulse Generator:脉冲发生器。Repeating Sequence:重复信号。Signal Generator:信号发生器,可以产生正弦、方波、锯齿波及随意波。Sine Wave:正弦波信号。Step:阶跃波信号。信号源模块库(Sources)包括的主要模块:图7.13 信号源模块库1输入常数模块(Constant)功能:产生一个常数。该常数可以是实数,也可以是复数。2信号源发生器模块(Signal Generator)功能:产生不同的信号,其中包括:正弦波、方波、锯齿波信号。3从文件读取信号模块(From File)功能:从一个MAT文件中读取信号,读取的信号为一个矩阵,其矩阵的

18、格式与To File模块中介绍的矩阵格式相同。如果矩阵在同一采样时间有两个或者更多的列,则数据点的输出应该是首次出现的列。4从工作空间读取信号模块(From Workspace)功能:从MATLAB工作空间读取信号作为当前的输入信号。5随机数模块(Random Number)功能:产生正态分布的随机数,默认的随机数是期望为0,方差为1的标准正态分布量。6带宽限制白噪声模块(Band Limited White Noise)功能:实现对连续或者混杂系统的白噪声输入。7其它模块 除以上介绍的常用模块外,还包括其模块。各模块功能可通过以下方法查看:先进入Simulink工作窗口,在菜单中执行Help

19、/Simulink Help命令,这时就会弹出Help界面。然后用鼠标展开Using SimulinkBlock ReferenceSimulink BlockLibraries就可以看到Simulink的所有模块。查看相应的模块的使用方法和说明信息即可。 8.4 SIMULINK简单模型的建立 简单模型的建立(1)建立模型窗口(2)将功能模块由模块库窗口复制到模型窗口(3)对模块进行连接,从而构成需要的系统模型 模型的特点在SIMULINK里提供了许多如Scope的接收器模块,这使得用SIMULNK进行仿真具有像做实验一般的图形化显示效果。SIMULINK的模型具有层次性,通过底层子系统可以

20、构建上层母系统。SIMULINK提供了对子系统进行封装的功能,用户可以自定义子系统的图标和设置参数对话框。构建构建Simulink框图框图(1) 使用鼠标左键单击系统模块库,如果模块库为多层结构,则单击“+”号载入库。(2) 使用鼠标右键单击系统模块库,在单独的窗口打开库。(3) 使用鼠标左键单击系统模块,在模块描述栏中显示此。(4) 使用鼠标右键单击系统模块,可以得到系统模块的,将系统模块插入到系统模型中,查看系统模块的,以及回到系统模块的上一层库。Simulink库浏览器的基本操作: 这里用一个非常简单的例子介绍如何建立动态系统模型。此简单系统的输入为一个正弦波信号,输出为此正弦波信号与一

21、个常数的乘积。要求建立系统模型,并以图形方式输出系统运算结果。已知系统的数学描述为:模块选择 系统输入模块库Sources中的Sine Wave模块:产生一个正弦波信号。 数学库Math中的Gain模块:将信号乘上一个常数(即信号增益)。 系统输出库Sinks中的Scope模块:图形方式显示结果。 建立此简单系统的建立此简单系统的模型需要系统模块:模型需要系统模块:选择相应的系统模块并将其拷贝(或拖动)到新建的系统模型中。 (均在(均在Simulink公共模块库中)公共模块库中)在选择构建系统模型所需的所有模块后,需要按照系统的信号流程将各系统模块正确连接起来。(1) 将光标指向起始块的输出端

22、口,此时光标变成“+”。(2) 单击鼠标左键并拖动到目标模块的输入端口,在接近到一定程度时光标变成双十字。这时松开鼠标键,连接完成。完成后在连接点处出现一个箭头,表示系统中信号的流向。连接系统模块的步骤:1. 模块的复制如果需要几个同样的模块,可以使用鼠标右键单击并拖动某个块进行拷贝。也可以在选中所需的模块后,使用Edit菜单上的Copy 和Paste 或使用热键Ctrl+C和Ctrl+V完成同样的功能.系统模块进行操作的基本技巧,掌握它们可使建立动态系统模型变得更为方便快捷。如果用户需要在信号连线上插入一个模块,只需将这个模块移到线上就可以自动连接。注意这个功能只支持单输入单输出模块。对于其

23、他的模块,只能先删除连线,放置块,然后再重新连线。信号连线分支操作方式:使用鼠标右键单击需要分支的信号连线(光标变成“+”),然后拖动到目标模块。按下Shift键的同时,在信号连线上单击鼠标左键并拖动,可以生成新的节点生成新的节点。使用鼠标左键单击并拖动以改变信号连线的路径 在利用Simulink进行系统仿真时,在很多情况下,需要将系统中某些模块的输出信号(一般为标量)组合成一个向量信号,并将得到的信号作为另外一个模块的输入。当用户按照信号的输入输出关系连接各系统模块之后,系统模型的创建工作便已结束。为了对动态系统进行正确的仿真与分析,必须设置正确的系统模块参数与系统仿真参数。(1) 双击系统

24、模块,打开系统模块的参数设置对话框。(2) 在参数设置对话框中设置合适的模块参数。在对系统模型中各个模块进行正确且合适的参数设置之后,需要对系统仿真参数进行必要的设置以开始仿真。在缺省情况下,Simulink默认的仿真起始时间为0s,仿真结束时间为10 s。对于此简单系统,当时间大于25时系统输出才开始转换,因此需要设置合适的仿真时间。设置仿真时间的方法为:选择菜单Simulation中的Simulation Parameters(或使用快捷键Ctrl+E),打开仿真参数设置对话框,在Solver选项卡中设置系统仿真时间区间。设置系统仿真起始时间为0 s、结束时间为100 s,当对系统中各模块

25、参数以及系统仿真参数进行正确设置之后,单击系统模型编辑器上的Play图标(黑色三角)或选择Simulation菜单下的便可以对系统进行。仿真结束后双击模块以显示系统仿真的。在Simulink系统模型编辑器中,可以对系统模型的视图进行调整以便更好地观察系统模型。1. 框图的视图调整 使用View菜单控制模型在视图区的显示,用户可以对模型视图进行任意缩放。 使用系统热键R(放大)或V(缩小)。 按空格键可以使系统模型充满整个视图窗口。一般对于简单的系统,可以采用Simulink的自动命名;在这简单动态系统中,正弦信号模块名称为Sine Wave;对于系统模型中相同的模块,Simulink会自动对其

26、进行编号。对于复杂系统,给每个模块取一个具有明显意义的名称,非常有利于系统模型的理解与维护。 模块命名:使用鼠标左键单击模块名称,进入编辑状态,然后键入新的名称。 名称移动:使用鼠标左键单击模块名称并拖动到模块的另一侧,或选择Format菜单中的Flip Name翻转模块名称。 名称隐藏:选择Format菜单中的Hide Name隐藏系统模块名称。注意,系统模型中模块的名称应当是唯一的,否则Simulink会给出警告并自动改变名称。Simulink允许用户对模块的几何尺寸进行修改,以改善系统模型框图的界面。例如,对于具有多个输入端口的模块,需要调整其大小使其能够较好地容纳多个信号连线,而非采用模块的默认大小;另外,对于某些系统模块,当模块的尺寸足够大时,模块的参数将直接显示在模块上面,这非常有利于用户对模型的理解。 使用鼠标右键单击模块,选择Foreground color或Background color菜单来设置颜色; 或使用模型编辑器中Format菜

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论