Windows平台下的机载雷达显控终端仿真
2012-04-23冯啸羽
冯啸羽
(西安电子科技大学电子工程学院,陕西西安 710071)
作为雷达人机交互界面的雷达显示器是雷达系统仿真中的一个重要环节。利用计算机的屏幕模拟雷达的显示器,具有开发方便、不依赖特定的硬件、通用性强和可移植性好等特点。文中介绍的显控终端主要包括两个部分:(1)控制部分。雷达系统进行仿真时所需工作参数都要由操作人员通过控制部分进行输入,并把参数传递给雷达数据处理系统。(2)显示部分。仿真显示画面上,既要显示雷达的原始图像,如距离、方位、俯仰等。又要显示经过雷达数据处理系统处理过的目标数据,如高度、速度、机型、航向、敌我属性等。此外,显示系统可以进行显示模式转换,实现B型和Pie型显示器显示切换功能,使得显示系统满足不同显示需求。
Windows程序采用事件驱动编程模型,应用程序通过处理操作系统发送来的消息来响应事件。一个典型应用程序的大部分操作是在响应其收到的消息。MFC(Microsoft Foundation Classes)是微软提供的放置Windows API的面向对象的包装的C++类库,该类库包含了100多个类。MFC也是一个应用程序的框架结构,为应用程序处理很多杂务。用MFC作界面开发,具有使用方便,开发周期短的优点。
1 AN/APG-68雷达简介
AN/APG-68是多功能数字化火控雷达,装备在F16-C/D战斗机上。该雷达的功能分为空中目标探测模式和地面目标探测模式。空中探测模式包括:边搜索边测距、边跟踪边扫描、单目标跟踪、速度搜索、空战机动。地面目标探测模式包括:地面测绘、地面动目标、海上目标扫描。工作频率为9.7~9.9 GHz,作用距离为150 km,扫描范围是120°×120°,需要注意的是,雷达并非同时扫描全部区域,方位上分 ±60°、±30°、±25°、±10°4 档,俯仰上分 1、2、4 个条状区域,如果需要扫描多于一个条状区域,雷达在扫描一个方位范围后抬高/降低雷达天线继续反方向扫描。AN/APG-68(V5)能在低、中、高PRF工作。
2 界面设计
2.1 终端显示方案设计
雷达终端显示器用于显示雷达当前的工作状态和所获得的目标信息,显示方式与雷达当前的工作模式有关。在空中目标探测模式主要使用B型显示器,而在地面目标探测模式主要使用扇形PPI显示器。
考虑到整个雷达终端既要包括各种参数的设置界面,又需要将目标信息以各种方式显示出来。显然,在一个窗口上显示这么多内容既不美观,也不可能。经过综合构思,一方面可以把一些需要经常改变的参数设置控件放到主界面上,而把那些不需要频繁变更的工作参数用对话框的方式进行设置,对话框可以通过点击菜单项来弹出,在参数设置完成后关闭对话框返回主界面,如图1所示。另一方面,可以对主界面进行分区,不同的显示模式分别用一个子窗口来实现。也就是说,AR显、B显、Pie显分别是3个不同的子窗口,而不是对一个窗口的简单分割,如图2所示。
从主界面可以看出,屏幕被分成了3个区域:左边大块的区域用于放置B显和Pie显,这两种显示方式根据雷达对地、对空模式的不同而进行切换,现在画面上显示的是B显。右上角灰色区域上放置着常用的控件,这些控件中一部分用于设置雷达的工作模式,一部分将目标信息以表格的方式显示出来,右下角的区域是AR显。
2.2 显示方式
AR显示器是一种常用的距离显示器,主要用来显示雷达获取的原始信息,如图3所示。
图3 AR显示器
其中,显示器上方是A扫掠线,下方是R扫掠线。A型显示器显示雷达的最大无模糊距离内的全程信息。然而,实际工作中除了要了解全程信息,还要对所选择的目标进行较精准的测距,这时可以把距离量程选择的较小,这个仅显示全程中一部分距离的显示器通常称为R型显示器。从图中可以看出,从上面的扫掠线难以精确观察到目标的距离,经过对上面扫掠线中有目标的一小段进行扩展,在R显中能更仔细地看到目标及其周围的信息。
B显示器:空中目标探测模式主要使用B型显示器。B型显示器用于显示经过计算机处理的二次目标信息,如图4所示。
图4 B型显示器
B显是以直角坐标的方式来显示目标的距离和方位,横坐标表示方位,纵坐标表示距离。屏幕的区域是一个直线向前的概念,一架就在飞行员眼前的敌机显示在底部,这儿表示我方载机的机鼻。AN/APG-68在空对空模式中使用B显有,其接近的目标不会混乱显示,在近距离格斗中更容易使用的优势。
雷达屏幕底部的刻度表示全部120°的方位扫描,青绿色标记显示天线方位扫描的当前位置。屏幕左边的刻度表示全部120°的俯仰扫描,青绿色标记显示天线当前的俯仰指向。天线在扫描时可以上下倾斜,对于近距离寻找比载机高或低的目标是较为有效的。屏幕右边的刻度用于指示目标离载机的距离,需注意的是,最大距离160 km只是显示器显示的最大距离,不影响雷达的探测性能。其中,天线的俯仰指向,方位扫描范围和最大显示距离都可通过主界面右上角的设置控件来进行改变。
可以看出,在屏幕中央有3个方块,表示在不同位置的目标。从左到右,第一个在机鼻左边25°,距离50 km的位置。中间的目标在机鼻正前方,距离100 km位置。最后的目标在机鼻右方40°,距离80 km的位置。
扇形的PPI显示器:其显示画面是地面目标探测模式下的基本显示模式,是传统PPI的一种特殊形式,来自反射物体的回波信号被显示在平面图上,如图5所示。
图5 扇形的PPI显示
与3显示器一样都显示的是雷达目标的斜距和方位信息,所不同的是,扇形PPI是以极坐标的方式来表现的。其中,圆心代表雷达站的位置,目标用平面上的亮点来表示,方位角以视轴为基准,顺时针方向为正,距离则沿半径度量。扫描线随天线的方位扫描在画面上同步转动。图中显示在距雷达站大约2 km处有一段亮弧,表示该处有运动目标存在。
3 雷达工作模式
雷达常用的工作模式可用主界面上的控件来设置。从图6可看出,操作员不但可以选择各个雷达主模式,而且能够进一步设置不同模式下的天线扫描方式和显示器的功能。
图6 控制雷达工作模式的常用控件
下面介绍几种主要的空中目标模式。雷达在首次开机时工作在边搜索边测距模式(RWS),这是常用的搜索模式,该模式以最快探测到最多目标为目的。当飞行员需要一定精确简洁的目标信息时可使用。目标参数仅测量距离和角度,其中角度是测量目标时的波束中心。探测到的目标使用黄色实心方块表示,如图4所示。
为得到特定目标的更多信息,可以将光标移动到感兴趣的目标上并按下鼠标左键来锁定目标,这时会进入 RWS的子模式——态势感知模式(RWSSAM)。雷达对被锁定的目标启动数据处理,估计目标的运动速度。被锁定的目标改为空心方块表示,并用方块上引出的短线表示目标的航向。图7中所示的绿色呈蝌蚪状的目标为锁定目标,伸出的短线表示其正在朝载机方向飞来。
图7 RWS-SAM模式下的目标显示
无论当前设置的方位扫描范围是多少,目标锁定后的方位扫描范围均更改为25°,方位扫描中心以目标门为中心,扫描速度不变。如果操作员想要锁定其它的目标,只需要在感兴趣的目标上按下鼠标左键即可完成切换。需注意,进入RWS-SAM模式后,尽管得到了目标的较多信息,同时也增加了雷达告警接收机被发现的机率。
在RWS-SAM模式下,当对当前锁定的目标再次按下鼠标左键时,雷达会进入单目标跟踪子模式(RWS-STT),该模式是支持超视距导弹发射。被跟踪的目标在目标外用圆圈围住表示,如图8所示。
图8 RWS-STT模式下的目标显示
此时,显示器上的最大距离会自动调整为当前目标距离的2倍左右,以使目标处在屏幕的中央。雷达不再扫描,天线直指敌方目标,即可得到目标的精确信息。由于雷达在目标上集中了所有的能量,敌方会意识到载机存在,因而仅在打击目标时才可使用该模式。
TWS的使用方式和显示模式基本与RWS相同,不同之处在于TWS对所有目标均开启数据处理,估计目标的高度、速度和航向,并根据迎头、高速的优先级同时跟踪优先级较高的16个目标,在实际飞行中飞行员们喜欢使用此方式。TWS模式下目标同样使用带尾巴的方块表示,尾巴的方向为目标航向,被跟踪目标的详细信息使用主界面右上角的表格控件来显示。但TWS模式在探测新目标的能力比RWS慢,因为在雷达跟踪多个目标时,有大量的数据处理要完成。
速度搜索模式(VS)在特定的情况下有用。该模式只能显示离载机较近的目标,显示器右边不再是距离刻度而改为速度刻度。需注意的是,其速度指的是目标相对于载机的速度,在屏幕底部的目标并不意味离载机较近,而是以较低的速度靠近载机。屏幕上方的目标却是在高速接近载机,通常是对载机有较大威胁的敌机。VS模式下仍可在感兴趣的目标上点击鼠标左键直接进入单目标跟踪模式(RWS-STT)。
空中格斗模式(ACM)主要用于近距离格斗。该模式是自动搜索模式,因此不需要操作员进行任何扫描设置。雷达会对首次发现的目标进行锁定和跟踪,最大显示距离通常是固定的20 km。
4 终端设计中的核心技术
4.1 B显和扇形PPI之间的切换技术
如以上所说,在空中目标模式下使用B型显示器,而在地面目标模式下使用扇形PPI显示器。为实现两种显示模式的切换,在主界面上放了一组单选按钮控件,如图6中最顶端显示的那样,当按下空中目标模式单选按钮时切换到B显,而按下地面目标模式按钮时切换到扇形PPI。
当按下任一单选按钮后控件都会给其的父窗口发送WM_COMMAND消息,父窗口不会处理原始的WM_COMMAND消息,而是使用消息映射将控件通知与其所属类的成员函数联系起来,程序语句如下:
BEGIN_MESSAGE_MAP(CParentView,CWnd)
ON_BN_CLICKED(IDC_ATM,OnAirTarget-Mode)
ON_BN_CLICKED(IDC_GTM,OnGroundTarget-Mode)
END_MESSAGE_MAP()
其中,CParentView表示父窗口对应的类,IDC_ATM,IDC_GTM分别是空中目标模式按钮和地面目标模式按钮的ID。然后在成员函数OnAirTargetMode中将扇形PPI对应的窗口隐藏,将B显对应的窗口显示,完成切换。OnGroundTargetMode函数的情况则相反,程序语句如下:
void CParentView::OnAirTargetMode()
{
m_wndPPIView.ShowWindow(SW_HIDE);
m_wndBView.ShowWindow(SW_SHOW);
}
void CParentView::OnGroundTargetMode()
{
m_wndBView.ShowWindow(SW_HIDE);
m_wndPPIView.ShowWindow(SW_SHOW);
}
其中,m_pwndBView为 B显窗口对应的对象,wndPPIView为扇形PPI窗口对应的对象,两者都是父窗口类CParentView的成员变量。
4.2 多线程技术
机载雷达仿真系统是一个多任务、大运算量的复杂系统,尤其是数据处理模块非常耗时,一次数据处理通常需要数秒甚至一分钟。如果用单一线程来编写应用程序,在数据处理的那段时间里,界面部分将不能接收操作员的输入。然而,Windows是一个抢占式多任务的系统,可以把耗时的数据处理放到二级线程里面,让其在后台执行,让主线程负责和操作员打交道。这样,可以在主线程里调用线程创建函数来创建二级线程,语句如下:
AfxBeginThread(ThreadFunc,&m_threadparams);其中,参数m_threadparams里边放置了两个线程共享的数据,线程函数ThreadFunc的结构如下:
UINT ThreadFunc(LPVOID pParam)
{
THREADPARAMS*ptp=(THREADPARAMS*)pParam;
while(TRUE)
{
……//耗时的雷达数据处理语句
::SendMessage(ptp- >hWnd,WM_DATA_UPDATED,0,0);
}
}
语句中THREADPARAMS为参数m_threadparams所属的结构体类型。当完成数据处理后,向主线程发送一个WM_DATA_UPDATED消息(该消息是用户自定义消息),告诉主线程本次的处理已经完成,这样主线程就把新的数据显示在界面上。此外,在编写多线程程序时需注意线程同步问题。在程序中使用临界区(CCriticalSection)来协调两个线程对共享数据 m_threadparams的访问。
4.3 目标截获技术
在通过鼠标左键单击感兴趣的目标进入相应的子模式时用到了该技术。如上所述从RWS进入RWS-SAM子模式,以及从RWS-SAM进入RWS-STT子模式。实现该技术的关键是对WM_LBUTTONDOWN鼠标消息的响应函数的编写。当鼠标左键被按下时,Windows会向鼠标所在客户区的窗口发送该消息。响应函数OnLButtonDown(UINT nFlags,CPoint point)中的参数 point保存了点击时光标所在客户区坐标系中的位置。
设对象rectDetectedTarget(CRect对象)存储了目标在B显窗口的客户区坐标系下的对应方块的信息。其中,目标的方位和距离决定了其在B显中的位置。只要对该对象调用函数rectDetectedTarget.PtInRect(point)。
这样,即可判断鼠标是否点中了该目标。在实际编程中需要对所有探测到的目标进行遍历,如点中了某个目标就把该目标的信息通过线程函数的参数传回给数据处理模块,并进入相应的子模式。否则不予处理。
5 结束语
文中设计的机载雷达显示仿真系统是AN/APG-68机载雷达仿真系统平台的组成部分。在仿真系统平台框架下,需要将显示系统、干扰系统、雷达数据处理系统关联构成完备的网络体系。系统开发模式和语言编写依据软件工程规范进行,以确保仿真系统的质量、可靠性和可维护性。对目前开发过程中暂时无法实现的功能预留了接口,为系统的扩充和升级留出了升级空间。
[1] 丁鹭飞,耿富录.雷达原理[M].西安:西安电子科技大学出版社,1995.
[2] MERRILL I S.雷达系统导论[M].3版.王德纯,方能航,左群声,等,译.北京:电子工业出版社,2006.
[3] CHARLES P.Windows程序设计[M].5版.北京:清华大学出版社,2010.
[4] JEFF P.MFC Windows程序设计[M].2版.北京博彦科技发展有限公司,译.北京:清华大学出版社,2007.