Matlab中的代数环问题及其消除方法_第1页
Matlab中的代数环问题及其消除方法_第2页
Matlab中的代数环问题及其消除方法_第3页
Matlab中的代数环问题及其消除方法_第4页
Matlab中的代数环问题及其消除方法_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、*Matlab 中的代数环问题及其消除方法Algebraic Loop in Simulation of Matlab and its Elimination Method马晓虹MA Xiaohong(陕西理工学院电工电子实验中心,陕西 汉中 723003)(Electrical and Electronic Experiment Teaching Center, Shaanxi University of Technology, Shaanxi Hanzhong 723003)摘 要:本文以免疫 PID 的 SimuLink 模型及其 S 函数为例引出代数环问题,分析了代数环的基本概念,指出

2、了代数环对控制系统仿真的巨大危害,最后结合实际提出了几种消除代数环的方法。结果表明,代数环消除后提高了系统的仿真精度和运行速度。关键词:代数环;仿真;免疫 PID中图分类号:TP273文献标识码:A文章编号:1671-4792-(2010)7-0159-03Abstract: Algebraic loop is lead out through simulink model of immune PID and its S function in this paper. Basic concept is ana-lyzed, and the great impacts are pointed o

3、ut of which algebraic loop to system simulation. At last, several methods are proposed based on practice. The results prove that the simulation precision and run speed of system is improved after the algebraic loop is eliminated.Keywords: Algebraic Loop; Simulation; Immune PID.0 引言型,这些模型直接用 SimuLink

4、 创建显得非常复杂或者是不反馈是一种普遍存在的现象,在进行计算机仿真的时可能的,S 函数却可以很容易地解决这些问题。但在进行信候,将经常会遇到反馈回路。仿真时需要按照一定的时序执号输入时,有可能碰到代数环。笔者在用 S 函数实现免疫模行相应的计算步骤,对于存在反馈回路的控制系统,输入和糊 PID 控制器的时候,就碰到了代数环问题。输出存在着计算时序,当输入直接取决于输出,同时输出也直SimuLink 在用 S 函数进行 PID 差分方程 SimuLink 仿接取决于输入时,仿真模型中会出现代数环(Algebraic Loop)。真时,免疫 PID 控制器的输出为:如果在仿真模型中出现了代数环,

5、将会严重影响仿真速度,某u(k)=u(k-1)+Kpe(k)-e(k-1)+ki1e(k)+kd1e(k)-2e(k-1)些情况下还会严重降低仿真的精度或得到错误的仿真结果。+e(k-2)(1)为了保证精度,有效提高速度,必须高度重视解决代数环的问可以看出,当前的 u(k)输出和上一次的输出 u(k-1)是有题。关系的,对其进行 S 函数的编写时,如果把输出作为输入(如在工程界,非常有名的仿真软件 Matlab 被工程人员广图一所示),则此时就构成了一个代数环。当代数环存在时,为应用1-2,其中的 SimuLink 更是其重要的组成部分。利用是不能启用加速仿真,导致系统的仿真速度严重降低,而且

6、SimuLink ,可以方便、高效地完成交互式图形建模、仿真运行在一定的精度要求下,仿真无法运行。控制、模型运行过程及仿真结果的观察和分析、模型本身的分析等工作。SimuLink 目前对于代数环问题还没有提出令人满意的解决方案。为保证系统仿真的速度和精确度,有必要研究一种有效的代数环消除方法。基于此,本文结合笔者在应用 SimuLink 的过程中解决代数环问题的经验, 讨论和分析有关代数环的问题。图一 S 函数模型1 问题的提出2 代数环的概念及其产生PID 控制器由于线性、简单、可靠,在实际控制系统中得2.1 代数环概念到了广泛应用。在建模过程当中,常常会遇到非常复杂的模在数字计算机仿真中,

7、当输入信号直接取决于输出信159Matlab中的代数环问题及其消除方法科技广场2010.7号,同时输出信号也直接取决于输入信号时,由于数字计算 前馈通道中含有信号的“直通”模块,如比例环节或的时序性,而出现的由于没有输入无法计算输出,没有输出者含有初值输出的积分器;也无法得到输入的 死锁环 ,称之为代数环3。系统中的大部分模型表现为非线性;代数环的一个最简单的例子如图二所示,图二中实现的前馈通道的传递函数的分子分母同阶;是一个简单的负反馈模型。针对这个例子,因为输入中的一用状态空间描述系统时,输出方程中 D=0。部分直接来自于输出,在没有得到输出数据的时候,输入是无3 代数环的解决法计算的,这

