通用仿真

关键词: 专用性 实时性 平台 系统

通用仿真(精选七篇)

通用仿真 篇1

为了实现特定仿真需求,可以通过搭建不同的仿真软件系统来满足仿真应用需求。基于特定的仿真目标,可采用目前的仿真标准体系结构如DIS、HLA等实现系统开发。其优点是系统的可维护性强、与异构的仿真系统互联、互通、互操作性强,其缺点是对中小型仿真系统的开发复杂性大,对开发人员要求高,依附于特定的标准体系及技术体系。

为解决中小系统的仿真开发问题,建立一个通用的仿真平台,在这个仿真平台上,能够实现完整的仿真运行过程。为能够适应用户实现一体化的仿真建模与运行,需要实现仿真模型与仿真平台间的无缝连接。解决模型与平台间的接口问题。通过对通用仿真引擎的设计,实现了仿真模型与仿真平台间的接口,并通过一系列的仿真服务,实现仿真模型在仿真引擎内部的运行。

2 仿真引擎的功能

仿真引擎是仿真实体的运行环境,仿真实体作为物理上独立的软件组件,可以独立的运行在仿真引擎中。仿真引擎为仿真实体提供运行所需要的基础服务,仿真实体通过这些基础服务,进行自身能力以及行为的仿真。仿真引擎向仿真实体提供的主要服务包括声明管理服务、对象管理服务、时间管理服务、仿真进程管理、对外互联服务、仿真剧情设置六大基础服务,声明管理服务提供了对实体对象公布数据及订购数据的服务支持。对象管理服务包括对象提供方的实例注册和更新,对象用户方的实例的发现,同时包括收发交互信息的方法、基于用户要求控制实例更新和其它各方面的支持功能。时间管理实现了与仿真时间相关的服务。仿真进程管理实行了仿真运行状态的控制。仿真剧情设置实现了仿真剧情的设定,对仿真实体的实例化方案及数据进行规划和设置。在互操作方面,对外互联服务实现了与同构的仿真引擎以及异构的仿真应用的互联互通,并实现互操作功能。仿真模型由仿真实体自身进行实现,仿真引擎主要实现了运行环境。

3 仿真引擎的组成

仿真引擎的功能模型及服务与实体的关系如图1所示。

仿真实体其物理表现形式是按特定软件接口标准实现的DLL,仿真实体通过注册,在声明管理中实现了自身的注册。对象管理服务完成对象数据的接收与发送。时间管理服务实现对仿真实体的时间服务。时间管理服务主要通过授时的方式,为仿真实体提供自身状态变化所需的时间信息。仿真进程管理实现对仿真实体仿真运行状态进行控制,完成对成员仿真开始、停止、暂停的管理与控制。

外部互联服务在分布式仿真工作方式下,实现与已有仿真软件的互联,主要针对目前的仿真平台如HLA平台的仿真系统进行互联服务。实现对时间、对象数据的同步与发送。并实现与外部仿真系统的声明管理服务的同步。实现对外部仿真软件实体数据的反射。对于内部对象实现向外部的对象信息发布。

4 仿真实体分析

仿真实体是仿真引擎进行仿真运行所直接服务的对象,仿真实体的接口特征决定了仿真引擎设计中所要考虑的重点。需要对仿真实体的要素及其在仿真过程中的主要的行为进行准确及完整的描述,为了实现仿真引擎的适应性,需要保证其对仿真实体模型的描述抽象化,并基于此抽象化的表达,适应不同类型仿真实体建模的需要,满足不同类型实体在仿真引擎中进行运行的需要。

考虑现实世界实体特征,结合仿真实现需要,将仿真实体相关概念定义如下:

【定义1】实体

实体是“可区分的人、地物或关于保持信息的概念。特别地,实体包含人、组织、设备、特点、材料等”。

【定义2】实体类

实体类是概念模型描述中最基本的概念,实体类是对具有相同特征的一类事物或特定个体的抽象,在仿真概念模型中,具有重要意义的物理对象或概念对象均可以视之为实体类。实体类说明了这些对象或概念所共有的性质。

实体类可用如下五元组表示:

Entity::=

Entity_ID——实体标识,说明实体的名称,实体标识应该具有全局唯一性。

Entity_Type——实体类型,说明实体的类别。

Entity_InnerAttribute——实体内部属性,说明该实体区别于其它实体所特有的性质。

Entity_OuterAttribute——实体外部属性,说明该实体与其他实体产生交互时需要从其他实体获得的属性数据集合。

Entity_Mothod——实体方法,说明实体能执行的任务。

Entity_Structure——实体结构,说明实体与实体之间的关系。

【定义3】实体方法

实体方法是实体能力的主要体现,通过实体方法来驱动实体的内部属性以及外部属性,外部属性的变化,体现了实体与外部实体的互动过程,最终实现了实体状态的变化与迁移,完成了对现实实体的模拟过程,对定义2中的Entity_Mothod进一步用如下表示:

Entity_Mothod::=

Entity_SetMothod——实体设置方法,实现对实体的内部属性的设置,实体的一部分内部属性需要开放出来,可以供仿真引擎进行设置。

Entity_GetMothod——实体读取方法,实体的内部属性中需要开发出来时,通过此类方法实现对内部属性的访问。

Entity_OuterMothod——实体的外部方法,实现对实体外部属性数据的获取,在仿真运行过程中,实体的外部属性是由其他实体提供的。

Entity_InnerMothod——实体内部方法,实现了实体基本行为能力的方法,如飞机的飞行、攻击等行为能力。

Entity_MainMothod——实体主方法,是实体作为能够完成仿真运行的独立个体的主要程序入口。

【定义4】实体实例

实体实例是将抽象的实体类具体定义和赋值的过程。

实体的实例化Initialize可定义为一个二元关系:

Initialize=::{|e∈E∧o∈O∧Instance(o,e)}

其中E是所有实体类的集合,O是所有实体实例的集合,Instance(x,y)是一个二元关系谓词,表示o是完全满足实体类e所描述的对象,我们称o是e的实例。

以上的定义是对仿真引擎进行设计的基础,实体的特点决定了仿真引擎提供服务的内容。反过来,实体自身的特征以及方法定义,也决定了仿真引擎在向其提供运行服务的过程中,对其进行服务的方式、机制以及反向的约束条件。结合针对仿真实体的定义,对仿真提供的几个服务进行分析和设计。

5 仿真引擎需要提供的服务

5.1 声明管理

实体使用声明管理服务来声明它们可以产生和希望接收的信息的意图。实体在注册对象实例、更新属性值、发送交互之前,调用声明管理服务,通过服务使仿真引擎获得实体的注册信息,并使仿真引擎根据注册的信息来实现为实体实例提供进一步的服务,如注册飞机对象后,既可满足飞机对象自身运行需要,还可为依赖飞机对象的雷达对象提供飞机位置数据支持,而以上支持要依赖于声明管理服务。在一个成员可以发现对象实例、反射实例属性值、接收交互之前,它也必须调用适当的声明管理服务。

5.2 对象管理

本服务将处理实体对象实例的注册、修改及删除和交互获取通知。之所以称为通知,在仿真引擎实现对象间交互的服务时,采用集中的对象队列的方式,如图2所示。将对象在某时刻的状态按先后解算结束顺序将对象的数据入队列。当某对象需要获取其交互对象的状态数据时,需要通过仿真引擎获得交互更新的通知,否则此对象的Entity_OuterAttribute不作更新。

对象服务提供的主要功能包括对象实例的注册、修改、删除管理,交互获取通知以及对象查询服务。

对象实例注册后,将对象实例放入对象队列中。通过对象的注册,对象管理同时可以获得对象的实体信息,并依据声明管理提供的基础信息,可以得到对象间的数据关联,明确其公布与数据需求关系。在对象实例的修改、删除的情况下,对象服务要对对象队列进行维护,主要实现对对象的修改与删除操作,同时要向修改对象的订阅者发送更新消息。

交互获取通知主要针对对象队列的变化,向对象队列中变化的对象数据的需求者发送通知,使其对数据进行更新操作。对象查询服务针对对象队列的变化,实时的为对象数据需求者提供对象数据查询服务。

5.3 时间管理

时间管理实现对仿真时间的管理,在仿真引擎内部,采用统一的仿真逻辑时间,与现实世界的天文时间映射。实体实例提供了独立进行仿真解算的调用入口Entity_MainMothod。仿真引擎的时间管理服务采用了同步的方式为整个系统的仿真提供时间,并根据对象的运行状态来决定时间推进,当对象在t0时刻完成仿真解算工作,向仿真引擎发送时间推进请求,当所有对象在t0时刻均提出了时间推进请求后,时间管理服务向各个对象发送时间推进指令。各个对象在收到指令后,完成时间推进。

5.4 仿真进程管理

仿真进程管理主要实现对仿真过程的控制,实现对仿真运行的开始、暂停、停止、继续的控制。仿真进程的控制需要仿真引擎协调对象管理、时间管理服务,使不同的仿真实体实例及服务能够相应调整。在进程控制的过程中,仿真实体实例要针对仿真指令做出相应的响应。对开始指令的响应是实体要根据仿真时间及交互实体的状态来进行仿真计算。在暂停指令下发后,实体要停止时间推进,暂停对状态的解算。对停止指令的响应是停止仿真过程,释放各种资源。对继续指令的响应是恢复仿真暂停前仿真运行的状态并继续仿真解算过程。

