Simulink系统仿真原理

Simulink系统仿真原理

ID:38573307

大小:2.74 MB

页数:65页

时间:2019-06-15

Simulink系统仿真原理_第1页
Simulink系统仿真原理_第2页
Simulink系统仿真原理_第3页
Simulink系统仿真原理_第4页
Simulink系统仿真原理_第5页
资源描述:

《Simulink系统仿真原理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章Simulink系统仿真原理6.1Simulink求解器概念6.2系统过零的概念与解决方案6.3系统代数环的概念与解决方案6.4高级积分器6.5仿真参数设置:高级选项与诊断选项6.1Simulink求解器概念6.1.1离散求解器第3章中简单介绍了动态系统的模型及其描述,其中指出,离散系统的动态行为一般可以由差分方程描述。众所周知,离散系统的输入与输出仅在离散的时刻上取值,系统状态每隔固定的时间才更新一次;而Simulink对离散系统的仿真核心是对离散系统差分方程的求解。在对纯粹的离散系统进行仿真时,需要选择

2、离散求解器对其进行求解。用户只需选择Simulink仿真参数设置对话框中的求解器选项卡中的discrete(nocontinuousstates)选项,即没有连续状态的离散求解器,便可以对离散系统进行精确的求解与仿真。读者可以参考第5章中相关内容了解离散求解器的其它设置,这里不再赘述。6.1.2连续求解器与离散系统不同,连续系统具有连续的输入与输出,并且系统中一般都存在着连续的状态变量。连续系统中存在的状态变量往往是系统中某些信号的微分或积分,因此连续系统一般由微分方程或与之等价的其它方式进行描述。这就决定了使用

3、数字计算机不可能得到连续系统的精确解,而只能得到系统的数字解(即近似解)。采用不同的连续求解器会对连续系统的仿真结果与仿真速度产生不同的影响,但一般不会对系统的性能分析产生较大的影响,因为用户可以设置具有一定的误差范围的连续求解器进行相应的控制。离散求解器与连续求解器设置的不同之处如图6.1所示。图6.1离散求解器与连续求解器设置的比较由于连续系统状态变量不能够被精确地计算出来,因而积分的误差值同样也是一个近似值。通常,连续求解器采用两个不同阶次的近似方法进行积分,然后计算它们之间的积分差值作为积分误差。连续求解

4、器积分误差的计算如图6.2所示。图6.2连续求解器积分误差计算图6.2中h为积分步长。注意,此图以最简单的多边形积分近似算法为例说明积分误差的计算,在实际中具体的方法视连续求解器的不同而不同。如果积分误差满足绝对误差或相对误差,则仿真继续进行;如果不满足,则求解器尝试一个更小的步长,并重复这个过程。当然,连续求解器在选择更小步长时采用的方法也不尽相同。如果误差上限值的选择或连续求解器的选择不适合待求解的连续系统,则仿真步长有可能会变得非常小,使仿真速度变得非常慢。(用户需要注意这一点。)混合系统仿真时连续状态求解

5、与离散状态求解的协调如图6.3所示。其中h为初始步长,由于在时刻t与t+h之间系统存在着离散状态的更新,因而连续变步长求解器将会减小步长至,之后再计算积分误差以控制求解。如果求解误差满足误差范围,则进行下一步仿真,否则缩小时间间隔,重复此过程进行求解仿真。图6.3连续状态求解与离散状态求解的协调示意图6.2系统过零的概念与解决方案6.1节中对Simulink的求解器进行了较为深入的介绍。Simulink求解器固然是系统仿真的核心,但Simulink对动态系统求解仿真的控制流程也是非常关键的。Simulink对系统

6、仿真的控制是通过系统模型与求解器之间建立对话的方式进行的:Simulink将系统模型、模块参数与系统方程传递给Simulink的求解器,而求解器将计算出的系统状态与仿真时间通过Simulink环境传递给系统模型本身,通过这样的交互作用方式来完成动态系统的仿真。6.2.1过零的产生在动态系统的仿真过程中,所谓过零,是指系统模型中的信号或系统模块特征的某种改变。这种特征改变包括以下两种情况:(1)信号在上一个仿真时间步长之内改变了符号。(2)系统模块在上一个仿真时间步长改变了模式(如积分器进入了饱和区段)。6.2.2

7、事件通知在动态系统仿真中,采用变步长求解器可以使Simulink正确地检测到系统模块与信号中过零事件的发生。当一个模块通过Simulink仿真环境通知求解器,在系统前一仿真步长时间内发生了过零事件,变步长求解器就会缩小仿真步长,即使求解误差满足绝对误差和相对误差的上限要求。缩小仿真步长的目的是判定事件发生的准确时间(也就是过零事件发生的准确时刻)。6.2.3支持过零的模块在Simulink的模块库中,并非所有的模块都能够产生过零事件。图6.4系统模型与求解器之间的交互作用示意图对于其它的许多模块而言,它们不具有过

8、零检测的能力。如果需要对这些模块进行过零检测,则可以使用信号与系统库(Signals&Systems)中的HitCrossing零交叉模块来实现。当HitCrossing模块的输入穿过某一偏移值(offset)时会产生一个过零事件,所以它可以用来为不带过零能力的模块提供过零检测的能力。一般而言,系统模型中模块过零的作用有两种类型:一是用来通知求解器,系统的运行模式是否发生

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。