收藏 分享(赏)

Simulink模块库.ppt

上传人:精品资料 文档编号:10569455 上传时间:2019-11-30 格式:PPT 页数:31 大小:774.50KB
下载 相关 举报
Simulink模块库.ppt_第1页
第1页 / 共31页
Simulink模块库.ppt_第2页
第2页 / 共31页
Simulink模块库.ppt_第3页
第3页 / 共31页
Simulink模块库.ppt_第4页
第4页 / 共31页
Simulink模块库.ppt_第5页
第5页 / 共31页
点击查看更多>>
资源描述

1、7.3.1 连续模块库(Continuous)在连续模块(Continuous)库中包括了常见的连续模块,这些模块如图所示。,7.3 Simulink模块库,在库模块浏览器中单击Simulink前面的“+”号,就能够看到Simulink的模块库,如图7.2所示。,4. 传递函数模块(Transfer Fcn) 功能:用执行一个线性传递函数。 5. 零极点传递函数模块(Zero-Pole) 功能:用于建立一个预先指定的零点、极点,并用延迟算子s表示的连续。 6存储器模块(Memory) 功能:保持输出前一步的输入值。 7传输延迟模块(Transport Delay) 功能:用于将输入端的信号延迟

2、指定的时间后再传输给输出信号。 8可变传输延迟模块(Variable Transport Delay) 功能:用于将输入端的信号进行可变时间的延迟。,1. 积分模块(Integrator): 功能:对输入变量进行积分。说明:模块的输入可以是标量,也可以是矢量;输入信号的维数必须与输入信号保持一致。 2. 微分模块(Derivative) 功能:通过计算差分u/ t近似计算输入变量的微分。 3. 线性状态空间模块(State-Space) 功能:用于实现以下数学方程描述的系统:,7.3.2 离散模块库(Discrete)离散模块库(Discrete)主要用于建立离散采样的系统模型,包括的主要模块

3、,如图所示。,1零阶保持器模块(Zero-Order-Hold) 功能:在一个步长内将输出的值保持在同一个值上。,2单位延迟模块(Unit Delay) 功能:将输入信号作单位延迟,并且保持一个采样周期相当于时间算子z-1 。 3离散时间积分模块(Discrete Time Integrator) 功能:在构造完全离散的系统时,代替连续积分的功能。使用的积分方法有:向前欧拉法、向后欧拉法、梯形法。 4离散状态空间模块(Discrete State Space) 功能:用于实现如下数学方程描述的系统:,5离散滤波器模块(Discrete Filter) 功能:用于实现无限脉冲响应(IIR)和有限

4、脉冲响应(FIR)的数字滤波器。 6离散传递函数模块(Discrete Transfer Fcn) 功能:用于执行一个离散传递函数。 7离散零极点传递函数模块(Discrete Zero-Pole) 功能:用于建立一个预先指定的零点、极点,并用延迟算子z-1表示的离散系统。 8一阶保持器模块(First Order Hold) 功能:在一定时间间隔内保持一阶采样。,7.3.3 函数与表格模块库(Function & Table)函数与表格模块库(Function & Table)主要实现各种一维、二维或者更高维函数的查表,另外用户还可以根据自己需要创建更复杂的函数。该模块库包括多个主要模块、如

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

6、号进行MATLAB函数及表达式的处理。 说明:模块为单输入模块;能够完成矩阵运算。 注意:从运算速度角度,Math function模块要比Fcn模块慢。当需要提高速度时,可以考虑采用Fcn 或者S函数模块。 5S-函数模块(S-Function) 功能:按照Simulink标准,编写用户自己的Simulink函数。它能够将MATLAB语句、C语言等编写的函数放在Simulink模块中运行,最后计算模块的输出值。,7.3.4 数学模块库(Math)数学模块库(Math)包括多个数学运算模块,如图7.8所示。,3. 矢量的点乘模块(Dot Product) 功能:矢量的点乘模块(Dot Prod

7、uct)用于实现输入信号的点积运算。 4. 增益模块(Gain) 功能:增益模块(Gain)的作用是把输入信号乘以一个指定的增益因子,使输入产生增益。,1. 求和模块(Sum) 功能:求和模块(Sum)用于对多路输入信号进行求和运算,并输出结果。 2. 乘法模块(Product) 功能:乘法模块(Product)用于实现对多路输入的乘积、商、矩阵乘法或者模块的转置等。,5. 常用数学函数模块(Math Function) 功能:用于执行多个通用数学函数,其中包含exp、log、log10、square、sqrt、pow、reciprocal、hypot、rem、mod等。,6. 三角函数模块(

8、Trigonometric Function) 功能:用于对输入信号进行三角函数运算,共有10种三角函数供选择。 7. 特殊数学模块特殊数学模块中包括求最大最小值模块(MinMax)、取绝对值模块(Abs)、符号函数模块(Sign)、取整数函数模块(Rounding Function)等。 8. 数字逻辑函数模块数字逻辑函数模块包括复合逻辑模块(Combinational Logic)、逻辑运算符模块(Logical Operator)、位逻辑运算符模块(Bitwise Logical Operator)等。 9. 关系运算模块(Relational Operator)关系符号包括:=(等于)

