Computer Science and Application 计算机科学与应用, 2020, 10(6), 1185-1193 Published Online June 2020 in Hans. http://www.hanspub.org/journal/csa https://doi.org/10.12677/csa.2020.106123
Design and Implementation of Multi-Radar Tracking Ballistic Missile System Based on C# and STK
Biao Wang, Pengju Cheng, Zhuoxi Han, Xuefeng Chu
Information Engineering University, Zhengzhou Henan
Received: May 27, 2020; accepted: Jun. 5, 2020; published: Jun. 12, 2020
ththth
Abstract
With the development of computer technology, the visualization simulation of missile warning by computer has been paid more and more attention. In this paper, the visualization of multi-radar tracking ballistic missile prediction handover system is realized by joint programming of STK and C# software. Firstly, the basic overview of the system is introduced, and then the related configu-ration design of the integration of STK/X components and C# is analyzed. Finally, the interface de-sign and operation flow of the visualization system are introduced in detail. The operation of this system shows that the system has good compatibility, stable operation, strong maneuverability, and has a certain engineering application value.
Keywords
Joint Programming, STK, C# Software, Missile Warning
基于C#与STK的多雷达跟踪弹道导弹系统 设计与实现
王 彪,程鹏举,韩卓茜,储雪峰
信息工程大学,河南 郑州
收稿日期:2020年5月27日;录用日期:2020年6月5日;发布日期:2020年6月12日
摘 要
随着计算机技术的发展,应用计算机对导弹预警进行可视化模拟的研究得到不断的重视。本文针对前后雷达组网对导弹进行搜索跟踪的场景,使用STK与C#软件联合编程设计开发了多雷达跟踪弹道导弹预报
文章引用: 王彪, 程鹏举, 韩卓茜, 储雪峰. 基于C#与STK的多雷达跟踪弹道导弹系统设计与实现[J]. 计算机科学与应用, 2020, 10(6): 1185-1193. DOI: 10.12677/csa.2020.106123
王彪 等
交接可视化软件系统。首先介绍了系统的基本概述;然后分析了STK/X组件与C#集成的相关配置设计;最后详细介绍了可视化系统的界面设计与操作流程。通过系统运行表明,该系统兼容性好,运行稳定,操作性强,具有一定的工程应用价值。
关键词
多雷达跟踪,STK,C#软件,导弹预警
Copyright ? 2020 by author(s) and Hans Publishers Inc.
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0). http://creativecommons.org/licenses/by/4.0/
Open Access 1. 引言
近年来随着计算机技术的不断发展,导弹预警研究从单纯的数据算法研究不断向可视化展示方向拓展[1] [2]。STK (Satellite Tool Kit)是美国AGI公司开发的软件,是航空航天领域一款非常实用的软件[3]。该软件不仅具有强大的二三维的图像处理操作能力同时又具有目标数据分析能力,而且可为其他编程软件提供可调用组件接口,方便了不同应用功能系统的开发[4]。
针对多雷达跟踪弹道导弹的预报交接场景可视化模拟的问题,本文以C#的winform为平台进行开发,调用STK软件中的二维三维可视化功能组件,设计开发了弹道导弹雷达预报交接可视化系统,实现了组网雷达预报交接导弹预警过程的可视化展示及操作,同时可对导弹状态数据及雷达观测数据进行分析,便于研究人员和考察人员观看整体过程。本文首先介绍了系统的基本概述,然后分析了系统的功能模块及组成,最后通过实例运行说明了系统的操作流程,验证了系统的各项功能及稳定性。
2. 系统基本概述
2.1. 系统设计构架
系统的设计思想为,系统首先通过C#软件搭建一个界面显示窗口,通过STK/X组件将弹道导弹的雷达预报交接过程以一个动态场景进行展示。预报交接过程中涉及到的相关运算则由内核程序进行,其系统设计构架如图1所示。
Figure 1. Architecture diagram of system design
图1. 系统设计的构架图
DOI: 10.12677/csa.2020.106123
1186
计算机科学与应用
王彪 等
2.2. 编程软件选择
系统内部的计算程序可通过各章节的仿真程序转换为目标程序语言,而系统外部界面的设计,可由MATLAB的GUI设计、C++的MFC设计以及C#的WinForm等多种程序语言进行设计。对比这几种编程优缺点,使用MATLAB的GUI设计,其界面设计较为快捷,但是由于调用的都是MATLAB自身函数,其运行速度较慢,软件的运行也需要MATLAB环境,不适宜作为通用软件的推广使用[5] [6];使用C++进行MFC界面设计,C语言更接近于底层,其运行速度较快,但窗体界面较为单一老化,软件的开发已不适合当前主流界面[7];C#的WinForm窗体设计,窗体界面搭建较为灵活,且窗体风格设计丰富,程序的运行速度与C++的MFC程序差不多[8]。因此本系统采用C#的WinForm进行系统外部界面搭建,并调用STK的三维、二维控件来完成系统构思中的功能实现。
3. C#调用组件的相关配置
3.1. 系统软件32位与64位的选择
本文系统软件在使用C#设计时定义为32位软件,优点在于其既可在x64的操作系统运行,也可以在x86 (32位)的操作系统上运行。x64平台下设计出的软件系统比x86设计出的系统运行速度快,系统设计之初曾尝试使用x64平台设计,但x64设计的软件只能运行在x64位的操作系统上运行,不如x86设计出的软件适用性广,且系统后面的需要的一些组件也需要在x86平台下运行,因此综合软件的使用范围和内部组件的兼容性,设计本文软件系统定位在32位软件。
3.2. DotNetBar的.NET Framework组件调用
由于C# WinForm项目中自带的控件数量有限,而DotNetBar就是一套基于.NET美化控件库,内含有诸多控件以及多种界面的皮肤风格,窗口界面更为灵活多变,人机交互感觉更强。本文软件系统使用DotNetBar控件库,一是可以更加方便的添加更丰富的操作按钮,二是与时俱进更符合时代审美特色。关于DotNetBar控件库的更多介绍可查看官网http://www.devcomponents.com/dotnetbar/,其调用使用方法与调用其他组件的方法基本一致。
3.3. STK相关COM组件的调用
本软件系统主要调用了STK三个COM组件库,分别为STK Objects、STK Util、STK X。其中STK Objects库,包含了STK结构的各个方面的类型、接口、事件和类。STK Util包含各种类库中的方法和属性,使用C#实例化对象后通过方法实现各项功能[9]。STK X是AGI公司开发的嵌入技术,它以COM组件的形式添加到用户软件系统中,调用方便快捷[10]。C#添加COM组件的具体流程如下:
a) 在解决方案资源管理器中找到“引用”选项,右击→【添加引用】→【COM/类型库】→选择AGI.STKObjects.Interop、AGI.STKUtil.Interop、AGI.STKX.Interop,点击确定添加。
b) 在.cs程序文件开头添加“using AGI.STKObjects”、“using AGI.STKUtil”的代码用以引用,三种控件的引用也要注意其运行版本号,软件开发阶段若版本不统一会出现运行问题,运行版本可在其属性中查看。
c) 在C#【工具箱】中将AGI Map Control和AGI Globe Control添加至窗体设计界面内,并可搭建形成系统的二维三维操作界面。
在向二三维场景中添加我们需要的导弹雷达等对象时,可以使用两种方法。一个是实例化AgStk Object Root类,通过调用类内不同的对象及方法实现相关操作,此方法需要查阅不同操作对应的方法,编程较为麻烦;另一个是使用“Execute Command”方法,该方法只需要将命令代码输入到“Execute Command”的参数值中,由于命令代码的编写规则掌握较快,应用该方法将更为快捷。两种方法的相关
DOI: 10.12677/csa.2020.106123
1187
计算机科学与应用
王彪 等
查阅资料均可在STK软件的帮助文档中查到。本软件系统将两种方法混合使用,更好的实现了诸多功能。
3.4. 外部环境
a) 硬件要求。软件系统运行所需硬件配置如表1所述。
Table 1. Hardware configuration table required for system operation
表1. 系统运行所需硬件配置表
计算机设备名称
CPU 显卡 内存 显存 硬盘
配置要求 3.0 GHz N卡460以上 1 GB及以上 1 G及以上 500 MB
b) 软件要求。软件系统运行所需软件配置如表2所述。
Table 2. Software configuration required for system installation and operation 表2. 系统安装和运行所需软件配置
软件类型 操作系统 其他配置
软件名称 Microsoft Windows .NET Framework Microsoft Visual Studio
软件版本 WinXP及以上
4.0 2010及以上
4. 软件系统设计与实现
4.1. 系统界面设计
论本文系统的主界面主要包括菜单栏、按钮栏、参数设置栏和图像显示栏四大摸块。其中菜单栏包括文件、目标、场景等菜单选项;按钮栏包括二维、三维界面操作按钮;参数设置栏包括导弹和雷达参数的设置;图像显示栏包括二三维动态展示窗口及传感器数据分析口等。系统主界面如图2所示。
Figure 2. System main interface 图2. 系统主界面
DOI: 10.12677/csa.2020.106123
1188
计算机科学与应用
王彪 等
4.1.1. 菜单项内容及使用
菜单栏的设置按照Windows窗体使用习惯及软件功能设置了三个菜单项,分别为“文件”、“目标”、“场景”。“文件”菜单包括“保存”、“清除”、“退出”等选项,可以进行“数据保存”、“数据清除”、“软件退出”等操作。“目标”菜单包括“导弹”、“雷达1”、“雷达2”等选项,可以对导弹和雷达进行建立和参数设置等操作。“场景”菜单包括“3D动态展示”、“2D动态展示”、“数据分析”等选项,可对右侧图像显示栏三种显示模式进行选择。其具体内容如图3所示。
(a) “文件”菜单操作界面 (b) “目标”菜单操作界面 (c) “场景”菜单操作界面
Figure 3. Menu bar interface 图3. 菜单栏界面
4.1.2. 界面按钮的介绍及使用
为对系统进行可视化操作,综合其他软件的按钮操作习惯,现在菜单栏的下方设置按钮栏,包括二维、三维界面操作共14个操作按钮,编号第①至⑧项按钮为对场景的播放进度设置,编号⑨⑩??按钮为场景的视角设置,编号??按钮为二维的放大和缩小操作,各按钮编号如图4所示。
Figure 4. Toolbar operation button icon
图4. 工具栏操作按钮图示
按钮①到?按钮的程序编程,使用AGI.STKObjects.Interop接口实例化后,调用其内部函数及“ExecuteCommand()”的方法来实现。 4.1.3. 设置模块功能
参数设置模块功能是该软件系统的重要核心部分,为实现多雷达对导弹的预报交接可视化展示功能,将该模块主要包括“导弹设置”、“预警雷达1设置”、“跟踪雷达2设置”三部分。通过对这三部分的参数设置,构建多雷达跟踪弹道导弹的预报交接仿真场景的基本元素,后续的图形化界面的场景也是对这些元素进行展示和分析的。
a) 导弹设置
通过对导弹的设置,仿真生成一条弹道轨迹。弹道轨迹的生成可通过添加发射点和落点的纬度、经度、高度以及发射时间由STK组件的内部计算引擎进行生成,也可以通过调用外部导弹轨迹数据文件进行加载,数据文件为.e类型,文件按照格式显示了弹道在各个时刻的三个坐标轴方向的位置和速度值[8],如图5所示。另外该软件系统的轨迹数据文件可增加导弹状态的协方差,导弹的状态协方差将以误差椭球的形式在场景中动态演化,导弹位置矢量的协方差矩阵实际上是一个三维的实对称矩阵,因此只需要添加其上三角6个数据值即可,数值对应情况如图6所示。同时为方便快速的展示可视化效果,软件增加了加载实验实例按钮,可一键增加导弹所有数据。
DOI: 10.12677/csa.2020.106123
1189
计算机科学与应用
基于C#与STK的多雷达跟踪弹道导弹系统设计与实现 - 图文



