教育资源为主的文档平台

当前位置: 查字典文档网> 所有文档分类> 工程科技> 兵器/核科学> 数字计算机仿真中消除代数环问题的研究_邱杰

数字计算机仿真中消除代数环问题的研究_邱杰

上传者:孙才勤
|
上传时间:2015-05-08
|
次下载

数字计算机仿真中消除代数环问题的研究_邱杰

  第20卷 第7期

文章编号:1006-9348(2003)07-0033-03

计 算 机 仿 真

2003年7月  

数字计算机仿真中消除代数环问题的研究

邱杰,原渭兰

(海军航空工程学院,山东烟台264001)

摘要:阐述了数字计算机仿真中代数环问题的基本概念,指出了存在代数环的普遍可能性;介绍了SimuLink对代数环的迭代算法;分析和说明了产生代数环的条件以及代数环降低仿真速度和仿真精度的危害;着重介绍和分析了在应用SimuLink进行仿真建模时消除代数环的多种实用方法。关键词:计算机仿真;仿真模型;仿真速度;仿真精度中图分类号:TP301.6  文献标识码:B

1 引言

现实世界中,反馈是一个普遍存在的现象。在各种技术系统中经常可以看到反馈的存在和应用。例如,雷达对目标的自动距离跟踪和自动角度跟踪都要利用反馈;自动控制中,为了使系统稳定等,也需要引入负反馈。

由于反馈的普遍存在,在进行数字计算机仿真的时候,将经常会遇到反馈回路。数字计算机仿真(以下简称仿真)时需要按照一定的时序执行相应的计算步骤,因此,对于反馈回路就有一个输入和输出的计算顺序的问题。这会使得在相当普遍的条件下,将反馈回路变成所谓的代数环。如果在仿真模型中出现了代数环,将会严重影响仿真速度,某些情况下还会严重降低仿真的精度。为了保证精度,有效提高速度,必须高度重视解决代数环的问题。

SimuLink是一个集成仿真环境,是美国MathWorks公司的MATLAB软件包中的一个重要组成部分,也是其中最有价值的产品之一。利用SimuLink,可以方便、高效地完成交互式图形建模、仿真运行控制、模型运行过程及仿真结果的观察和分析、模型本身的分析等等工作。在一项开发反导电子对抗仿真软件的工作中,笔者成功地应用了SimuLink,极大地提高了工作效率和仿真软件的水平。

SimuLink虽然是一个高水平的集成仿真环境,但对代数环问题却并没有提供令人满意的解决方案。本文拟结合笔者在应用SimuLink的过程中解决代数环问题的经验,讨论和分析有关代数环的问题,包括代数环的概念、影响及如何消除仿真模型中的代数环,重点放在代数环的消除上。

代数环问题在数字计算机仿真领域中普遍存在,

内容需要下载文档才能查看

因此,本文所讨论的问题和所提供的方法对于其它仿真软件和仿真环境也是有普遍意义的。

  代数环的一个最简单的例子如图1所示。

图1中实现的是一个减法

器模块,其输出反馈回来作为图1 最简单的代数环的例子

一个输入。这个看似简单的例

子却反映了一个复杂的问题:在进行仿真时,按正常的计算顺序,应该先计算模块的输入,然后再计算由输入驱动的输出,而在图1所示的情况下,因为输入中的一部分直接来自于输出,在没有得到输出数据的时候,输入是无法计算的;同时,因为输出中的一部分直接来自于输入,在没有得到输入数据的时候,输出也是无法计算的。这是一个死锁(deadlock)条件。这就是所谓的代数环。

输出中的一部分反馈到输入,或者说,输入直接决定于输出,这是反馈回路的共同特点。代数环是一种特殊的反馈回路,它的特殊之处就在于除了输入直接决定于输出外,输出还直接决定于输入,在这里,“直接”二字很重要,它体现了代数环的实质,仿真计算中的死锁就是由此产生的。