9、、(不等于)、(大于)、=(大于等于)等。,10. 复数运算模块复数运算模块包括计算复数的模与幅角(Complex to Magnitude-Angle)、由模和幅角计算复数(Magnitude-Angle to Complex)、提取复数实部与虚部模块(Complex to Real and Image)、由复数实部和虚部计算复数(Real and Image to Complex)。,7.3.5非线性模块(Nonlinear) 非线性模块(Nonlinear)中包括一些常用的非线性模块,如图7.9所示。,1. 比率限幅模块(Rate Limiter) 功能:用于限制输入信号的一阶导数,使得

10、信号的变化率不超过规定的限制值。 2饱和度模块(Saturation) 功能:用于设置输入信号的上下饱和度,即上下限的值,来约束输出值。 3量化模块(Quantizer) 功能:用于把输入信号由平滑状态变成台阶状态。,4死区输出模块(Dead Zone) 功能:在规定的区内没有输出值。 5继电模块(Relay) 功能:继电模块(Relay)用于实现在两个不同常数值之间进行切换。 6选择开关模块(Switch) 功能:根据设置的门限来确定系统的输出。,7.3.6 信号与系统模块库(signals &Systems) 信号与系统模块库(signals &Systems)包括的主要模块如图7.11所

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)

12、功能:初始值设定模块(IC)用于设定与输出端口连接的模块的初始值。,7.3.7 信号输出模块(Sinks)信号输出模块(Sinks)包括的主要模块如图7.12所示。,图7.12 输出显示模块库,1. 示波器模块(Scope) 功能:显示在仿真过程中产生的输出信号,用于在示波器中显示输入信号与仿真时间的关系曲线,仿真时间为x轴。 2. 二维信号显示模块(XY Graph) 功能:在MATLAB的图形窗口中显示一个二维信号图,并将两路信号分别作为示波器坐标的x轴与y 轴,同时把它们之间的关系图形显示出来。 3. 显示模块(Display) 功能:按照一定的格式显示输入信号的值。可供选择的输出格式包

13、括:short、long、short_e、long_e、bank等。,4. 输出到文件模块(To File) 功能:按照矩阵的形式把输入信号保存到一个指定的MAT文件。第一行为仿真时间,余下的行则是输入数据,一个数据点是输入矢量的一个分量。 5. 输出到工作空间模块(To Workspace) 功能:把信号保存到MATLAB的当前工作空间,是另一种输出方式。 6. 终止信号模块(Terminator) 功能:中断一个未连接的信号输出端口。 7. 结束仿真模块(Stop simulation) 功能:停止仿真过程。当输入为非零时,停止系统仿真。,7.3.8 信号源模块库(Sources) 信号源

14、模块库(Sources)包括的主要模块如图7.13所示。,图7.13 信号源模块库,1输入常数模块(Constant) 功能:产生一个常数。该常数可以是实数,也可以是复数。 2信号源发生器模块(Signal Generator) 功能:产生不同的信号,其中包括:正弦波、方波、锯齿波信号。 3从文件读取信号模块(From File) 功能:从一个MAT文件中读取信号,读取的信号为一个矩阵,其矩阵的格式与To File模块中介绍的矩阵格式相同。如果矩阵在同一采样时间有两个或者更多的列,则数据点的输出应该是首次出现的列。,4从工作空间读取信号模块(From Workspace) 功能:从MATLAB

15、工作空间读取信号作为当前的输入信号。 5随机数模块(Random Number) 功能:产生正态分布的随机数,默认的随机数是期望为0,方差为1的标准正态分布量。 6带宽限制白噪声模块(Band Limited White Noise) 功能:实现对连续或者混杂系统的白噪声输入。 7其它模块除以上介绍的常用模块外,还包括其模块。各模块功能可通过以下方法查看:先进入Simulink工作窗口,在菜单中执行Help/Simulink Help命令,这时就会弹出Help界面。然后用鼠标展开Using SimulinkBlock ReferenceSimulink BlockLibraries就可以看到S