8、是一个死锁(deadlock)条件,也即是所谓的代数3.1 SimuLink 对代数环的解决环。SimuLink 中,参数对话框中的 Diagnostics 选项可以设置代数环显示出警告信息,以便能让系统诊断所设计的模型中是否有代数环。为了解决存在代数环情况下的仿真问题,SimuLink 提供了计算代数环的方法,即方程求根的牛顿法。牛顿法也称作图二 一个简单的代数环牛顿 - 拉弗森法或切线法,是一种基于一阶泰勒级数展开的逐次迭代逼近法。随着代数环变长,其中的模块功能越复杂,简单的代数环是可以通过变换来消除。在图二中:精度要求越高,则迭代计算量就越大,在仿真中对仿真速度的降低就越厉害。另外,当不

9、满足收敛条件时,SimuLink 对y=u-y(2)代数环就会得出错误的解。即代数环是一种输入和输出有关的方程,这就是导致死3.2 利用变换法消除代数环锁的原因。要解决死锁,只要把右边的输出移到左边,得出输对于一些简单的代数环,可采用数学变换法求解。用变出只和输入有关的方程即可。所以,解决代数环其实就是解换法消除代数环的方法已经在 3.1 节讲过,这里不再赘述。方程问题。要说明的是,当模型变得很复杂时,这种方法几乎是不能实对式(2)变换得:现的。(3)3.3 在直通模块前插入存储器模块这时,输出只和输入有关,消除了代数环。据式(3)可得这种方法是在直通模块前插入存储器模块切断代数环,到相应的

10、SimuLink 模型如图三所示。可以看出,回路中已没如图四所示。有了反馈。2.2 产生代数环的条件代数环是一种特殊的反馈回路,它的特殊之处就在于除了输入直接决定于输出外 , 输出还直接决定于输入,在SimuLink 中,这种 直接 是由直通模块导致的。在一个闭合路径中,只有各模块都是直通(无延时)模块时才会形成代图四 插入存储器模块这种方法是在反馈通道上增加了存储器环节,使得输入只与上一步的输出有直接联系,消除了代数环。由于该存储环节在系统中相当于一个纯延时环节,会影响系统的仿真精图三 变换后的模型度,特别是当系统稳定裕度不大时,由于延时环节传递函数众多极点的影响,可能会导致系统不稳定。数环

11、,这就是代数环产生的充分必要条件。可知,并非所有的3.4 在反馈通道中加入高频传递环节反馈回路都是代数环。在反馈通道上增加一个延迟环节,可以切断输入输出的SimuLink 的模块库中提供的很多模块都是直通模块。直接联系,如图五所示。当该环节截止频率足够高时,它对系如,数学函数模块、加减法模块、乘积运算模块、积分器模块统精度几乎没有影响,然而此环节增加的计算量会影响系统等等,更多说明可以查阅 SimuLink 手册。的仿真速度。SimuLink 仿真模型中,产生代数环的条件一般有2:3.5 重构部分模型160解决一些特定的代数环问题。例如,SimuLink 专门为积分模块设计了一个状态端口(st

12、ate port) ,其输入与输出端口完全相同,仅在内部计算的时序上有细微区别,而无论是从积分模块的初始值输入端口还是从复位输入端口到状态端口都是非直通的。因此,当有代数环问题时,可以从积分模块的状态端口引出信号,这样,代数环就会被消除。4 结束语图五 加入高频环节本文结合笔者在免疫 PID 仿真工作的实践,对代数环问题进行了分析,介绍和分析了一些在应用 SimuLink 进行建从系统原理出发,重构部分模型,消除直接传输环节。模仿真时消除代数环的方法。经过仿真测试,这些消除代数环后的仿真系统,其仿真精度和速度明显提高 仿真中,代数。在式(1)中可以看出,当前的输出和上一次的输出是有环问题是普遍

13、存在的,代数环的危害也是非常明显的,对复关系的,如果把上一次的输出进行一个延迟单元表示,则原杂系统仿真、实时仿真、高精度仿真等的危害尤其大。对代数模型就可变为两部分,分别为 u*(k)和 u(k-1),则有:环提高重视是一件很有意义的事。u(k)=u(k-1)+u*(k)(4)其中,u*(k)=Kpe(k)-e(k-1)+ki1e(k)+kd1e(k)-2e(k-1)参考文献+e(k-2)(5)1尹向雷,郑恩让,张玲.抄纸过程水分定量的改进型模重构模型如图六所示,此时,实际上是把延迟单元自己糊免疫 PID 控制J.计算机测量与控制,2010,18(2):354-356.作为了一个单独反馈,而延迟单元不是直通模块,所以系统2罗成汉.基于 MATLAB 的控制系统计算机辅助分析中将不再有代数环。J.计算机仿真,:2004,21(4)38-39.3邱杰,原渭兰.数字计算机仿真中消除代数环问题的研Matlab中的代数环问题及其消除方法图六重构模型图除以上几种方法外,SimuLink 还提供了一些专门手段来拆解代数环5,例如代数约束模块(Algebr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论