SIMULINK仿真基础
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 动态斜率限制模块(Rate Limiter Dynamic):类似于斜率 限制模块,上下限可由外部信号确定。
4、Logic and Bit Operations(逻辑运算模块组)
• 逻辑运算模块(Logical Operator) • 关系运算符(Relational Operator) • 区间测试模块(Interval Test)和动态区间测试模块
可变时间延迟模块(Variable Transport Delay):输入信号 延时一个可变时间再输出
2、 Discrete(离散模块组)
• 单位延迟模块(Unit Delay):一个采样周期的延时 • 积分延迟(Integer Delay):对信号进行N步信号延迟 • 离散时间积分模块(Discrete-time Integrator):离散信号
• 死区模块(Dead Zone):可以设置死区开始和结束的时间, 在此时间段内输出信号为零。
• 斜率限制模块(Rate Limiter):控制线性信号变化的速率 • 动态饱和模块(Saturation Dynamic):类似于饱和模块,
上下限可由外部信号确定。
• 动态死区模块(Dead Zone Dynamic):类似于死区模块, 上下限可由外部信号确定。
( Interval Test Dynamic):都是判断输入是否属于某个 区间。 • 组合逻辑模块(Combinatorial Logic)、较零模块 ( Compare to Zero)、比较常数模块( Compare to Constant) • 二进制置1模块(Bit Set);二进制清零模块(Bit Clear) • 二进制逻辑运算(Bitwise Operator):将输入的二进制与 给定的二进制数的对应位置进行逻辑运算 • 移位运算(Shift Arithmetic) • 二进制数截取模块(Extract Bits) • 检测减小模块(Detect Decrease)、检测增加模块 ( Detect Increase )、检测变化模块(Detect Change)
• 在视觉上表现为直观的方框图; • 在文件上则是扩展名为 mdl 的ASCII代码; • 在数学上表现为一组微分方程或差分方程; • 在行为上则模拟了实际系统的动态特性 。
SIMULINK 模型通常包含三种 “组件”:
• 信源( Sources):可以是常数、时钟、白噪声、正弦波、阶梯波、扫频 信号、脉冲生成器、随机数产生器等信号源; • 系统( System):即指被研究系统的 SIMULINK 方框图; • 信宿( Sink):可以是示波器、图形记录仪等。
• 切换模块(Switch):通过第二个端口设置限制,在第一 个和第三个端口间转换。
• 多端口切换模块(Multiport Switch):第一个端口是控 制端口,其余的是数据端口。通过第一个端口来选择要输 出的输入端口。
• Data Store Read, Data Store Memory和 Data Store Write: 对数据进行读取、存储和写入到内存的模块
10、Sinks(信号接受模块组)
• 输出到工作空间模块( Out1):用来反映整个系统的输出端,在系统 直接仿真时,这样的输出将自动在Matlab工作空间中生成变量。
• 终结模块(Terminator):用来终结输出信号,在仿真时可以避免 由于某些模块的输出端无连接而导致的警告。
• 输出数据到文件模块(To File):将模块输入的数据输出到.mat文 件当中
Ports &Subsystems(端口与子系统模块组) Signal Routing(信号通道模块组)
Sinks(信号接受模块组) Sources(信号源模块组)
1、 Continuous (连续模块组)
积分模块(Integrator):输入信号数值积分 微分模块(Derivative):输入信号数值微分 状态空间模块(State-Space):线性状态空间系统模型 传递函数模块(Transfer-Fcn):线性传递函数模型 零极点模块(Zero-Pole):以零极点表示的传递函数模型 时间延迟模块(Transport Delay):输入信号延时一个固定 时间再输出
• 输出数据到工作空间模块(To Workspace):将模块输入的数据输 出到工作空间当中
• 示波器模块(Scope):将信号输入到示波器中显示出来。 • X-Y示波器模块(XY Graph):将两路信号分别作为示波器的两
个坐标轴,以显示信号的相轨迹。
• 显示数据模块(Display):将输入信号以数字形式显示出来 • 终止仿真模块(Stop Simulation) :若输入为非零,则强制终止仿真。
• 偏置模块(Bias):在输入数据的基础上加上一个偏置常数, 然后输出。
• 增益模块(Gain)与滑块增益模块(Slider Gain):在输入信 号基础上乘以一个设定的数据,然后输出。
• 叉乘模块(Product)和叉除模块(Divide)、元素相乘 (Product of Elements)
• 点乘模块(Dot Product) • 符号函数(Sign)、绝对值模块(Abs)、取反模块(Unary
• 由复数输入转为实部和虚部输出(Complex to Real-Imag) 和由实部和虚部输入转为复数输出(Real-Imag to Complex)
8、Ports &Subsystems(端口与子系统模块组)
• 空白子系统(Subsystem, Atomic Subsystem, CodeReuse Subsystem):允许用户在其间绘制所需的子系统模型
• 直接查表模块(Direct Look-Up Table (n-D)):通过输入 元素所在的位置,也就是索引,来输出结果
6、 Math Operations(数学运算模块组)
• 求和模块(Sum)、相加模块(Add)、相减模块( Subtract )、 元素求和模块(Sum of Elements):对输入进行相加或相减
第一节 SIMULINK简介
一、什么是SIMULINK
SIMULINK是MATLAB软件的扩展,它是实现动态系统建模 和仿真的一个软件包,其文件类型为.mdl,它与MATLAB语言 的主要区别在于,其与用户交互接口是基于Windows的模型化 图形输入,其结果是使得用户可以把更多的精力投入到系统模 型的构建,而非语言的编程上。
二、SIMULINK的启动
1、在MATLAB命令窗口中输入simulink 结果是在桌面上出现一个称为Simulink Library Browser的窗 口,在这个窗口中列出了按功能分类的各种模块的名称。 当然用户也可以通过MATLAB主窗口的快捷按钮来打开 Simulink Library Browser窗口。
5、 Lookup Tables(查表模块组)
• 一维查表模块(Look-Up Table):给出一组坐标参考值, 则输入量经过查表和插值计算出输出值返回。
• 二维查表模块(Look-Up Table(2-D)):给出一组二维平 面的高度值,则输入两个量经过查表和插值计算出输出值 返回。
• 动态查表模块( Look-Up Table Dynamic):功能类似上 面的模块,只是查表的参考数据是动态输入的。
• 多项式运算模块(Polynomial) • 最值运算模块(MinMax):对输入信号取最大值和最小
值
• 三角函数模块(Trigonometric):包括正弦、余弦、正切 等
• 正弦波模块(Sine Wave):可设置幅值、相角和频率 • 矩阵串联模块(Matrix Concatenation):对输入数据进
所谓模型化图形输入是指SIMULINK提供了一些按功能分类 的基本的系统模块,用户只需要知道这些模块的输入输出及模 块的功能,而不必考察模块内部是如何实现的,通过对这些基 本模块的调用,再将它们连接起来就可以构成所需要的系统模 型(以.mdl文件进行存取),进而进行仿真与分析。
SIMULINK 模型有以下几层含义:
11、Sources(信号源模块组)
• 输入端口模块(In1):用来反映整个系统的输入端,在 模型线性化与命令行仿真时,这个设置非常有用,可作为 信号输入。
• 接地模块(Ground):用于表示零输入模块。 • 从文件中输入数据模块(From File) • 从工作空间输入数据模块(From Workspace) • 常数模块(Constant):产生不变常数 • 信号发生器模块(Signal Generator):可产生正弦、方
波、锯齿等信号,并可设置幅值和频率。 • 脉冲发生器模块(Pulse Generator):产生脉冲信号,可
设置幅值、周期和宽度等参数。 • 斜坡信号模块(Ramp)、正弦波信号模块(Sine Wave)、
行串联,有两种方式:水平串联和竖直串联
7、 Math Operations(数学运算模块组)(续)
• 修改矩阵维数模块(Reshape)
• 由复数输入转为幅值和相角输出(Complex to MagnitudeAngle)和由幅值和相角输入转为复数输出(MagnitudeAngle to Complex)
• 触发子系统(Triggered Subsystem),使能子系统 (Enabled Subsystem),触发和使能子系统(Enabled and Triggered Subsystem):分别在触发信号发生时,使 能信号发生时,以及使能和触发信号同时发生时,子系统 可以工作
• 结构控制子系统(For Iterator Subsystem, While Iterator Subsystem):都是程序控制子系统
Minus)
7、 Math Operations(数学运算模块组)(续)
• 数学函数模块(Math Function):包括指数函数、对数 函数、求平方、开根号等常用数学函数
• 舍入取整模块(Rounding Function):对输入数据进行 舍入操作,包括floor、ceil、round和fix
• 转向控制子系统(If Action Subsystem, Switch Case Action Subsystem):通过条件判断,转向制定的子系统。
9、Signal Routing(信号通道模块组)
• 混路器(Mux):将多路信号依照向量的形式混合成一路 信号。
• 分路器(Demux):将混合成的一路信号依照原来顺序分 解成多路信号。
积分 • 离散传递函数模块(Discrete Transfer-Fcn):离散传递函
数模型 • 离散滤波器(Discrete Filter):离散滤波器 • 离散零极点(Discrete Zero-Pole):以零极点表示的离散传
递函数模型 • 差分模块(DFra Baidu bibliotekfference):计算一步内信号的变化 • 记忆模块(Memory):输出前一时刻的输入
2、 Discrete(离散模块组)(续)
• 零阶保持器(Zero-Order Hold):在计算步长内使输出值 保持相同
• 一阶保持器(First-Order Hold):在计算步长内,按照一 阶插值的方法进行插值,然后输出
3、 Discontinuities(非连续模块组)
• 饱和模块(Saturation):可设置模块的上下限,当信号超 过上限时,用上限代替,当信号小于下限时,用下限代替。
2、在MATLAB命令窗口中输入simulink3 结果是在桌面上出现一个用图标形式显示的Library :simulink3 的Simulink模块库窗口。
三、SIMULINK的模块库介绍
SIMILINK模块库按功能进行分类,包括以下子库: Continuous(连续模块组) Discrete(离散模块组) Discontinuities(非连续模块组) Logic and Bit Operations(逻辑运算模块组) Math Operations(数学运算模块组) Lookup Tables(查表模块组)
4、Logic and Bit Operations(逻辑运算模块组)
• 逻辑运算模块(Logical Operator) • 关系运算符(Relational Operator) • 区间测试模块(Interval Test)和动态区间测试模块
可变时间延迟模块(Variable Transport Delay):输入信号 延时一个可变时间再输出
2、 Discrete(离散模块组)
• 单位延迟模块(Unit Delay):一个采样周期的延时 • 积分延迟(Integer Delay):对信号进行N步信号延迟 • 离散时间积分模块(Discrete-time Integrator):离散信号
• 死区模块(Dead Zone):可以设置死区开始和结束的时间, 在此时间段内输出信号为零。
• 斜率限制模块(Rate Limiter):控制线性信号变化的速率 • 动态饱和模块(Saturation Dynamic):类似于饱和模块,
上下限可由外部信号确定。
• 动态死区模块(Dead Zone Dynamic):类似于死区模块, 上下限可由外部信号确定。
( Interval Test Dynamic):都是判断输入是否属于某个 区间。 • 组合逻辑模块(Combinatorial Logic)、较零模块 ( Compare to Zero)、比较常数模块( Compare to Constant) • 二进制置1模块(Bit Set);二进制清零模块(Bit Clear) • 二进制逻辑运算(Bitwise Operator):将输入的二进制与 给定的二进制数的对应位置进行逻辑运算 • 移位运算(Shift Arithmetic) • 二进制数截取模块(Extract Bits) • 检测减小模块(Detect Decrease)、检测增加模块 ( Detect Increase )、检测变化模块(Detect Change)
• 在视觉上表现为直观的方框图; • 在文件上则是扩展名为 mdl 的ASCII代码; • 在数学上表现为一组微分方程或差分方程; • 在行为上则模拟了实际系统的动态特性 。
SIMULINK 模型通常包含三种 “组件”:
• 信源( Sources):可以是常数、时钟、白噪声、正弦波、阶梯波、扫频 信号、脉冲生成器、随机数产生器等信号源; • 系统( System):即指被研究系统的 SIMULINK 方框图; • 信宿( Sink):可以是示波器、图形记录仪等。
• 切换模块(Switch):通过第二个端口设置限制,在第一 个和第三个端口间转换。
• 多端口切换模块(Multiport Switch):第一个端口是控 制端口,其余的是数据端口。通过第一个端口来选择要输 出的输入端口。
• Data Store Read, Data Store Memory和 Data Store Write: 对数据进行读取、存储和写入到内存的模块
10、Sinks(信号接受模块组)
• 输出到工作空间模块( Out1):用来反映整个系统的输出端,在系统 直接仿真时,这样的输出将自动在Matlab工作空间中生成变量。
• 终结模块(Terminator):用来终结输出信号,在仿真时可以避免 由于某些模块的输出端无连接而导致的警告。
• 输出数据到文件模块(To File):将模块输入的数据输出到.mat文 件当中
Ports &Subsystems(端口与子系统模块组) Signal Routing(信号通道模块组)
Sinks(信号接受模块组) Sources(信号源模块组)
1、 Continuous (连续模块组)
积分模块(Integrator):输入信号数值积分 微分模块(Derivative):输入信号数值微分 状态空间模块(State-Space):线性状态空间系统模型 传递函数模块(Transfer-Fcn):线性传递函数模型 零极点模块(Zero-Pole):以零极点表示的传递函数模型 时间延迟模块(Transport Delay):输入信号延时一个固定 时间再输出
• 输出数据到工作空间模块(To Workspace):将模块输入的数据输 出到工作空间当中
• 示波器模块(Scope):将信号输入到示波器中显示出来。 • X-Y示波器模块(XY Graph):将两路信号分别作为示波器的两
个坐标轴,以显示信号的相轨迹。
• 显示数据模块(Display):将输入信号以数字形式显示出来 • 终止仿真模块(Stop Simulation) :若输入为非零,则强制终止仿真。
• 偏置模块(Bias):在输入数据的基础上加上一个偏置常数, 然后输出。
• 增益模块(Gain)与滑块增益模块(Slider Gain):在输入信 号基础上乘以一个设定的数据,然后输出。
• 叉乘模块(Product)和叉除模块(Divide)、元素相乘 (Product of Elements)
• 点乘模块(Dot Product) • 符号函数(Sign)、绝对值模块(Abs)、取反模块(Unary
• 由复数输入转为实部和虚部输出(Complex to Real-Imag) 和由实部和虚部输入转为复数输出(Real-Imag to Complex)
8、Ports &Subsystems(端口与子系统模块组)
• 空白子系统(Subsystem, Atomic Subsystem, CodeReuse Subsystem):允许用户在其间绘制所需的子系统模型
• 直接查表模块(Direct Look-Up Table (n-D)):通过输入 元素所在的位置,也就是索引,来输出结果
6、 Math Operations(数学运算模块组)
• 求和模块(Sum)、相加模块(Add)、相减模块( Subtract )、 元素求和模块(Sum of Elements):对输入进行相加或相减
第一节 SIMULINK简介
一、什么是SIMULINK
SIMULINK是MATLAB软件的扩展,它是实现动态系统建模 和仿真的一个软件包,其文件类型为.mdl,它与MATLAB语言 的主要区别在于,其与用户交互接口是基于Windows的模型化 图形输入,其结果是使得用户可以把更多的精力投入到系统模 型的构建,而非语言的编程上。
二、SIMULINK的启动
1、在MATLAB命令窗口中输入simulink 结果是在桌面上出现一个称为Simulink Library Browser的窗 口,在这个窗口中列出了按功能分类的各种模块的名称。 当然用户也可以通过MATLAB主窗口的快捷按钮来打开 Simulink Library Browser窗口。
5、 Lookup Tables(查表模块组)
• 一维查表模块(Look-Up Table):给出一组坐标参考值, 则输入量经过查表和插值计算出输出值返回。
• 二维查表模块(Look-Up Table(2-D)):给出一组二维平 面的高度值,则输入两个量经过查表和插值计算出输出值 返回。
• 动态查表模块( Look-Up Table Dynamic):功能类似上 面的模块,只是查表的参考数据是动态输入的。
• 多项式运算模块(Polynomial) • 最值运算模块(MinMax):对输入信号取最大值和最小
值
• 三角函数模块(Trigonometric):包括正弦、余弦、正切 等
• 正弦波模块(Sine Wave):可设置幅值、相角和频率 • 矩阵串联模块(Matrix Concatenation):对输入数据进
所谓模型化图形输入是指SIMULINK提供了一些按功能分类 的基本的系统模块,用户只需要知道这些模块的输入输出及模 块的功能,而不必考察模块内部是如何实现的,通过对这些基 本模块的调用,再将它们连接起来就可以构成所需要的系统模 型(以.mdl文件进行存取),进而进行仿真与分析。
SIMULINK 模型有以下几层含义:
11、Sources(信号源模块组)
• 输入端口模块(In1):用来反映整个系统的输入端,在 模型线性化与命令行仿真时,这个设置非常有用,可作为 信号输入。
• 接地模块(Ground):用于表示零输入模块。 • 从文件中输入数据模块(From File) • 从工作空间输入数据模块(From Workspace) • 常数模块(Constant):产生不变常数 • 信号发生器模块(Signal Generator):可产生正弦、方
波、锯齿等信号,并可设置幅值和频率。 • 脉冲发生器模块(Pulse Generator):产生脉冲信号,可
设置幅值、周期和宽度等参数。 • 斜坡信号模块(Ramp)、正弦波信号模块(Sine Wave)、
行串联,有两种方式:水平串联和竖直串联
7、 Math Operations(数学运算模块组)(续)
• 修改矩阵维数模块(Reshape)
• 由复数输入转为幅值和相角输出(Complex to MagnitudeAngle)和由幅值和相角输入转为复数输出(MagnitudeAngle to Complex)
• 触发子系统(Triggered Subsystem),使能子系统 (Enabled Subsystem),触发和使能子系统(Enabled and Triggered Subsystem):分别在触发信号发生时,使 能信号发生时,以及使能和触发信号同时发生时,子系统 可以工作
• 结构控制子系统(For Iterator Subsystem, While Iterator Subsystem):都是程序控制子系统
Minus)
7、 Math Operations(数学运算模块组)(续)
• 数学函数模块(Math Function):包括指数函数、对数 函数、求平方、开根号等常用数学函数
• 舍入取整模块(Rounding Function):对输入数据进行 舍入操作,包括floor、ceil、round和fix
• 转向控制子系统(If Action Subsystem, Switch Case Action Subsystem):通过条件判断,转向制定的子系统。
9、Signal Routing(信号通道模块组)
• 混路器(Mux):将多路信号依照向量的形式混合成一路 信号。
• 分路器(Demux):将混合成的一路信号依照原来顺序分 解成多路信号。
积分 • 离散传递函数模块(Discrete Transfer-Fcn):离散传递函
数模型 • 离散滤波器(Discrete Filter):离散滤波器 • 离散零极点(Discrete Zero-Pole):以零极点表示的离散传
递函数模型 • 差分模块(DFra Baidu bibliotekfference):计算一步内信号的变化 • 记忆模块(Memory):输出前一时刻的输入
2、 Discrete(离散模块组)(续)
• 零阶保持器(Zero-Order Hold):在计算步长内使输出值 保持相同
• 一阶保持器(First-Order Hold):在计算步长内,按照一 阶插值的方法进行插值,然后输出
3、 Discontinuities(非连续模块组)
• 饱和模块(Saturation):可设置模块的上下限,当信号超 过上限时,用上限代替,当信号小于下限时,用下限代替。
2、在MATLAB命令窗口中输入simulink3 结果是在桌面上出现一个用图标形式显示的Library :simulink3 的Simulink模块库窗口。
三、SIMULINK的模块库介绍
SIMILINK模块库按功能进行分类,包括以下子库: Continuous(连续模块组) Discrete(离散模块组) Discontinuities(非连续模块组) Logic and Bit Operations(逻辑运算模块组) Math Operations(数学运算模块组) Lookup Tables(查表模块组)