16、imulink的所有模块。查看相应的模块的使用方法和说明信息即可。,7.4 仿真模型的建立与模块参数与属性的设置,1. 仿真模块的建立首先启动Simulink命令,建立一个空的模块窗口“untitled” ,然后利用Simulink提供的模块库,在此窗口中创建自己需要的Simulink模型。具体方法:在模块库浏览器中找到所需模块,选中该模块后右击鼠标,把它加入到一个模型窗口中即可完成模块的建立。,图7.14添加模块,2. 模块参数与属性的设置方法:在所建立的模型窗口中,选中相应的模块,单击右击鼠标,在弹出的快捷菜单中单击“Block parameters”选项(如图7.15所示),即可打开该模

17、块的参数设置对话框,如图7.16(a)所示。右击鼠标,在弹出的快捷菜单中单击“Block Properties”选项,即可打开该模块的属性设置对话框,如图7.16(b)所示。,图7.15 Block paramenters选项,3.模块的连接,一般情况下,每个模块都有一个或者多个输入口或者输出口。输入口通常是模块的左边的“”符号;输出口是右边的“”符号。模块的连接方法:把鼠标指针放到模块的输出口,这时,鼠标指针将变为“+”十字形;然后,拖运鼠标至其它模块的输入口,这时信号线就变成了带有方向箭头的线段。此时,说明这两个模块的连接成功,否则需要重新进行连接。,4.运行仿真在运行仿真之前,首先保存已

18、设置和连接的模型,然后就可以运行仿真。,1. Simulink仿真注意 (1)Simulink的数据类型由于Simulink在仿真过程中,始终都要检查模型的类型安全性。模型的类型安全性是指从该模型产生的代码不出现上溢或者下溢现象,当产生溢出现象时,系统将出错误。查看模块的数据类型的方法是:在模型窗口的菜单中执行Format/Port Data Types命令,这样每个模块支持的数据类型就显示出来了。要取消数据类型的查看方式,单击Port Data Types去掉其前面的勾号即可。,7.4.3 Simulink仿真注意与技巧,图7.23 查看模块支持的数据类型,(2) 数据的传输在仿真过程中,S

19、imulink首先查看有没有特别设置的信号的数据类型,以及检验信号的输入和输出端口的数据类型是否产生冲突。如果有冲突,Simulink将停止仿真,并给出一个出错提示对话框,在此对话框中将显示出错的信号以及端口,并把信号的路径以高亮显示。遇到该情形,必须改变数据类型以适应模块的需要。,(3)提高仿真速度Simulink仿真过程,仿真的性能受诸多因素的影响,包括模型的设计和仿真参数的选择等。对于大多数问题,使用Simulink系统默认的解法和仿真参数值就能够比较好地解决。因素及解决方法: (1)仿真的时间步长太小。针对这种情况可以把最大仿真步长参数设置为默认值auto。 (2)仿真的时间过长。可酌

20、情减小仿真的时间。 (3)选择了错误的解法。针对这种情况可以通过改变解法器来解决。 (4)仿真的精度要求过高。仿真时,如果绝对误差限度太小,则会使仿真在接近零的状态附近耗费过多时间。通常,相对误差限为0.1%就已经足够了。 (5)模型包含一个外部存储块。尽量使用内置存储模块。,(4)改善仿真精度检验仿真精度的方法是:通过修改仿真的相对误差限和绝对误差限,并在一个合适的时间跨度反复运行仿真,对比仿真结果有无大的变化,如果变化不大,表示解是收敛的。说明仿真的精度是有效的,结果是稳定的。 如果仿真结果不稳定,其原因可参是系统本身不稳定或仿真解法不适合。如果仿真的结果不精确,其原因很可能是: (1)模

21、型有取值接近零的状态。如果绝对误差过大,会使仿真在接近零区域运行的仿真时间太小。解决的办法是修改绝对误差参数或者修改初始的状态。 (2)如果改变绝对误差限还不能达到预期的误差限,则修改相对误差限,使可接受的误差降低,并减小仿真的步长。,2. Simulink仿真技巧 连接分支信号线先连接好单根信号线,然后将鼠标指针放在已经连接好的信号线上,同时按住“Ctrl”键,拖动鼠标,连接到另一个模块。这样就可以根据需由一个信号源模块,引出多条信号线。如图7.28所示。,图7.28 引出多条信号线示例,模块的编辑技巧 (1)调整模块大小(2)在同一窗口复制模块 (3)删除模块 (4)编辑模块标签,7.5

22、其它应用模块集和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 宇航模块库,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报