好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

Simulink高级技术PPT课件.ppt

126页
  • 卖家[上传人]:壹****1
  • 文档编号:588767716
  • 上传时间:2024-09-09
  • 文档格式:PPT
  • 文档大小:4.15MB
  • / 126 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • Simulink高级技术高级技术1 Simulink求解器概念求解器概念2 系统过零的概念与解决方案系统过零的概念与解决方案3 系统代数环的概念与解决方案系统代数环的概念与解决方案4 高级积分器高级积分器 5 仿真参数设置:高级选项与诊断选项仿真参数设置:高级选项与诊断选项 1  Simulink求解器概念  1.1  离散求解器            第3章中简单介绍了动态系统的模型及其描述,其中指出,离散系统的动态行为一般可以由差分方程描述众所周知,离散系统的输入与输出仅在离散的时刻上取值,系统状态每隔固定的时间才更新一次;而Simulink对离散系统的仿真核心是对离散系统差分方程的求解              在对纯粹的离散系统进行仿真时,需要选择离散求解器对其进行求解用户只需选择Simulink仿真参数设置对话框中的求解器选项卡中的discrete(no continuous states)选项,即没有连续状态的离散求解器,便可以对离散系统进行精确的求解与仿真     1.2  连续求解器            与离散系统不同,连续系统具有连续的输入与输出,并且系统中一般都存在着连续的状态变量。

      连续系统中存在的状态变量往往是系统中某些信号的微分或积分,因此连续系统一般由微分方程或与之等价的其它方式进行描述这就决定了使用数字计算机不可能得到连续系统的精确解,而只能得到系统的数字解(即近似解)           采用不同的连续求解器会对连续系统的仿真结果与仿真速度产生不同的影响,但一般不会对系统的性能分析产生较大的影响,因为用户可以设置具有一定的误差范围的连续求解器进行相应的控制离散求解器与连续求解器设置的不同之处如图1所示 图1  离散求解器与连续求解器设置的比较             由于连续系统状态变量不能够被精确地计算出来,因而积分的误差值同样也是一个近似值通常,连续求解器采用两个不同阶次的近似方法进行积分,然后计算它们之间的积分差值作为积分误差连续求解器积分误差的计算如图2所示   图2  连续求解器积分误差计算          图2中h为积分步长注意,此图以最简单的多边形积分近似算法为例说明积分误差的计算,在实际中具体的方法视连续求解器的不同而不同如果积分误差满足绝对误差或相对误差,则仿真继续进行;如果不满足,则求解器尝试一个更小的步长,并重复这个过程当然,连续求解器在选择更小步长时采用的方法也不尽相同。

      如果误差上限值的选择或连续求解器的选择不适合待求解的连续系统,则仿真步长有可能会变得非常小,使仿真速度变得非常慢用户需要注意这一点)         混合系统仿真时连续状态求解与离散状态求解的协调如图3所示其中h为初始步长,由于在时刻t与t+h之间系统存在着离散状态的更新,因而连续变步长求解器将会减小步长至,之后再计算积分误差以控制求解如果求解误差满足误差范围,则进行下一步仿真,否则缩小时间间隔,重复此过程进行求解仿真 图3  连续状态求解与离散状态求解的协调示意图 2 系统过零的概念与解决方案         1节中对Simulink的求解器进行了较为深入的介绍Simulink求解器固然是系统仿真的核心,但Simulink对动态系统求解仿真的控制流程也是非常关键的Simulink对系统仿真的控制是通过系统模型与求解器之间建立对话的方式进行的:Simulink将系统模型、模块参数与系统方程传递给Simulink的求解器,而求解器将计算出的系统状态与仿真时间通过Simulink环境传递给系统模型本身,通过这样的交互作用方式来完成动态系统的仿真 系统的时间分类系统的时间分类连续时间系统:状态随时间连续变化 离散事件系统:状态的变化在随机的离散时间点上发生 混杂系统(混合动态系统):混杂上述两种系统状态行为 系统 n 离散时间系统(模型):时间离散,状态离散n 采样系统:对象连续,控制离散 系统的数学描述系统的数学描述连续时间系统:微分方程、传递函数、状态方程离散事件系统:事件调度、活动扫描、进程交互混杂系统(混合动态系统):上述方法的综合 系统 n 离散时间系统:差分方程、状态方程n 采样系统:差分方程、状态方程 系统的数学描述系统的数学描述确定型数学描述:状态随时间连续变化 随机型数学描述系统系统 n 连续时间模型:微分方程、脉冲响应函数 传递函数、状态空间模型n 离散时间模型:差分方程、脉冲传递函数 权系列、离散状态空间模型 常见的数学模型常见的数学模型 第三章第三章 连续系统建模方法连续系统建模方法常用数学模型:微分方程、传递函数和状态空间模型。

      各种模型的特点: 微分方程:线性、非线性系统 时域方法; 传递函数:仅适用于线性系统;初始条件为零; 用代数的方法或图解分析进行系统分析与综合; 频域方法; 状态方程:系统的完整描述;化高阶为低阶;降低复杂性 便于处理多变量系统 时域方法; 微分方程传递函数状态方程系统时域方法频域方法不完全描述完全描述线性系统线性系统 非线性系统 3.1 微分方程的机理建模方法微分方程的机理建模方法建立微分方程的方法1)根据规律列方程2)微元分析方法3)模拟近似法在生物、经济等学科的实际问题中,许多现象的规律性不很清楚,即使有所了解也是极其复杂的,建模时在不同的假设下去模拟实际的现象,建立能近似反映问题的微分方程,然后从数学上求解或分析所建方程及其解的性质,再去同实际情况对比,检验此模型能否刻画、模拟某些实际现象 建模示例图图1 1 机械平移系统机械平移系统图图2 2 机械传动系统机械传动系统图图3 R-L-C3 R-L-C电路电路f f 相似系统相似系统 3.2 非线性系统模型的线性化非线性系统模型的线性化非线性系统:含有一个或多个非线性元件的系统非线性元件:y=f (x) , y=f (x) , 若f (x)f (x) 是直线,则该元件是线性元 件,反之,则为非线性元件。

      典型的非线性特性:死区、饱和、间隙、继电器特性 非线性系统非线性系统一些系统作为线性系统来分析,这是由于:①系统的非线性不明显,可近似为线性系统②某些系统的非线性特性虽然较明显,但在某些条件下,可进行线性化处理,作为线性系统来分析这类系统统称为非本质非线性系统非本质非线性系统 但当系统的非线性特征明显且不能进行线性化处理时,就必须采用非线性系统理论来分析这类非线性称为本质非线性本质非线性 关于线性与非线性的认识关于线性与非线性的认识非线性是大自然的普遍特性;线性系统其实只是对少数简单非线性系统的一种理论近似,非线性才是世界的魂魄 生态学和混沌学家罗伯特·梅(Robert,May)认为,目前全世界标准的科学教育,向人们灌输的是关于世界图景的偏见和歪曲的印象不管线性的数学获得了多大的成功,都只能给学生一个关于实际大自然的普遍存在的非线性事实的失真形象 伊恩·斯图尔特感叹地说:“如果你断定,只有线性方程才值得研究,那无异于自我禁锢你的课本充满了线性分析的成功,它的失败埋藏得如此之深,以致连坟墓都看不见,坟墓的存在也没人注意如同18世纪笃信钟表世界一样,20世纪中叶则恪守线性世界 非线性系统模型的处理非线性系统模型的处理等效线性化方法:描述函数法(谐波线性化)、分段线性化法、小参数法等都属于这种方法。

      小参数法(摄动方法)小参数法(摄动方法):把系统视为理想模型的参数或结构作了微小扰动的结果来研究其运动过程的数学方法 直接分析方法:李雅普诺夫第二方法 (李雅普诺夫稳定性理论) 双线性系统理论:对于特殊的双线性系统;流形上的控制理论:以微分几何为主要数学工具的一种分析方法,可用以研究非线性系统的某些全局和局部性质 反馈线性化:代数变换将一个非线性系统的运动特性(全部或部分地)变换成线性的动态特性 小偏差线性化小偏差线性化/局部线性化局部线性化所谓线性化,就是在一定的条件下作某种近似,或者缩小一些工作范围,而将非线性微分方程近似地作为线性微分方程来处理由级数理论可知,若非线性函数在给定区域内存在各阶导数,便可在工作点的邻域将非线性函数展开为泰勒级数当偏差范围很小时,可略去2次以上高次项,从而得到只包含偏差一次项的线性化方程式,实现函数的线性化这种线性化方法称为小偏差线性化或局部线性化 非线性数学模型的线性化非线性数学模型的线性化A Ax x0 0y y0 0αα ￿￿￿￿￿￿小偏差线性化的这种近似,对大多数控制系统来说都是可行的￿￿￿￿￿￿1)控制系统在通常情况下,都有一个正常、稳定的工作状态,称为平衡工作点。

      例如,恒温控制系统的正常工作状态是输入、输出为常值(输出为被控温度,输入为期望值)￿￿￿￿￿￿￿2)当系统的输入或输出相对于正常工作状态发生微小偏差时,系统会立即进行控制调节,力图去消除此偏差,因此可以看出,这种偏差是“小偏差”,不会很大￿ 非线性数学模型的线性化非线性数学模型的线性化对 在 附近进行泰勒展开:条件:忽略高阶项:增量方程 建立系统线性化数学模型的步骤建立系统线性化数学模型的步骤￿￿￿￿￿￿首先确定系统处于正常工作状态(平衡工作点)时各组成元件的工作点,然后列出各组成元件在工作点附近的增量方程增量方程,最后消去中间变量,得到系统以增量表示的线性化微分方程￿￿￿￿￿￿增量方程的数学含义增量方程的数学含义就是将参考坐标的原点移到系统或元件的平衡工作点上,对于实际系统就是以正常工作状态为研究系统运动的起始点,这时系统所有的初始条件均为零 Matlab是如何解微分方程的?是如何解微分方程的?答案:线性微分方程和低阶特殊微分方程一般通过解析解的方法答案:线性微分方程和低阶特殊微分方程一般通过解析解的方法求解,但一般的非线性微分方程是没有解析解的,需要使用数求解,但一般的非线性微分方程是没有解析解的,需要使用数值解的方式求解。

      值解的方式求解 对于多元非线性常微分方程来说,对于多元非线性常微分方程来说,Euler算法是最直观的一类算法是最直观的一类求解算法,精度较高的算法是求解算法,精度较高的算法是Runge-Kutta法、法、Adams法等但是至今尚没有一种算法可以有效地适用于所有场合是至今尚没有一种算法可以有效地适用于所有场合解算指令求解算法适用场合ode454、5阶Runge-Kutta大多数场合的首选ode232、3阶Runge-Kutta较低精度场合ode113Adamsode45计算时间太长时ode23tEuler适度刚性ode15sGear反向数值微分ode45失败时ode23s2阶Rosenbrock低精度时,比ode15s有效ode23tbEuler,反向数值微分低精度时,比ode15s有效在用微分方程描述的一个变化过程中,若往往又包含着多个相互作用但变化速度相差十分悬殊的子过程,这样一类过程就认为具有“刚性”描述这类过程的微分方程初值问题称为“刚性问题”  例例1 1:单容水箱液位系统:单容水箱液位系统设供水阀前压力稳定,出水阀其流量公式为:其中为流量系数试列写液位波动的微分方程,并对其进行线性化处理。

      非线性系统的线性化非线性系统的线性化——多变量系统局部线性化多变量系统局部线性化将该方程式在工作点 附近展开成泰勒级数,并忽略二若输出变量y与输入变量x1,x2有非线性关系,即阶和高阶导数项,便可得到y的线性方程为: 写成增量形式: 称为系统的静态/稳态方程  滑阀系统压力滑阀系统压力- -流量特性线性化流量特性线性化 滑阀系统压力滑阀系统压力- -流量特性线性化流量特性线性化某滑阀的压力-流量特性如图所示,其非线性方程为:设系统的静态工作点为A点为阀芯位移;为负载压差;为负载流量;这里: 滑阀系统压力滑阀系统压力- -流量特性线性化流量特性线性化将式在工作点处泰勒展开,上式与静态方程相减:写作: 图示:负载流量特性的线性化 应用范围:非线性系统的线性化非线性系统的线性化——局部线性化局部线性化线性化是相对某一工作点进行的工作点不同,得到的线性化微分方程的系数也不同若使线性化具有足够的精度,调节过程中变量偏离工作点的偏差信号应足够小线性化不适用于含本质非线性的系统 线性化是以直线代替曲线,略去了泰勒级数展开式中的二阶以上无穷小项,这是一种近似处理如果系统输入量工作在较大范围内,所建立的线性化数学模型势必会带来较大的误差。

      所以,非线性数学模型线性化是有条件的有条件的线性化以后得到的微分方程是增量微分方程增量微分方程,只是为书写方便,略去了增量符号 阶段技术建模技术仿真算法软件技术模型建立模型变换仿真试验连续系统数字仿真连续系统数字仿真 — — 一般过程一般过程 连续系统数字仿真方法连续系统数字仿真方法基于数值积分方法面向方程连续系统数字仿真方法基于离散化方法面向方程结构图:微分方程传递函数状态模型传递函数+非线性环节面向方程面向方程结构图: 传递函数+非线性环节传递函数状态模型 连续系统数字仿真方法连续系统数字仿真方法————基于数值积分方法基于数值积分方法连续系统的仿真,主要的计算工作是求解一阶微分方程数值解法:寻求解y(t)在一系列离散点上的近似解(即数值解)数值积分方法连续变量问题离散的差分方程的初值问题 常用的几种数值积分方法常用的几种数值积分方法单步法欧拉法:精度差(解释概念)数值积分方法多步法:改进的欧拉法:精度提高,速度快Adams法Adams隐式公式龙格-库塔法:精度高,常用Adams显式公式预估-校正法计算量小 单步法(欧拉法)单步法(欧拉法)1.由泰勒展开式得到:2.矩形近似解法:3.切线近似解法:特点:方法简单、计算量小,但精度差特点:方法简单、计算量小,但精度差 泰勒级数方法泰勒级数方法优点:优点: 方法概念的简单性,并且具有非常高精度的潜力。

      方法概念的简单性,并且具有非常高精度的潜力缺点:缺点: 依赖于给定的微分方程的反复求导依赖于给定的微分方程的反复求导 几何解释几何解释图a 矩形近似及其误差图b 切线近似及其误差 改进的欧拉法改进的欧拉法预估:曲边梯形面积:直边梯形面积:h较小时,简记为: 改进的欧拉法改进的欧拉法 龙格龙格-库塔(库塔(Runge-kutta)法)法泰勒展开方法:思路:思路:思路:思路:利用几个点上的y(t)的一阶导数值的线性组合来近似代替y(t)在某一个点的高阶导数值然后再利用泰勒展开式确定线性组合的各加权系数这样既避免了计算高阶倒数,又提高了数值积分的精度考虑一阶微分方程: 这里:将 写成线性组合形式: 一阶RK公式,欧拉公式改进欧拉公式 特点:1)单步法;2)同样精度,RK4的h比RK2的h大十倍,而计算量仅大一倍,常用RK4 多变量形式多变量形式 例:已知系统方程为:解:原系统方程可化为下列方程组, 常用的几种数值积分方法常用的几种数值积分方法单步法欧拉法:精度差数值积分方法多步法:改进的欧拉法:精度提高,速度快Adams法Adams隐式公式龙格-库塔法:精度高,常用Adams显式公式预估-校正法计算量小 误差、收敛性与稳定性分析误差、收敛性与稳定性分析1. 误差:截断误差与舍入误差2. 收敛性:3. 稳定性: 采用数值积分方法进行仿真时常常会出现这样的现象:本来是稳定的系统,仿真结果却得出不稳定的结论。

      这种现象是由于计算步长太大造成的,因为,当步长h选得过大时,计算误差较大,数值积分方法会使误差传播,以致引起计算不稳定因稳定性与步长有密切关系,故在处理实际问题时,可用两个显著不同的步长进行计算,若所得结果基本相同,则一般是稳定的;反之,则很可能不稳定; 数值积分方法的选择数值积分方法的选择1. 精度要求:a. 步长确定时,算法阶次越高,截断误差越小b. 阶次确定时,多步法>单步法,隐式>显式2. 计算速度:同步长,RK4比4阶Adams预估校正法慢3. 数值解的稳定性:小于4阶时,隐式Adams>RK4>显式Adams 步长控制步长控制1. 经验公式2. 变步长计算公式 连续系统数字仿真方法连续系统数字仿真方法基于数值积分方法面向方程连续系统数字仿真方法基于离散化方法面向方程结构图:微分方程传递函数状态模型传递函数+非线性环节面向方程面向方程结构图: 传递函数+非线性环节传递函数状态模型 离散相似法离散相似法基本原理:将一个连续系统进行离散化处理,然后求得等价的离散模型将一个连续系统进行离散化处理,然后求得等价的离散模型传递函数状态方程Z域离散相似模型时域离散相似模型 传递函数传递函数传递函数传递函数---> Z---> Z域离散相似模型域离散相似模型域离散相似模型域离散相似模型 状态方程状态方程---> 时域离散相似模型时域离散相似模型 图斯汀置换法:传递函数图斯汀置换法:传递函数--> Z域离散相似模型域离散相似模型 连续系统数字仿真方法连续系统数字仿真方法基于数值积分方法面向方程连续系统数字仿真方法基于离散化方法面向方程结构图:微分方程传递函数状态模型传递函数+非线性环节面向方程面向方程结构图: 传递函数+非线性环节传递函数状态模型RK法Adams法离散相似法置换法 仿真算法的选择与比较仿真算法的选择与比较141.751.25     2.1 过零的产生         在动态系统的仿真过程中,所谓过零,是指系统模型中的信号或系统模块特征的某种改变。

      这种特征改变包括以下两种情况:         (1) 信号在上一个仿真时间步长之内改变了符号         (2) 系统模块在上一个仿真时间步长改变了模式(如积分器进入了饱和区段)    2.2  事件通知            在动态系统仿真中,采用变步长求解器可以使Simulink正确地检测到系统模块与信号中过零事件的发生当一个模块通过Simulink仿真环境通知求解器,在系统前一仿真步长时间内发生了过零事件,变步长求解器就会缩小仿真步长,即使求解误差满足绝对误差和相对误差的上限要求缩小仿真步长的目的是判定事件发生的准确时间(也就是过零事件发生的准确时刻)      2.3  支持过零的模块           在Simulink的模块库中,并非所有的模块都能够产生过零事件  图4  系统模型与求解器之间的交互作用示意图         对于其它的许多模块而言,它们不具有过零检测的能力如果需要对这些模块进行过零检测,则可以使用信号与系统库(Signals & Systems)中的Hit Crossing零交叉模块来实现当Hit Crossing模块的输入穿过某一偏移值(offset)时会产生一个过零事件,所以它可以用来为不带过零能力的模块提供过零检测的能力。

                  一般而言,系统模型中模块过零的作用有两种类型:一是用来通知求解器,系统的运行模式是否发生了改变,也就是系统的动态特性是否发生改变;二是驱动系统模型中其它模块过零信号包含三种类型:上升沿、下降沿、双边沿,如图5所示  图5  过零信号的类型       下面分别对这三种类型进行简单的介绍       (1) 上升沿:系统中的信号上升到零或穿过零,或者是信号由零变为正           (2) 下降沿:系统中的信号下降到零或穿过零,或者是信号由零变为负        (3) 双边沿:任何信号的上升或下降沿的发生    2.4 过零的举例——过零的产生与关闭过零         1. 过零点的产生        【例1】  过零的产生与影响         这里以一个很简单的例子来说明系统中过零的概念以及它对系统仿真所造成的影响在这个例子中,采用Functions & Tables-函数与表库中的Function函数模块和Math数学库中的Abs绝对值模块分别计算对应输入的绝对值我们知道,Function模块不会产生过零事件,所以在求取绝对值时,一些拐角点被漏掉了;但是Abs模块能够产生过零事件,所以每当它的输入信号改变符号时,它都能够精确地得到零点结果。

      图6所示为此系统的Simulink模型以及系统仿真结果 图6  过零产生的影响         从仿真的结果中可以明显地看出,对于不带有过零检测的Function函数模块,在求取输入信号的绝对值时,漏掉了信号的过零点(即结果中的拐角点);而对于具有过零检测能力的Abs求取绝对值模块,它可以使仿真在过零点处的仿真步长足够小,从而可以获得精确的结果为说明这一点,在MATLAB命令窗口中输入如下语句:>> semilogy(tout(1:end–1,diff(tout)) % 绘制系统仿真时刻的一阶差分(即系统仿真步长),如图7所示,其中常规步长为0.2 s,% 当发生过零的情况时,系统仿真步长自动缩小至约s  图7  系统仿真中过零处步长变化         2. 关闭过零        【例2】  过零的关闭与影响            在【例1】中,过零表示系统中信号穿过了零点其实,过零不仅用来表示信号穿过了零点,还可以用来表示信号的陡沿和饱和在这个例子中,系统实现了输入信号由其绝对值跳变到饱和值的功能,而且跳变过程受到仿真时刻的控制在此系统模型中所使用的Abs模块与Saturation模块都支持过零事件的产生,因此在系统的响应输出中得到了理想的陡沿。

      其中系统模型如图8(a)所示,系统仿真结果如图8(b)所示  图8  系统模型及系统仿真结果         从图8中可以明显看出,使用过零检测可以获得很好的仿真结果,系统的输出具有很好的陡沿            在使用Simulink进行动态系统仿真中,其默认参数选择使用过零检测的功能如果使用过零检测并不能给系统的仿真带来很大的好处,用户可以关闭仿真过程中过零事件的检测功能用户可以在Simulation Parameters 参数设置对话框中的Advanced选项卡中进行设置,以关闭过零检测功能,然后再次对系统进行仿真图9(a)、(b)所示分别为关闭过零检测的设置以及在关闭过零检测后系统的仿真结果  图9  关闭系统过零检测的设置和关闭过零检测后的仿真结果      2.5 使用过零检测的其它注意事项          在使用过零检测时,用户需要注意如下几点:         (1) 关闭系统仿真参数设置中的过零事件检测,可以使动态系统的仿真速度得到很大的提高但可能会引起系统仿真结果的不精确,甚至出现错误结果        (2) 关闭系统过零检测对Hit Crossing零交叉模块并无影响。

                  (3) 对于离散模块及其产生的离散信号不需要进行过零检测  3 系统代数环的概念与解决方案系统代数环的概念与解决方案    3.1直接馈通模块         在使用Simulink的模块库建立动态系统的模型时,有些系统模块的输入端口(Input ports)具有直接馈通(Direct feedthrough)的特性所谓模块的直接馈通,是指如果在这些模块的输入端口中没有输入信号,则无法计算此模块的输出信号换句话说,直接馈通就是模块输出直接依赖于模块的输入在Simulink中具有直接馈通特性的模块有如下的几种: (1)  Math Function数学函数模块2)  Gain增益模块3)  Product乘法模块4)  State-Space状态空间模块(其中矩阵D不为0)5)  Transfer Fcn传递函数模块(分子与分母多项式阶次相同)6)  Sum求和模块7)  Zero-Pole零极点模块(零点与极点数目相同)8)  Integrator积分模块     3.2  代数环的产生        在介绍完具有直接馈通特性的系统模块之后,来介绍代数环的产生。

      系统模型中产生代数环的条件如下:        (1) 具有直接馈通特性的系统模块的输入,直接由此模块的输出来驱动        (2) 具有直接馈通特性的系统模块的输入,由其它直接馈通模块所构成的反馈回路间接来驱动     图10所示为一个非常简单的标量代数环的构成       图10  标量代数环       3.3 代数环的举例与解决方案之一:直接求解系统方程          【例3】  代数环的直接求解在图11中所示的两个系统模型中均存在代数环结构,试对这两个系统进行求解         解:为了计算求和模块Sum的输出,需要知道其输入,但是其输入恰恰包含模块的输出对于此二系统,很容易写出如下所示的系统的动态方程:         图11  具有代数环的系统模型    3.4 代数环的举例与解决方案之二:代数约束         用户除了可以使用Simulink内置的代数环求解器对含有代数环的动态系统进行仿真,还可以使用Math模块库中的代数约束Algebraic Constraint模块对动态系统数学方程进行求解           使用代数约束模块并给出约束初始值,可以方便地对代数方程进行求解。

      代数约束模块通过调整其输出代数状态以使其输入为零其中为模块的输出状态,为一代数表达式,它作为模块的输入         【例4】使用代数约束求解代数环        在如图12所示的系统模型中代数约束模块的输出分别为代数状态分别通过反馈回路作为代数约束模块的输入运行此系统相当于对如下的代数方程进行求解:其仿真结果如图12中Display模块所显示的那样,其中,  图12  使用代数约束求解的代数环结构        【例5】代数状态的初始值选取使用代数约束来求解方程的根(显然此方程的根为        解:首先建立如图13所示的系统模型,然后对代数约束模块的初始值进行设置,如图13所示(仿真结果如Display模块中所示)  图13  代数状态的初始值选择      3.5  代数环的举例与解决方案之三:切断环            至此,读者能够采用两种方法对含有代数环的动态系统进行仿真分析:一是直接对系统方程进行手工求解,但是在很多情况下难以进行手工求解甚至不可能进行手工求解;二是使用代数约束,由Simulink内置的代数环求解器对含有代数环的系统进行仿真             【例6】  对于如下的连续线性系统:         建立如图14所示的系统模型。

         图14  切断代数环          图14中为线性连续系统的零极点描述,其相应的状态空间描述矩阵分别为A,B,C,D建立此系统的模型以求出系统在恒定输入下的状态值为了说明切断代数环的影响,我们在此模型中给出系统状态求取的三种不同方法以作为比较图中最上方为使用Simulink的内置代数环求解器进行状态求解,最下方为使用手工方式进行状态求解,中间为使用Memory模块切断代数环,然后进行状态求解 4 高级积分器高级积分器         在使用Simulink对实际的动态系统进行仿真时,积分运算可以说是Simulink求解器的核心技术之一前面在介绍动态系统的仿真实现时,仅仅使用了最简单的积分器设置在这一节中,将简单介绍高级积分器的概念及其应用           首先对积分器的各个端口进行简单的介绍图15所示为使用缺省参数设置下的积分器外观与选择所有参数设置后积分器的外观比较    图15  积分器外观比较              对于使用缺省参数设置下的积分器,其输出信号为输入信号的数值积分,想必读者对其已经比较熟悉了,这里不再赘述。

      下面详细介绍一下选择所有参数设置后的积分器各个端口的含义以及对积分器的设置首先介绍一下积分器参数设置对话框,如图16所示  图16  高级积分器设置         1. 积分器的初始条件端口(Initial condition)        设置积分器初始条件的方法有两种,它们分别是:        (1) 在积分器模块参数设置对话框中设置初始条件:在初始条件源设置(Initial condition source)中选择内部设置(Internal),并在下面的文本框中键入给定的初始条件,此时不显示积分器端口        (2) 从外部输入源设置积分器初始条件:在初始条件源设置中选择外部设置(External),初始条件设置端口以作为标志此时需要使用Signals & Systems模块库中的IC模块设置积分器初始值         2. 积分器状态端口(State)        当出现下述的两种情况时,需要使用积分器的状态端口而非其输出端口:         (1) 当积分器模块的输出经重置端口或初始条件端口反馈至模块本身时,会造成系统模型中出现代数环结构的问题,此时需要使用状态端口。

               (2) 当从一个条件执行子系统向另外的条件执行子系统传递状态时,可能会引起时间同步问题此时也需要使用状态端口而非输出端口至于条件执行子系统的有关内容,将在第7章中介绍  3. 积分器输出范围限制与饱和输出端口(Saturation)         在某些情况下,积分器的输出可能会超过系统本身所允许的上限或下限值,选择积分器输出范围限制框(Limit  output),并设置上限值(Upper  saturation limit)与下限值(Lower saturation limit),可以将积分器的输出限制在一个给定的范围之内此时积分器的输出服从下面的规则:         (1) 当积分结果小于或等于下限值并且输入信号为负,积分器输出保持在下限值(下饱和区)        (2) 当积分结果在上限值与下限值之间时,积分器输出为实际的积分结果        (3) 当积分结果大于或等于上限值并且输入信号为正,积分器输出保持在上限值(上饱和区)         选择Show saturation port复选框可以在积分器中显示饱和端口,此端口位于输出端口的下方饱和端口的输出取值有三种情况,用来表示积分器的饱和状态:        (1) 输出为1,表示积分器处于上饱和区。

              (2) 输出为0,表示积分器处于正常范围之内        (3) 输出为-1,表示积分器处于下饱和区         4. 积分器重置        选择积分器状态重置框可以重新设置积分器的状态,其值由外部输入信号决定此时,在积分器输入端口下方出现重置触发端口可以采用不同的触发方式对积分器状态进行重置:         (1) 当重置信号具有上升沿(rising)时,触发重置方式选择为上升沿         (2) 当重置信号具有下降沿(falling)时,触发重置方式选择为下降沿         (3) 当重置信号具有上升或下降沿(即双边沿)时,触发重置方式可选择为either        (4) 当重置信号非零时,选择level重置积分器状态,并使积分器输出保持在初始状态        积分器的重置端口具有直接馈通的特性积分器模块的输出,无论是直接反馈还是通过具体直接馈通特性的模块反馈至其重置端口,都会使系统模型中出现代数环结构而使用状态端口代替输出端口可以避免代数环的出现          5. 积分器绝对误差设置(Absolute tolerance)         在默认情况下,积分器采用Simulink自动设置的绝对误差限。

      用户也可以根据自己的需要设置积分器的绝对误差限,在Absolute tolerance下键入误差上限即可 至此,我们对高级积分器设置做了一个比较全面的介绍,下面举例说明           【例7】  高级积分器的使用系统模型如图17所示  图17  高级积分器的使用         设置合适的仿真参数如下:仿真时间范围为0~200,积分器的输出上限为20,下限为,状态重置选择信号上升沿rising,其余参数如系统模型框图中所示运行仿真结果如图18所示从仿真结果中可以看出,在系统运行的初始时刻,积分器状态由IC模块所决定;而当系统的输出大于或等于20时,积分器状态重置为 图18  系统仿真结果  5 仿真参数设置:高级选项与诊断选项仿真参数设置:高级选项与诊断选项 1.1  高级选项        首先介绍Simulink仿真参数的高级选项,如图19所示 图19  仿真参数的高级选项卡             其中各个选项的意义如下:        (1) 状态设置(Action):显示当前参数所处的状态,其取值为开(on)或关(off)        (2) 模块组合(Block reduction):使用一个合成模块替代一组模块。

              (3) 逻辑信号检测(Boolean logic signals):检测逻辑模块的输入是否为0激活此状态(Action设置为on)可以强制模块输入为逻辑值        (4) 信号存储复用(Signal storage reuse):复用内存空间以节省信号所使用的内存 (           (5) 过零检测(Zero crossing detection):检测过零事件的发生         (6) 模型参数设置(Model parameter configuration):设置整个系统模型的参数,此参数仅影响到在执行过程中可以改变系统参数的仿真或模型本身的参数可以由其它模型访问的系统模型产生的代码     5.2  诊断选项            在对动态系统进行仿真时,很难避免一些问题的出现,如系统模型中存在的代数环结构、系统中数据连续的转换以及信号的越界等等使用Simulink仿真参数对话框中的诊断选项可以对动态系统仿真过程中出现的问题进行诊断,同时也可以在系统仿真之前进行特定的测试,以有效地提高系统仿真的性能  图20  仿真参数之诊断选项卡 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.