APP下载

软件化雷达实验系统人机交互终端的设计与仿真

2011-04-26赵春晖史艳鹏

舰船电子对抗 2011年1期
关键词:余辉参数设置扇区

赵春晖,史艳鹏

(哈尔滨工程大学,哈尔滨 150001)

0 引 言

利用计算机仿真技术进行雷达系统建模与仿真实验,具有成本低、开发方便、不依赖特定的硬件、适应性强等特点。目前的仿真软件大多采用Matlab/Simulink或SystemView,其优点是使用方便、开发周期短,缺点是仿真过程不够逼真、操作界面不够美观、可移植性较差。针对界面问题,有人提出采用VC++结合OpenGL实现雷达显示界面。然而OpenGL作为软件第三方,其学习与操作本身亦十分复杂。众所周知,VC++是一种可视化的编程语言,借助于MFC类库和应用程序框架能够轻易开发出Windows标准界面的应用程序。本文介绍了基于VC++单文档界面(SDI)实现雷达实验系统界面的设计方法,着重阐述了其实现过程中的重点和难点问题,最后给出了本系统的运行结果。

1 系统界面构成及其功能描述

实验系统主界面由菜单区、工具栏区、客户显示区和状态栏区四部分组成。其中菜单部分包括文件、编辑、设置、运行、查看、帮助6个一级菜单,相对应的二级菜单及1个右键快捷菜单;工具栏部分除SDI框架提供的外包括设置、开始、暂停、停止、帮助5个按钮;显示部分包括雷达主显、目标参照、系统参数3个显示区;状态栏包括坐标、扫描量程、时间显示3部分,如图1所示。

图1 实验系统界面构成要素及布局

其中菜单、工具栏按钮主要用于新建、打开、保存及关闭系统文件,设置雷达、环境、目标、对抗实验等相关参数,控制系统运行、暂停与停止,查看目标坐标、系统运行时间、系统使用说明及版本。客户显示区及状态栏用于显示雷达扫描图、实验目标参照图、雷达/环境参数以及指示目标坐标、雷达作用距离和系统运行时间。

2 系统主要功能设计及其仿真方法

系统实现过程中,绝大部分采用MFC中提供的基础类,因此节省了大量的开发时间和成本。其中P型雷达显示器的模拟、目标产生与运动跟踪、SDI程序的窗体分割、系统参数的动态调整与数据处理是本系统设计仿真过程中的重点和难点。

2.1 P型雷达显示器的设计与仿真

2.1.1 P型雷达显示器

在雷达显示器中,使用最广泛的是平面显示器,它提供了360°范围内全部平面信息,因此被称为全景或环视显示器,简称PPI或P型显示器。P型显示器能够提供平面范围的目标分布情况,这种分布情况与通用的平面地图一致;可以显示目标的斜距离和方位2个坐标,是极坐标形式的二维显示器;中心表示雷达站的位置,带有余辉的距离扫描线随着天线的方位扫描在画面上同步转动。

2.1.2 扫描线余辉的实现

2.1.2.1 余辉的数学模型

当电子束停止对荧光物质的轰击后,荧光质的发光仍能持续一定的时间才消失的现象叫余辉。在计算机的屏幕模拟雷达显示器时,无法自动产生扫描过程中荧光质的余辉,因此必须进行人为的模拟。资料表明:指数函数曲线与余辉衰减曲线较为吻合,文献[6]中给出了2个衰减曲线方程,可以利用该方程对余辉进行数学描述。本文采用一次指数衰减曲线方程,即:

式中:I为荧光质余辉亮度;I0为一次衰减图层亮度;k为一次衰减常数;t为衰减时间。

2.1.2.2 余辉的实现方法

实现扫描线余辉的方法有画线法、固定扇扫法和逐点消隐法等,诸多文献对这几种方法进行了描述和讨论。结合前人工作,本文采用可变扇区内画线法,即通过改变扇区内线条颜色实现余辉效果。优点是扇区范围可控、效果逼真、实现方便,过程为:

(1)设定扇形区域范围θ。系统为用户提供30°~180°间隔不等的8个扇区范围。用户可根据需要自行选择扇区大小。

(2)确定衰减步数(线数)n。它是由前面确定的扇区大小与相邻线间夹角共同确定的,本文两线夹角设为0.5°。以90°扇区为例,n等于180°。

(3)确定线色并绘制。将公式(1)相对于I0进行归一处理,并将衰减过程离散化,最后方程两侧取对数,得到:

式中:tn为离散时刻;In为离散余辉亮度。

将亮度表示为颜色,以空间信息替代时间信息,则:

式中:Cn为第n条线的颜色;C0为第1条线的颜色;θn=0.5n为2条线间的夹角;kθ为单位夹角颜色衰减值,等于(Cθ-C0)/n。

所以,给定首末线颜色C0、Cθ,则扇区内任意线颜色均可计算得出。通过设定一个循环即可完成线条绘制。表1中列出了系统扇区范围、线数及线色间的对应关系。

表1 系统扇区范围线数线色对照表

