Simulink的应用

上传人:lisu****2020 文档编号:252939453 上传时间:2024-11-26 格式:PPT 页数:36 大小:337.50KB
返回 下载 相关 举报
Simulink的应用_第1页
第1页 / 共36页
Simulink的应用_第2页
第2页 / 共36页
Simulink的应用_第3页
第3页 / 共36页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,7,章,Simulink,的应用,第,7,章,Simulink,的应用,7.1 Simulink,工作平台的启动,7.2 Simulink,仿真原理,7.3 Simulink,模块库,7.4,仿真模型的建立和模块参数及属性的设置,7.5,其他应用模块集及,Simulink,扩展库,7.1 Simulink,工作平台,启动,Simulink,,通常有两种方法:,(,1,)在,MATLAB,命令窗口中直接输入,Simulink,命令;,(,2,)在,MATLAB,工具栏上单击,Simulink,按钮,如图,7.1,所示。,图,7.1,启动,Simulink,这样就可打开了,Simulink,的,Simulink Library Brower(,库模块浏览器,),,如图,7.2,所示。在菜单栏中执行,File/New/Model,命令,就建立了一个名为,untitled,的模型窗口,如图,7.3,所示。在建立了空的模块窗口后,用户可以在此窗口中创建自己需要的,Simulink,模型。,图,7.2,库模块浏览器,图,7.3,新建的空白模块窗口,7.2,Simulink,的仿真原理,7.2.1 Simulink,仿真模块,通常,,Simulink,仿真系统包括输入,(Input),、状态,(states),和输出,(Output),三个部分。,输入模块,:即信号源模块,包括常数字信号源和用户自定义信号;,状态模块,:即被模拟的系统模块,是系统建模的核心和主要部分;,输出模块,:即信号显示模块,它能够以图形方式、文件格式进行显示。,注意,:在设计一个模型时,必须先确定这三个部分的意,以及它们之间的联系;,Simulink,的仿真模型并非一定要完全包括这三个部分,它可以缺少其中一个或者两个;,Simulink,的状态模块可以是连续的、离散的,或者它们二者的结合。,7.2.2 Simulink,仿真过程,1,初始化阶段, 对模型的参数进行估计,得到它们实际计算的值。, 展开模型的各个层次;, 按照更新的次序对模型进行排序;, 确定那些显式化的信号属性,并检查每个模块是否能够接受连接它们输入端的信号;, 确定所有非显式的信号采样时间模块的采样时间;, 分配和初始化存储空间,以便存储每个模块的状态和当前值的输出。,2,模型执行阶段,模型仿真是通过数值积分来进行完成的,计算数值积分可以采用以下两步来进行:, 按照秩序计算每个模块的积分;, 根据当前输入和状态来决定状态的微分,得到微分矢量,然后把它返回给解法器,以计算下一个采样点的状态矢量。在每一个时间步中,,Simulink,依次解决下列问题:,按照秩序更新模块的输出;,按照秩序更新模块的状态;,检查模块连续状态的不连续点;,计算下一个仿真时间步的时间。,7.3.1,连续模块库,(Continuous),在连续模块,(Continuous),库中包括了常见的连续模块,这些模块如图所示。,7.3 Simulink,模块库,在库模块浏览器中单击,Simulink,前面的,“,+”,号,就能够看到,Simulink,的模块库,如图,7.2,所示。,4.,传递函数模块,(Transfer Fcn),功能:,用执行一个线性传递函数。,5.,零极点传递函数模块,(Zero-Pole),功能:,用于建立一个预先指定的零点、极点,并用延迟算子,s,表示的连续。,6,存储器模块,(Memory),功能:,保持输出前一步的输入值。,7,传输延迟模块,(Transport Delay),功能:,用于将输入端的信号延迟指定的时间后再传输给输出信号。,8,可变传输延迟模块,(Variable Transport Delay),功能:,用于将输入端的信号进行可变时间的延迟。,1.,积分模块,(Integrator),:,功能:,对输入变量进行积分。说明:模块的输入可以是标量,也可以是矢量;输入信号的维数必须与输入信号保持一致。,2.,微分模块,(Derivative),功能:,通过计算差分,u/,t,近似计算输入变量的微分。,3.,线性状态空间模块,(State-Space),功能:,用于实现以下数学方程描述的系统:,7.3.2,离散模块库,(Discrete),离散模块库,(Discrete),主要用于建立离散采样的系统模型,包括的主要模块,如图所示。,1,零阶保持器模块,(Zero-Order-Hold),功能:,在一个步长内将输出的值保持在同一个值上。,2,单位延迟模块,(Unit Delay),功能:,将输入信号作单位延迟,并且保持一个采样周期相当于时间算子,z,-1,。,3,离散时间积分模块,(Discrete Time Integrator),功能:,在构造完全离散的系统时,代替连续积分的功能。使用的积分方法有:向前欧拉法、向后欧拉法、梯形法。,4,离散状态空间模块,(Discrete State Space),功能:,用于实现如下数学方程描述的系统:,5,离散滤波器模块,(Discrete Filter),功能:,用于实现无限脉冲响应,(IIR),和有限脉冲响应,(FIR),的数字滤波器。,6,离散传递函数模块,(Discrete Transfer Fcn),功能:,用于执行一个离散传递函数。,7,离散零极点传递函数模块,(Discrete Zero-Pole),功能:,用于建立一个预先指定的零点、极点,并用延迟算子,z,-1,表示的离散系统。,8,一阶保持器模块,(First Order Hold),功能:,在一定时间间隔内保持一阶采样。,7.3.3,函数与表格模块库,(Function & Table),函数与表格模块库,(Function & Table),主要实现各种一维、二维或者更高维函数的查表,另外用户还可以根据自己需要创建更复杂的函数。该模块库包括多个主要模块、如图,7.7,所示。,1.,一维查表模块,(Look-Up Table),一维查表模块,(Look-Up Table),实现对单路输入信号的查表和线性插值。,2,二维查表模块,(Look-Up Table 2-D),功能:,根据给定的二维平面网格上的高度值,把输入的两个变量经过查表、插值,计算出模块的输出值,并返回这个值。,说明:对二维输入信号进行分段线性变换。,3,自定义函数模块,(Fcn),功能:,用于将输入信号进行指定的函数运算,最后计算出模块的输出值。,说明:输入的数学表达式应符合,C,语言编程规范;与,MATLAB,中的表达式有所不同,不能完成矩阵运算。,4,MATLAB,函数模块,(MATLAB Fcn),功能:,对输入信号进行,MATLAB,函数及表达式的处理。,说明:模块为单输入模块;能够完成矩阵运算。,注意:从运算速度角度,,Math function,模块要比,Fcn,模块慢。当需要提高速度时,可以考虑采用,Fcn,或者,S,函数模块。,5,S-,函数模块,(S-Function),功能:,按照,Simulink,标准,编写用户自己的,Simulink,函数。它能够将,MATLAB,语句、,C,语言等编写的函数放在,Simulink,模块中运行,最后计算模块的输出值。,7.3.4,数学模块库,(Math),数学模块库,(Math),包括多个数学运算模块,如图,7.8,所示。,3.,矢量的点乘模块,(Dot Product),功能:,矢量的点乘模块,(Dot Product),用于实现输入信号的点积运算。,4.,增益模块,(Gain),功能:,增益模块,(Gain),的作用是把输入信号乘以一个指定的增益因子,使输入产生增益。,1.,求和模块,(Sum),功能:,求和模块,(Sum),用于对多路输入信号进行求和运算,并输出结果。,2.,乘法模块,(Product),功能:,乘法模块,(Product),用于实现对多路输入的乘积、商、矩阵乘法或者模块的转置等。,5.,常用数学函数模块,(Math Function),功能:,用于执行多个通用数学函数,其中包含,exp,、,log,、,log10,、,square,、,sqrt,、,pow,、,reciprocal,、,hypot,、,rem,、,mod,等。,6.,三角函数模块,(Trigonometric Function),功能:,用于对输入信号进行三角函数运算,共有,10,种三角函数供选择。,7.,特殊数学模块,特殊数学模块中包括求最大最小值模块,(MinMax),、取绝对值模块,(Abs),、符号函数模块,(Sign),、取整数函数模块,(Rounding Function),等。,8.,数字逻辑函数模块,数字逻辑函数模块包括复合逻辑模块,(Combinational Logic),、逻辑运算符模块,(Logical Operator),、位逻辑运算符模块,(Bitwise Logical Operator),等。,9.,关系运算模块,(Relational Operator),关系符号包括:,=(,等于,),、,(,不等于,),、,(,小于,),、,(,大于,),、,=(,大于等于,),等。,10.,复数运算模块,复数运算模块包括计算复数的模与幅角,(Complex to Magnitude-Angle),、由模和幅角计算复数,(Magnitude-Angle to Complex),、提取复数实部与虚部模块,(Complex to Real and Image),、由复数实部和虚部计算复数,(Real and Image to Complex),。,非线性模块,(Nonlinear),非线性模块,(Nonlinear),中包括一些常用的非线性模块,如图,7.9,所示。,1.,比率限幅模块,(Rate Limiter),功能:,用于限制输入信号的一阶导数,使得信号的变化率不超过规定的限制值。,2,饱和度模块,(Saturation),功能:,用于设置输入信号的上下饱和度,即上下限的值,来约束输出值。,3,量化模块,(Quantizer),功能:,用于把输入信号由平滑状态变成台阶状态。,4,死区输出模块,(Dead Zone),功能:,在规定的区内没有输出值。,5,继电模块,(Relay),功能:,继电模块,(Relay),用于实现在两个不同常数值之间进行切换。,6,选择开关模块,(Switch),功能:,根据设置的门限来确定系统的输出。,7.3.6,信号与系统模块库,(signals &Systems),信号与系统模块库,(signals &Systems),包括的主要模块如图,7.11,所示。,1. Bus,信号选择模块,(Bus Selector),功能:,用于得到从,Mux,模块或其它模块引入的,Bus,信号。,2.,混路器模块,(Mux),功能:,把多路信号组成一个矢量信号或者,Bus,信号。,3.,分路器模块,(Demux),功能:,把混路器组成的信号按照原来的构成方法分解成多路信号。,4.,信号合成模块,(Merge),功能:,把多路信号进行合成一个单一的信号。,5.,接收,/,传输信号模块,(From/Goto),功能:,接收,/,传输信号模块,(From/Goto),常常配合使用,,From,模块用于从一个,Goto,模块中接收一个输入信号,,Goto,模块用于把输入信号传递给,From,模块。,6,初始值设定模块,(IC),功能:,初始值设定模块,(IC),用于设定与输出端口连接的模块的初始值。,7.3.7,信号输出模块,(Sinks),信号输出模块,(Sinks),包括的主要模块如图,7.12,所示。,图,7.12,输出显示模块库,1.,示波器模块,(Scope),功能:,显示在仿真过程中产生的输出信号,用于在示波器中显示输入信号与仿真时间的关系曲线,仿真时间为,x,轴。,2.,二维信号显示模块,(XY Graph),功能:,在,MATLAB,的图形窗口中显示一个二维信号图,并将两路信号分别作为示波器坐标的,x,轴与,y,轴,同时把它们之间的关系图形显示出来。,3.,显示模块,(Display),功能:,按照一定的格式显示输入信号的值。可供选择的输出格式包括:,short,、,long,、,short_e,、,long_e,、,bank,等。,4.,输出到文件模块,(To File),功能:,按照矩阵的形式把输入信号保存到一个指定的,MAT,文件。第一行为仿真时间,余下的行则是输入数据,一个数据点是输入矢量的一个分量。,5.,输出到工作空间模块,(To Workspace),功能:,把信号保存到,MATLAB,的当前工作空间,是另一种输出方式。,6.,终止信号模块,(Terminator),功能:,中断一个未连接的信号输出端口。,7.,结束仿真模块,(Stop simulation),功能:,停止仿真过程。当输入为非零时,停止系统仿真。,信号源模块库,(Sources),信号源模块库,(Sources),包括的主要模块如图,7.13,所示。,图,7.13,信号源模块库,1,输入常数模块,(Constant),功能:,产生一个常数。该常数可以是实数,也可以是复数。,2,信号源发生器模块,(Signal Generator),功能:,产生不同的信号,其中包括:正弦波、方波、锯齿波信号。,3,从文件读取信号模块,(From File),功能:,从一个,MAT,文件中读取信号,读取的信号为一个矩阵,其矩阵的格式与,To File,模块中介绍的矩阵格式相同。如果矩阵在同一采样时间有两个或者更多的列,则数据点的输出应该是首次出现的列。,4,从工作空间读取信号模块,(From Workspace),功能:,从,MATLAB,工作空间读取信号作为当前的输入信号。,5,随机数模块,(Random Number),功能:,产生正态分布的随机数,默认的随机数是期望为,0,,方差为,1,的标准正态分布量。,6,带宽限制白噪声模块,(Band Limited White Noise),功能:,实现对连续或者混杂系统的白噪声输入。,7,其它模块,除以上介绍的常用模块外,还包括其模块。,各模块功能可通过以下方法查看:,先进入,Simulink,工作窗口,在菜单中执行,Help/Simulink Help,命令,这时就会弹出,Help,界面。然后用鼠标展开,Using SimulinkBlock ReferenceSimulink BlockLibraries,就可以看到,Simulink,的所有模块。查看相应的模块的使用方法和说明信息即可。,7.4,仿真模型的建立与模块参数与属性的设置,1.,仿真模块的建立,首先启动,Simulink,命令,建立一个空的模块窗口,“,untitled”,,然后利用,Simulink,提供的模块库,在此窗口中创建自己需要的,Simulink,模型。,具体,方法:,在模块库浏览器中找到所需模块,选中该模块后右击鼠标,把它加入到一个模型窗口中即可完成模块的建立。,图,7.14,添加模块,2.,模块参数与属性的设置,方法:,在所建立的模型窗口中,选中相应的模块,单击右击鼠标,在弹出的快捷菜单中单击“,Block parameters,”,选项,(,如图,7.15,所示,),,即可打开该模块的参数设置对话框,如图,7.16(a),所示。右击鼠标,在弹出的快捷菜单中单击“,Block Properties,”,选项,即可打开该模块的属性设置对话框,如图,7.16(b),所示。,图,7.15 Block paramenters,选项,3.,模块的连接,一般情况下,每个模块都有一个或者多个输入口或者输出口。输入口通常是模块的左边的“,”,符号;输出口是右边的“,”,符号。,模块的连接方法:,把鼠标指针放到模块的输出口,这时,鼠标指针将变为“,+”,十字形;然后,拖运鼠标至其它模块的输入口,这时信号线就变成了带有方向箭头的线段。此时,说明这两个模块的连接成功,否则需要重新进行连接。,4.,运行仿真,在运行仿真之前,首先保存已设置和连接的模型,然后就可以运行仿真。,1. Simulink,仿真注意,(1)Simulink,的数据类型,由于,Simulink,在仿真过程中,始终都要检查模型的类型安全性。模型的类型安全性是指从该模型产生的代码不出现上溢或者下溢现象,当产生溢出现象时,系统将出错误。查看模块的数据类型的方法是:在模型窗口的菜单中执行,Format/Port Data Types,命令,这样每个模块支持的数据类型就显示出来了。要取消数据类型的查看方式,单击,Port Data Types,去掉其前面的勾号即可。,7.4.3 Simulink,仿真注意与技巧,图,7.23,查看模块支持的数据类型,(2),数据的传输,在仿真过程中,,Simulink,首先查看有没有特别设置的信号的数据类型,以及检验信号的输入和输出端口的数据类型是否产生冲突。如果有冲突,,Simulink,将停止仿真,并给出一个出错提示对话框,在此对话框中将显示出错的信号以及端口,并把信号的路径以高亮显示。遇到该情形,必须改变数据类型以适应模块的需要。,(3),提高仿真速度,Simulink,仿真过程,仿真的性能受诸多因素的影响,包括模型的设计和仿真参数的选择等。对于大多数问题,使用,Simulink,系统默认的解法和仿真参数值就能够比较好地解决。,因素及解决方法:,(1),仿真的时间步长太小。针对这种情况可以把最大仿真步长参数设置为默认值,auto,。,(2),仿真的时间过长。可酌情减小仿真的时间。,(3),选择了错误的解法。针对这种情况可以通过改变解法器来解决。,(4),仿真的精度要求过高。仿真时,如果绝对误差限度太小,则会使仿真在接近零的状态附近耗费过多时间。通常,相对误差限为,0.1%,就已经足够了。,(5),模型包含一个外部存储块。尽量使用内置存储模块。,(4),改善仿真精度,检验仿真精度的方法是:通过修改仿真的相对误差限和绝对误差限,并在一个合适的时间跨度反复运行仿真,对比仿真结果有无大的变化,如果变化不大,表示解是收敛的。说明仿真的精度是有效的,结果是稳定的。,如果仿真结果不稳定,其原因可参是系统本身不稳定或仿真解法不适合。如果仿真的结果不精确,其原因很可能是:,(1),模型有取值接近零的状态。如果绝对误差过大,会使仿真在接近零区域运行的仿真时间太小。解决的办法是修改绝对误差参数或者修改初始的状态。,(2),如果改变绝对误差限还不能达到预期的误差限,则修改相对误差限,使可接受的误差降低,并减小仿真的步长。,2. Simulink,仿真技巧,连接分支信号线,先连接好单根信号线,然后将鼠标指针放在已经连接好的信号线上,同时按住“,Ctrl”,键,拖动鼠标,连接到另一个模块。这样就可以根据需由一个信号源模块,引出多条信号线。如图,7.28,所示。,图,7.28,引出多条信号线示例,模块的编辑技巧,(1),调整模块大小,(2),在同一窗口复制模块,(3),删除模块,(4),编辑模块标签,7.5,其它应用模块集和,Simulink,扩展库,1.,通信模块集,(Communications Blockset),图,7.31,通信模块集中的模块库,2,数字信号处理模块集,(DSP Blockset),3.,电力系统模块集,(Power System Blockset),4. Simulink,扩展库,扩展信号输出模块库,(Additional Sinks),图,7.35,扩展信号输出模块库,扩展离散库,(Additional Discrete),扩展线性库,(Additional Linear),图,7.36,扩展离散库,图,7.37,扩展线性库,转换库,(Transformations),图,7.38,转换模块库,触发模块库,(Flip Flops),图,7.39,触发模块库,线性化库,(Linearization),图,7.40,线性化库,宇航模块库,(Airspace Blocks),图,7.41,宇航模块库,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!