第7章:动态系统Simulink建模与仿真



《第7章:动态系统Simulink建模与仿真》由会员分享,可在线阅读,更多相关《第7章:动态系统Simulink建模与仿真(68页珍藏版)》请在文档大全上搜索。
1、第7章:动态系统Simulink建模与仿真本章内容:Simulink工具箱简介Simulink建模与仿真基本方法 动态系统Simulink仿真模型的建立 Simulink子系统技术S-函数与Simulink仿真 *模糊逻辑工具箱简介7.1 Simulink工具箱简介7.1.1 Simulink工具箱简介 Simulink是Simulation(仿真)与link(连接)的简写形式,它提供一个动态系统建模、仿真和综合分析的集成环境 ,是MATLAB最重要的组件之一,也是其它仿真工具箱的可视化仿真平台 。优点:建模方便灵活, 适用面广, 结构和流程清晰, 效率高等。 1 Simulink启动(1)在
2、MATLAB命令窗口输入“simulink”命令。(2)单击MATLAB主窗口左下角的“Start”按钮,在弹出的快捷菜单中单击【Simulink】【Library Browser】命令。(3)单击MATLAB主窗口工具栏里的工具。7.1.2 Simulink组成组成图7-1 Simulink窗口界面Commonly Used Blocks(常用模块库)Continuous(连续系统模块库)Discontinuous(非连续系统模块库)Discrete(离散系统模块库)Logic and Bit Operations(逻辑与位操作模块库)Lookup Tables(查询表模块库)Math Op
3、erations(数学操作模块库)Model Verification(模型验证模块库)2 Simulink模块库组件模块库组件 Simulink7.1模块库共包含16个子模块库,它们是:Model-Wide Utility,Ports & Subsystems(接口与子系统模块库),Signal Attributes(信号属性模块库)Signal Routing(信号路由模块库)Sinks(输出模块库)Sources(信号源模块库)User-Defined Functions(用户自定义模块库)Additional Math & Discrete (附加数学和离散系统模块库) 是为了加快建模
4、速度,节省建模过程中寻找模块的时间而将最常用的基本模块集中放在一起形成的,在初学Simulink建模与仿真时,是使用最为频繁的模块库。 (1) Commonly Used Blocks(常用模块库)图7-2v常用模块库包括总线信号生成器(Bus Creator)模块、总线信号选择器(Bus Selector)模块、常数模块(Constant)、数据类型转换(Data Type Conversion)模块,信号分离器(Demux)模块,离散时间积分(Discrete-Time Integrator)模块,增益(Gain)模块,信号地(Ground)模块,输入接口(In1)模块,积分(Integr
5、ator)模块,逻辑操作(Logic Operator)模块,信号合成器(Mux)模块,输出接口(Out1)模块,乘法(Product)模块,关系操作(Relational Operator)模块,饱和(Saturation)模块,示波器(Scope)模块,子系统(Subsystem)模块,求和模块(Sum),开关转换模块(Switch),信号终端(Terminator)模块,单位延迟(Unit Delay)模块。 连续系统(Continuous)模块库提供了连续系统Simulink建模与仿真的基本模块,有: 微分环节模块(Derivative),积分环节模块(Integrator),状态空间
6、模型(State-space),传递函数功能模块(Transfer Fun),传输延迟模块(Transport Delay),可变时间延迟模块(Veriable Transport Delay),可变传输延迟模块(Veriable Transport Delay)零极点增益模块(Zero-Pole) (2) 连续系统模块库连续系统模块库 图7-3v非连续系统模块库(DisContinity)在以前版本中也称为非线性模块库,包含一些常用的非线性运算模块,主要包括: (3) 非连续系统模块库非连续系统模块库 饱和非线性模块(Saturation)死区非线性模块(Dead Zone)变化率限幅模块(
7、Rate Limiter)变化率动态限幅模块(Rate Limiter Dynamic)用于设置饱和输出上下限。动态饱和非线性模块(Saturation Danymic)可以根据输入端口Up和Lo的设定值动态设置输出的上限和下限。用于设定死区区间。动态死区非线性模块(Dead Zone Danymic)可以根据输入端口Up和Lo的设定值动态设置死区区间。用于设置信号输出变化率限幅,即:上升变化率限幅(Rising slew rate)和下降变化率限幅(Falling slew rate)。可以根据输入端口Up和Lo的设定值动态设置信号上升变化率限幅参数R和下降变化率限幅参数L。磁滞回环模块(B
8、acklash):建立间隙模型。继电模块(Relay)量化模块(Quantizer):用于输入信号的量化处理。穿越值检测模块(Hit Crossing):库仑与黏性摩擦(Coulomb & Viscous Friction):返回零模块(Wrap to Zero)继电模块输出值可以在两个设定值之间切换。当继电器吸合时,它保持吸合状态输出直到输入信号值小于继电断开值(Switch off point)。当继电器分离时,它保持分离状态输出直到输入信号值大于继电吸合值(Switch on point)。可按设定的穿越检测方向(Hit crossing direction)检测信号达到设定值的时间。此
9、时输出一个正脉冲。在零值为不连续点,在其它值为连续线性增益。当输入信号值超过设定的极限值(Threshold),输出信号返回到零值。单位延迟模块(Unit Delay):延迟一个采样周期整数延迟模块(Integer Delay):延迟输入N个采样周期,N为自然数。触发延迟模块(Tapped Delay):延迟N个采样周期后并输出全部的输入信息。离散时间积分器(Discrete-Time Integrator):离散积分器模块可以代替积分器用来建立纯离散采样系统。在离散积分器模块参数对话框里,可以设定初始状态值、增益值、输出饱和值。离散传递函数功能模块(Discrete Transfer Fcn
10、):可以建立离散传递函数模型。离散滤波器模块(Discrete Filter):用于建立离散系统滤波器仿真模型。离散零极点增益模型(Discrete Zero-Pole):使用零点、极点、增益值建立离散系统的零极点增益模型。离散微分模块(Difference):输出当前输入信号值与前一个采样值之差。派生离散微分模块(Discrete Derivative):模块的输出值按下式计算:(3)离散系统模块库)离散系统模块库离散系统模块库主要包括用于建立离散采样系统的模块 ,包括:图7-4离散状态空间模型(Discrete State-Space):离散状态空间模型实现下面系统模型 一阶离散传递函数功
11、能模块(Transfer Fcn First Order):用于建立一阶的离散传递函数模型。传递函数引导或终止模块(Transfer Fcn Lead or Lag):用于实现输入信号的离散时间引导或终止补偿。实数零点传递函数功能模块(Transfer Fcn Real Zero):用于实现具有一个实数零点而无极点的传递函数模型。加权滑动平均模块(Weighted Moving Average):模块采样并保持最近N个输入信号,并根据设定的权重参数值(weights)计算它们的平均值。该模块适用于SISO系统或SIMO系统模型。记忆模块(Memory):输出前一时刻的输入信号值。一阶保持器(F