5.5 仿真剧情设置

仿真剧情的设置是仿真引擎运行的数据基础,仿真实体是仿真运行的模型基础。在仿真实体开发的基础上,仿真实体的软件组件集成到仿真引擎中,仿真剧情设置完成了对实体的实例化的过程,并以实例化的实体为对象,对仿真的数据进行初始化,其中初始化的数据主要是实体内部属性Entity_InnerAttribute,实体内部属性的设置主要通过Entity_SetMothod方法。仿真剧情设置还包括对实体内部方法发生时间及相关属性的设置。

仿真剧情从逻辑上包含以下内容:

1)部署位置信息。

2)作战编成信息。

3)作战行动及任务信息。

4)实体重要参数数据。

5.6 对外互联服务

对外互联服务的目的是实现仿真引擎与其他特定仿真系统的互联互通。仿真引擎一方面能够独立的实现对参与仿真的实体的仿真解算,另外在很多情况下要求基于仿真引擎开发的仿真系统能够与现有的基于HLA的系统进行集成,对外互联服务主要与基于HLA的仿真系统实现声明同步、对象数据同步以及时间管理的同步。

声明同步主要实现与外部系统在声明管理上的交互,仿真引擎要说明内部实体能够向外部提供的数据内容,以及需要从外部获取的数据内容。

对象数据同步主要根据内部对象管理服务中对对象数据的维护结果,根据与外部系统在声明同步中的结论,按外部系统数据格式要求,数据要求主要是FOM表结构,对公布对象类、交互类数据进行数据准备并公布,反过来,针对外部系统公布的数据,将其转化为仿真引擎内部的对象数据可以解析的数据,提供给仿真引擎中的对象实例进行使用。总结以上服务过程,对外互联服务是仿真引擎与外部仿真系统的桥接器,从外部仿真系统的角度看,它的功能类似于成员大使的功能,而从仿真引擎的角度看,它又将外部系统中的实体实例化为仿真引擎中的实体实例。有了对外互联服务,实现了仿真引擎的开发性。

6 仿真实体与仿真引擎接口方式

仿真实体向仿真引擎提供自身的类型描述,在实体向仿真引擎注册的过程中,要说明实体能够提供数据的内容,并说明其能对外提供的可访问的属性元素的列表。通过对实体外部属性的公布,可以使仿真引擎根据这些信息向外请求对应实体外部属性的实体实例公布的属性数据。

以上过程的核心的问题在于,如何对仿真运行过程中实体的相关属性进行关联。即一个实体的外部属性如何与其他实体的内部属性进行关联。通常我们可以采用实体属性的命名规则来实现不同实体模型间数据的解释及交换,但问题在于实体模型的建立过程通常是具有独立性,即可以不同的人来完成对特定实体的建模,在实体模型建立之前就建立一个完整的接口命名规则理论上可行,但实践起来带来的设计开销很大,所以采用属性名称来进行映射的办法是不可行的,另外,实体类型繁多、属性复杂也决定了不可能针对所有的属性都采用命名规则来实现接口对接。

为了更好的优化模型开发方法,对实体的属性进行独立设计,仿真实体被编译为可被调用的仿真组件。在仿真实体的被投入仿真引擎中运行前,根据各个参加运行的实体的接口内容,对实体外部属性与相关实体属性进行映射。映射关系如图3所示。

图中两个实体分别是飞机实体及雷达实体,雷达实体为实现对目标的探测,需要目标的三个主要属性目标位置、目标速度以及目标反射截面积。在雷达实体内部,这三个属性是雷达实体的外部属性,其具体的属性值需要从飞机实体内部的位置、速度、反射截面积属性的值获得。为了实现雷达实体获得外部属性值的调用,需要将以上映射关系以文件的形式存储下来,在仿真引擎获得这些文件后,就可以根据其描述的关联关系,调用飞机实体的Entity_GetMothod获得其位置、速度信息,并调用雷达实体的Entity_OuterMothod实现对外部属性数据的更新与设置。

7 结束语

通过基于实体模型的通用作战仿真引擎的设计与开发,提高了中小型作战仿真系统的开发效率,降低了仿真系统的开发成本,同时系统的技术体系解决了模型的复用问题,提高了作战仿真引擎的适应性和可扩展能力。在与已有的基于HLA的仿真系统的互操作方面,通过对外互联服务实现了与外部仿真系统的互联互通,并在功能和性能方面满足战术及战役级别作战仿真的需要。通过系统的使用,获得了较大的军事和经济效益。

摘要:建立通用作战仿真引擎服务于装备效能评估、作战方法研究、作战训练的仿真系统,可以提升系统的开发效率,降低开发成本。对仿真引擎的功能进行了分析,说明了仿真引擎为支撑实体仿真运行所需要提供的主要服务。定义了仿真实体模型的组成,对仿真引擎提供的六个主要服务的方式和机制进行了分析。说明了实体模型与仿真引擎的接口方式,重点说明了实体间交互关系的处理方式。设计满足了通用作战仿真引擎的功能要求,同时具备较强的适应性和可扩展性。

关键词:作战仿真引擎,实体,建模

参考文献

[1]熊光楞,彭毅.先进仿真技术与仿真环境[M].北京:国防工业出版社,1997.

[2]黄柯棣.系统仿真技术[M].长沙:国防科技大学出版社,1998.

[3]周彦,戴剑伟.HLA仿真程序设计[M].北京:电子工业出版社,2002.

[4]李恒劭,秦立富.战场信息系统[M].北京:国防工业出版社,2003.

[5]郭齐胜,董志明,单家元.系统仿真[M].北京:国防工业出版社,2006.

[6]赵军仓.基于HLA作战环境的仿真及作战效能评估的研究[D].西北工业大学,2006.

[7]何晶,王刚,李为民.C3I系统仿真模型库研究[J].计算机工程,2003,29(4):54-56.

[8]Laurent Cazard,Martin Adelantado.HLA Federates Design And Federations Management:Towards a Higher Level Object-Oriented Ar-chitecture Hiding The HLA Services[C].02S-SIW-013 Proceedings of the 2002 Spring Simulation Interoperability Workshop,2002.

[9]Dr.Andreas Tolk.A Common Framework for Military M&S and C4I Systems[C]03S-SIW-031 Proceedings of the 2003 Spring SimulationInteroperability Workshop,2003.

通用仿真 篇2

在研究太阳能最大功率点跟踪的过程中, 最首要的是建立一个太阳能仿真模型。太阳能仿真模型的建立一般要经历以下步骤———首先由光伏电池原理即光生伏特效应, 构建出光伏电池的物理模型或外特性模型。

对于研究独立光伏发电系统的最大功率点来说, 对独立光伏发电系统仿真建模的研究有利于对整个系统的性能进行优化设计, 对于提前研究潜在的问题及合适的控制算法有着很大的帮助。

现有的仿真模型多数基于光伏的外特性进行建模, 并以文献[1]为典型代表。文中的重要方法是使用了隐函数的求解方法解算出了光伏电池等效电路的电流、电压特性数学模型, 为光伏模型仿真解决了未知参数过多的问题。文献[2]在前人研究的基础上, 就太阳能串联电阻的估算问题给出了一种引入补偿系数修正太阳光强和电池温度变化对光伏常规参数影响的公式。文献[3]通过近似方法获得了隐函数超越方程的显函数表达式, 并给出了两组太阳能变化参数的实验数据。

因此, 本文对以上三篇典型模型的仿真方法进行了验证, 取其精华, 并查阅大量文献修正了其中一些公式的不足之处, 构建出一种新的模型, 使其在温度、辐照度变化情况下可以较为准确地反映出太阳能板输出电流、电压, 并进行了验证, 为研究太阳能最大功率点跟踪奠定了坚实的基础。

1 光伏仿真模型的建立

1.1 光伏电池数学模型推导

光伏电池的原理是基于半导体材料的光伏效应将太阳辐射直接转换为电能。图1给出了实际太阳能电池的单二极管等效电路模型, 它由一个二极管、一个串联电阻和一个并联电阻以及相对应的负载组成, 二极管表示分子的极化现象, Rs和Rsh表示损耗[4,5,6]。

可以将上述模型简化为式 (1) :

其中, 光伏电池模块中的串联电阻Rs的值可以由式 (2) 、式 (3) 决定[7]:

式中, ε为禁带宽度, 值为1.12eV;γ为开路电压温度系数;Ns为电池串联数;Umref为STC条件下最大功率点的电压;Uocref为STC条件下开路电压;Imref为STC条件下最大功率点的电流;Iscref为STC条件下短路电流。

1.2 光伏电池工程数学模型推导

通常, 太阳能厂商可以提供在标准测试条件下的4个技术参数———短路电流Isc、开路电压Uoc、最大功率点电流Im和最大功率点电压Um, Iph、Rsh以及曲线拟合常数A难以确定, 因此根据参考文献[2], 可得到:

假设Isc=Iph, 当光伏电池电压为U时, 其对应电流为I, 其I—U方程可简化为:

