机载电子对抗视景仿真系统设计
机载电子对抗设备是飞机保障自身安全的主要装备,在各种复杂的作战条件下,飞行员对其使用的正确与否及熟练程度,将极大影响飞机的飞行安全率。飞行员必须平时多训练才能保证战时的正确使用。但由于平时的飞行训练中,电磁环境一般都比较简单,不能模拟真实战场环境,很难出现与作战条件类似的电磁环境,飞行员无法进行有针对性的训练,从而影响训练效果。而电子靶场等具有真实电磁环境的训练场地少,且使用成本大,不可能用作日常训练场地。因此,有必要利用地面模拟训练器来补充这部分训练内容,以提高飞行员对电子对抗设备在各种电磁环境下使用的能力。
视景仿真是近几年随着计算机技术与仿真理论的发展而出现的一门新型学科。其采用计算机图形技术,根据仿真的目的,构造仿真对象的三维模型并再现真实的环境。将视景仿真运用于电子对抗的模拟训练,可全面表现电子对抗的作战、试验态势、进程以及对抗效果,使飞行员更直观地使用电子对抗设备,从而在战时能对各种情况做出快速、准确的反应。因此,采用视景仿真技术研制飞机电子对抗仿真训练系统,对于解决飞行员所面临的训练问题,提高飞行员训练效果具有重要的现实意义。
1 系统数学模型建模
针对机载电子对抗系统的特点,在分析系统主要功能的基础上,建立了图1所示的仿真数学模型。
(1)雷达仿真模型。雷达仿真模型用于模拟加载在敌我双方飞机、舰船、导弹阵地上的各种雷达的工作过程和技术、战术指标。主要包括雷达发射机模型、接收机模型、天线扫描和方向图模型等。
(2)告警器仿真模型。告警仿真模型用于模拟告警器的发现、识别及告警工作流程。
(3)干扰仿真模型。干扰仿真模型主要包括有源干扰吊舱模型和无源干扰模型。
(4)目标与环境模型。目标与环境仿真模型用于解算目标瞬时RCS及电磁波传输特性,包括大气传输、地面反射、杂波图或点杂波以及多径效应等。
(5)导弹武器仿真模型。导弹武器仿真模型用于仿真导弹武器的发射、飞行、击毁过程。
2 视景仿真训练系统设计及实现
2.1 系统功能
该训练系统以硬件平台为基础,通过信号采集系统获取干扰吊舱控制盒、无源投放器控制面板的输入信息。软件可以模拟飞机平显、多功能告警显示器,主要用于飞行员对机载电子对抗设备模拟仿真操作训练和测试,使飞行员掌握复杂雷达信号环境下某型机载电子对抗设备的使用,提高电子对抗作战技能。同时,将使用者引入到由计算机合成的虚拟战场环境中去,使受训者在与系统的直接交互中感受战争,研究电子对抗作战方法、样式及理论,并可对作战毁伤效果进行评估并提出改正意见,为未来作战方案提供决策依据。系统结构如图2所示。
2.2 系统硬件电路设计实现
硬件系统由显示装置、中央处理机和人机交互部分组成。显示装置含3个液晶显示器,其中主显示器用于实时显示敌我态势和软件界面,另两个副显示器在两侧,模拟飞机座舱的左右两个操作台。中央处理机用于数据的处理,为携行方便,将中央处理机与主显示器合在一起。人机交互部分主要用于获取电子干扰吊舱控制盒和无源投放器控制面板各种控制按钮的状态,通过数据采集处理电路与主机通信,实现半实物装备与虚拟战场环境之间的交互并为准确评定训练成绩提供客观依据。
人机交互部分是系统硬件电路设计的重点。根据人机交互部分的功能要求,自行设计了信号采集电路。该电路由信号驱动、CPU两部分组成。CPU采用 C8051S020单片机,通过P0口采集发射、投放、加电信号等各开关的状态。CPU采集开关状态后通过RS232口发送到中央处理机,中央处理机获取串口发送来的信息与仿真训练软件实时交互,实现仿真训练。接口控制系统的串行通信速率为9 600 b/s,在设备状态发生变化后,能够在少于2 ms的时间内完成设备状态的采集、处理和传送,完全满足实时处理的要求。
2.3 系统软件设计及实现
2.3.1 通信接口程序的设计实现
通信接口程序的设计实现中,使用Visual C++ 6.0编写了上位机和下位机通信程序, 串行通信接口使用RS-232串口标准。在这里,主要对下位机接口通信程序进行重点介绍, 通过引入多线程串口编程工具CSerialPort类实现。
CSerialPort类是支持线连接(非MODEM)的串口编程操作,与MSComm控件相比,其搭建通信框架快速,编程方便。打包时,不需要加入其他文件,而且函数都是开放透明的,允许用户进行改造。CSerialPort类是基于多线程的类, 其接收数据流程如下:(1)设置串口参数(如串口号、波特率等);(2)开启串口监测工作线程, 监测串口接收数据、流控制事件及其他串口事件;(3)以消息方式通知主程序, 激发消息处理函数进行数据处理。发送数据直接通过调用类函数WriteToPort()实现。在应用过程中,需要手工添加WM_COMM_RXCHA的消息处理函数OnComm(),每当串口接收缓冲区内有一个字符时,就会产生一个WM_COMM_RXCHAR消息, 触发OnComm()函数进行数据接收处理。
2.3.2 视景仿真程序的设计实现
根据系统的功能要求,仿真运行界面由平显画面、多功能告警显示器、飞机动态飞行界面、左右两个飞机座舱界面和文字提示栏构成。整个程序在基于对话框的框架上开发。根据模块化编程的思想,为每部分建一个派生于CStatic的Picture类,在对话框的界面上放入6个图像控件,分别与各个类相关联。系统运行的过程为:运行程序首先打开串口,测试串口通信是否正常,若串口通信正常则进入软件主界面,反之则返回继续测试;进入主界面后,可进行各项选择和设置,如设置我机的航线、箔条弹和红外弹的数量、敌机的类型和数量等。设置完毕,单击开始按钮训练。在训练过程中,根据敌我双方的态势变化,受训者应该在正确的时刻和恰当的时机,操作干扰吊舱控制盒或无源投放器控制面板对敌方目标进行有源和无源干扰。训练完毕,系统将根据受训者的操作,对受训者进行评估和打分。
基于MFC调用Vega Prime来实现仿真训练是仿真程序的主要部分。
Vega Prime包括完整的C++应用程序接口,为软件开发人员提供了最大限度的软件控制和灵活性。Vega Prime的结构为用户采用面向对象的开发方式提供了良好的支持。Vega Prime 中的每个元素都是一个类,除了特定的类(如:vpKernel)以外,其他类都允许有多个实例存在。基于对话框的VegaPrime 程序的实现主要有两种方法。
(1)时钟法。在对话框中设定计时器,并开始timer,在每次on timer调用中,执行vpApp 的帧开始和帧结束操作,并在开始与结束帧操作之间获取vpApp对象的关键属性反馈在对话框页面上。
(2)线程法。为VP的Frame Loop设置一个工作线程,应用程序则作为主线程来接收外设输入信息,响应用户操作。该工作线程主要完成VP的初始化工作和相应的键盘、鼠标处理函数的设置以及窗口的配置等。
线程法有很大的优势。虽然时钟法结构简单,容易理解,但是在耗费系统资源基础上完成的,而且其致命缺点是在运行时会出现死机现象。本程序中,使用线程的方法。主要代码如下。
启动VP工作线程:
void CSimulateDlg::OnStart()
{
continueRunning=true;
……
LPVOID)this);
}
创建VP工作线程:
UINT vpWorkThread(LPVOID pParam)
{
vpWindow *vpWin;//定义VP窗口
……
while(continueRunning)
{
…… //响应函数
}
……
return 0;
}
中止工作线程:
void CSimulateDlg::OnDestroy()
{
if (m_bVPStarted==TRUE)
{
……
}
CDialog::OnDestroy();
}
3 仿真训练算例
在仿真中,设定系统的仿真步长为10 ms,每隔10 ms推进一次。在系统设置界面中,设定作战双方参战机型和作战任务。系统战术过程设定为:以某型机突防攻击任务为战术背景,完成某型飞机电子对抗主要科目的仿真训练。主要包括以下方面:对敌警戒雷达的箔条干扰、对敌机载火控雷达的有源干扰、对敌地空导弹的箔条质心干扰、对敌空空导弹的红外质心干扰和发射反辐射导弹攻击敌地面雷达,在电子对抗手段的配合下,完成对敌导弹阵地的突防打击任务。
经过一年的开发调试,该仿真训练系统达到了预定设计要求,目前已通过专家验收,即将交付部队使用。通过多次在部队进行测试运行证明,系统能真实地模拟各种战场环境。同时,通过软件与硬件相结合,真实模拟飞机现役装备,训练效果逼真。该模拟训练系统使用后,能大大提高飞行员对机载电子对抗设备的操作能力,提高飞机的生存率,同时降低训练危险性,节约训练成本。
此外,论文尝试性利用CSerialPort类很好地实现了串口通信;运用视景仿真技术,实现电子对抗模拟训练的可视化。系统中大量模块化的设计,体现了其良好的可扩展性和移植重组功能,对其他同类模拟器的设计具有借鉴意义。同时也可作为子模块纳入大规模的对抗系统,具有良好的工程应用前景。