当然,通过变换拆环,容易解决图1所示问题。事实上,图1中实现的功能可以表示为:

z=u-z

它可以变换为:

z=u/2

(2)

显然,这时候代数环不存在了,仿真计算不存在问题。但实际问题中的代数环的表现形式千差万别,有的是非常复杂的,不可能仅用这样的简单办法来解决。2.2 产生代数环的条件

如前所述,代数环是一种反馈回路,但并非所有的反馈回路都是代数环。代数环存在的充分必要条件是:存在一个闭合路径,该闭合路径中的每一个模块都是直通模块。所谓直通,指的是模块输入中的一部分直接到达输出。SimuLink的模块库中提供的很多模块都是直通模块。

如果一个反馈回路的正向通道和反向通道都由直通模块组成,则此反馈回路一定构成代数环。对于复杂反馈回路

—(1)

2 代数环及其影响

2.1 由最简单的例子引出的代数环概念

收稿日期:2002-05-24

来说,只要能够找到由直通模块构成的闭合路径,则也一定构成代数环。

在应用SimuLink进行图形化建模的时候,应该对其模块库中哪些模块以及在什么条件下有直通特性有所了解,从而可以预见到代数环的存在,也可以为消除代数环以及避免产生新的代数环提供帮助。表1列出了Simulink模块库中的一些典型直通模块。有关情况可以进一步查阅SimuLink用户手册。

表1 Simulink模块库中的典型直通模块

模块名数学函数模块积分器模块乘积运算模块

所属模块子库Simulink/MathSimulink/ContinuousSimulink/Math

当D矩阵非0时从初始条件输入端到

输出的直通

说明

3 在仿真模型中发现代数环

在应用SimuLink的过程中,我们不可能改进其对代数环的迭代算法(这对用户是不可见的)。有实际意义的,是尽可能消除自己的仿真模型中的代数环。要消除代数环,首先要能够发现代数环。

在SimuLink环境下发现代数环是比较容易的。

在SimuLink环境下,可以通过Simulation菜单中的Simu-lationParameters菜单项来弹出SimulationParameters对话页面框。在这个页面框中,有一个Diagnostics页面,如果在该页面的Configurationoptions区域中,点选algebraicloop项,然后再在Configurationoptions区域的右边的Action区域中,点选Warning项,就可使得SimuLink把代数环作为告警对象。

完成这些设置后,就可以借助SimuLink来发现自己的仿真模型中的代数环。这时,只需要运行仿真,如果仿真模型中有代数环,SimuLink就会在MATLAB的命令窗口发出警告,并同时详细列出代数环中每个模块的模块路径和模块名。

状态空间模块Simulink/Continuous加法/减法模块

Simulink/Math

4 代数环的消除

当传递函数的分子与分母阶数相同时当离散传递函数的分子与

分母阶数相同时

传递函数模块Simulink/Continuous

离散传递函数模块

代数环的表现形式是多种多样的,消除代数环的方法也不尽相同。从基本出发点看,消除代数环的方法可以分为两大类,我们把其中一类称之为变换法,另一类称为拆解法。4.1 利用变换法消除代数环

代数环在形式上是一种数字仿真模型,而仿真模型对应的是数学模型,数学模型通常表现为一个方程或方程组。当方程的右边中包含有方程的左边项时,如果用SimuLink去直接实现该方程,则将产生代数环。如果先将原始数学模型进行变换,使得方程的右边不包含有方程的左边项,然

内容需要下载文档才能查看

后再用SimuLink去实现,则可以消除代数环。这就是所谓的变换法消除代数环的含义。

上面由(1)式到(2)式的变换,就是用变换法消除代数环。下面再举一例。

设有一个由以下方程组描述的系统:

x=u-0.﹒5yy=4x+2﹒x

式中,u、x、y分别是系统的输入、状态变量和输出

该系统可以用Simulink模块直接实现,如图2所示。

(4)

Simulink/Discrete

零-极点模块Simulink/Continuous当极点数目与零点数目相同时