开路状态下:I=0, U=Uoc;最大功率点状态下:I=Isc, U=Um。将上述条件代入方程 (4) 即可得出:

当光照强度和环境温度变化时:

在后续实验过程中研究发现, 根据式 (8) 建立的模型不能有效跟踪辐照度发生变化后太阳能板的输出, 并且与实际数据存在极大的误差。经研究, 将式 (8) 修正为式 (11) 的形式:

式中, α是短路电流温度系数;β是开路电压光照强度系数;γ是开路电压温度系数。

以上补偿系数均为常数, 由太阳能板厂家提供, 如厂家并没有提供相关参数, 通用取值为[8]:α=0.002 5 A/℃, β=0.000 5m2/W, γ=-0.002 88V/℃。

上述由文献[1]提供的仿真方法简称为“方法一”。

由于光伏电池输出特性与太阳光光照强度和环境温度有关[8], 当光照强度不变时, 短路电流Isc随温度的升高而增加, 开路电压Uoc随温度的升高而下降;当环境温度不变时, 短路电流Isc与光照强度呈线性相关, 开路电压Uoc则与光照强度的对数成正比[9]。

通过上文所述变化规则, 对方法一的仿真模型进行改进, 引入补偿系数α、β、γ, 可得到关系式 (12) 、 (13) , 可以近似推算出任意环境温度T和光照强度S下的4个新技术参数 (I′sc, U′oc, I′m和U′m) 。文献[10]给出了如下6个公式:

经过仿真实验并与实际数据拟合曲线对比后, 发现电压与辐照度的差值并没有直接关系, 并且根据式 (15) 、 (17) 不能准确跟踪当前的电压数据, 根据文献[3], 将公式修正为式 (18) 、 (19) :

上述新提出的可以更新电流、电压数据的新仿真方法即“方法二”。该方法可以跟踪到变化条件下的短路电流Isc及开路电压Uoc, 但在温度仿真实验当中, 表现出曲线在最大功率点附近有较大的误差, 考虑到补偿系数α、β、γ为短路电流Isc、开路电压Uoc的相关系数, 不能完全拟合最大功率点处的Im、Um, 因此特引入补偿系数Am、Cm, 有如下关系式:

上述引入新补偿系数的仿真方法简称为“方法三”。

1.3 光伏电池仿真模型建立

根据方法三的思路, 设计出一种可更新技术参数的太阳能仿真模型, 如图2所示。根据式 (5) 、 (6) 建立C1、C2公式模块, 由式 (9) 、 (10) 、 (11) 分别建立ΔI、ΔU、ΔT, 并根据4个技术参数更新公式 (14) 、 (16) 、 (18) 、 (19) 当前状况下的参数值。

由公式建立Rs子模块, 如图3所示。

对图2所示的工程模型进行封装, 并增加输入、输出参量, 得到如图4所示光伏特性仿真模型。

2 光伏电池仿真模型验证及优化

2.1 辐照度性能验证

根据文献[3]获得一组太阳能组件性能随辐照度变化的数据, 其中光伏电池的电气参数如表1所示。

将以上数据填入封装模型的对话框中。

将表2所示的辐照度对组件性能影响数据录入MATLAB中, 并绘图与仿真模型输出的特性曲线进行比较。

如图5、图6所示, 图中实线表示方法一所述的仿真模型的输出曲线, *为表2中的数据点。

由图可知, 方法一在STC条件下有较好的跟踪效果, 但当辐照度发生变化之后, 可以跟踪到当前辐照度下的短路电流Isc, 但不能跟踪开路电压Uoc。

由于方法一在仿真过程中, 仅根据STC条件下的4个参数值Isc、Uoc、Im、Um进行运算, 当环境温度不变、辐照度发生变化后, 仍然用旧的数据进行运算, 因此产生了较大误差, 这一点在温度变化的情况下更为明显。引入方法二进行仿真后, 得到仿真曲线图7、图8。

由图可以观察到, 较先前的仿真模型, 跟踪精度有了显著提高。由于本文提出的方法二模型已经可以较好地拟合光伏特性随辐照度的变化情况, 方法三提出的引入最大功率点补偿系数的方法对特性的跟踪效果没有实质影响, 因此, 在本例中, 方法二可以有效跟踪光伏特性随辐照度的变化情况。

2.2 温度性能验证

根据文献[3]获得一组组件性能随温度变化的数据, 其中光伏电池的电气参数如表3所示。

将以上数据填入封装模型的对话框中。

将表4所示的温度对组件性能影响数据录入MATLAB中, 并将绘图与仿真模型特性进行比较。

分别用方法一、方法二、方法三构建出的仿真模型对以上数据进行仿真, 得到如下结果:图9、图10中实线表示方法一的跟踪曲线, 当温度发生变化时, 方法一既不能跟踪短路电流Isc, 也不能跟踪开路电压Uoc。

引入方法二进行仿真, 得到仿真曲线图11、图12, 图中实线为方法二的仿真结果, 虚线为方法一的仿真结果。由图12可以观察到, 较先前的仿真模型, 本文提出的方法二的跟踪模型, 可以较为准确地跟踪到开路电压Uoc及短路电流Isc。但根据图12显示的U—P跟踪曲线, 方法二对最大功率点的跟踪还有一定误差, 因此对方法二进行改进, 引入最大功率点补偿系数Am、Cm, 即利用方法三进行仿真。

方法三的仿真曲线如图13所示, 图中实线为方法三的仿真结果, 虚线为方法二的仿真结果。可以观察到, 相较之方法二的仿真方法, 方法三可以较为准确地拟合太阳能特性曲线随温度的变化情况。

3 结语

本文依据常用太阳能电池模型的隐函数模型, 再由太阳能参数变化的规律公式将标准条件下的短路电流、开路电压、最大功率点电流、最大功率点电压等参数更新为当前温度、辐照度条件下的参数, 由此得到了变化条件下的电池模型。本文详细介绍了建立该模型的基本方法, 对于今后研究太阳能电池的特性有很大帮助。

摘要:在研究基于飞行器的太阳能独立电源时, 首先需要建立太阳能电源的仿真模型, 且要求该模型能够随外界环境变化而调整相应的输出。参考现有的几种仿真模型, 由隐函数法、特性参数更新等方法的结合重新构建出一种简单易行的可跟踪外界环境变化的太阳能特性仿真模型。经过文献数据的验证, 该模型可以跟随温度及气压的变化, 较为准确地反映出太阳能特性的变化趋势, 为进行太阳能最大功率点跟踪研究过程中通过改变外部条件从而验证跟踪性能奠定了基础。

关键词:太阳能,仿真模型,电源,MPPT

参考文献

[1]茆美琴, 余世杰, 苏建徽.带有MPPT功能的光伏阵列Matlab通用仿真模型[J].系统仿真学报, 2005, 17 (5) :1248-1251.

[2]廖志凌, 阮新波.硅太阳能电池串联电阻的一种估算新方法[J].电工技术学报, 2008, 23 (5) :88-92.

[3]王明达, 赵瑞杰.基于数据手册的光伏电池特性及参数实用估算方法[J].可再生能源, 2012, 30 (3) :102-107.

[4]赵富鑫, 魏彦章.太阳能电池及其应用[M].北京:国防工业出版社, 1985.

[5]赵争鸣, 刘建政, 孙晓瑛.太阳能光伏发电及其应用[M].北京:科学出版社, 2005.

[6]王长贵, 王斯成.太阳能光伏发电实用技术[M].北京:化学工业出版社, 2005.

[7]Viorel B.Dynamic Model of a Complex System Including PV Cells, Electric Battery, Electrical Motor and Water Pump[J].Energy, 2003, 28 (12) :1165-1181.

[8]苏建徽, 余世杰, 赵为, 等.硅太阳电池工程用数学模型[J].太阳能学报, 2001, 22 (4) :409-412.

[9]Rajasekar N, Kumar N K, Venugopalan R.Bacterial Foraging Algorithm based solar PV parameter estimation[J].Solar Energy, 2013, 97:255-265.

通用仿真 篇3

文中基于实时反射内存网技术,完成通用航电系统仿真平台的设计,解决了航电系统仿真平台专用性限制和仿真实时性差的问题。

1 反射内存网技术简介

通常在搭建仿真平台时,采用以太网技术。但由于以太网技术无法确保通信的确定性和实时性,因此不能直接用于实时仿真系统,需依靠软件手段提供一定的服务保证机制以确保通信的实时性,这便增加了仿真系统设计和实现的复杂度。

反射内存网(RFM网络)是一种新的网络通信技术,支持环形/星形拓扑,通过硬件实现数据的高速复制,为多机系统建立分布式共享内存结构提供支持。其优点是高速、实时、确定性、高吞吐量和低误码率,实时数据传输时延≤700 ns,上述特点适用于实时系统的构建和仿真。

2 通用航电系统仿真平台分析与设计

2.1 系统分析

