MATLAB实验SIMULINK仿真

2020-05-05 17:15

实验九 SIMULINK仿真

一、实验目的

SIMULINK是一个对动态系统(包括连续系统、离散系统和混合系统)进行建模、仿真和综合分析的集成软件包,是MATLAB的一个附加组件,其特点是模块化操作、易学易用,而且能够使用MATLAB提供的丰富的仿真资源。在 SIMULINK环境中,用户不仅可以观察现实世界中非线性因素和各种随机因素对系统行为的影响,而且也可以在仿真进程中改变感兴趣的参数,实时地观察系统行为的变化。因此SIMULINK已然成为目前控制工程界的通用软件,而且在许多其他的领域,如通信、信号处理、DSP、电力、金融、生物系统等,也获得重要应用。对于信息类专业的学生来说,无论是学习专业课程或者相关课程设计还是在今后的工作中,掌握SIMULINK,就等于是有了一把利器。

本次实验的目的就是通过上机训练,掌握利用SIMULINK对一些工程技术问题(例如数字电路)进行建模、仿真和分析的基本方法。

二、实验预备知识

1. SIMULINK快速入门

在工程实际中,控制系统的结构往往很复杂,如果不借助专用的系统建模软件,则很难准确地把一个控制系统的复杂模型输入计算机,对其进行进一步的分析与仿真。1990年,Math Works软件公司为MATLAB提供了新的控制系统模型图输入与仿真工具,并命名为SIMULAB,该工具很快就在控制工程界获得了广泛的认可,使得仿真软件进入了模型化图形组态阶段。但因其名字与当时比较著名的软件SIMULA类似,所以1992年正式将该软件更名为SIMULINK。SIMULINK的出现,给控制系统分析与设计带来了福音。顾名思义,该软件的名称表明了该系统的两个主要功能:Simu(仿真)和Link(连接),即该软件可以利用系统提供的各种功能模块并通过信号线连接各个模块从而创建出所需要的控制系统模型,然后利用SIMULINK提供的功能来对系统进行仿真和分析。 ? SIMULINK的启动

首先启动MATLAB,然后在MATLAB主界面中单击上面的Simulink按钮

或在命令

窗口中输入simulink命令。命令执行之后将弹出simulink的模块库浏览器,如图1所示。 ? SIMULINK的模块库

Simulink的模块库有两部分组成:基本模块和各种应用工具箱。 ? 系统提供的应用工具箱有:

Communications Blockset(通信模块集) Control System Toolbox(控制系统工具箱) Dials & Gauges Blockset(面板和仪表模块集) DSP Blockset(数字信号处理模块集)

Fixed-Point Blockset (定点模块集) Fuzzy Logic Toolbox (模糊逻辑工具箱) NCD Blockset

(非线性控制设计模块集) Neural Network Blockset (神经网络模块集) RF Blockset ( 射频模块集)

Power System Blockset (电力系统模块集)

Real-Time Windows Target (实时窗口目标库) Real-Time Workshop (实时工作空间库) Stateflow(状态流程库) Simulink Extras

( Simulink附加库)

System ID Blockset(系统辨识模块集)

基本的simulink模块

常用模块

各领域内的工具箱

图1: Simulink模块库

? Simulink的基本模块按功能进行分类,包括以下8类子库: Continuous(连续系统模块) Discrete(离散系统模块)

Function & Tables(函数和平台模块) Math(数学运算模块) Nonlinear(非线性模块)

Signals & Systems(信号和系统模块) Sinks(接收器模块) Sources(输入源模块)

下面列出一些基本模块的功能说明,以供实际使用时查询。 表1:连续系统模块(Continuous)功能 模块名 Integrator State-Space Transfer-Fcn Zero-Pole

功能简介 输入信号积分 线性状态空间系统模型 线性传递函数模型 以零极点表示的传递函数模型 模块名 Derivative Transport Delay Variable Transport Delay 功能简介 输入信号微分 输入信号延时一个固定时间再输出 输入信号延时一个可变时间再输出 表2:离散系统模块(Discrete)功能 模块名 Discrete-time Integrator Discrete State-Space Discrete Transfer-Fcn First-Order Hold 功能简介 离散时间积分器 离散状态空间系统模型 离散传递函数模型 一阶采样和保持器 模块名 Discrete Filter Discrete Zero-Pole Zero-Order Hold Unit Delay 功能简介 IIR与FIR滤波器 以零极点表示的离散传递函数模型 零阶采样和保持器 一个采样周期的延时 表3:函数和平台模块(Function & Tables)功能 模块名 Fcn S-Function Look-Up Table(2-D) 功能简介 用自定义的函数(表达式)进行运算 调用自编的S函数的程序进行运算 建立两个输入信号的查询表(线性峰值匹配) 模块名 MATLAB Fcn Look-Up Table 功能简介 利用matlab的现有函数进行运算 建立输入信号的查询表(线性峰值匹配) 表4:数学运算模块(Math)功能 模块名 Sum Dot Product Math Function 功能简介 加减运算 点乘运算 包括指数函数、对数函数、求平方、开根号等常用数学函数 最值运算 符号函数 由实部和虚部输入合成复数输出 由幅值和相角输入合成复数输出 关系运算 模块名 Product Gain Trigonometric Function Abs Logical Operator Complex to Magnitude-Angle Complex to Real-Imag 功能简介 乘运算 增益模块 三角函数,包括正弦、余弦、正切等 取绝对值 逻辑运算 由复数输入转为幅值和相角输出 由复数输入转为实部和虚部输出 MinMax Sign Real-Imag to Complex Magnitude-Angle to Complex Relational Operator 表5:非线性模块(Nonlinear)功能 模块名 Saturation Switch 功能简介 饱和输出,让输出超过某一值时能够饱和 模块名 Relay 功能简介 滞环比较器,限制输出值在某一范围内变化 手动选择开关 开关选择,依据第二输入Manual Switch 端的值,选择输出第一或第三输入端的值

