摘 要
计算机已应用到人类生活的各个方面。利用计算机对控制系统进行仿真和分析。MATLAB作为面向科学与工程计算的高级语言。特别是以MATLAB/Simulink环境为基础的实用工具箱(如控制系统工具箱、通信模块工具箱、数字信号处理模块工具箱、非线性控制模块工具箱、定点处理模块工具箱、状态流、系统辨识工具箱、神经网络模块工具箱、模糊工具箱等)。MATLAB在工程技术上的重要应用是它的强大的系统建模和仿真能力。[1]
关键字:Simulink;仿真;应用
引言:
Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。
Simulink是MATLAB中的一种可视化仿真工具,是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口(GUI) ,这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。
Simulink®是用于动态系统和嵌入式系统的多领域仿真和基于模型的设计工具。对各种时变系统,包括通讯、控制、信号处理、视频处理和图像处理系统,Simulink提供了交互式图形化环境和可定制模块库来对其进行设计、仿真、执行和测试。.
构架在Simulink基础之上的其他产品扩展了Simulink多领域建模功能,也提供了用于设计、执行、验证和确认任务的相应工具。Simulink与MATLAB® 紧密集成,可以直接访问MATLAB大量的工具来进行算法研发、仿真的分析和可视化、批处理脚本的创建、建模环境的定制以及信号参数和测试数据的定义。[2]
一、Simulink 仿真在控制系统中的应用 [3]
基于Simulink环境的控制系统的设计步骤为:
(1) 根据系统的实际情况建立数学模型;
(2) 用MATLAB的函数工具对该模型求解;
(3) 建立Simulink模型,进行仿真并分析结果
(4) 把结果反馈到控制系统的设计上。
Simulink模型通常由三部分组成:输入信号源(Source)、系统(System)、接收模块(Sink)组成,如图1所示。
1.一个连续系统的仿真实现实例
在MATLAB的Simulink基本模块中,包含有9个子模块库,分别是连续系统(Continuous)、非连续系统(Discontinuous)、离散系统(Discrete)、查阅表(Look-up Tables)、数学运算(Math Openations)、模型确认(Model Verification)、宽模型功能(Model-wideUtilities)、信号线路安排(Signals Routing)、接收模块(Sinks)、输入信号源(Sources)和端口与子系统(Ports & Subsystems)。由这些基本模很容易实现控制系统的仿真。使用Simulink进行仿真的步骤如下 (1)确定仿真的输入信号源、系统和输出信号并由此建立Simulink模型;
(2) 设置仿真参数;
(3) 进行动态仿真并输入结果。
下面以建立一个二阶系统的仿真模型为例来说明其实现过程。(设系统的传递函数为:)
方法一:使用传递函数模型
(1) 确立输入信号源使用阶跃信号Step,系统的开环传递函数为,接受模块使用示波器Scope。打开Simulink模块库浏览器,选择Step、Sum、TransferFcn和Scope四个模块,并正确地对它们的信号线进行连接,建立如图2所示的系统模型。
(2) 设置模块参数。根据题目要求,将Step模块的“Step time”属性值设置为0,将Sum模块的“List of Signs”属性值设置为“|+ -”,将Transfer Fcn模块的属性:分母多项式“Denominator”值设置为“[1 0.6 0]
(3) 运行仿真,在示波器上得到如图3所示的阶跃响应。(stop time=15)
图2 二阶系统模型(传递模型) 图3 示波器显示的仿真实验结果
方法二:使用零-极点模型
(1) 确立输入信号源使用阶跃信号Step;系统使用积分模块(Integrator)和零极点模型(Zero-Pole)串联,反馈使用“Gain”模块构成反馈增环的增益为-1;接受模块使用示波器Scope。打开Simulink模块库浏览器,依次选择Step、Sum、Integrator、Zero-Pole、Gain和Scope六个模块,并正确地对它们的信号线进行连接,建立如图4所示的系统模型。
(2) 设置模块参数。根据题目要求,将Step模块的“Step time”属性值设置为0;将“Zero-Pole”模块的“Zero”栏改为“[ ]”,将“Poles”栏改为[-0.6];将Gain模块的“Gain”参数值改为-1。其它参数不变。
(3) 运行仿真,在示波器上得到如图5所示的阶跃响应。(stop time=10)
图4 二阶系统模型(零-极点模型) 图5 示波器显示的仿真实验结果
二、Simulink 仿真在数学计算中的应用 [4]
例1 动态画圆:
(1) x=cost,y=sint; (用正弦波发生器Sine Wave)
双击图标出现相应的模块参数框, 可在其中设置参数.
Sine Wave中Phase(相位)为pi/2, 实际为cost; Sine Wave1中Phase为0.
(2 x=cost,y=∫t x(t)dt; (用正弦波发生器Sine Wave和积分器Integrator
Sine Wave中Phase(相位)为pi/2, 实际为cost; Integrator中Initial condition(初始值)为0.
XY Graph中, x的范围为−1.5~1.5, y的范围为−1.2~1.2.
(2) (用状态空间State-Space)State-Space中, A=[0,−1;1,0], B=[0;0], C=[1,0;0,1], D=[0;0]. Initial conditions为[1;0].
双击XY Graph图标, 可定x的范围为−1.5~1.5, y的范围为−1.2~1.2. Scope的y刻度可右击示波器刻度区出现对话框, 进入AxesPropeties窗口确定.
三、Simulink 仿真在计算中的应用 [4]
例:食饵-捕食者模型:
设食饵(如鱼, 兔等)数量为x(t), 捕食者(如鲨鱼, 狼等)数量为y(t), 有
设x=1, d= 0.5, a= 0.1, b= 0.02, x(0) = 25, y(0) = 2. 求x(t), y(t)和y(x)的图形
用Simulink
显示结果如下:
四、结束语
基于MATLAB/Simulink环境的仿真分析方法,通过Simulink工具箱所提供的基本模块,对各种对象进行连线和正确设置参数,不需要编程,就能很容易实现对控制系统、数学、计算等的仿真模拟,实现计算机辅助设计。该方法从系统建模到系统的分析和仿真,全过程都是可视化操作,对于提高控制系统的设计效率和设计质量,都有着重要的作用。目前已广泛应用于电力系统、数学、计算等各方面的设计中。
免责声明/版权申明 Passiontech
所有文章为网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果由您自己承担!
本站仅仅提供一个观摩学习的环境,将不对任何资源负法律责任。所有资源请在下载后24小时内删除。
若无意中侵犯到您的版权利益,请来信联系我们,我们会在收到信息三天内给予处理!
仿真实验