通用航电系统仿真平台[3]应提供以下基本功能和性能要求:(1)应为任务系统软件的调试提供平台,提供模拟量信号、离散量信号和模拟视频等信号。(2)应支持半实物仿真,将航电设备连接在仿真系统中,使仿真更接近真实情况,提高系统仿真的逼真度和仿真试验结果的置信度。(3)应支持全数字仿真,采用数学、语言描述系统,并编写程序在计算机上对实物进行研究。(4)软件应采用模块化开放式软件架构,实现对各仿真模块的功能封装,将仿真软件划分为一系列相对独立的软件。(5)软件应具有实时多任务处理功能,对仿真模型进行周期调度,周期长度可动态设置,缺省情况下必须满足RS422总线刷新周期。(6)软件部署具有适应性和可伸缩性,航电系统的多个组成软件可视需要部署在不同的仿真计算机上,并可随意增减工作站,灵活调整系统规模。

基于上述需求,文中将通用航电系统仿真平台划分为实物子系统、接口子系统和仿真子系统,如图1所示。其中实物子系统是由航电设备构成的物理子系统,用于半实物仿真。接口子系统是一个特殊的接口转换单元,用于连接实物和仿真子系统,实现物理接口的连接和不同接口协议间的转换,并用于半实物仿真。仿真子系统由普通的工控机/PC机组成,是仿真进行的基础运行环境,支持仿真模型的运行和管理,同时用于半实物和全数字仿真。

其中,实物子系统不是必须部分,在整个航电系统开发的生命周期内,可根据需要进行添加或删除,接口子系统和仿真子系统是通用仿真航电系统的基础部分,每个具备地面全数字仿真和地面半实物仿真能力的平台必须拥有。

2.2 系统设计

通用航电系统仿真平台系统架构如图2所示。

通用航电系统仿真平台由实物子系统和仿真平台内核组成[4]。实物子系统包括:任务子系统、电子战子系统、通信导航子系统及显卡子系统等,实物子系统可根据半数字仿真需要选用;仿真平台内核由接口子系统和仿真子系统组成,仿真平台内核采用分布式仿真架构,包括硬件基础平台和仿真系统软件两部分,如图3所示。

硬件基础平台由装配有反射内存卡的标准工控机阵列组成,互连网络为反射内存网,网络拓扑结构为星形或环形网络。工控机阵列通过反射内存卡组网构成多机分布式共享内存结构。仿真子系统与接口子系统间通过标准RS-422串行通信总线互连。工控机用于模型仿真和数据转换。接口切换单元是一个嵌入式计算机模块,其IO接口模块硬件架构采用开放体系结构,接口支持PCIE标准接口,支持插入常见的AFDX、FC、1394等航电系统通信接口,该架构具备较强的扩展能力。

仿真系统软件包括:仿真基础环境、仿真模型库管理组件、仿真前配置组件、仿真运行期间管理组件和仿真后期统计分析组件、接口监控机组件和接口切换单元软件。

仿真基础环境是一个基于QT开源UI框架的仿真集成开发环境,用于集成其他功能组件。仿真库管理组件支持对仿真模型进行增删和查改操作,其目前支持的航电系统仿真模型如表1所示。

仿真前配置组件用于配置、生成仿真蓝图,该蓝图用于指导仿真的进行并作为仿真期间运行管理组件的输入。仿真蓝图以XML文件存在,其配置参数包括:(1)仿真构型参数,配置参与仿真实验的各系统为仿真系统或真实系统。(2)参数初始值设置,包括物理环境参数、飞机飞行参数和战术环境参数。(3)监控参数选择,如图4所示。

仿真运行期间管理组件以仿真蓝图为输入,启动运行仿真模型,对仿真过程进行监控和调度,完成预定的数据采集任务,并实现串口-反射网通信协议转换和在线参数更改功能。基本流程为:(1)从指定配置文件载入任务配置数据。(2)根据任务配置数据,初始化物理环境参数、战术环境参数和飞机飞行参数,完成这些参数的设置和初始化界面显示。(3)根据任务配置数据,设置物理环境参数、战术环境参数和飞机飞行参数的初始值。(4)按照仿真构型设置,向综合接口装置发送指令,设置系统仿真构型。(5)按照仿真构型设置,设置和显示对应的航电系统仿真监控界面和参数修改界面。(6)按照仿真构型设置,加载对应的航电系统仿真模型。(7)启动加载的各系统模型,开始仿真试验。

仿真后期统计分析组件,支持对数据的分析、统计操作和仿真过程的重演。

接口监控机组件用于生成接口映射配置数据、向接口切换单元烧写配置数据、监控并实时采集通信数据。接口映射配置数据用于建立仿真子系统串口与实物子系统接口间的映射关系。采用配置数据接口映射可实现仿真子系统和实物子系统间的解耦,提高系统仿真的灵活性。表2是一种仿真构型的接口-串口映射关系示例。

接口切换单元软件包括:接口映射配置数据、协议转换软件和监控软件,均固化在接口切换单元上,固化工具为接口监控机组件附带的烧写工具。接口切换单元在通电后,首先读取接口映射配置数据,完成协议转换软件的初始化。然后进入就绪状态,当有消息到达时,协议转换软件将立即启动,完成对消息的校验、缓冲、转换和转发功能。

在仿真阶段,仿真计算机上驻留着一个或多个航电设备仿真模型,每个航电设备模型对应一个仿真设备。仿真模型通过对特定设备输入输出和行为的模拟实现对物理设备的仿真。在仿真进行阶段,仿真模型通过工控机将数据写入到本地反射内存,反射内存硬件通信协议进行实时广播,其他工控机节点的反射内存卡数据将实时更新。此外,每台工控机上有仿真运行环境软件,负责仿真模型管理、仿真管理和仿真数据的统计分析。

3 仿真系统原型系统测试

基于文中的设计思想,设计并实现了仿真系统原型,搭建了测试环境对其功能性能进行了验证。测试环境包括:(1)硬件环境:1台航电系统任务计算机和1台显控计算机(用于仿真实物子系统)+3台PC机(其中2台用于仿真子系统运行,1台用于接口子系统运行)+1台接口切换单元设备。(2)软件环境:WindowsXP操作系统+仿真系统软件内核软件。(3)网络环境:反射内存网+422串口网络。(4)测试软件部署,如图5所示。

通过搭建半实物仿真环境,观察仿真运行期间管理组件的参数监控界面输出、接口监控组件的参数监控界面输出以及显控计算机的操作指令,发现数据刷新和显控指令基本一致,表明系统的功能正确,该设计方案合理。

图6、图7是参数监控界面输出截图。

4 结束语

文中首先对航电系统仿真平台进行抽象,将其划分为实物子系统、接口转换子系统和仿真子系统,然后逐步细化完成了接口转换子系统和仿真子系统的设计,最终通过搭建原型系统测试验证了该设计方案的可行性。下一步将从丰富模型库中的模型、系统性能优化和工程化3方面对系统的功能和性能进行完善。基于该方案的航电系统仿真平台可应用于,新一代航电系统的前期技术方案论证与评估,并且支持并行研制航电子系统/设备,可缩短航电系统研制时间。

参考文献

[1]胡乐申.实时分布仿真环境的研究与应用[D].西安:西北工业大学,2006.

[2]诸文洁.综合航电仿真系统关键技术研究[J].民用飞机设计与研究,2010(1):15-18.

[3]熊鹏飞,秦开宇,陈华伟,等.基于多线程MVC模式的航电仿真系统软件设计[J].测控技术,2012(6):120-123.

通用仿真 篇4

关键词:空空导弹,空战评估,杀伤评估,建模与仿真

现代空战对抗训练需要适应快速变化的空战战场战术环境, 能够根据战场态势、导弹武器性能、导弹发射时机、目标规避机动等实时综合评估导弹杀伤效果, 构造与真实一致的战场环境。对于空空导弹杀伤效果评估, 目前主要有两种方法:一类称为导弹包络法[1], 即导弹的杀伤概率基于导弹和目标机之间的距离、高度以及导弹发射时刻的角度, 静态评估导弹攻击效果。该方法未能考虑目标针对导弹进行的规避机动, 同时不能提供导弹飞行的轨迹, 不能在战场态势画面中显示;另一类方法称为导弹全数字仿真法[2—4], 通过对导弹弹体的质量、质心、转动惯量, 运动学、动力学和气动特性, 导弹过载, 导弹导引头、控制机构、舵机特性, 以及气象环境等进行详细建模, 全面细致地体现导弹的作战特性, 但该方法计算量通常较大, 难以在嵌入式的机载平台中实现。

在三自由度导弹飞行模型的基础上, 考虑导弹俯仰与横滚角控制模型, 能够较为真实地表现导弹攻击过程, 同时具有计算量小, 便于嵌入式实现的特点。此外, 在导弹飞行过程的最终阶段考虑弹目距离、预计接近时间、弹目接近速度等因素, 评估导弹杀伤效果。该仿真模型能获得导弹飞行轨迹和杀伤结果, 便于在战场态势画面上实时显示。

1 导弹建模

1.1 模型基本特征

通用导弹模型考虑了导弹的物理特性、制导、推进和导弹运动特性。导弹杀伤概率基于导弹脱靶量, 即导弹与目标之间的最小距离计算。这种建模技术考虑了武器发射过程中目标机的所有机动规避, 它对导弹的脱靶距离具有较大影响。导弹脱靶量至少需要考虑以下两方面的因素:①由于导弹本身的限制 (例如与目标的距离、不能完成所需机动、超过导弹的最大视线角的限制等) , 导弹未能达到目标;②目标机进行机动成功规避导弹。