2.3 SimuLink对代数环的处理

如果用z表示反馈回路的输出,则代数环的问题在数学上可以简捷地表示为对于方程或方程组:

F(z)=0

求根的问题。

为了解决存在代数环情况下的仿真问题,SimuLink提供了计算代数环的方法,即方程求根的牛顿法。

牛顿法也称作牛顿-拉弗森法或切线法,是一种基于一阶台劳级数展开的逐次迭代逼近法。应用牛顿法时,在代数环中最小步长的每一个时间步上都需要进行多次迭代。如果上面的(3)式是一个方程,则每一次迭代都要进行一次导数计算;如果(3)式是一个方程组,则每一次迭代都要进行一次雅可比矩阵(偏导数矩阵)计算,还要对雅可比矩阵求逆矩阵。代数环越长,其中的模块功能越复杂,精度要求越高,则迭代计算量就越大,在仿真中对仿真速度的降低就越厉害。

另外,虽然具有一定的鲁棒性,牛顿法的收敛也是有一定条件的,这些条件中包含了对(3)式中的F(z)的要求,因而不是完全能够通过主观努力加以控制的。当不满足收敛条件时,SimuLink对代数环提供的解不能用。

我们在利用SimuLink为反导电子对抗仿真系统建模、仿真的过程中,就有因代数环问题使整体仿真速度数十倍下降以及得到错误结果的体验。(3)

图2 方程组(4)的SimuLink模块直接实现

图2中,Gain是增益模块,Sum是加法器模块,Integrator是积分器模块。

将原方程组中的第二个方程代入第一个方程,可以得到:

x=u-﹒x-2x﹒

环。

事实上,由图2中可见,Sum1、Gain2、Sum2和Gain3构成了一个闭合回路,而这四个模块都是直通模块,因此这个闭合回路就是一个代数环。

要消除这个代数环,可以做以下的变换:首先,整理式(4.1),得到:

x=0.﹒5u-x

再将此式代入方程组(4)中的第二个方程,得到:

y=2x+u

这两个方程联立,得:

x=0.﹒5u-xy=2x+u

(4)′(4.2)(4.1)′(4.1)

状态变量x的导数﹒x出现在方程的两边,因此必然存在代数

块,则该代数环就被拆解了。

代数环的拆解有多种方法,由于篇幅所限,在这里仅介绍其中的三种。

4.2.1 插入存储器模块拆解代数环

存储器模块是Simulink库中的一个模块,其功能是将当前的输入采样保持一个时间步,然后再输出。存储器模块在每一个时间步的输出都是其在上一个时间步的输入,因此存储器模块是一个非直通模块。将存储器模块插入代数环中可以拆解代数环。当然,引入存储器模块肯定对原系统的精度有影响。特别是对相位稳定裕量不大的系统,有可能产生振荡,因为存储器模块实际上是一个延迟环节。4.2.2 用非直通模块同功能替代直通模块

在一定的条件下,一些直通模块可以用具有相同功能的非直通模块替代。在代数环中,如果能够做这样的替代,则代数环就被拆解了。

我们在研制反导电子对抗仿真系统的过程中,在构建反舰导弹末制导雷达的距离信息分系统的仿真模型的时候,遇到了一个大的代数环。这个代数环跨越好几个子系统,包含三十多个模块,用一般的方法无法拆解。由于它的存在,整个末制导雷达的仿真模型无法正常运行。经过仔细分析,我们发现该代数环中的一个计数器模块可以用一个一阶离散传递函数来代替,从而可以拆解该代数环。

计数器模块用于对输入脉冲计数,是一个直通模块。我们用以取代计数器模块的离散传递函数如下:

显而易见,方程组(4)′与方程组(4)是等价的。但用SimuLink模块来实现方程组(4)

内容需要下载文档才能查看

′时,得到的仿真模型是不相同的,如图3所示。

图3 方程组(4)/的SimuLink模块直接实现

