《新编MATLAB&Simulink自学一本通》课件第22章 系统级仿真工具Simulink及应用.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《新编MATLAB&Simulink自学一本通》课件第22章 系统级仿真工具Simulink及应用.pptx》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 新编MATLAB&Simulink自学一本通 新编MATLAB&Simulink自学一本通课件第22章 系统级仿真工具Simulink及应用 新编 MATLAB Simulink 自学 课件 22
- 资源描述:
-
1、主要内容主要内容 Simulink简介简介 Simulink动态系统建模与仿真动态系统建模与仿真 S-Funcition 命令行仿真技术命令行仿真技术 综合实例综合实例2023-5-52023-5-5第一节第一节 Simulink简介简介一、一、Simulink的历史的历史2023-5-5 Simulink是是Matlab的重要组件之一的重要组件之一,其前身是,其前身是1990年年MathWorks公司为公司为Matlab提供的提供的控制系统模型化图形输入控制系统模型化图形输入与仿真工具与仿真工具SimuLab,以工具库的形式挂接在,以工具库的形式挂接在MATLAB3.5版上版上。1992年,
2、年,MathWorks公司才将该软件正式更名为公司才将该软件正式更名为Simulink,并在并在MATLAB4.2x版时,以版时,以Simulink名称而广为人知。名称而广为人知。Simulink的主要功能:的主要功能:Simu(仿真仿真)和和Link(模型连接模型连接)Simu+Lab Simu+Link2023-5-5二、二、Simulink的功能及的功能及特点特点1.功能功能 它是一种基于它是一种基于MATLAB的框图设计环境,被广泛应用于的框图设计环境,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理等领线性系统、非线性系统、数字控制及数字信号处理等领域的建模和仿真中域的建模和
3、仿真中 可以二次开发,在可以二次开发,在Simulink基础之上构建其他产品,从基础之上构建其他产品,从而扩展了而扩展了Simulink多领域建模功能,多领域建模功能,可以直接访问可以直接访问MATLAB大量的工具来进行算法研发、仿大量的工具来进行算法研发、仿真分析和可视化、批处理脚本的创建、建模环境的定制真分析和可视化、批处理脚本的创建、建模环境的定制以及信号参数和测试数据的定义以及信号参数和测试数据的定义 Simulink提供了交互式图形化环境和可定制模块库来对提供了交互式图形化环境和可定制模块库来对其进行设计、仿真、执行和测试其进行设计、仿真、执行和测试 2023-5-5 为建立各种各样
4、的系统模型,为建立各种各样的系统模型,Simulink除提供了一些基本除提供了一些基本库之外,针对特定领域还提供了丰富的可扩充的预定义模库之外,针对特定领域还提供了丰富的可扩充的预定义模块库块库 交互式的图形编辑器来组合和管理直观的模块图交互式的图形编辑器来组合和管理直观的模块图 以设计功能的层次性来分割模型,实现对复杂设计的管理以设计功能的层次性来分割模型,实现对复杂设计的管理 通过通过Model Explorer 导航、创建、配置、搜索模型中的任导航、创建、配置、搜索模型中的任意信号、参数、属性,生成模型代码意信号、参数、属性,生成模型代码 提供提供API用于与其他仿真程序的连接或与手写代
5、码集成用于与其他仿真程序的连接或与手写代码集成 使用使用Embedded MATLAB 模块在模块在Simulink和嵌入式系统和嵌入式系统执行中调用执行中调用MATLAB算法算法2.特点特点2023-5-5使用定步长或变步长运行仿真,根据仿真模式来决定以解释使用定步长或变步长运行仿真,根据仿真模式来决定以解释性的方式或以编译性的方式或以编译C代码的形式来运行模型代码的形式来运行模型图形化的调试器图形化的调试器(Debugger)和剖析器和剖析器(Profiler)来检查仿真结来检查仿真结果,诊断设计的性能和异常行为果,诊断设计的性能和异常行为可访问可访问MATLAB,从而对结果进行分析与可视
6、化,定制建,从而对结果进行分析与可视化,定制建模环境,定义信号参数和测试数据模环境,定义信号参数和测试数据模型分析和诊断工具来保证模型的一致性,确定模型中的错模型分析和诊断工具来保证模型的一致性,确定模型中的错误误续续.特点特点2023-5-5三、三、Simulink基础基础1.Simulink启动启动 用命令行方式启动用命令行方式启动Simulink。即在。即在MATLAB的命令窗口的命令窗口 中直接键入如下命令:中直接键入如下命令:simulink 使用工具栏按钮启动使用工具栏按钮启动Simulink,即用鼠标单击,即用鼠标单击MATLAB工具栏中的工具栏中的Simulink 按钮按钮 均
7、会打开均会打开 Simulink Library Browser 在在MATLAB的命令窗口中直接键入的命令窗口中直接键入“Simulink3”,同样,同样会出现一个用图标形式显示的会出现一个用图标形式显示的Library2023-5-5Simulink库浏览器库浏览器 Simulink模块库窗口模块库窗口 2023-5-52.Simulink模块库模块库上图为上图为Simulink模块库浏览窗口,其中包括下图所示的模块库浏览窗口,其中包括下图所示的左侧基本模块库窗口和上图右侧的扩展模块库窗口左侧基本模块库窗口和上图右侧的扩展模块库窗口 Blockset l Blockset,即模块库,是,即
8、模块库,是MathWorks公司提供的面向公司提供的面向特定领域的专业模块库,它特定领域的专业模块库,它是是Simulink基本功能的扩展基本功能的扩展,极大地方便了用户搭建特,极大地方便了用户搭建特定应用领域的模型定应用领域的模型 l 在在MATLAB命令窗口中直接命令窗口中直接输入如下指令输入如下指令 dsplibl 可与第三方共同开发来扩展可与第三方共同开发来扩展模块库模块库信号处理模块库信号处理模块库 四、四、Simulink仿真原理仿真原理1.系统、模型与仿真系统、模型与仿真l 系统系统 是指由相互联系、相互作用的实体集合而成,并表现出某些特定功是指由相互联系、相互作用的实体集合而成
9、,并表现出某些特定功能的一个整体。组成系统的实体之间相互作用而引起的实体属性的变化,能的一个整体。组成系统的实体之间相互作用而引起的实体属性的变化,通常用状态变量来描述。通常用状态变量来描述。研究系统主要研究系统的动态变化。除了研究系统的实体属性活动研究系统主要研究系统的动态变化。除了研究系统的实体属性活动外,还需要研究影响系统活动的外部条件外,还需要研究影响系统活动的外部条件环境。环境。SimulinkSimulink中搭建的系统有三种类型:中搭建的系统有三种类型:离散系统:离散系统:系统的操作和状态变化仅在离散时刻产生系统的操作和状态变化仅在离散时刻产生连续系统:连续系统:具有连续的输入与
10、输出,系统输出在时间上连续变化,变化具有连续的输入与输出,系统输出在时间上连续变化,变化的间隔为无穷小量,而非仅在离散的时刻采样取值的间隔为无穷小量,而非仅在离散的时刻采样取值混合系统:混合系统:混合系统就是连续系统和离散系统的混合,系统模型中既有混合系统就是连续系统和离散系统的混合,系统模型中既有连续状态,又有离散状态连续状态,又有离散状态 l 模型模型 系统模型是对实际系统的一种抽象,是对系统本质系统模型是对实际系统的一种抽象,是对系统本质(或或是系统的某种特性是系统的某种特性)的一种描述。的一种描述。在计算机上研究系统的动态特性,就需要建立数学模型在计算机上研究系统的动态特性,就需要建立
11、数学模型数学模型按照状态变化可分为:动态模型和静态模型数学模型按照状态变化可分为:动态模型和静态模型 描述系统状态变化过程的数学模型称为动态模型描述系统状态变化过程的数学模型称为动态模型 Simulink中的模型主要是指仿真系统数学模型,它是一中的模型主要是指仿真系统数学模型,它是一种适合在计算机上演算的模型,主要是指根据计算机的运算种适合在计算机上演算的模型,主要是指根据计算机的运算特点、仿真方式、计算方法、精度要求将原始系统数学模型特点、仿真方式、计算方法、精度要求将原始系统数学模型转换为计算机程序。转换为计算机程序。l 仿真仿真 仿真是以相似性原理、控制论、信息技术及相关领域的仿真是以相
12、似性原理、控制论、信息技术及相关领域的有关知识为基础,以计算机和各种专用物理设备为工具,借有关知识为基础,以计算机和各种专用物理设备为工具,借助系统模型对真实系统进行试验研究的一门综合性技术。它助系统模型对真实系统进行试验研究的一门综合性技术。它利用物理或数学方法来建立模型,类比模拟现实过程或者建利用物理或数学方法来建立模型,类比模拟现实过程或者建立假想系统,以寻求过程的规律,研究系统的动态特性,从立假想系统,以寻求过程的规律,研究系统的动态特性,从而达到认识和改造实际系统的目的。而达到认识和改造实际系统的目的。物理仿真物理仿真:研制某些实体模型,使之重现系统的各种状态研制某些实体模型,使之重
13、现系统的各种状态 数学仿真:数学仿真:用数学语言去表述一个系统,并编制程序在计算机上对用数学语言去表述一个系统,并编制程序在计算机上对实际系统进行研究的过程实际系统进行研究的过程 对系统进行仿真时,除了模型外还需要仿真算法,仿真软件对系统进行仿真时,除了模型外还需要仿真算法,仿真软件2.Simulink仿真原理仿真原理 微分方程是描述动态系统最常用的数学工具,也是微分方程是描述动态系统最常用的数学工具,也是很多科学与工程领域数学建模的基础。由于一般的很多科学与工程领域数学建模的基础。由于一般的非线性微分方程是没有解析解的,故需用数值解的非线性微分方程是没有解析解的,故需用数值解的方式求解。方式
14、求解。Simulink中系统的仿真主要就是利用解各类微分方中系统的仿真主要就是利用解各类微分方程的数值解来实现的。连续的求解器可以计算连续程的数值解来实现的。连续的求解器可以计算连续或混合系统,而离散的求解器,则只能解离散系统。或混合系统,而离散的求解器,则只能解离散系统。Simulink系统模型的仿真主要包含两个阶段:系统模型的仿真主要包含两个阶段:1)1)初始化阶段初始化阶段每个模块的所有参数都传递给每个模块的所有参数都传递给MATLAB进行求值,得到的进行求值,得到的数值作为实际的参数使用。数值作为实际的参数使用。展开模型的层次结构,每个子系统被它们所包含的模块替展开模型的层次结构,每个
15、子系统被它们所包含的模块替代,带有触发和使能模块的子系统被视为原子单元进行处理。代,带有触发和使能模块的子系统被视为原子单元进行处理。检查信号的宽度和模块的连接情况,提取状态和输入、输检查信号的宽度和模块的连接情况,提取状态和输入、输出依赖关系方面的信息,确定模块的更新顺序。出依赖关系方面的信息,确定模块的更新顺序。确定状态的初值和采样时间。确定状态的初值和采样时间。2)2)运行阶段运行阶段初始化之后,仿真进入运行阶段。仿真是由求解器控制的,初始化之后,仿真进入运行阶段。仿真是由求解器控制的,它计算模块的输出,更新离散状态,计算连续状态。它计算模块的输出,更新离散状态,计算连续状态。Simul
16、ink仿真过程仿真过程系统和求解器交互作用 Simulink仿真过程 3.仿真求解器仿真求解器 Simulink主要的特征是状态的更新,涉及到对状态方程中主要的特征是状态的更新,涉及到对状态方程中微分或差分方程的求解,因而采用的求解器,也就是解方微分或差分方程的求解,因而采用的求解器,也就是解方程的算法也就至关重要,直接决定了仿真的效果和精度。程的算法也就至关重要,直接决定了仿真的效果和精度。系统模型搭建完成之后,应该设置模块参数和仿真操作参系统模型搭建完成之后,应该设置模块参数和仿真操作参数,然后就可以对其进行各种各样的仿真,以测试系统的数,然后就可以对其进行各种各样的仿真,以测试系统的性能
17、。性能。启动启动MATLAB,并按照下图红色箭头所示步骤操作就可以并按照下图红色箭头所示步骤操作就可以打开一个模型的仿真求解器设置界面,根据系统模型的类打开一个模型的仿真求解器设置界面,根据系统模型的类型和特点进行相应的求解器参数设置,来进行系统仿真。型和特点进行相应的求解器参数设置,来进行系统仿真。4.过零检测过零检测 在动态系统的仿真过程中,所谓过零,是指系统模型在动态系统的仿真过程中,所谓过零,是指系统模型中的信号或系统模块特征的某种改变。中的信号或系统模块特征的某种改变。这种特征的改变包括:这种特征的改变包括:信号在上一个时间步改变了符号(包括变为零和离开信号在上一个时间步改变了符号(
18、包括变为零和离开零)。零)。模块在上一个时间步改变了模式(如积分器进入了饱和模块在上一个时间步改变了模式(如积分器进入了饱和区段)。区段)。关闭系统仿真参数设置中的过零事件检测,可以使动关闭系统仿真参数设置中的过零事件检测,可以使动态系统的仿真速度得到很大的提高。但可能会引起系统仿态系统的仿真速度得到很大的提高。但可能会引起系统仿真结果的不精确,甚至出现错误结果。关闭系统过零对真结果的不精确,甚至出现错误结果。关闭系统过零对Hit Crossing零交叉模块并无影响。对于离散模块及其产生的离零交叉模块并无影响。对于离散模块及其产生的离散信号不需要进行过零检测。散信号不需要进行过零检测。过零检测
19、通过在系统和求解器之间建立对话的方式工作。对话过零检测通过在系统和求解器之间建立对话的方式工作。对话包含的一个内容是事件通知,即系统告知求解器在前一时间步包含的一个内容是事件通知,即系统告知求解器在前一时间步发生了一个事件。过零是一个重要的事件,表征系统中的不连发生了一个事件。过零是一个重要的事件,表征系统中的不连续性,例如响应中的跳变。如果仿真过程中,对过零不进行检续性,例如响应中的跳变。如果仿真过程中,对过零不进行检测,可能会导致不准确的仿真结果。当采用变步长求解器时,测,可能会导致不准确的仿真结果。当采用变步长求解器时,Simulink能够检测到过零。使用固定步长的求解器时,能够检测到过
20、零。使用固定步长的求解器时,Simulink不检测过零。当一个模块通知系统前一时间步发生了不检测过零。当一个模块通知系统前一时间步发生了过零,变步长求解器就会缩小步长,即使绝对误差和相对误差过零,变步长求解器就会缩小步长,即使绝对误差和相对误差是在可接受的范围内。缩小步长的目的是判定过零事件发生的是在可接受的范围内。缩小步长的目的是判定过零事件发生的准确时间。当然,这样会降低仿真的速度,但这样做,对于有准确时间。当然,这样会降低仿真的速度,但这样做,对于有些模块来讲是至关重要和必要的。因为这些模块的输出可能表些模块来讲是至关重要和必要的。因为这些模块的输出可能表示了一个物理值,它专属于自己的事
21、件通知,而且可能与不止示了一个物理值,它专属于自己的事件通知,而且可能与不止一个类型的事件发生关联。一个类型的事件发生关联。产生过零通知的模块表模块名模块名过零描述过零描述Abs当输入信号的上升沿或者下降沿检测一次是否过零当输入信号的上升沿或者下降沿检测一次是否过零Backlash当上限阈值达到时,检测一次过零,到达下限阈值时,也检测一次过零,共两次当上限阈值达到时,检测一次过零,到达下限阈值时,也检测一次过零,共两次Compare To Constant当信号等于一个常量时,检测过零当信号等于一个常量时,检测过零Compare To Zero当信号等于零时,检测过零当信号等于零时,检测过零D
22、ead Zone当输入信号进入死区时,检测过零,当输入信号脱离死区时,也检测过零当输入信号进入死区时,检测过零,当输入信号脱离死区时,也检测过零Enable如果使能口在一个子系统模块的内部,则提供检测过零的能力如果使能口在一个子系统模块的内部,则提供检测过零的能力From Workspace当输入信号在上升沿或者下降沿有不连续时,就检测过零当输入信号在上升沿或者下降沿有不连续时,就检测过零If当满足当满足If条件时,检测过零条件时,检测过零Integrator如果存在复位口,当复位时,检测过零,如果输出受限,在下面三种情况下,检测过零:如果存在复位口,当复位时,检测过零,如果输出受限,在下面三
23、种情况下,检测过零:1,达到上饱和限,达到上饱和限,2,达到下饱和限,达到下饱和限,3,离开饱和时,离开饱和时MinMax对输出向量的每个元素,当输入信号是新的最小或最大值时,检测过零对输出向量的每个元素,当输入信号是新的最小或最大值时,检测过零Relational Operator当相应的运算关系为真时,检测过零当相应的运算关系为真时,检测过零Relay如果如果relay处于关断状态,检测开关点的过零,如果处于关断状态,检测开关点的过零,如果relay处于打开状态,检测关断点的过零处于打开状态,检测关断点的过零Saturation达到饱和上限或离开时,检测过零,达到饱和下限或离开时,也检测过
24、零达到饱和上限或离开时,检测过零,达到饱和下限或离开时,也检测过零Sign当输入信号交叉通过零时,检测过零当输入信号交叉通过零时,检测过零Signal Builder当输入信号在上升或者下降方向有不连续时,检测过零当输入信号在上升或者下降方向有不连续时,检测过零Step在产生阶跃的时刻,检测过零在产生阶跃的时刻,检测过零Switch当开关条件发生时,检测过零当开关条件发生时,检测过零Switch Case当当case条件满足时,检测过零条件满足时,检测过零Trigger如果触发口在一个子系统模块的内部,则提供检测过零的能力如果触发口在一个子系统模块的内部,则提供检测过零的能力Enabled a
25、nd Triggered Subsystem在一个子系统模块的内部,对使能口和触发口分别进行过零检测在一个子系统模块的内部,对使能口和触发口分别进行过零检测Hit Crossing当输入穿过零点时产生一个过零,可以用来为不带过零能力的模块提供过零检测能力当输入穿过零点时产生一个过零,可以用来为不带过零能力的模块提供过零检测能力 在使用在使用Simulink的模块库建立动态系统的模型时,有些模的模块库建立动态系统的模型时,有些模块的输入端口具有直接馈通特性。块的输入端口具有直接馈通特性。所谓直接馈通所谓直接馈通(Direct feedthrough)是指模块的输出直接依是指模块的输出直接依赖于模
展开阅读全文
链接地址:https://www.163wenku.com/p-5717013.html