在通用空空导弹的设计要求中, 存在以下几个约束, 需在导弹模型设计中实现, 包括:①模型必须具有实际的物理性质 (例如推力、重力、阻力等) 。在导弹发动机工作时间内, 导弹不断加速, 且重量随着燃料的消耗降低, 但忽略导弹重心的变化;②导弹制导和控制系统必须真实, 其特性参数可根据实际武器参数设置, 忽略导弹的弹性变形等次要影响因素;③导弹仿真程序必须是可重入的, 允许多枚导弹同时攻击多个目标;④模型的计算强度应尽可能小, 便于在嵌入式平台上实现, 且模型软件必须具备跨平台能力, 便于移植和扩展。

1.2 导弹仿真模型

导弹模型计算框架如图1所示, 该模型考虑了导弹仿真的主要因素, 其他因素的讨论见文献[6]。导弹仿真模型按迭代方式计算:根据导弹与目标的相对位置、距离计算弹目接近速率, 然后根据导弹控制与导航方式计算导弹的俯仰与横滚角;根据导弹推力、阻力和重量的变化, 计算导弹的加速度和速度;结合导弹的角度与速度, 获得导弹在X、Y、Z坐标中的速度分量, 从而获得新的导弹当前位置, 进行下一次迭代。

图中各个步骤的变量计算描述如下:

1.2.1 导弹与目标的相对位置与距离

记Δx、Δy、Δz为导弹和目标之间的位置差, 计算为

式 (1) 中:n为迭代次数;xT, n、yT, n、zT, n分别为第n次迭代中目标的X、Y和Z坐标位置;xM, n、yM, n、zM, n分别为第n次迭代中导弹的X、Y和Z坐标位置。根据位置差, 可计算导弹与目标之间的距离为

1.2.2 弹目接近速率

导弹与目标在X、Y、Z坐标中的接近速度分别计算为

1.2.3 导弹的俯仰与横滚角

由弹目相对位置和弹目接近速度, 可得导弹X、Y、Z坐标中的期望速度为

进一步可得期望的俯仰控制速率和横滚控制速率分别为

式 (5) 中:θ、γ分别为导弹当前的俯仰和横滚角。

然后可得导弹控制系统输出的俯仰角和横滚角控制信号分别为

式 (6) 中:CNav为导航常数;VC为接近速率, 计算为

导航控制信号还要受到导弹最大俯仰与横滚角度的限制, 即应分别限制在[-θmax, θmax]和[-γmax, γmax]内取值。由导弹角度控制信号, 可计算俯仰和横滚角加速度分别为

式 (8) 中:CMT为导弹控制系统时间常数, 即从控制指令的产生到导弹的运动参数变化需要的延迟时间。

进而可以计算俯仰和横滚角变化率分别为

可得俯仰与横滚角的角速度与角位置分别为

1.2.4 导弹加速度和速度

不失一般性, 假设导弹发动机在工作过程为导弹提供大小恒定的推力, 则导弹发动机推力计算为

式 (11) 中:T表示导弹发动机推力;tB表示发动机工作时间;t为导弹飞行时间。在发动机工作过程中, 导弹质量将随着燃料的消耗减小, 假设消耗燃料的速度是均匀的, 则导弹质量计算为

式 (12) 中:Mmax和MF分别为导弹最大质量和导弹燃料质量。发动机停止工作后, 由于空气阻力和重力影响, 导弹将开始减速。

当前迭代中导弹的阻力根据形状阻力和升力阻力计算。阻力计算为

式 (13) 中:v为导弹速度;q为导弹俯仰角变化率;r为导弹横滚角变化率;K1、K2均为导弹阻力相关常数, 根据导弹特性参数取值。

综合上述导弹受到的推力、阻力和重力, 可计算导弹加速度和速度分别为

式 (14) 中:g为重力加速度;θ为导弹俯仰角。

1.2.5 导弹的当前位置

由导弹的速度、角度, 可计算导弹在X、Y、Z坐标中的当前位置为

1.3 导弹仿真结果判断逻辑

导弹杀伤效果判断逻辑如图2所示, 存在三种可能的结果:导弹错失目标、击中目标或继续跟踪目标。其中考虑了以下若干因素:①目标是否已超出导引头LOS角限制;②弹目距离是否在引信起爆距离之内;③预计接近时间是否小于仿真周期的绝对值;④接近速率是否小于0;⑤导弹是否触地;⑥导弹燃料是否已经耗尽。

由于仿真按Δt步长推进, 在此期间导弹仿真可能正在接近目标, 也可能“飞越”目标, 因此需要预计接近时间。计算预计接近时间的绝对值, 若该值小于Δt, 则表示导弹在当前迭代或下一迭代周期中与目标碰撞。

其中:LOS角计算公式为

预计接近时间计算为

2 模型测试

为测试模型的有效性, 选择一4 500 m×8 000m×10 000 m的区域进行测试, 测试参数设置如下。

2.1 导弹特性参数、位置和速度

设某型导弹特性参数如表1所示。导弹发射的初始位置设为 (0, 0, 6 000) m, 即位于坐标原点上方高度为6 000 m的位置, 初始速度为 (0, 0, 200) m/s。速度选择200 m/s是因为大多数战术遭遇发生在亚音速范围。

2.2 目标机位置和速度

目标机位置选择X轴范围0~4 500 m、Y轴范围-4 000~4 000 m、Z轴范围200~12 000 m的区域, 各坐标轴以25 m为增量构造目标机位置网格测试导弹是否能击中目标机, 可计算目标机的位置为23 298 501个。目标机运动方向与攻击机相同, 速度为 (0, 0, 230) m/s。

2.3 仿真步长参数

选择每秒进行128次迭代, 即仿真步长Δt=0.007 812 5 s。仿真步长越短, 导弹预测结果越精细。

图3 (a) 为导弹攻击位置为 (3 100, 200, 5 500) m处目标机时的弹道曲线, 该攻击过程中导弹的速度变化曲线如图3 (b) 所示。导弹在发动机工作期间迅速加速, 停止工作后由于空气阻力和重力的影响速度不断降低。在仿真的最后一次迭代中, 导弹与目标的最终距离为2.61 m, 该时间小于设定的导弹引信作用距离, 判定导弹击中目标。

网格中所有结果为命中的测试点构成导弹攻击范围, 如图4所示。其中图4 (a) 和图4 (b) 分别表示LOS角限制分别为30°和60°时导弹的攻击范围在z=0处的剖面;图4 (c) 和图4 (d) 分别表示LOS角限制分别为30°和60°时导弹的攻击范围在y=0处的剖面。攻击范围均呈现为扇形, 与导弹发射包络模型类似。

3 结论

针对空战对抗训练系统导弹评估模型设计需求, 提出了一种通用导弹飞行仿真模型, 该模型考虑了导弹的物理特性、制导方式、动力和运动特性、目标的机动等因素, 并基于导弹脱靶量计算导弹杀伤结果, 可用于对飞行员运用空空导弹进行攻击训练进行评估。仿真计算过程与计算结果表明, 该模型计算简单, 攻击过程与范围与实际导弹基本相同。

参考文献

[1] Van Der Wiel.J-ROADS Air defense simulation support during the2006 JPOW IX missile defense exercise.RTO-MP-MSG-045.2006:201 —212

[2] 常晓飞, 符文星, 阎杰.空空格斗导弹仿真平台的研究.弹箭与制导学报, 2007;27 (2) :42—44, 49Chang X F, Fu W X, Yan J.The study on the simulation platform of air-to-air dogfight missile.Journal of Projectiles, Rockets, Missiles and Guidance, 2007;27 (2) :42—44, 49

[3] 焦勇, 强金辉, 周喻虹.一体化导弹六自由度全量数学仿真系统的设计与实现.弹箭与制导学报, 2007;27 (3) :103—105Jiao Y, Qiang J H, Zhou Y H.Design and implementation of integrated 6 DOF missile simulation system.Journal of Projectiles, Rockets, Missiles and Guidance, 2007;27 (3) :103—105

[4] 李波, 高晓光.空空导弹通用仿真模型研究.系统仿真学报, 2008;20 (22) :6290—6293, 6297Li B, Gao X G.Research on general air-to-air missile simulation model.Journal of System Simulation, 2008;20 (22) :6290—6293, 6297

[5] 姜光焱, 张伟, 段昶.基于Vega Prime的导弹仿真系统的研究.系统仿真学报, 2013;25 (4) :645—649, 667Jiang G Y, Zhang W, Duan C.Research of missile simulation system based on Vega Prime.Journal of System Simulation, 2013;25 (4) :645 —649, 667

通用仿真 篇5

在航天航空领域, 随着数字电子技术的发展, FPGA具有可编程、高集成度、高速和高可靠性的优点。FPGA的仿真验证在整个设计开发中占越来越重要的地位。在传统的验证过程中, 验证充分性是靠测试人员的经验保证的。随着芯片规模越来越大, 芯片功能越来越复杂, 和一次性流片费用的增加, 而覆盖率作为一种判断验证充分性的手段已成为验证工作的主导[1,2]。

