半实物仿真(HILS)是计算机仿真时引入部分硬件实物进行软硬结合的仿真,是武器型号研制和试验鉴定过程中的一个重要环节。与外场试验相 比,其试验过程具有可重复性,在理想的仿真环境设备中,可构造任何想定弹道过程及各类符合战术应用的干扰状态,试验成本更为低廉。近二十年来,美国三军先 后建成了为满足红外成像制导武器仿真需要的红外制导半实物仿真系统;为满足雷达寻的制导的毫米波半实物仿真系统MSS-2,它是当今世界上技术最先进的射 频仿真系统,可以满足地空导弹毫米波精确制导仿真的需要,并于1995年研制成功当今最具挑战性的仿真系统-共孔径的毫米波和红外双模制导半实物仿真系 统。同时把半实物仿真生成的逼真战场环境运用在综合作战数字仿真中,结合先进的M&S(modeling and simulation)与高性能计算机组成虚拟战场,对武器系统进行研制试验、鉴定与部队作战训练。当前美军发展半实物仿真的一个新趋势是从单武器平台仿 真向多武器平台仿真方向发展,为了将不同功能、不同地点的仿真试验设施进行联网,组成分布式一体化的综合仿真试验室 (DIS),仿真技术开始向仿真的高层体系结构(HLA)发展。HLA是促进所有类型仿真之间互操作、仿真模型组件重用的高级协议。我国军用仿真技术的发 展已有四十年的历史。建成了射频、红外仿真系统服务于各类新型导弹,20世纪90年代我国开始对分布交互仿真、虚拟现实等先进仿真技术及其应用进行研究, 由单个武器平台的性能仿真发展为多武器平台在作战环境下的对抗仿真。我国国防科技大学研制的YHF4仿真计算机 ,达到了国际先进水平,但总的技术水平,特别是应用水平与发达国家相比还有差距。本文就建立一种适用于主动寻的末制导雷达多种型号、多种信号接口形式的半实物仿真系统进行了研究。概述了仿真系统的组成及功能,解决了数据采集传输等关键技术问题;并对系统性能进行了测试,实现了基于单发导弹、单个目标多种干 扰及组合方式的导弹攻击过程的可视化作战仿真。
1 仿真暗室设备组成及功能
1.1 系统简介
适用于多 种型号制导武器的半实物仿真微波暗室,由实时和以太双网络组成,将连接到网络中的每台计算机作为一个节点,以实现导弹空中姿态、目标环境特性模拟,全弹道 数学模型解算等功能。就系统设计而言,导弹弹体、稳定控制系统、舵机和捷联惯导组件等导弹控制系统模块以仿真模型方式参与仿真制导回路试验。在试验过程 中,需要实时解算弹道仿真模型的工作状态,并管理和控制回路中其它仿真节点协调有序工作。考虑其通用性和可扩展性,系统采用高性能通用计算机,配置多样化 的数据采集手段。各仿真模块接口与导弹实体相对应,使其适应多个型号的仿真试验。全弹道半实物仿真微波暗室设备组成如图1所示。
1.2 主要设备及功能
制导武器半实物仿真暗室主要设备包括高性能通用 计算机,SGI图形工作站,仿真接口控制柜等相关仿真设备。其中,实时网作用是为仿真试验提供各设备间的高速通信链路,以满足节点之间的实时数据交互要 求。而全弹道数学仿真模型的准确性,战场态势设置的合理性,则需要在应用前加以验证。以太网就是出于这种目的而设立,同时也被用于试验准备阶段的软件开 发,实现各节点控制计算机之间的信息交互和资源共享。出于对被试品实时性的考虑,半实物仿真实时网络采用基于VMIC-5565实时网卡的星型拓扑结构, 通过冗余光纤Hub(VMIACC-5595)与各仿真设备相连。与环型结构相比,星型拓扑结构消除了单点失效、实现了故障隔离,通过对节点优先级的设置 使其具有更小的延时[2]。
1)仿真主控计算机:是整个系统的管理和控制核心,具有仿真资源配置、仿真试验前的态势下发、全弹道仿真模型校验、情报参数装订,仿真进程控制功能,同时完成实时网闭环前自检、系统授时,对仿真节点的工作状态进行监控;
2)三轴飞行转台:作用是把弹道解算计算机解算出的导弹姿态运动量,转换为三个方向的角位置和角速度,从而形成逼真的模拟飞行器姿态变化;
3)目标环境生成系统:由射频信号源分系统,阵列及馈电分系统组成。主要功能是在微波暗室内,模拟导弹攻击目标过程中导弹末制导雷达所遭遇到的电磁信号环境,生成有源和无源干扰信号、雷达目标回波模拟信号、目标视线角位置及运动轨迹;
4)弹道解算计算机:实时解算制导武器运动学、动力学和控制系统模型,生成弹目相对距离、弹体姿态以及导弹位置等其它仿真设备的控制指令,协调有序的完成全系统半实物仿真。它既能用数学模型对制导武器系统进行数字仿真,又能和接入仿真回路的实物一起构成半实物仿真系统;
5)视景仿真计算机:在接近实战的环境下,以导弹姿态、位置及弹目相对位置等信息为参数,将导弹攻击目标的过程以三维动画方式直观显示,形象、直观的形式实时显示飞行器半实物仿真的全仿真过程。
6)数据采集传输系统:主要完成远端被试导引头的数据采集和测试操作,同时将采集到的制导信息,通过反射内存传送给弹道解算计算机;并回传控制指令实时控制导引头工作状态。
7)数据库服务器:对系统所需要的情报资源和仿真资源信息等进行管理,并在仿真试验过程中对数据进行实时记录和存储;
1.3 仿真软件及功能
操 作系统:Windows2000 + 实时软件包 ;系统总体开发平台:Visual C++ 6.0;仿真建模软件:YHSIM;三维视景软件:Multigen Creator 3.0和专业可视化仿真软件包完成Vega Prime 2.0;数据库开发工具:SQL Sever 2005。
由 于HILS的各仿真节点运行不同的仿真软件用以实现不同的功能,为确保各节点之间数据通讯和仿真同步,仿真软件总体上汲取windows操作系统消息、事 件驱动的程序设计方法,采用客户/服务器运行机制,服务器程序通过VMIC网络向各仿真节点发送仿真驱动消息,并对各节点状态消息查询,驱动各客户机节点 控制软件运行。仿真软件从顶层设计角度出发,将各节点的仿真软件分为三大类:主控机软件、同步机软件和非同步机软件。在导弹闭环仿真试验中,弹道解算计算 机、目标环境生成系统、三轴飞行转台控制系统、数据传输系统执行同步机软件运行机制[3]。
基于反射内存API动态链接库技术是独立于应用程序的 分布式仿真系统应用程序接口。它是基于VMIC-5565内存通信协议的即时通信服务,与各仿真节点程序并行开发,自行调试,各节点应用程序以API的动 态链接库形式调用,程序之间无须进行通信调试。数据转发依据查询状态位或发硬中断方式实现,各节点仿真主程序不参与各类信息的网络间传输。必须注意的是, 对于每个节点上的反射内存,其地址是本地主机内存的一部分;通过内存映射机制,用户对本地节点内存的读写相当于对网间各节点相同地址内存进行读写,从而实 现了分布节点间的数据通信。
因此,在控制关系明确的基础上,弹道解算计算机与各节点之间的通信协议,包括传输参数、数据格式、VMIC内存 地址分配等;都应采用相同的数据类型和数据结构,否则将引发内存地址冲突,以致仿真试验失败。制导武器半实物仿真微波暗室通过应用“YH-Astar”仿 真工作站以及运行其上的YHSIM实时仿真软件,采用实时的Runge-Kutta积分算法和基于VMIC-5565反射内存的实时网络,全面确保了半实 物仿真的实时性。
2 半实物仿真系统关键技术
2.1 实时数据采集传输系统
2.1.1 系统总体设计及硬件配置
数 据采集和传输系统是为减轻弹道解算计算机解算负载以保证实时性的前提下设计的。其主要功能是在末制导雷达闭环仿真试验模式中,实时采集末制导雷达输出的相 关制导与指令信息,并通过VMIC实时网实时传送到弹道解算计算机参与全弹道解算;同时,向被试末制导雷达发送控制指令,实时控制末制导雷达的工作状态。 其组成如图2所示。
为适应数字雷达导引头的仿真试验的需求,采集系统在原有的基础上增加了串行数字量采集通道,该通道接口形式包括有:RS232、RS422、RS485;其 与TTL电平相互转换由信号调理模块实现,离散量的采集、量化、编码采用的是包括基于PCI总线的时统部件I/O控制卡。
串行数字量采集通道硬件 部分主要由上、下位机构成,上位机为高性能工控机。以DMA查询的方式与下位机进行通信,接收下位机的数据,并对数据进行分析和处理,实时地显示控制变量 的状态。同时根据弹道解算控制信息,向下位机发送指令。由单片机和A/D芯片组成的下位机将传感器采集到的离散信号进行DCB编码,同时根据上位机发出的 控制指令控制导引头执行相应的操作;上位机通过数字I/O控制板卡可扩展出m≤ 8个串口。采用VC++6.0环境下调用Windows API函数编程实现串口通信[6]。系统通过被称为设备控制块DCB 的数据结构对串行口和串口通信驱动程序进行配置串口设备属性的配置由以下 API 函数完成: Setup2Comm() 设置串行通信端口的输入和输出缓冲区的大小;通过设备控制块 DCB 修改和设置串口工作状态的参数。
2.1.2 创建读写线程,实现串行通信
如 图3所示,首先打开并配置完串口后开启读、写线程。主线程主要负责将所有串口接收到的数据进行处理显示以及各个子线程的调度和管理,读线程负责读取m个串 口的数据,写线程负责向需要控制的串口写入数据。在实际应用中向串口写人数据的操作只是有限的控制指令,所以写线程在创建时即被挂起,当需要向串口发送数 据时激活写线程;写操作完成后,即被挂起,以减少系统开销,提高程序的执行效率。
以下是用Windows API函数编写的关键部分的代码。
1)添加全局变量:
HANDLE hCom[m];
DCB dcb[m];
HANDLE m_hThreadWrite;
2)创建读写线程:
//创建读线程
m_hThreadRead=CreateThread(NULL,0,(LPTHREAD_START_
ROUTINE)ThreadRead,NUEL,0,NULL);
//创建写线程
m_hThreadWrite=CreateThread(NULL,0,(LPTHREAD_START_
ROUTINE)
3)在读写线程函数中添加相应的处理信息:
首 先在读线程中调用CreateEvent函数创建一个事件,其次调用WaitCommEvent函数等待该窗口事件,当检测到EV_RXCHAR事件发生 时,再调用ReadFile函数将数据读入缓冲区内,并进行显示处理。因为写线程创建的时候即被挂起,故要重新调用写线程函数时,必须要先调用 ResumeThread函数恢复线程,然后调用WfiteFile函数向串口写入数据。当数据发送成功时,调用SuspendThread函数挂起写线 程。数据采集软件控制界面如图4所示。
开 启读写两个线程进行多串口通信,数据接收、数据显示、发送数据三者同时执行,减少了系统的等待时间,使系统具有更好的实时性。在优先级的安排 上,Windows系统Event(事件) 同步化机制,把数据采集及向反射内存发送代码部分放入高优先级循环,而把数据存储、上位机上运行控制部分放入较低循环内优化了软件的实时性能,实现线程间 同步。因与实时网通信,数据采集软件通过调用和封装与实时网通信API函数即可。此外,连接时还必须将实时网的库rfmdll stdc.lib连接进去。
2.2 数据传输性能测试
网络实时性能指标测试包括:
1)反射内存节点之间的读写和传输时延;
2)采集节点反射内存与导引头I/O接口间读写传输时延;
测 试数据包由测试包和标志位两部分组成。取要测试的两节点为A和B,用以下两种方法对A、B两个节点之间的读写传输时间进行测试:首先,置计时标志 “TA”,由节点A发送测试包,发送完后置读写标志位为“1”,节点B对读写标志位查询为“1”时,开始读取测试包,读完后置读写标志位为“0”。当节点 “A”查询到读写标志位为“0”时,发送下一组数据包。完成读写操作N次后,置计时标志“TB”。则单次数据发送的平均时间为(TB-TA)/N。
测试结果表明,从数据写入RAM到传到另一个结点的反射内存卡上,只有不到400纳秒的时延。满足飞行仿真对网络数据通信的高速、实时的要求。
弹道解算滞后数据采集传输只有1毫秒时间,由于弹道解算与数据采集同时进行。因此,数据采集计算机在制导回路的介入不会影响到制导回路系统实时性与同步性。
2.3 系统误差分析及修正
仿真试验结果的可信度,取决于各种误差特性,如果各类误差的总和超出了系统的要求,仿真试验就失去了意义。HILS微波暗室误差主要包括:计算机系统误差、目标系统控制误差、近场效应误差、回转中心不重合误差、转台控制误差、暗室误差。
在系统仿真试验结果分析中,一些误差可以忽略不计;其余能够补偿或修正,由于篇幅关系,以下 回转中心不重合误差修正方法加以详细说明。
如 图5所示,从被试末制导雷达天线口面测量目标视线角时(Radar-Targe LOS angular),产生了视线角的测量误差,该项误差直接引入被试末制导雷达的制导回路,会导致脱靶量的变化,对于该项误差必须进行修正。由于该项误差是 几何误差,计算方法如下(以一维为例):
假定目标系统到转台回转中心的距离为R,转台回转中心到末制导雷达天线口面的距离为L,理论视线角为q,转台控制角为θ,经修正后的实际视线角位置为qt,从图5中可直接推导出:
(1)
即在回转中心不重合的情形下,需要经过回转中心修正,重新计算视线角。此误差以视线角参数由弹道解算完成。
3 视景驱动
视 景仿真软件是基于Vega Prime平台开发了战场环境、作战实体及电磁波抽象表现视景模型,实现了仿真过程可视化。本系统采用Multigen Creator构建模型数据库,采用的控制软件是使用Visual C++7.1进行开发。在MFC中建立基于API应用程序,首先要解决两者之间的通信问题,采用多线程技术是目前最有效的办法。MFC支持多线程应用程序 开发,并把线程分为两类:用户界面线程(User Interface Thread)和工作线程(Worker Thread)。在建立MFC框架时,系统自动为开启了用户界面线程,用以响应用户事件。此时可以将Vega Prime的主线程定义为MFC的工作线程。利用AfxBeginThread()函数开启相应的工作线程后,即可以添Vega Prime程序和消息循环。需要注意的是:在结束应用程序之前必须要先结束该工作线程,否则会引起程序异常。 Vega Prime工作线程的函数主要完成仿真环境的实时控制。
3 应用实例
设置态势并校验全弹道模型及检验物理效应设备的边界合法性。态势文件包括:当前环境温度、风干扰、海情等自然环境,以及导弹发射位置与角度、主目标的初始位置和运动规律、干扰参数(发射时间、样式、强度、频率等)。
整 个视景仿真由弹道仿真工作站、目标环境生成系统和SGI图形工作站完成。试验开始后,红、蓝双方各作战对象组件按预期实时运行。在大地坐标系下,红方岸防 部队接预警通报,组织警戒搜索雷达进入对海防御部署。蓝方舰艇按预定航路行进如图6,当蓝方舰载电子战系统探测到红方雷达信号时,开始对红方实施有源干 扰。红方在预警和地面指控系统的引导下对蓝方发射反舰导弹予以打击,蓝方对来袭导弹实施冲淡式箔条干扰。红方反舰导弹进入自控段末端,末制导雷达开机,蓝 方组织实施质心式箔条干扰;同时进行规避机动,红方反舰导弹与蓝方舰船交汇后,仿真过程结束。
5 结束语
本文针对基于制导武器的半实物仿真系统进行了研究。概述了仿真系统的框架组成,叙述了各主要仿真节点功能,给出了数据采集控制流程;详细介绍了实时数据采集和传输、视景驱动的实现方法等关键技术问题。