表6:信号和系统模块(Signal & Systems)功能 模块名 In1 Mux Ground SubSystem 功能简介 输入端 将多个单一输入转化为一个复合输出 模块名 Out1 Demux 功能简介 输出端 将一个复合输入转化为多个单一输出 连接到没有连接的输出端,终止输出 使能子系统 给未连接的输入端接地,Terminator 输出0 空的子系统 Enable 表7:接收器模块(Sinks)功能 模块名 Scope To Workspace Display 功能简介 示波器 模块名 XY Graph 功能简介 显示二维图形 输出到数据文件 输出到MATLAB的工作To File(.mat) 空间 实时的数值显示 Stop Simulation 输入非0时停止仿真 表8:输入源模块(Sources)功能 模块名 Constant From Workspace Signal Generator 功能简介 常数信号 输入信号来自MATLAB的工作空间 信号发生器,可以产生正弦、方波、锯齿波及随意波 脉冲发生器 阶跃波信号 模块名 Clock From File(.mat) Repeating Sequence Sine Wave 功能简介 时钟信号 输入信号来自数据文件 重复信号 Pulse Generator Step 正弦波信号 注:在simulnk模块库浏览器的help菜单系统中可查询以上各模块的详细功能和使用说明。

通常,用户创建的Simulink模型包含下列三部分“组件”:

? 输入信号源( Sources):可以是常数、时钟、白噪声、正弦波、阶梯波、扫频信号、

脉冲生成器、随机数产生器等信号源或者是用户自定义的信号;

? 系统( System):即被模拟系统的 SIMULINK 方框图;系统模块作为中心模块是

Simulink仿真建模所要解决的主要部分。

? 接收器(即输出、显示部分Sink):可以是示波器、图形记录仪(XY Graph)等。

源 模 块 系 统 模 块 输出显示模块 当然对于具体的 SIMULINK 模型而,不一定完全地包含这三大组件。例如:研究初始条件对系统影响就不必包含信号源组件。 ? 创建SIMULINK模型

在simulink中创建系统模型的步骤:

① 新建一个空白的模型窗口(只有在模型窗口中才能创建用户自己的系统模型)。方式是:

依次单击simulink模块库浏览器的“File”菜单?New?Model,将弹出一个如图2所示的模型窗口。

② 在simulink模块库浏览器中,将创建系统模型所需要的功能模块用鼠标拖放到新建的模

型窗口中,如图2所示。

③ 将各个模块用信号线连接,设置仿真参数,保存所创建的模型(后缀名.mdl)。 ④ 点击模型窗口中的

按钮,运行仿真。

图2: 新建模型窗口

图3:振动位移的仿真结果

?(t)?sin(t),初始条件x(0)=0,利用simulink仿真该例1:已知某振动系统的振动速度x系统的振动位移。

分析:要计算振动位移必须解上述微分方程,因此需要一个积分模块(Integrator),被积函数是sin(t),因此需要一个正弦波输入源模块(Sine Wave),积分器的输出(i.e.振动位移x(t))用示波器观察,因此需要一个显示输出模块Scope。所用各模块如下所示:

1sSine WaveIntegratorScope

步骤1:如上所述新建模型窗口;

步骤2:从源模块库(Sources)中用鼠标拖放一个正弦波模块(Sine Wave)至模型窗口中,然后从连续模块库(Continuous)中拖放一个积分模块(Integrator),再从输出显示模块库(Sinks)拖放一个示波器模块(Scope)。

步骤3:将各模块的输入、输出用信号线按如下所示依次连接(连接方法:将鼠标移动到模块的输出端,此时鼠标箭头成十字形,按住左键,移动鼠标到另一个模块的输入端,当出现两个十字形光标重影时,释放左键完成信号线的连接),然后保存模型。

1sSine WaveIntegratorScope

步骤4:运行仿真,然后双击示波器模块,可观察到仿真结果如图3所示。


MATLAB实验SIMULINK仿真.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:特种陶瓷的高压烧结技术

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: