MATLAB的simulink仿真

上传人:宝路 文档编号:50731211 上传时间:2018-08-10 格式:PPT 页数:57 大小:373.93KB
返回 下载 相关 举报
MATLAB的simulink仿真_第1页
第1页 / 共57页
MATLAB的simulink仿真_第2页
第2页 / 共57页
MATLAB的simulink仿真_第3页
第3页 / 共57页
MATLAB的simulink仿真_第4页
第4页 / 共57页
MATLAB的simulink仿真_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《MATLAB的simulink仿真》由会员分享,可在线阅读,更多相关《MATLAB的simulink仿真(57页珍藏版)》请在金锄头文库上搜索。

1、第三讲 MATLAB的 SIMULINK仿真31 快速入门 32 模型的创建和模型文件 33 仿真运行 34 系统建模 35 子系统的创建、封装及受控执行、封装及受控执行36 常用工具箱简介 37 仿真设计实例371 幅度调制的仿真372 平衡正交调幅与解调131 快速入门 SIMULINK是一个进行动态系统建模、仿真和综合分析的 集成软件包。它可以处理的系统包括:线性、非线性系统; 离散、连续及混合系统;单任务、多任务离散事件系统。 在 SIMULINK 提供的图形用户界面GUI上,只要进行鼠标 的简单拖拉操作就可构造出复杂的仿真模型。它外表以方块 图形式呈现,且采用分层结构。 从建模角度讲

2、,这既适于自上而下(Top-down)的设计 流程(概念、功能、系统、子系统、直至器件),又适于 自下而上(Bottum-up) 逆程设计。 从分析研究角度讲,这种 SIMULINK 模型不仅能让用户 知道具体环节的动态细节,而且能让用户清晰地了解各器 件、各子系统、各系统间的信息交换,掌握各部分之间的 交互影响。231 快速入门(续1 ) 在 SIMULINK 环境中,用户将观察到现实世界中非线性因 素和各种随机因素对系统行为的影响。 在 SIMULINK 环境中,用户可以在仿真进程中改变感兴趣 的参数,实时地观察系统行为的变化。 在MATLAB 5.3 版中,可直接在 SIMULINK 环

3、境中运作的 工具包很多,已覆盖通信、控制、信号处理、DSP、电力系 统等诸多领域,所涉内容专业性极强。 本讲由浅入深地讲述 SIMULINK 对各种数学、工程问题的 建模、仿真和分析的基本方法,采用“算例”作为主体,配以适 量的归纳性表述。 例3_1_1:信号发生器和示波器。 例3_1_2:实现两个正弦信号的相乘。332 模型的创建和模型文件321 SIMULINK 模型是什么? SIMULINK 模型有以下几层含义: 在视觉上表现为直观的方框图; 在文件上则是扩展名为 mdl 的ASCII代码; 在数学上表现为一组微分方程或差分方程; 在行为上则模拟了实际系统的动态特性 。 SIMULINK

4、 模型通常包含三种 “组件”: 信源( Sources):可以是常数、时钟、白噪声、正弦波 、阶梯波、扫频信号、脉冲生成器、随机数产生器等信号源 ; 系统( System):即指被研究系统的 SIMULINK 方框图 ; 信宿( Sink):可以是示波器、图形记录仪等。 对于具体的 SIMULINK 模型而,不一定完全地包含这三大 组件。例如:研究初始条件对系统影响就不必包含信源组件 。432 模型的创建和模型文件(续1)322 SIMULINK 模型的创建 创建模型文件; 选择对象; 模块的操作; 连线的操作; 创建子系统; 仿真的配置 ; 对模型的注释; 保存模型; 仿真和结果分析。532