二、FPGA仿真流程化通用设计

本文主要提供一种针对FPGA硬件描述语言设计的仿真流程化设计, 目前主流的FPGA设计一般采用Verilog和VHDL两种硬件描述语言输入, 也有原理图方式输入的, 其对应的工程文件分别为v、vhd和bdf三种文件格式, 本文的仿真验证工作是基于硬件描述语言的。

(1) 功能仿真。功能仿真根据布局布线分为布局布线前仿真和布局布线后仿真, 一般习惯称之为前仿真和后仿真。综合是将FPGA电路设计的硬件描述语言翻译成为最底层门级电路的过程, 综合生成的网表文件包含门级电路单元和单元之间的连接关系, SDF文件包含了后仿真所需的时间信息。

FPGA芯片所包含的电路门数量越来越大, 功能仿真所消耗的硬件资源和时间也就越大, 针对该问题仿真平台采用局域网设计, 在一台或多台高性能服务器上安装仿真器, 仿真终端机通过局域网调用服务器上的仿真器进行功能仿真, 服务器端采用LINUX系统, 仿真器选用的是Modelsim和Questasim, 本地终端机系统不受服务器系统的限制, 根据不同的FPGA设计开发环境可选用不同的操作系统, 大大地提高了FPGA验证工作的效率, 为整个开发设计工作争取更多的时间。

前仿真和后仿真的验证流程是相同的, 只是输入的设计文件不同, 一个通用的仿真流程是, 首先建立仿真工程, 具体实现是在服务器上建立文件夹分别映射设计文件SRC、仿真所需工程库文件LIB和仿真工程文件SIM, 还可以包含仿真器批处理所需的脚本文件SCRIPT。

仿真的原理是给设计单元输入激励, 根据其响应后的输出进行预期比较, 判断其功能的正确性。具体的实现是编写TB文件, 也就是测试激励文件, 其将设计顶层单元实例化其中, 根据全局输入端口, 分别输入满足时序要求的激励信号, 如时钟、数据和地址等信号, 仿真器通过编译设计输入的硬件描述语言生成仿真模型, TB文件在仿真器的环境下激励仿真模型, 响应输出的形式为WAVE形式, 在仿真器中调用波形图功能, 通过人工比对实际输出与设计预期的一致性, 从而完成功能仿真。

(2) 静态时序分析。定量的描述一个芯片性能的指标, 最基本的方法是采用芯片时钟工作最高频率, 为了验证一个芯片的时钟频率及其他时序指标时, 静态时序分析是一个高效的方法, 因为其不需要像功能仿真那样花费大量人力去编写测试激励, 只需要指定时序约束, 静态时序分析工具会生成设计的静态分析时序模型, 自动地去检查每一个电路单元及其连接关系, 因航天航空领域芯片工作环境的特殊性, 芯片会指定其工作的温度和电压范围, 通过配置高温低压、常温常压和低温高压三种设置, 以达到模拟芯片工作环境的工况全域。

(3) 代码规则检查。本文所提及的代码规则检查采用的硬件平台同功能仿真平台, 也是在服务器端安装代码规则检查工具, 如LEDA和ALINT等。其流程是建立代码规则检查工程, 输入设计硬件描述语言及其对应库文件, 选取通用和自定义的编码检查规则集, 选取的原则是应包含通用的规则集如DO-254等, 针对不同芯片的厂商, 配置不同的芯片规则集, 如XILINX等, 针对不同设计的侧重性选取相应的单项规则集, 如跨时钟域等。配置规则集后生成编码检查违例结果, 根据其严重性等级分类, 依次为FATAL、ERROR和WARNING, 通过人工检查确认的方式完成代码规则检查。

三、仿真覆盖率分析

覆盖率主要分为代码覆盖率和功能覆盖率。代码覆盖率主要包括:语句覆盖率、分支覆盖率、条件覆盖率、触发覆盖率和状态机覆盖率等;功能覆盖率分为基于控制的功能覆盖率和基于数据的功能覆盖率。

当前的验证阶段分为单元验证阶段、集成验证阶段和系统验证阶段。在单元验证阶段, 主要关注模块的功能和模块质量, 此时出口条件为代码覆盖率。集成验证阶段, 主要关注系统的功能, 以及模块与模块之间的接口, 此时出口条件为功能覆盖率。

在针对功能覆盖率的验证中, 需要建立能够自动统计功能覆盖率的模型, 通过该模型, 可以方便地得到当前的覆盖率, 并根据它调整验证策略, 使仿真收敛。当然增加验证成本是因为功能覆盖率具有其独特的优势, 功能覆盖率提供了一个标志验证工作完成程度的指标和根据功能覆盖率结果便于重新分配资源, 或者调整验证策略。

在针对代码覆盖率的验证中, 对于复杂设计的代码覆盖率可以指示代码描述的功能有多少在仿真过程中被验证过了, 防止在验证过程中出现代码遗漏, 使验证结果完备。语句覆盖率, 又称为声明覆盖率, 用于分析每个声明在验证过程中执行的次数, 仿真过程结束后将给出报告说明真个仿真过程中每个声明执行了多少次, 如果某些声明没有执行过, 则需要进行补充仿真。分支覆盖率主要是在设计中使用分支控制语句来根据不同的条件进行不同的操作, 分支覆盖率可以指出所有分支是否执行了, 分支覆盖率主要以if-else语句的各种分支为分析对象。条件覆盖率主要用于统计在仿真过程中那些条件满足和未满足情况, 当出现条件未满足的情况时分析是否由于功能未实现所引起。触发覆盖率分析用于检查在仿真过程中某些局部电路是否发生过由于某个信号的变化而触发进行运算和操作的情况。状态机覆盖率用于统计在仿真过程中状态机发生了那些跳转, 这种分析可以防止验证过程中某些状态跳转从来没有发生过, 从而造成设计隐患。

在对验证的充分性进行讨论时, 通常会出现两种问题:一功能覆盖率高, 代码覆盖率低;二代码覆盖率高, 功能覆盖率低。当出现功能覆盖率高而代码覆盖率低时, 主要是因为验证计划不够充分, 没有提炼出全部的功能点, 需要增加功能覆盖点;当出现代码覆盖率高而功能覆盖率低是, 通常是因为代码没有实现制定的功能, 需要修正设计。

四、结语

本文提供了一种基于FPGA的仿真验证通用设计, 并针对代码覆盖率和功能覆盖率作出了详细分析。随着FPGA芯片技术的发展, 可以预见, 未来FPGA仿真验证的工作将面临更大的挑战与机遇。

参考文献

[1]赵玮.基于VHDL的数字锁相环设计及Modelsim仿真[M].山西:机械工程与自动化出版社, 2013.

通用仿真 篇6

1 快速仿真平台的内容选择

实验平台的内容是以机电自控专业核心课程的实验项目为主,并以工程实例为辅,按照课程间的关联性进行选择确定。平台的层次内容如图1所示。根据图中所列内容可以看出课程间的关联性。例如控制工程基础中的典型二阶系统的瞬态响应是时域分析法的重点。它是利用单位阶跃信号对二阶系统进行激励,通过系统输出的时域指标来分析阻尼系数和固有频率对系统的影响,有助于加深理解实际高阶系统的时域响应特点。另一方面,如果用复杂周期信号、扫频信号代替阶跃信号激励二阶系统,通过频谱分析可以验证线性系统输入输出的频率保持性,并根据二阶系统的频率特性来理解信号各频域段的输出响应特点。如果进一步利用周期方波、三角波作为系统的激励信号,不仅可以了解信号的谐波叠加性而且系统对信号中高次谐波的过滤作用和抗干扰性会有更深入的认识。这一部分知识恰恰是测试及信号处理课程中有关信号合成、傅里叶级数、频谱分析的难点和重点。因此利用Matlab的通用仿真平台,把以上课程间的知识点归纳,并以仿真实例的形式进行联系,将会促进课程间的融会贯通,突破因学期时间安排所引起的局限性。

2 快速仿真目标实现

2.1 快速仿真目标(RSIM)

平台的许多实验内容需要通过不断调整各类参数来观察仿真结果。如果通过Matlab GUI界面中每次输入参数后,再利用Matlab的sim函数调用后台的Simulink模型进行仿真,不仅参数输入麻烦而且仿真等待时间较长,尤其对于工程实例中结构复杂,计算量较大的Simulink模型尤为明显。为此,笔者采用文献[3]所述,利用Simulink的实时仿真RTW提供的快速仿真RSIM功能,把Simulink模型编译为独立的C代码可执行程序来加快仿真速度。同时它支持批量参数调整,并从Matlab的标准Mat文件中下载新的参数值或信号数据而无须对Simulink模型重新编译。以图2所示的二阶系统动态阶跃响应为例,Simulink模型命名为“control_base.mdl”。为了实现图形界面的快速仿真,利用Simulink仿真界面中的RTW参数设置选项,制定系统目标文件和模板联编文件,再单击Build按钮后,RTW将自动生成名为control_base.exe的C程序代码文件。此文件将在GUI平台控件的回调函数中以“!control_base–p filename.mat–tf stoptime”的调用形式代替Simulink模型进行仿真,其中filename.mat是由Matlab函数“rsimgetrtp”所获得的control_base模型的结构参数数据文件,它可以快速替换整个参数向量来研究参数变化对仿真的影响。基于RSIM功能的二阶系统动态阶跃响应的GUI界面设计如图3所示。当快速仿真选项中的ωn固定单选按钮被选中,并设定调整次数和调整步长,点击“运行”按钮后,仿真结果会快速显示出系统随阻尼系数ξ变化的10次阶跃响应结果。