(4)扇区旋转。通过设置定时器,定期修改首线位置,使扇区不停旋转,进而实现雷达扫描效果。图2展示了系统的两幅P型显示器余辉效果图。

图2 扇区范围分别为90°和120°的余辉效果图

2.2 实验目标跟踪图的设计与仿真

雷达的主要功能就是对空中和地(海)面的目标进行探测与跟踪,本文设计了实验目标跟踪显示图,用于动态显示目标运动过程,与雷达扫描结果进行对比,以使雷达实验结果更具有说服力。其中,目标的产生、运动模拟、目标的跟踪显示是仿真实现过程中的关键。

2.2.1 目标的产生

(1)坐标转换

雷达通常以正北方向为0°,假定按逆时针方向旋转,则雷达扫描坐标系如图3(a)所示。目标参数表示为(D,θ),其中D表示目标距离,θ表示目标方位角。而SDI视图中极坐标形式的逻辑坐标系如图3(b)所示,点的坐标表示为(r,α),其中r表示极径,α表示极角。

图3 雷达扫描坐标系与SDI视类逻辑坐标系图

对比2种坐标系可以看出,距离D和极径r是一致的,但方位角θ和极角α之间有一定的差异。因此,在生成目标时,需将目标方位角转换为逻辑坐标系中的极角。由图中关系可知:

求出α后即可确定目标逻辑坐标。

(2)目标区域

所谓目标的区域,就是为简化实验系统且不失一般性,将目标的活动范围设定到某一固定的区域。本文设定雷达扫描图最大等距圆的外切正方形区为目标区域,边长200 km。

(3)目标生成

本文设计了静止和活动2类目标,数量上限均为10个。除数量、坐标、雷达截面积(RCS)3种静止信息外,运动目标还包含速度和加速度信息。其中,目标初始坐标信息的随机生成是本系统的一个亮点。首先,在系统文件建立过程中,设置随机数发生器初始函数srand;之后目标生成时,2次调用伪随机数发生函数rand,并将结果对200(目标区边长)求余以产生0~200间的随机数;最后,将2个随机数各减掉100,并将结果分别赋予目标的x和y坐标。结合前面的讨论可知,目标初始位置可以随机分布于目标区的 4个象限内。实现效果如图4(a)。图中“士”表示活动目标,“▲”代表静止目标。

2.2.2 目标的运动及其跟踪

(1)目标运动

系统中设定运动目标x和y方向各具有100~1 000 m/s的10个等间隔速度,可以根据目标数量分别赋予不同序号的目标。为将问题简化,所有目标加速度初始化为0,即目标均做匀速运动。当其运动到目标区边缘时,相应坐标速度进行取反处理,以达到运动不间断的目的。

(2)目标的跟踪与显示

一方面,随着目标的建立,实验目标跟踪视图始终保持着目标的显示。通过定时器,每2 s进行一次目标位置更新,固定目标位置不做更新,运动目标坐标为:

式中:(x1,y1)为目标当前坐标值;(x0,y0)为上一次目标停留坐标;vx,vy分别为2个坐标方向的速度。

图4(b)展示了经过2 min 10 s后的目标位置分布。

另一方面,雷达扫描视图中,首先使用系统PtInRegion函数判断目标是否在扇区内,如果判断有目标,则根据坐标公式(5)和变换公式(4)进行目标显示。当扇区经过目标后,停止该目标的显示,如图4(c)所示。

对比图4中(a)、(b)可以发现,活动目标位置发生改变,静止目标位置则未发生变化。对比图4中(b)、(c)可以看出,量程90 km,120°的雷达 P 型显示器扫描扇区内标识出存在的4个目标,扇区外目标未被标识,符合系统设计要求。

图4 限定区域内实验目标分布及对应的扫描结果图

2.3 系统参数的动态调整与数据处理

2.3.1 系统参数调整

实验系统的主要参数包括雷达参数、环境/目标参数和对抗实验参数,其设置过程主要由初始化设置和运行时调整两部分组成。

初始化设置较为简单,通过调用OnInitialUpdate函数,在视图类首次连接到文档时,使用文档中的数据对象对视类数据进行初始化。

运行时调整则较为复杂,为方便用户操作,本文采用属性表(CPropertySheet)结构设计了参数设置表CSetSheet。系统根据用户的不同请求,修改“全部参数”、“雷达参数”、“环境/目标参数”、“对抗实验参数”等加载标记,再根据标记为设置表添加不同的参数设置页,进而实现“全部参数设置”和“单一参数设置”2种模式。图5展示了“全部参数设置”模式下的雷达参数设置页截图。

2.3.2 系统数据的传递

其一,由于雷达P显、系统参数、实验目标跟踪3个视类共享同一文档类中的数据对象,所以调用SDI程序中视类成员函数GetDocument即可获得系统文档类的指针pDoc,使用该指针即可实现文档与视图、视图与视图之间的数据传递。