图3中,仍然存在反馈回路(由Sum1模块和Integrator模块构成),但其中的Integrator模块不是直通模块,该反馈回路不构成代数环。图3中也有信号的直通(由输入u到输出y是直通的),但并不构成回路,当然也不构成代数环。

这个例子进一步说明:代数环对应于一定的数学模型的形式(即隐函数的形式),如果能够将原始的数学模型进行等价变换,得到显函数形式,则按显函数实现仿真模型,就可以消除代数环。

实际的仿真运算表明,虽然完成的功能完全相同,但消除了代数环的图3模型所用的运行时间仅为有代数环的图2模型所用的运行时间的1/28,同时,图3模型的运行精度更高。这也说明了的确有必要消除代数环。

用变换法消除代数环存在两个方面的限制。首先,并不是所有的隐函数都可以解出得到显函数。其次,原始的数学模型往往反映了仿真对象的物理结构,按照物理结构构造仿真模型可以实现所谓的同构仿真;按照变换后得到的数学模型构造的仿真模型则只能实现同态仿真。而同构仿真比同态仿真具有更好的可信度,也具有更大的灵活性。4.2 利用拆解法消除代数环

用拆解法消除代数环基于这样一个认识:代数环是一个闭合回路,而且回路中的每一个模块都必须是直通模块,在保持功能不变的同时,如果能够在回路中产生一个非直通模

入序列的z变换

=X(z)z-1

(5)

  式中,Y(z)、X(z)分别是模块输出的z变换和模块输入

(5)式可以变化为:

zY(z)-Y(z)=X(z)

对(5)′式进行逆z变换并整理可得:

y(n+1)=y(n)+x(n)

(6)(5)′

  式中,y(n)、x(n)分别是模块的输出序列和模块的输

由(6)式可见,如果将该离散传递函数模块的输入信号的幅度量化为单位值,同时适当设置该模块的采样时间,则该模块可以准确实现计数器模块的功能。而该模块是一个非直通模块,用以代替计数器模块后,上述的代数环就拆掉了。4.2.3 用SimuLink提供的专门手段拆解代数环

SimuLink提供了一些专门手段来拆解代数环,例如代数约束模块(AlgebraicConstraint),积分模块(以及离散积分模块)的状态输出端等。这些手段可以解决一些特定的代数环问题。下面举一个利用积分模块的状态输出端的例子。

从积分模块的输入端口到输出端口是非直通的,但从积分模块的初始值输入端口到输出端口,以及从复位输入端口到输出端口却都是直通的。因此,如果从积分模块的输出端口引出的信号再经过一些直通模块后又

(下转第40页)—

击响应谱值修正。仿真结果表明本文介绍的方法是有效的。该工作对冲击控制仪的研制具有一定的指导作用。参考文献:

[1] 王浚等.环境模拟技术[M].北京:国防工业出版社,1996:755~

758.

[2] 陈塑寰.结构振动分析的数值方法[M].吉林:吉林科学技术出

版社,1996:62~65.

验技术研究。

作者简介

刘洪英(1965.10-),女(汉族),辽宁省大连市人,

工程师,研究方向为航天振动、冲击环境模拟及试验技术研究。

1969.11-),男(汉族),河北省玉田县人,马爱军(

副研究员,研究方向为航天振动、冲击环境模拟及试

冯雪梅(1974.12-),女(汉族),吉林省吉林市人,工程师,研究方向

为航天振动、冲击环境模拟及试验技术研究。

Computersimulationofshockresponsespectrum(SRS)controlsystem

LIUHong-ying,MAAi-jun,FENGXue-mei

(InstituteofSpaceMedico-Engineering,Beijing100094,China)

ABSTRACT:UsingcomputersimulationtostudySRScontrolmethodwhileusingelectrodynamicshakertosimulatepyrotechnicenvironment.Atime-historywaveformissynthesizedaccordingtotheshocktestspecification.Severallowleveldrivesignalsareoutputtedtoshakersys-tem.TheaccelerationresponseanditsSRSofshakersystemarecalculated.ApplyingthewaveformamplitudeequalizationmethodtomodifytheSRSandachieveSRS'control.

KEYWORDS:Shockresponsespectrum;Controlsystem;Computersimulation

(上接第35页)

反馈到积分模块的初始值输入端口或者复位输入端口,则构成一个代数环。

为了解决这个问题,SimuLink专门为积分模块设计了一个状态端口(stateport),其输出与输出端口完全相同,仅在内部计算的时序上有细微区别,而无论是从积分模块的初始值输入端口还是从复位输入端口到状态端口都是非直通的。因此,当出现上述的代数环问题时,可以从积分模块的状态端口引出信号。这样,代数环就被拆解了。

作者简介

邱 杰(1957.7-),男(汉族),重庆市人,副教授,

1981年12月于国防科技大学电子对抗专业毕业,获学士学位;1996年3月于南京航空航天大学通讯与电子系统专业研究生毕业,获硕士学位。1982年至今任教于海军航空工程学院。主要研究方向:电子

战、反舰导弹及其末制导雷达、导弹制导、系统仿真。

参考文献:

[1] 郭云芳等.计算机仿真技术[M].北京:北京航空航天大学出版

社,1991-5.

[2] 张志涌等.精通MATLAB5.3版[M].北京:北京航空航天大学出

版社,2000-8.

5 结束语

本文结合仿真工作的实践,对代数环问题进行了阐述。主要是从实用的角度,介绍和分析了一些在应用SimuLink进行建模仿真时消除代数环的方法。

在数字计算机仿真中,代数环问题是普遍存在的,代数环的危害也是非常明显的,对复杂系统仿真、实时仿真、高精度仿真等的危害尤其大。因此,对代数环的问题有一个清晰的认识,能够有意识地消除代数环,是非常有意义。希望大家都来重视这个方面的工作。

原渭兰(1956.9-),女(汉族),辽宁宽甸人,副教授,1981年12月于

国防科技大学火箭发动机专业毕业,获学士学位;1986年1月于国防科技大学火箭发动机研究生毕业,获硕士学位,1982年至今任教于海军航空工程学院,主要研究方向:火箭发动机,系统仿真。

ResearchonRemovingAlgebraicLoopinDigitalComputerSimulation

QIUJie,YUANWei-lan

(NavalAeronauticalEngineeringCollege,YantaiShandong264001,China)

ABSTRACT:Inthispaper,thebasicconceptofalgebraicloopindigitalcomputersimulationisexpatiatedon;theuniversalpossibilityofex-istingalgebraicloopispointedout;theiterativealgorithmusedinsimulinkforalgebraicloopisintroductedbriefly;theconditionofproductingalgebraicloopandtheharmfromalgebraicloopinsimulationspeedandprecisionareanalysed.Emphatically,severalmethodsforremovingal-gebraicloopinapplyingsimulinkarepresentedandanalysed.

KEYWORDS:Computersimulation;Simulationmodel;Simulationspeed;Simulationprecision

版权声明:此文档由查字典文档网用户提供,如用于商业用途请与作者联系,查字典文档网保持最终解释权!

下载文档

热门试卷

2016年四川省内江市中考化学试卷
广西钦州市高新区2017届高三11月月考政治试卷
浙江省湖州市2016-2017学年高一上学期期中考试政治试卷
浙江省湖州市2016-2017学年高二上学期期中考试政治试卷
辽宁省铁岭市协作体2017届高三上学期第三次联考政治试卷
广西钦州市钦州港区2016-2017学年高二11月月考政治试卷
广西钦州市钦州港区2017届高三11月月考政治试卷
广西钦州市钦州港区2016-2017学年高一11月月考政治试卷
广西钦州市高新区2016-2017学年高二11月月考政治试卷
广西钦州市高新区2016-2017学年高一11月月考政治试卷
山东省滨州市三校2017届第一学期阶段测试初三英语试题
四川省成都七中2017届高三一诊模拟考试文科综合试卷
2017届普通高等学校招生全国统一考试模拟试题(附答案)
重庆市永川中学高2017级上期12月月考语文试题
江西宜春三中2017届高三第一学期第二次月考文科综合试题
内蒙古赤峰二中2017届高三上学期第三次月考英语试题
2017年六年级(上)数学期末考试卷
2017人教版小学英语三年级上期末笔试题
江苏省常州西藏民族中学2016-2017学年九年级思想品德第一学期第二次阶段测试试卷
重庆市九龙坡区七校2016-2017学年上期八年级素质测查(二)语文学科试题卷
江苏省无锡市钱桥中学2016年12月八年级语文阶段性测试卷
江苏省无锡市钱桥中学2016-2017学年七年级英语12月阶段检测试卷
山东省邹城市第八中学2016-2017学年八年级12月物理第4章试题(无答案)
【人教版】河北省2015-2016学年度九年级上期末语文试题卷(附答案)
四川省简阳市阳安中学2016年12月高二月考英语试卷
四川省成都龙泉中学高三上学期2016年12月月考试题文科综合能力测试
安徽省滁州中学2016—2017学年度第一学期12月月考​高三英语试卷
山东省武城县第二中学2016.12高一年级上学期第二次月考历史试题(必修一第四、五单元)
福建省四地六校联考2016-2017学年上学期第三次月考高三化学试卷
甘肃省武威第二十三中学2016—2017学年度八年级第一学期12月月考生物试卷

网友关注视频

外研版英语三起6年级下册(14版)Module3 Unit2
冀教版小学数学二年级下册1
沪教版八年级下册数学练习册20.4(2)一次函数的应用2P8
冀教版小学数学二年级下册第二单元《余数和除数的关系》
冀教版小学数学二年级下册第二周第2课时《我们的测量》宝丰街小学庞志荣.mp4
【部编】人教版语文七年级下册《过松源晨炊漆公店(其五)》优质课教学视频+PPT课件+教案,江苏省
冀教版小学英语五年级下册lesson2教学视频(2)
冀教版英语三年级下册第二课
冀教版小学数学二年级下册第二周第2课时《我们的测量》宝丰街小学庞志荣
沪教版牛津小学英语(深圳用) 六年级下册 Unit 7
三年级英语单词记忆下册(沪教版)第一二单元复习
七年级英语下册 上海牛津版 Unit9
沪教版牛津小学英语(深圳用) 四年级下册 Unit 7
每天日常投篮练习第一天森哥打卡上脚 Nike PG 2 如何调整运球跳投手感?
冀教版英语五年级下册第二课课程解读
二年级下册数学第一课
沪教版牛津小学英语(深圳用) 四年级下册 Unit 8
沪教版牛津小学英语(深圳用) 五年级下册 Unit 7
沪教版牛津小学英语(深圳用) 五年级下册 Unit 12
外研版英语三起5年级下册(14版)Module3 Unit1
外研版英语七年级下册module1unit3名词性物主代词讲解
8 随形想象_第一课时(二等奖)(沪教版二年级上册)_T3786594
【部编】人教版语文七年级下册《过松源晨炊漆公店(其五)》优质课教学视频+PPT课件+教案,辽宁省
苏教版二年级下册数学《认识东、南、西、北》
沪教版牛津小学英语(深圳用) 五年级下册 Unit 10
沪教版八年级下册数学练习册21.4(1)无理方程P18
化学九年级下册全册同步 人教版 第18集 常见的酸和碱(二)
【部编】人教版语文七年级下册《泊秦淮》优质课教学视频+PPT课件+教案,广东省
第五单元 民族艺术的瑰宝_16. 形形色色的民族乐器_第一课时(岭南版六年级上册)_T1406126
第19课 我喜欢的鸟_第一课时(二等奖)(人美杨永善版二年级下册)_T644386