第6章Simulink系统仿真原理.ppt

  1. 1、本文档共65页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 Simulink系统仿真原理 6.1 Simulink求解器概念 6.2 系统过零的概念与解决方案 6.3 系统代数环的概念与解决方案 6.4 高级积分器 6.5 仿真参数设置:高级选项与诊断选项 6.1 Simulink求解器概念 6.1.1 离散求解器 第3章中简单介绍了动态系统的模型及其描述,其中指出,离散系统的动态行为一般可以由差分方程描述。众所周知,离散系统的输入与输出仅在离散的时刻上取值,系统状态每隔固定的时间才更新一次;而Simulink对离散系统的仿真核心是对离散系统差分方程的求解。 在对纯粹的离散系统进行仿真时,需要选择离散求解器对其进行求解。用户只需选择Simulink仿真参数设置对话框中的求解器选项卡中的discrete(no continuous states)选项,即没有连续状态的离散求解器,便可以对离散系统进行精确的求解与仿真。读者可以参考第5章中相关内容了解离散求解器的其它设置,这里不再赘述。 6.1.2 连续求解器 与离散系统不同,连续系统具有连续的输入与输出,并且系统中一般都存在着连续的状态变量。连续系统中存在的状态变量往往是系统中某些信号的微分或积分,因此连续系统一般由微分方程或与之等价的其它方式进行描述。这就决定了使用数字计算机不可能得到连续系统的精确解,而只能得到系统的数字解(即近似解)。 采用不同的连续求解器会对连续系统的仿真结果与仿真速度产生不同的影响,但一般不会对系统的性能分析产生较大的影响,因为用户可以设置具有一定的误差范围的连续求解器进行相应的控制。离散求解器与连续求解器设置的不同之处如图6.1所示。 由于连续系统状态变量不能够被精确地计算出来,因而积分的误差值同样也是一个近似值。通常,连续求解器采用两个不同阶次的近似方法进行积分,然后计算它们之间的积分差值作为积分误差。连续求解器积分误差的计算如图6.2所示。 图6.2中h为积分步长。注意,此图以最简单的多边形积分近似算法为例说明积分误差的计算,在实际中具体的方法视连续求解器的不同而不同。如果积分误差满足绝对误差或相对误差,则仿真继续进行;如果不满足,则求解器尝试一个更小的步长,并重复这个过程。当然,连续求解器在选择更小步长时采用的方法也不尽相同。如果误差上限值的选择或连续求解器的选择不适合待求解的连续系统,则仿真步长有可能会变得非常小,使仿真速度变得非常慢。(用户需要注意这一点。) 混合系统仿真时连续状态求解与离散状态求解的协调如图6.3所示。其中h为初始步长,由于在时刻t与t+h之间系统存在着离散状态的更新,因而连续变步长求解器将会减小步长至,之后再计算积分误差以控制求解。如果求解误差满足误差范围,则进行下一步仿真,否则缩小时间间隔,重复此过程进行求解仿真。 6.2 系统过零的概念与解决方案 6.1节中对Simulink的求解器进行了较为深入的介绍。Simulink求解器固然是系统仿真的核心,但Simulink对动态系统求解仿真的控制流程也是非常关键的。Simulink对系统仿真的控制是通过系统模型与求解器之间建立对话的方式进行的:Simulink将系统模型、模块参数与系统方程传递给Simulink的求解器,而求解器将计算出的系统状态与仿真时间通过Simulink环境传递给系统模型本身,通过这样的交互作用方式来完成动态系统的仿真。 6.2.1 过零的产生 在动态系统的仿真过程中,所谓过零,是指系统模型中的信号或系统模块特征的某种改变。这种特征改变包括以下两种情况: (1) 信号在上一个仿真时间步长之内改变了符号。 (2) 系统模块在上一个仿真时间步长改变了模式(如积分器进入了饱和区段)。 6.2.2 事件通知 在动态系统仿真中,采用变步长求解器可以使Simulink正确地检测到系统模块与信号中过零事件的发生。当一个模块通过Simulink仿真环境通知求解器,在系统前一仿真步长时间内发生了过零事件,变步长求解器就会缩小仿真步长,即使求解误差满足绝对误差和相对误差的上限要求。缩小仿真步长的目的是判定事件发生的准确时间(也就是过零事件发生的准确时刻)。 6.2.3 支持过零的模块 在Simulink的模块库中,并非所有的模块都能够产生过零事件。 对于其它的许多模块而言,它们不具有过零检测的能力。如果需要对这些模块进行过零检测,则可以使用

文档评论(0)

ranfand + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档