2.2 快速仿真目标的程序实现

点击图3“运行”按钮,其控件的回调函数将读取GUI界面设定的各项参数值,通过调入转化成独立C代码后的二阶系统,实现阶跃响应的快速仿真。主要程序如下:

3 关联性仿真实验设计示例

通用快速仿真平台的内容不是相互孤立的,在每个GUI仿真项目中既可以通过点击“知识点超链接”的设置菜单项将各课程间的相关内容链接起来,也可以设计专门的仿真实验来体现课程间的关联性,实现各实验内容上相辅相成的效果。图3正是在基于上节的快速仿真目标实现和第二节课程关联性讨论基础之上,以测试技术及信号处理中有关信号合成、频谱分析等难点内容与自动控制理论的系统频率特性的知识点结合为例而考虑设计的GUI仿真流程图。

图4是为了实现图3仿真功能所设计的GUI界面。界面中除了设置3个正弦波以实现波形的自由叠加,还设置了“特殊信号选项”,包括了扫频信号、周期方波、三角波在内的复杂信号以验证二阶系统的频率特性。当特殊信号选中后,正弦波选项的所有参数设定将自动屏蔽为零,防止输入信号间的相互干扰。图中所示结果是利用扫频信号作为系统激励,其中Fig.A是时域图,它是幅值保持不变,频率呈线性增加的信号。Fig.B中的频谱图显示了信号在0~50Hz的上、下限进行扫频,与所设定的初频和终频的参数值一致(如图5所示)。另外,二阶系统的参数可以任意设置,这里为了采用与前节相同的系统,阻尼系数和固有频率分别设定为0.1和10Hz,其系统的伯德图由Fig.C所示,由理论可知,此时扫频信号中10Hz的成分将会引起系统的谐振,使其附近的输出振幅远远大于扫频信号,并且在趋向高频时,振幅逐渐衰减至零。Fig.D的输出时域图验证了1秒附近输出达到了最大振幅,此时所对应的频率成分恰为10Hz,同时其频域图Fig.E验证了输出信号中20Hz以后的成分已经基本消失。另一方面,在教学中发现学生对信号的傅里叶级数及其频谱分析较难理解,为此也设置了方波、锯齿波、半波等作为激励输入,它们均可由傅里叶级数所表达的基频整数倍的无数个正弦波所构成。图6展示了复杂周期信号的傅里叶级数展开及其频谱。图6(b)是基频为2Hz,谐波数设定为4的方波的傅里叶级数展开。通过谐波数的设定可以形象地验证正弦波是如何随着谐波数的增加变化到方波。图6(c)验证了周期信号频谱具有谐波性、衰减性、离散型的特点。

图7是方波作为系统激励信号,并且设定系统的衰减系数和固有频率为0.5Hz和30Hz时的系统动态响应结果。通过图中Fig.B与Fig.E比较可知方波激励系统后,由于此时的系统频率特性,50Hz以后的谐波成分已经被过滤掉,同时可以验证除了基频的振幅最大外,在频率为30Hz附近因谐振的缘故幅值谱增大。F i g.D中的输出响应的波形不再保持方波而是基频为2Hz的复杂周期信号。

4 结束语

在考虑了机电自控专业课程间交叉关联性的基础上,利用Matlab的GUI和快速仿真目标RSIM功能,设计了面向课程群的通用快速仿真实验平台,它具有专业内容涉及面广,课程间知识点联系紧密,扩充性好、运行速度快的优点,对课堂教学起到了有效的辅助作用,同时促进了学生对课程间关系的了解,有利于加深对自控专业的整体认识。

摘要:机电自控专业的大多数核心课程概念多、理论性强,特别是课程间知识点联系紧密。为了便于学生理解和自学,尤其加深对机电自控专业的整体认识,基于Matlab的GUI图形界面和Simulink的RSIM快速仿真功能,介绍了面向课程群的通用快速仿真平台的设计开发及有关知识点的示例演示。该平台的仿真内容充分考虑了机电自控专业课程之间的关联性,尽可能地体现学科知识点的联系。

关键词:通用快速仿真平台,Matlab-GUI,Simulink-RSIM

参考文献

[1]李京秀.基于Matlab图形用户界面GUI的电路仿真实验的制作[J].电气电子教学学报,2004,26(4):99~101

[2]陈瑞峰,左曙光,郭伟.基于Matlab GUI的信号分析系统[J].佳木斯大学学报,2009,27(5):645~647

通用仿真 篇7

目标的机械振动或者目标上的一些旋转部件的转动会对回波信号产生频率调制。由振动引起的调制, 其频率相对于目标的径向多普勒频率而言, 频率较低, 称为微多普勒现象[1] (Micro-Doppler Phenomenon) 。由旋转引起的调制, 有的文献也称为JEM (Jet Engine Modulation) 效应[2], 是微多普勒现象的一种特殊情形。因旋转而产生微多普勒特征的物理意义明确, 在目标识别中有重要的价值, 已应用到空中和地面目标的分类与识别[3,4,5,6,7]中, 且微多普勒特征在对空间目标的探测与识别的地位也日益突出[8,9]。但是对空中目标, 已经存在的模型要么针对的是螺旋桨飞机[2,10,11], 要么针对的是直升机[12,13], 没有一个通用模型, 而且模型中用来描述飞机旋转部件与雷达位置关系的参数定义和说明很不统一[4,5,10,11,12,14], 容易造成理解上的混乱和误解。针对螺旋桨飞机或者直升机的微多普勒特征模型, 也多从回波的幅度来分析和提取多普勒特征[10,11], 不重视相位信息的分析与利用。为此, 首先对有关参数进行规范的定义和说明, 推导旋转部件微多普勒特征的通用模型, 然后分析微多普勒特征产生的物理机理, 最后对通用模型进行计算机仿真和分析, 仿真中突出参数的变化, 以及仿真结果与理论分析的比对。在此从回波的幅度、相位、调制谱分析了微多普勒特征, 并对有关姿态角对微多普勒特征的影响进行讨论。结果表明, 模型是正确有效的, 微多普勒特征具有相对不变性;在一定的飞行条件下, 可为常规雷达提供重要的信息而用于飞机目标识别。

1 飞机旋转部件微多普勒特征建模

比较两种飞机旋转部件的尺寸和常规雷达的波长可知, 飞机对雷达电磁波的散射属于电磁波的光学区。这样每个桨叶可视为一个等效的散射中心, 整个散射可认为是一个局部线性处理过程, 即飞机的整个散射回波是每个独立散射体散射分量的线性叠加[10,11,12]。本文也采用这种方法对螺旋桨飞机的螺旋桨回波和直升机的主旋翼回波进行建模。有关推导模型的假设条件见文献[10]。

1.1 螺旋桨回波模型

如图1所示, 螺旋桨飞机以速度v1水平匀速飞行, 螺旋桨在目标本地坐标系 (X2, Y2, Z2) 中绕X2 匀速旋转, 以雷达为坐标原点建立雷达坐标系 (X1, Y1, Z1) 。α为螺旋桨旋转中心的方位角;β为雷达波束与旋转平面的夹角;h为螺旋桨旋转中心相对于雷达的高度。用来描述目标和常规雷达的参数如下:N为桨叶数;fr为转速;L1为从旋转中心到桨叶根部的距离;L2为从旋转中心到桨叶顶端的距离;f0为雷达载频;λ为雷达波长。

散射体和雷达的几何关系如图2所示。散射体P到旋转中心的距离为l。当t=0时, 旋转中心到雷达的距离为R0;rP (t) 是t时刻旋转中心到雷达的距离, 它是时间t和速度v1的函数。桨叶的旋转示意图如图3所示。θ0是桨叶的旋转初相角, 即叶片法向叶波束的夹角。

t时刻散射体P到雷达的距离为:

上式推导中利用了泰勒公式, lR0, 同时还考虑到t较短, vtR0以及h=R0cos β这一关系。

考虑一种特殊情况, α=0, 旋转中心相对雷达的径向速度为v=v1sin β, 则距离rP (t) 可以修正为:

rΡ (t) R0+vt+lcosβsinθt (2)

去掉雷达载频后雷达接收到的信号为:

sΡ (t) =Arexp (j4πR0/λ) exp (j4πlcosβsinθt/λ) exp (j2πfdt) (3)

式中:Ar是一个尺度因子, fd=2v/λ为旋转中心的多普勒频率。

单个叶片回波为单散射点调制回波sPb (t) 的线积分, 则单桨调制回波为:

sΡb (t) =L1L2sΡb (t) dl=Ar (L2-L1) exp (j4πR0/λ) exp[j2π (L2+L1) cosβsinθt/λ]sinc[2π (L2-L1) cosβsinθt/λ]exp (j2πfdt) (4)

对含有N个叶片的螺旋桨, t时刻每个桨叶的旋转角为:

