simulink仿真
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2 SIMULINK的基本模块
在SIMULINK中包含: 连续系统模块库(Continuous)、 离散系统模块库(Discrete)、 数学运算模块库(Math)、 非线性模块库(Nonlinear)、 信号与系统模块库(Signal&System)、 接收(输出)模块库(Sinks)、 输入源模块库(Sources)等。 每一个模块又包含很多子模块。可见,正弦图线不够连续,这是因为显 示的采样步长参数没有调整到最好的结果。
在模型窗口选择菜单中的simulation下 的Configuration Parameters,进一步设置: 将max step size设置为0.01,将min step size设置为0.001,再次仿真得到新的图线:
输入源(Sources)模块组
Model & Subsystem Inputs
1
unti tl ed.m at
si mi n
In1
Ground
From Fi l e
From Workspace
Signal Generators
1 Constant
Signal Generator
Pul se Generator
输出选项output options refined output 细化输出 produce additional 产生附加输出 produce specified output only只产生指定输出
1、简单例子
例1 双击Signal Generator跳出属性窗口
Signal Generator模块的位置在模型库的simulink的source下, Scope模块的位置在模型库的simulink的sinks下。
采样保持,延迟一个周期
Discrete-Time Integrator 离散时间积分
Discrete State-Space
离散状态方程
Discrete Filter
离散滤波器(IIR、FIR)
Discrete Transfer Fcn 离散传递函数
Discrete Zero-Pole
离散零-极点模型
零-极点模型
Memory
把前一步的输入作为输出
Transport Delay
把输入信号按给定的时间做延迟
Variable Transport Delay 按第二个输入指定的时间把第一
个输入做延迟
离散系统模块Discrete功能:
模块名
功能简介
Zero-Order Hold
零阶保持器
Unite Delay
Dead Zone
死区特性
Relay
限制输出值在某一范围内变化
Switch
根据临界值自动判断选择所接受的输入端
Manual Switch
人工判断选择所接受的输入端
Mutiport Switch
在多输入中选一个输出
Coulumb & Viscous Friction 当输出值达到一定值时,输出才
会根据输入而改变
Signal 1
Signal Builder
Ra m p
Si ne Wave
Step
Repeati ng Sequence
Chi rp Si gnal
Random Nu m b e r
Uni form Random Band-Li mi ted
Nu m b e r
Whi te Noi se
lim
Repeati ng Sequence
Linsim
线性系统仿真算法
(2) 仿真时间与仿真步长的设置
start time 开始时间
stop time 结束时间
Relative Tolerance 相对精度
Absolute Tolerance 绝对精度
Max(min) step size最大(最小)允许的步长
最大步长=(停止时间-起始时间)/50,若仿真时间很长,有可能 会出现失根,这时可根据需要设置较小的步长。
脉冲发生器,和采样时间无关
Chirp Signal
频率不断变化的正弦信号
Clock
输出当前的仿真时间
Digital Clock
按指定速率输出当前仿真时间
From File
从文件读数据
Random Number 高斯分布的随机信号
Uniform Random Number 平均分布的随机信号
Band-Limited White Noise 带限白噪声
双击信号源对象,改变其可设置值 例如,阶跃信号的可设置参数有 Step time 阶跃时间 Initial value 初值 Final value 终值 2、示波器参数的设置 双击示波器,则出现示波器窗口,用于显示波形; 在示波器上端可设置属性,包括显示时间,采样周期等。 3、其他环节的设置 与输入信号的设置一样,通过双击对象弹出属性窗口, 设置不同的参数。
Simulink库浏览器
SIMULINK的基本操作
1、SIMULINK窗口:库浏览器、 SIMULINK模型窗口
2、 SIMULINK模块操作:
模块是建立SIMULINK模型的基本单元,用适当的方式把各种 模块连接在一起就能够建立任何动态系统模型。
选取模块、放大或缩小模块、改变模块名字
双击某一模块或在模块上单击鼠标右键,选择Block Parameters可以对参数进行设置,选择Block Properties可以设 置和查看模块的特性。 模块的连线:移动鼠标到某一模块的输出端,鼠标的箭头会变成 十字形光标,按住鼠标左键移动鼠标到另一模块的输入端,当十 字光标出现重影时,释放左键即可。P115
Data Viewers
Scope
Floating XY Graph Scope
0 Di sp l a y
Simulation Control
STOP Stop Simulation
• 用示波器模块来观察输出 – Sinks库 • Scope 示波器窗口 • X Y graph 绘制二维的图形 • Display 将数据以数字的形式显示出来
示波器 两个信号的关系图,用MATLAB图形显示
实时数值显示 保存到文件 输出到当前工作空间的变量 输入不为零时停止仿真
接收器(Sinks)模块组
Model & Subsystem Outputs
1 Out1
T erm i nator
untitled.mat To File
si m o u t To Workspace
Simulink建模的基础知识
Simulink含两层含义:“Simu”表示仿真(simulation);而link表示 它能够进行系统连接,即:把一系列模块连接起来,构成复杂的系 统模型。正是由于它的这些功能和特色,使得它成为计算机仿真领 域首选的仿真环境。
启动simulink, 只需要在 matlab命 令窗口输入: >>simulink 或者单击命 令窗口里 工具栏上 的按钮。
2. 运行模型 用户在选择适当的算法并且设置好仿真参数后,就可以运行 Simulink仿真模型了。有两种方法可以启动仿真:1)选择 Simulation→Start;2)点击图标“ ”。
注意:缺省时,示波器历史数据只保存最后的5000个。如果我们希 望显示完整的仿真曲线,就需要将“Limit data to last 5000”前面 复选框中的“√”去掉。
1
z+0.5 Di scre te T ransfer Fcn
1 1+0.5z-1 Discrete Filter
(z-1)
z(z-0.5) Di scre te Ze ro -Po l e
z-1 z
Di ffe re n ce
K (z-1) Ts z
Discrete Derivative
y(n)=Cx(n)+Du(n) x(n+1)=Ax(n)+Bu(n)
连续系统模块Continuous功能: Continuous-Time Linear Systems
模块名
功能简介
1 s
Integrator
du/dt De ri va ti ve
Integrator Derivative State-Space Transfer Fcn Zero-Pole
积分环节 微分环节 状态方程 传递函数
Discrete State-Space
0.05z
z-0.95 T ransfer Fcn
First Order
z-0.75
z-0.95 T ransfer Fcn Lead or Lag
z-0.75
z T ransfer Fcn
Real Zero
We i g h te d Moving Average
Sample & Hold Delays
M e m o ry
Fi rst-Ord e r Ho l d
Zero-Order Ho l d
非线性模块库
Rate Limiter
限制输入变化率的变化大小
Saturation
让输出超过某一值时能够饱和
Quantizer Backlash
把输入转化成阶梯状的量化输出 由deadband设定, 输出依据输入的改变而改变
Stai r
Repeati ng Sequence Interpol ated
Counter Free-Runni ng
Counter Li m i ted
Cl ock
12:34 Di gi tal Cl ock
3仿真模型参数的设置
建立模型之后,就可以对模型进行动态仿真,但在仿真前 必须对模型的仿真参数进行相应的设置。 1、输入信号的参数设置
不连续(Discontinuities)模块组
Discontinuities
Sa tu ra ti o n
up
u
y
lo
Sa tu ra ti o n Dyn a m i c
Dead Zone
Rate Limiter
up
u
y
lo
Dead Zone Dyn a m i c
up u lo
Rate Limiter Dyn a m i c
First-Order Hold
一阶保持器
离散(Discrete)模块组
Discrete-Time Linear Systems
1
z Unit Delay
-4 Z
Integer Delay
4 De l a ys
T apped Delay
K Ts
z-1 Discrete-T ime
Integrator
4、仿真参数的设置:
主菜单Simulation选项下的Parameters选项用于设置仿真参数,主要包 括:
(1) 仿真算法,分别为:
Euler
欧拉法
Runge-Kutta3 三阶龙格库塔法
Runge-Kutta5 五阶龙格库塔法(缺省)
Adams
Adams算法
Gear
基耶算法
Adams/Gear A/G混合算法
第六章Simulink在系统仿真中的应用
Simulink是一种用于在MATLAB下建立模块化的集成软件工具包。
前面涉及到的仿真都是较为简单的静态仿真,为了处理更复 杂的和时间有关的动态系统,就必须学习simulink的使用。 Simulink是matlab提供的实现系统建模和仿真的一个软件包。它 让用户把精力从编程转向模型的构造。
Ba ckl a sh
Re l a y
Qu a n ti ze r
Hi t Cro ssi n g
Coulomb & Viscous Friction
Wrap To Zero
接收模块sink功能:
模块名
功能简介
Scope XY Graph Display To File To Workspace Stop Simulation
x' = Ax+Bu y = Cx+Du
State-Space
1 s+1 Transfer Fcn
(s-1) s(s+1) Ze ro -Po l e
Continuous-Time Delays
T ransport De l a y
To
Ti
Va ri a b l e
Va ri a b l e
Time DelayTransport Delay
• 使用Workspace模块 – 将信号输入至Workspace模块,该模块将 数据输出到Matlab的命令窗口中,以 ‘simout’变量名保存下来,也可以改变变 量名用另外的名字保存
– 时间数据用sources中的clock模块 • 使用返回值将输出返回Matlab命令窗口中
– out1
输入源模块source功能:
模块名
功能简介
Constant
常数
Signal Generator 信号发生器
Step
阶跃信号
Ramp
斜坡信号
Sine Wave
正弦波
Repeating Sequence 重复的线性信号,类似锯齿形
Discrete Pulse Generator 离散脉冲发生器,和采样时间有关
Pulse Generator