5、 模型的创建和模型文件(续2)323 SIMULINK 模型文件 SIMULINK 除了可以通过图形界面设计模块外 ,也可以 通过直接编写 mdl 文件来设计仿真模型图。 一个有输入和输出的图形界面设计模块。 用 mdl 文件编写有输入和输出的增益器。 (在 Word下 )(韩利竹P161)GainInOut111633 仿真运行 331 使用菜单进行仿真 设置仿真参数和选择求解器 通过选择菜单 Simulation 下的 Parameters 菜单项,用来设置 仿真参数和选择求解器。其中有三个页面管理这些仿真参数。 在 Solver 页面,设置开始和停止时间,选择求解器和指定 求解器(sol

6、ver)的参数,另外还可以选择一些输出选项。 在 Workspace I/O 页面,管理对 MATLAB 工作空间的输 入和输出。 在 Diagnostics 页面,可以选择在仿真期间显示的警告信息 的层次。 在 Solver options 中, SIMULINK 模型的仿真涉及到一组 常微分方程(ODEs)的数值积分。如果模型是连续系统, 使用ode45方法;如果模型不是连续系统,使用discrete方法 。例3_1_2:实现两个正弦信号的相乘。( AM AM .mdl )733 仿真运行(续1) 332 通过命令行运行仿真 通过命令行运行仿真与通过菜单运行仿真相比 ,有如下的 一些优点:

7、 可以不理睬模块中的初始条件(参数 x0 ); 可以定义任何外部输入(用参数 ut ); 可以由一个M 文件来启动一个仿真,并且允许模块中的 参数发生改变 。 用来进行仿真的命令有四个: 使用 set_param 命令:开始、停止或者继续仿真或者更新 模块的方框图。 get_param 命令来检查一个仿真的状态。 使用 sim 命令:启动仿真命令; 使用 simset 命令:用来向 sim 命令产生或者编辑仿真参数 和积分法属性的命令; 使用 simget 命令:可以得到选项结构体属性和参数。833 仿真运行(续2)334 综合算例 (M3_ex3_3_1.m)例3_3_1:求非线性系统 的相

8、平面轨迹 、平衡点,并进行稳定性分析。本例演示:(A)SIMULINK模型和MATLAB指令的配合使用 。(B)sim , simset , trim 指令的应用。(C)二阶系统相轨迹的精良图形。934 系统建模341 连续系统建模 线性系统建模举例 例3_4_1:复位积分器的功用示例。 例3_4_2:积分模块直接构造微分方程求解模型。 例3_4_3:直接利用传递函数模块求解方程。 在仿真启动时,积分器从零开始对 0.5 t 进行积分。当复位口 信号 t-5=0 瞬间,积分器被重置为零。此后,再对0.5 ( t-5 )进行积分。假设从实际自然界(力学、电学、生态等)或社会中,抽象 出有初始状态

9、为0的二阶微分程 , 是单位阶跃函数。本例演示如何用积分器直接构搭求解该微 分方程的模型。 对二阶微分程进行拉氏变换 :可以得到 : 10341 连续系统建模(续) 非线性系统建模举例例3_4_4:求非线性系统 的相平面轨迹、平衡点,并进行稳定性分析。本例综合演示:(A)SIMULINK模型和MATLAB指令的配合使用。 (B)sim , simset , trim 指令的应用。(C)二阶系统相轨迹的精良图形。(1)非线性系统由 SIMULINK 模型M3_ex3_4_4 _ mdl 表达 。 (2)编写绘制传统状态轨迹(State trajectory)的M文件 M3_ ex 3_4 _4.

10、m 11342 离散时间系统和混合系统建模 用组合逻辑模块产生 的“逻辑和”结果 及“逻辑或” 结果 。(1)建立输入输出关系。(2)建立模型M3_ex3_4_5.mdl 12342 离散时间系统和混合系统建模(续 ) 多速率离散时间系统:计算机就是这样的系统。它的CPU、 串行/并行控制器、 磁盘驱动器、输入 键盘就采用不同的工作 速率。再如通信系统也是多速率系统。 离散-连续混合系统:在现代控制系统中 ,通常被控的对象 是连续时间的(物理)子系统,而控制器是由逻辑控制器或 计算机构成的离散子系统。对于这种离散-连续混合系统,模 型参数设置页中的几乎所有 Solver 解算方法都能采用 。

