王 兴 王 军 刘镇瑜 黄 飞
雷达探测目标可视化可以为战场态势推演、作战评估等提供依据[1]。在雷达探测仿真试验中,合理高效地直观显示雷达探测跟踪效果需要切实可信性可视化方法。目前,越来越多的工程人员利用可视化工具完解决数据的显示问题,例如文献[2]实现了基于Unity3D的飞行可视化仿真系统,文献[3]实现了基于三维分形地形生成理论,采用提取某一地形区域的Google Earth卫星遥感电子地图高程数据来生成数字高程模型的方法。目前主要的可视化工具包括:Matlab、Vega、0penGL+VC等。其中Matlab具有快捷的数据处理以及强大的分析能力,但是Matlab的图文效果比较差,可视化效果不理想;Vega可以很好地实现三维可视化,但是开发过程较为复杂,开发周期比较长。基于0penGL+Vc构建可视化环境需要深厚编程能力,开发难度是最大的。美国 AGI(Analytical Graphics,Inc.)公司开发的STK(Systems Toolkit)软件是先进的商业化仿真软件,广泛应用于航空航天、卫星、导航、雷达、通信、电子战等领域的仿真、设计和分析应用[4],并能展示丰富的电子对抗效果。本文以雷达对空中飞行目标的跟踪为例,研究分析了基于STK平台的目标跟踪态势实现过程及效果。
本文设计的雷达探测目标可视化工具能够实时性进行数据分析、三维探测跟踪场景显示等功能,具体功能包括:
1)实时性。可视化实时处理模块在雷达探测到目标时,实现实时显示目标的位置、速度、雷达波束变化等信息。
2)三维显示。三维显示主要完成被探测跟踪目标飞行中的三维显示跟踪,三维显示场景包括飞行目标的背景场景、雷达三维波束、被探测目标三维模型等信息。
3)数据存储与回放。本文设计的可视化系统能够全数据存储三维可视化数据,并提供三维态势回放功能。
利用跟踪目标的轨迹数据以及雷达探测距离及波束数据对目标三维模型及雷达探测三维模型进行驱动,在STK中完成雷达探测跟踪某目标的可视化。基于STK的雷达探测跟踪目标可视化系统的结构图如图1所示。
图1 可视化系统结构图
图1 给出了可视化系统结构图,包括目标、雷达数据输入模块、目标三维模型及其控制模块、雷达三维模型及控制模块以及可视化模块。
1)目标、雷达数据输入模块
STK采用WGS-84地球椭球模型,它集成了许多航空航天领域常用的坐标系,包括地心坐标系(对应于STK中的Earth Fixed坐标系)、地心惯性坐标系(对应于STK中的Earth Inertial或J2000坐标系)、弹体坐标系(对应于STK中的Body坐标系)等。本模块可以将不同坐标系下的轨迹数据转换为地心坐标系或者地心惯性坐标系等STK所需格式的轨迹数据。
2)目标、雷达三维模型及其控制模块
STK三维模型文件以ASCII码形式存储在文件中。一个模型包括一个或者多个在模型文件中定义的组件。每个组件都描述模型的一个特殊部分,一些模型包括细节的程度能用于复杂或者简单的演示模型。模型动作文件包含一个以时间为序的数据列表。
目标运动驱动数据及雷达波束控制数据保存在文件中,并通过一定的计算随时间序列在地图上驱动数据点的生成。
3)STK可视化模块
该模块由STK计算模块读取数据文件自动驱动三维轨迹仿真场景,演示飞行器的飞行过程,动态显示飞行器任意时刻的速度、位置、姿态以及飞行轨迹,可视化仿真结束后可以生成轨迹数据报告、姿态数据报告以及各种数据曲线。
在不考虑雷达干扰情况下,雷达探测到的目标距离就是雷达最大探测距离,按照雷达方程[5]计算如下:
式中,Pt为发射功率,Gt为发射天线功率增益,Gr为接收天线功率增益,σ为雷达目标截面积,λ为波长,Ft为发射天线到目标的方向图传播因子,Fr为目标到接受天线的方向图传播因子,(S N)min为最小可检测信噪比,k为波尔兹曼常数,Ts为接收系统噪声温度,Bn为接收机检波前滤波器的噪声带宽,L为系统损耗因子。
式(1)给出的是基本的雷达探测距离模型,实际上雷达会收到各种干扰,其探测距离并不是理想的探测距离,而本文研究探测跟踪可视化方法,并不是为了研究干扰情况下雷达探测距离建模问题,因此,我们采用式(1)作为探测模型,计算雷达探测距离,并作为驱动雷达探测波束可视化的依据。
三维模型格式众多(例如:SRL,STEP,IGES,3DS,DAE,FBX,OBJ,MD2,MDL,X等),这些模型格式之间大多可以相互转换。对于STK9.2,仅支持DAE和MDL两种模型格式。基于这两种模型格式,STK还支持一些辅助特性,比如关节、附着点等。通过这些辅助特性,STK能够实现更精细的模型控制,比如警戒雷达对目标的跟踪扫描等。下面对雷达三维模型创建,及雷达天线辅助特性的设置进行研究。
4.1.1 DAE模型
DAE(Digital Asset Exchange,数据资源交换),是COLLADA的模型文件。COLLADA最早是由索尼(Sony)提出的基于XML的一个开放的、免费的数据交换标准,通过XMLSchema的技术展现三维数字模型,有着十分优秀的可移植性[6~7]。利用3D Studio Max[8],Maya[9],Softimage[10],Blender[11],Google SketchUp[12]等建模工具可以直接创建DAE模型,也可以利用Core,Deep Exploration,olyTrans等转换工具,将其它格式的模型文件转换为DAE模型。一个DAE文件结构的实例如图2所示。
图2 DAE文件结构
STK基于DAE模型的开放性,添加了一些其特有的辅助特性,比如关节(Articulations,可用于设置模型中能做平移/缩放/旋转动作的功能组件)、特效附着点(Effect Attach Points,可用于设置模型烟雾等特效的起始位置)、传感器附着点(Sensor At⁃tach Points,可用于设置传感器的起始位置)、指向元素(Pointable Elements,可用于设置模型关节组件的空间指向)、太阳面板组(Solar Panel Groups,可用于模型太阳面板的功率分析)、非遮蔽材料(Non-obscuring Material,可用于传感器的遮蔽分析),这些辅助特性使用XML标记进行扩展。辅助特性可以直接写入DAE文件内部,也可以写入与DAE文件同目录同名的ANC文件(Ancillary Fea⁃tures File)中,ANC文件是STK内部支持的一种文件格式。前者的不足是在模型格式转换时,辅助特性可能会丢失。本文采用独立构建ANC文件的方式来为模型添加辅助特性。一个完整的雷达DAE模型文件对应的ANC文件结构如下所示:
1<?xml version=“1.0”standalone=“yes”?>
2<ancillary_model_data version=“1.0”>
3 <articulations>
4 <articulation name=“azimuth1”type=“trans⁃form”>
5 <stage init="0"max="180"min="-180"name=“azimuthz"type="zRotate"/>
6 <assigned_nodes>
7 azimuth
8 </assigned_nodes>
9 </articulation>
10 <articulation name=“pitch1”type=“transform”>
11 <stage init=“0”max=“90”min=“0”name=“pitchx”type=“xRotate”/>
12 <assigned_nodes>
13 pitch
14 </assigned_nodes>
15 </articulation>
16 </articulations>
17 <pointing_data>
18 <pointing node=“azimuth”vector=“0 1 0”/>
19 <pointing node=“pitch”vector=“0 1 0”/>
20 </pointing_data>
21 <sensor_origins>
22 pitch
23 </sensor_origins>
24</ancillary_model_data>
其中:
1)第1、2、24行为基本的ANC文件结构;
2)第3~16行创建模型关节,第4、10行设置模型关节名称,该名称会出现在STK的模型关节的设置中;第5、11行设置关节的运动方式,分别为绕各自的z、x轴进行旋转,同时还设置了运动的初始、最大、最小值;第7、13行是关节对应于DAE模型中三维节点的ID(azimuth、pitch);
3)第17~20行设置DAE模型中节点的指向向量,vector赋值的三个元素分别为x、y、z轴,如vec⁃tor=“0 1 0”为节点的y轴方向;
4)第21~23行设置传感器的附着点,附着点为DAE节点(pitch)的坐标原点。
通过以上设置就可以实现雷达天线在水平和俯仰两个维度跟随目标转动,同时也将雷达波束固连在雷达罩的中心。
模型创建完成后的文件目录结构如图3所示。
4.1.2 MDL模型
MDL是最早用于游戏Quake(雷神之锤)的三维模型,它不能直接创建。在STK官方说明中,需要将其它模型格式先转成Lightwave(.lwo)格式,再用STK的转换工具LwConvert将Lightwave格式转换为MDL格式[13]。MDL模型,除了包含DAE模型可添加的辅助特性外,还包含透明、丰富的面绘制属性等其他辅助特性[14],这些辅助特性只能写入MDL文件内部。由于MDL模型的通用性较差、配置维护困难等不足,本文不做详细阐述。
图3 雷达模型文件目录结构
图4 目标跟踪场景图
本节构建了一个地面雷达车跟踪飞机的三维场景,如图4(a)所示。场景中,随着飞机的运动,雷达天线会跟随飞机在水平和俯仰两个维度转动,并始终保持天线指向飞机;同时,雷达的波束也会跟随飞机运动,并且波束的起始位置固连于雷达天线中心。场景的具体配置如下:
1)飞机模型设置
(1)添加Aircraft节点并关联一个三维飞机模型;
(2)为飞机模型设置飞行路线。
2)雷达模型设置
(1)创建雷达车DAE模型及ANC文件;
(2)创建一个Facility节点并关联雷达车DAE模型;
(3)设 置 雷 达 属 性 的 3D Graphics→Model Pointing的两个Pointable Elements指向飞机目标,以实现雷达天线在水平和俯仰两个维度跟随目标转动。
3)传感器设置
(1)为雷达添加传感器Sensor以表示雷达跟踪波束;
(2)设置传感器的Basic→Pointing的Pointing Type为Target,将飞机节点设置到Assigned Targets,以实现雷达波束对飞机的跟踪扫描;
(3)设置传感器的3D Graphics→Vertex Offset,选择使用Attach Point,并选中相应的附着点(pitch),将传感器起点定位到雷达天线中心位置。
场景运行效果如图4(b)、4(c)、4(d)所示。
STK是一款性能成熟、功能强大的系统仿真工具,但是由于政治、技术等因素限制,国内相关研究资料比较稀缺,造成很多态势表现效果不能被及时发现并应用到雷达探测跟踪试验过程中。另外,随着其它系统仿真工具和可视化工具的开发,需要借鉴STK中的相关技术实现,到达快速固化需求、优化系统架构和加快开发进度的目的。本文研究为上述两项工作开展做了前期准备,其可视化方法能够很好地用于工程实践中。
[1]韩晓宁,陈希,王娇艳.三维海战场雷达探测可视化研究与实现[J].计算机科学,2013,40(3):147-150.
[2]郭聪,王守尊.基于Unity3D的飞行可视化仿真系统设计[J].电子设计工程,2016,24(5):47-50.
[3]田明银,兰一麟涛,钱伟.基于分形算法的三维地形可视化应用[J].电子设计工程,2016,24(14):20-23.
[4]李志强,吴曦,荣明等.基于信息系统体系对抗STK基础仿真应用[M].北京:军事科学出版社,2014.
[5]SkolnikMI.雷达手册[M].王军,等译.北京:电子工业出版社,2003
[6]collada标准[S].http://www.khronos.org/collada.
[7]徐俊杰,孙长嵩,张安真.基于XML的三维场景数据的组织与表示模型[C]//2006北京地区高校研究生学术交流会——通信与信息技术会议论文集(下).2006:1542-1547.
[8]余烨,刘晓平.面向VR系统的三维模型转换工具[J].图学学报,2008,29(5):72-78.
[9]徐国艳,苏家有.浅析maya软件建模的基本流程[J].软件工程,2015(2):32-34.
[10]Avid|Softimage,陈剑芳,杨明惠.SOFTIMAGE|XSI 3.5标准教程[M].北京:北京希望电子出版社,2003.
[11]钱旭冉,朱明,蔡栩.基于Blender的天文数据三维可视化[J].天文研究与技术,2015,12(2):204-211.
[12]范葛芹,周荣生,卢其飞.基于Google SketchUp的数字化校园三维建模技术的研究[J].软件,2017,38(1):53-57.
[13]姚宇婕,年福纯,张娟等.STK三维模型制作与优化方法研究[J]. 飞行器测控学报,2013,(02):156-161.
[14]STK Suite.STK9.2用户手册.