其二,用户通过触发参数设置请求,在参数设置类与雷达P显视类之间建立关联,通过赋值方式实现二者间的数据传递。再利用文档指针pDoc调用文档类中的UpdateAllViews函数,实现其他视类的数据更新。

2.3.3 系统数据的显示

通过前面的讨论可知,系统数据显示主要分为3个部分:首先,雷达参数、环境参数、目标个数等信息通过文本形式在系统参数视图中显示;其次,目标位置信息分别在实验目标跟踪视图和雷达P显视图中以图标进行标示;最后,目标位置坐标、系统量程、运行时间等以文本形式在状态栏中输出,具体情况参照图4、图6。

图5 全部参数设置模式下雷达参数设置图

2.4 SDI程序的窗体分割

所谓SDI程序,就是在这样的应用程序中,只使用一个文档和一种视图类型,并且对这些类只分别实例化一个对象。

与之相反的是多文档界面(MDI)程序,它允许同时操作多个文档,可以有多个子窗口。鉴于只包含一个文档和MDI文档管理的复杂性,本文采用SDI。设想将系统运行参数、参照目标同时显示在一个窗体内,实验对比效果更加明显,系统将更加逼真,因此需要对SDI程序进行窗体分割。

图6 雷达实验系统暂停状态界面图

本文采用静态拆分法,向原有工程中添加实验目标视类和系统参数视类,分别用于显示目标跟踪图和系统参数,通过重写主框架类CMainFrame中的OnCreateClient函数,利用CSplitterWnd对象达到一个窗体切分显示多视窗口的目的,其效果与图1中的构想一致。

2.5 系统菜单与工具栏按钮的设计与实现

根据SDI程序菜单及工具栏设计的方法,利用VC++6.0开发平台提供的扩展接口,可以较方便地得到图1所示的各种菜单项(含快捷菜单)和工具按钮。通过将某一菜单项和工具栏中的按钮设定相同的ID标识,可以实现二者的关联并最终完成相同的任务。

然而在系统建立、运行和停止、退出过程中,菜单(按钮)间的相互关系及其状态需要不断发生变化,这也是系统终端设计与实现过程中解决的另一个主要问题。

例如:系统建立初期需要进行“参数设置”,运行时则“参数设置”按钮不可用,“运行”按钮也将失效,系统“暂停/停止”运行后,“参数设置”等按钮再次有效。其逻辑关系如表2所示。其中“1”表示按钮可用,“0”表示按钮不可用,系统其他按扭使能过程相类似。

表2 系统状态与按钮使能关系表

3 系统终端仿真结果

根据系统设计想定,结合前面的讨论,对系统界面各部分加以整合,最终得到了系统调试和发布两个版本的可执行程序。程序运行结果如图6所示,其编译、调试环境为:Pentium 4(CPU:3.0 GHz,显卡:GeForce FX 5200)PC机,Window s XP系统,Visual C++6.0开发平台。

4 结 论

本文讨论了基于VC++SDI设计雷达实验系统人机交互终端的方法,提出了用可变扇形区画线法实现P型显示器的余辉效果,完成了相关功能设计与仿真实现,其可执行文件能脱离VC++环境单独运行。结果表明:该终端操作界面美观,操作简便,实验对比效果直观,可移植性强,达到了设计要求与仿真目的。该系统为雷达实验系统整体实现打下了良好的基础,具有较高的实用价值。

[1] 汤礼建,黄建冲,章桂永.脉冲压缩多普勒雷达信号处理系统仿真[J].舰船电子对抗,2008,31(3):37-40.

[2] 王小光,唐宏,高山,等.基于Simulink的机载 PD雷达系统的建模与仿真[J].航空计算技术,2007,37(5):77-79.

[3] 李军.基于SystemView的雷达测距系统设计与实现[J].实验室研究与探索,2009,28(6):207-209.

[4] 张剑,杨雷,董晓明.基于OpenGL的雷达显示器仿真[J].中国舰船研究,2009,4(5):71-74.

[5] 刘焱,张宏伟,曹成俊.基于 Visual C++和 OpenGL的具有余辉效果的P型雷达显示器仿真[J].科学技术与工程,2009,9(10):2751-2754.

[6] 齐越.基于计算机的雷达显示系统设计[D].大连:大连海事大学,2008.

[7] David Simon,周瑜平.Visual C++6编程宝典[M].北京:电子工业出版社,2005.

[8] 罗斌.Visual C++编程技巧精选集[M].北京:中国水利水电出版社,2008.

猜你喜欢

余辉参数设置扇区
Sm2+激活的深红—近红外长余辉发光材料的制备及其光学性能研究
分阶段调整增加扇区通行能力策略
西工大黄维院士团队在有机超长余辉领域再次取得重大突破性进展
近红外长余辉材料ZnGa2MO6:Cr3+的制备与余辉性能
空中交通管制扇区复杂网络建模与特性分析
空域扇区网络级联失效抗毁性及优化策略
蓄能清洁人造石产品的研制
U盘故障排除经验谈
逃生疏散模拟软件应用
蚁群算法求解TSP中的参数设置