θkt=2πfrt+θ0+2πk/Ν, k=0, 1, 2, , Ν-1 (5)

螺旋桨回波是每个桨叶回波的叠加, 所以总的螺旋桨回波可表示为:

sΝ (t) =k=0Ν-1abk (t) exp[jφbk (t) ]exp (j2πfdt) (6)

这里:

abk (t) =Ar (L2-L1) sinc[2π (L2-L1) cosβsinθkt/λ]k=0, 1, 2, , Ν-1 (7) φbk (t) =4πR0/λ+2π (L1+L2) cosβsinθkt/λk=0, 1, 2, Ν-1 (8)

从式 (6) ~式 (8) 可知, 螺旋桨调制回波由螺旋桨的结构、运动状态、雷达的工作参数以及螺旋桨与雷达的几何关系共同决定。

1.2 直升机主旋翼回波模型

推导直升机主旋翼回波模型与推导螺旋桨回波模型类似, 并且推导螺旋桨回波模型所采用的坐标系、符号以及用来描述目标和常规雷达的参数在推导直升机主旋翼回波模型中仍然有效。主旋翼和雷达的位置示意图、散射点和雷达的几何图以及散射体的旋转示意图分别如图4~图6所示。

这里只对直升机主旋翼回波感兴趣, 对叶毂回波和尾翼回波暂不考虑。按照螺旋桨回波模型的推导方式, 可以得到散射体与雷达之间的距离为:

rΡ (t) R0+v1tcosβcosα+lcosβsin (α+θt) (9)

考虑特殊情况α=0, 旋转中心相对雷达的径向速度为v=v1cos β, 这样式 (9) 就变成式 (2) , 剩下的推导与推导螺旋桨回波模型的完全一样。最后得到的主旋翼回波模型可以用式 (6) ~式 (8) 表示。

1.3 旋转部件回波的通用模型

尽管螺旋桨飞机和直升机有不同的外形和结构, 但通过详细的推导仍然可以用一个统一的模型来描述这两种飞机旋转部件的调制回波。旋转部件的调制回波可以表示成:

s (t) =k=0Ν-1a (t) exp[jψ (t) ) exp[j2πfdt) (10)

这里a (t) 是幅度函数;ψ (t) 是相位函数;fd是旋转部件相对雷达的径向多普勒频率。

1.4 通用模型的理论分析

飞机旋转部件的调制回波还可以表示为:

s (t) =A (t) exp[jΦ (t) ]=k=0Ν-1skexp[jφk (t) ] (13)

式中:A (t) 和Φ (t) 分别表示调制回波的幅度和相位函数;skφk (t) 分别表示单个叶片的幅度和相位函数, 且:

φk (t) =4πrk (t) /λ (14)

与式 (10) ~式 (12) 对比可知:

sk=a (t) , φk (t) =ψ (t) +2πfdt (15)

rk (t) =R0+ (L1+L2) /

2cos βsin (θ0+2πfrt+2πk/N) +vt (16)

从回波中估计多普勒频率, 补偿掉平动分量vt

rk (t) =R0+ (L1+L2) /2cosβsin (θ0+2πfrt+2πk/Ν) (17)

从式 (17) 可以看出, rk′ (t) 是周期为1/fr的周期函数。将式 (13) 展开有:

A (t) = (k=0Ν-1skcosφk) 2+ (k=0Ν-1sksinφk) 2Φ (t) =arctan[ (k=0Ν-1sksinφk) / (k=0Ν-1skcosφk) ] (18)

由式 (14) 表明, 飞机旋转部件中任一散射中心的微小相对运动, 都能造成相位函数φk (t) 的波动。而散射中心的相位变化又会引起多个叶片合成回波复包络幅、相分量的变化。这就是飞机旋转部件转动产生微多普勒特征的物理机理。变化关系可以简单表示为:

rk (t) φk (t) {A (t) , Φ (t) } (19)

式 (19) 也表明了通过相位调制机理来分析微多普勒特征的重要性。如果对旋转部件回波进行补偿, 其微多普勒特征将更加明显。

对式 (10) 做Fourier变换, 可以得到旋转部件调制回波的频域表示[4]:

Sb (f) =m=-Ν1Ν1Cmδ (f-fd-mfΤ) (20)

从式 (20) 可以看出, 调制谱是一组Dirac函数之和, 即调制谱由一系列线谱组成, 其中心频率是fd;频率间隔fT=PNfr;P=1或2表示双桨或单桨同时垂直通过雷达视线;谱的周期ΩT=1/PNfr, 它仅与桨叶个数和转速有关。谱线幅度Cmλ, L, β, N, θ0和第一类Bessel函数决定。单边带的谱线个数N1和谱宽Bs为:

Ν1=8π (L2-L1) cosβ/Νλ, Bs=Ν1fΤ=8π (L2-L1) cosβ/λ (21)

2 理论参数模型的计算机仿真及其分析

2.1 仿真参数及仿真结果

图7~图18是对通用模型所做的计算机仿真;图7~图12是针对螺旋桨的回波;图13~图18是针对直升机回波。仿真中所用的相同参数为:脉冲重复周期Tr=0.2 ms, λ=0.43 m, Ar=1, N=4, θ0=0。其他参数如下:

(1) 在图7~图9中, v1=200 m/s, L2=0.9 m, L1=0.1 m, fr=50 r/s, β=45°, R0=50 km。图10~图12中除了β=60°外, 其他参数与图7~图9相同。

(2) 在图13~图15中, v1=100 m/s, L2=0.9 m, L1=0.1 m, fr=5 r/s, β=10°, R0=10 km。图16~图18中除了β=30°外, 其他参数与图13~图15相同。

2.2 仿真结果分析

微多普勒特征在雷达回波包络中表现为呈周期性变化的幅度闪烁。闪烁发生在θ0+2πfrt+2πk/N=mπ (k=0, 1, 2, …, N-1;m∈Z) 。展开的相位分量是2πfdt的线性分量和调制分量的叠加, 呈锯齿状, 随时间周期性变化。螺旋桨回波的调制周期为5 ms, 直升机主旋翼回波的闪烁周期为50 ms。从调制谱上也能看出, 旋转部件产生的微多普勒特征。螺旋桨回波的调制谱由频率间隔fT=200 Hz的谐波组成, β=45°, N1=8, Bs=1.6 kHz, fd=658 Hz;β=60°, N1=6, Bs=1.2 kHz, fd=806 Hz。直升机主旋翼回波的调制谱由频率间隔fT=20 Hz的谐波组成, 单边带谱线个数从图上不能直接看出来 (β=10°, N1=112;β=30°, N1=99) 。

谱宽和多普勒频率是:β=10°, Bs=2.2 kHz, fd=458 Hz;β=30, Bs=2.0 kHz, fd=403 Hz, 调制谱以fd为中心呈对称分布。实际情况中, 如果没有较高的信噪比, 较小的主旋翼回波会被较大的机身回波覆盖, 直接影响微多普勒特征的提取。为了从雷达回波中获得微多普勒特征, 需要高的脉冲重复频率和足够长的驻留时间, 这点在直升机上表现得尤为突出。

螺旋桨飞机的调制特性与直升机的调制特性存在着比较显著的差异。螺旋桨飞机的调制频率是200 Hz, 而直升机为20 Hz, 这种差异可以很明显地从回波的幅度、相位、调制谱中看出来。通过分析回波信号的微多普勒特征, 就有可能区分螺旋桨飞机和直升机。

实际中, 飞机与雷达的位置是变化的, 即β变化。分析β对飞机旋转部件微多普勒特征的影响非常重要。从图7和图10、图13和图16可以看出, β的增加, 对回波幅度周期特性的影响并不明显。从图8和图11、图14和图17可以看出, β的增加, 以及螺旋桨回波的相位周期特性比直升机主旋翼回波的相位周期特性更明显。从调制谱中还可以看出, β的增加会使单边带的谱线个数和谱宽均减小, 直升机机身的谱宽也减小, 但会使螺旋桨回波的多普勒中心频率增大, 以及主旋翼回波的多普勒中心频率减小。这与螺旋桨回波的多普勒中心频率为fd=2v1sin β/λ, 主旋翼回波的多普勒中心频率为fd=2v1cos β/λ是一致的。

3 结 语

经过推导与仿真, 建立适合螺旋桨飞机与直升机旋转部件的微多普勒特征的通用模型, 解释微多普勒特征产生的物理机理以及飞机与雷达之间的相对运动对微多普勒特征的影响, 为从回波中分析和提取微多普勒特征提供理论指导。从实际回波中提取微多普勒特征还需要考虑以下因素的影响:实际的雷达回波除了旋转部件的调制回波, 还包括机身回波, 杂波, 噪声和干扰;实际螺旋桨的桨叶存在弯曲, 在某些视角下, 还存在一定的遮挡;雷达系统的稳定性也会对回波的调制特性产生影响。所以, 实际的飞机旋转部件微多普勒特征模型将会比理论参数模型复杂得多, 这正是今后需要深入研究的问题。

注:本文为网友上传,旨在传播知识,不代表本站观点,与本站立场无关。若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:66553826@qq.com

上一篇:装配线电控系统 下一篇:电控通电调试检查