11、可以使该模型及其所有子系统按采样速率着色:连续时间部 分用黑色;离散时间部分用红色;离散、连续混合的子系统 被着黄色。1335 子系统的创建、封装及受控执行 利用 SIMULINK 的封装(Mask)功能 ,可以定做一个模块 或一个子系统的对话框和图标 。 引用子系统的理由是:研究分析系统时 ,进行概念抽象( Abstraction of concepts)的需要;为提高工作效率和可靠性 ,实施模块“重用(Reuse)” 的需要。 仿真建模中子系统的作用,类 似于 MATLAB 指令运行中的 M函数文件。 前面介绍了如何利用库标准模块建立被研究系统的仿真模型 。下面着重介绍如何利用“分层”思想

12、建立比较复杂的仿真模型 ,介绍建立这种分层模型所需的各种子系统( Subsystem )。 封装的一个重要用途是帮助用户创建一个对话框来接受参 数。这样就无需打开子系统中各个模块的对话框,然后再逐 个输入参数。14351 用封装的办法创建模块1。封装模块功能例3_5_1:封装线性方程 y=mx+b 的模型。 ( M3_ex3_5_1.mdl) 子系统mx+b 包含了一个Gain模块,命名为Slope,其增 益常数为m;一个Constant模块,命名为Intercept,其常数 值参数指定为b。这些参数代表一条直线的斜率和截距。 封装该子系统产生一个用户对话框和图标。对话框包含对 斜率和截距的提

13、示。 用户向封装对话框输入 Slope和 Intercept 的值。封装将这 些封装参数映射给底层模块。 在 SIMULINK 中产生线性方程 y=mx+b 的模型,并生成 mx+b 子系统。15351 用封装的办法创建模块(续)2。产生封装提示对话框 要产生这个系统的封装,先选取子系统模块,然后从 Edit 菜单中选取 Mask Subsystem 命令。 封装提示对话框开始时大都显示 Mask Editor 对话框的 Initialization 选项卡。 把 Slope 和 Intercept 定义为 Edit 控件。3。产生封装模块描述和帮助文本 在 Documentation 选项卡

14、中可以定义模块的封装类型、模 块描述和帮助文本。4。产生模块的图标 可以在 Mask Editor 对话框的 Icon 选项卡中定义图标。16352 条件执行子系统 在 SIMULINK 模块库中,有两个特殊模块:Enable 模块 和Trigger 模块。如果把这种模块放到某个子系统中,则该子 系统是否起作用将取决于外界的某个条件(状态或事件 )是 否满足,这样就构成了所谓的条件执行子系统( Conditionally Executed Subsystem) 。 常用的条件执行子系统有:使能子系统 ( Enabled Subsystem );触发子系统 ( Trigged Subsystem

15、 ); 触发使能子系统 ( Trigged and Enabled Subsystem ) 。17使能子系统例3_5_2:利用使能原理构成一个半波整流器。本例演示使能子系统的创建 及工作机理。 ( M3_ex3_5_2.mdl)(1)打开SIMULINK的新建模型窗口。(2)从SIMULINK库中提取三个模块Sine wave、 Subsystem 、 Scope 到新 建窗。然后进行文件保存操作,并起文件名为M3_ex3_5_2 (这保存操作只 为以后调用方便,并非必要)。(3)双击空子系统模块Subsystem ,打开其结构模型窗。(4)从SIMULINK库中拷贝In输入口模块、Out输出口模块、Enable使能 模块到子系统的结构模型窗;把In 模块的输出直接送到Out模块的输入端; Enable模块无须进行任何连接,且本例采用它的缺省设置;便实现了题目所 需使能子系统。(5)完成M3_ex3_5_2窗口中各模块间的连接。(6)双击示波器模块,打开显示窗。然后选择M3_ex3_5_2窗口菜单项【 Si

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号