雷达数据处理软件模块化研究
2013-10-21罗利强张艳艳
罗利强 张艳艳 高 恒
(西安电子工程研究所 西安 710100)
1 概述
随着信息技术在武器装备中的广泛应用,软件工程在现代武器系统中的地位和作用日趋突出,逐渐成为高新武器装备体系的关键。
由于武器系统对于信息化、智能化的要求越来越高,导致雷达数据处理软件的规模和复杂性也不断提高,同时对雷达数据处理软件的可靠性也有了更高的要求,原来针对于某一项目而进行的软件开发方法已不能适应现代雷达数据处理系统大型化、复杂化、高可靠、通用化发展趋势。
根据雷达数据处理体系架构,利用软件模块化思想,将规模复杂的数据处理软件分解为互相独立的软件功能模块(软部件),软件模块可重复使用,提高雷达数据处理软件的质量与可靠性;而且这些软件功能模块(软部件)的相关参数可灵活配置,满足用户个性化需求。
软件模块化作为软件工程化实现的重要手段,将软件模块化思想应用于搜索雷达数据处理系统,实现对于雷达数据处理软件(简称“DPU”,以下同)的统一设计,建立产品的标准化、模块化设计规范,对提高软件产品研制效率,保证软件质量和可靠性,具有重要意义。
2 数据处理软件功能需求
2.1 工作原理
雷达数据处理系统用以完成目标的航迹建立、航迹相关、航迹管理、航迹更新、杂波处理、敌我识别、威胁估计、目标导引等处理任务,实现对目标的稳定跟踪;同时接收友邻空情,具备一定的多传感器数据融合和多站干扰定位能力[1]。典型雷达数据处理工作原理如下:
a.系统工作时,数据处理系统实时接收空情信息(包括本地空情和友邻空情信息),并完成空情信息分类存储;
b.对于本站空情(包括原始一次点迹和有源干扰信息),通过坐标变换,将目标信息转到数据处理系统要求的坐标系下,完成点迹预处理;对符合凝聚条件的原始一次点迹进行合并处理,提高点迹精度,生成凝聚点迹,并作为航迹处理输入;判定每个点迹是属于新发现目标的点迹,还是属于已经发现并建立航迹的目标点迹,对于新发现的目标,及时建立目标航迹,并通过批号管理完成航迹批号的有效分配;对于用于航迹更新的点迹,建立航迹和点迹的配对矩阵,完成航迹点迹相关和航迹滤波更新;依据目标运动要素和询问结果,完成目标的威胁评估和目标属性识别;处理更新后的航迹数据一方面实时上报,一方面用于航迹数据库更新,为下次跟踪维持服务;估算出目标的运动速度和位置,实现雷达导引光电或者导弹截获目标;在航迹处理过程中,通过对航迹质量不断更新,完成航迹的确认和撤销过程。
c.对于邻站空情(包括一次航迹和有源干扰),通过时空对准、多站多目标跟踪,完成多源空情信息的同一性辨识、航迹融合处理以及多站有源干扰定位等任务,形成统一空情态势。典型雷达数据处理系统工作流程如图1 所示。
图1 数据处理系统工作流程图
2.2 功能划分
在充分研究典型雷达数据处理系统需求的基础上[2],结合项目工程实际,综合考虑雷达数据处理系统的扩展性和不同型号产品之间通用性,对雷达数据处理软件功能进行了划分,具体功能划分如表1 所示。
表1 雷达数据处理软件功能划分[4]
2.3 关键模块功能设计
a.点迹凝聚
点迹凝聚是将在一定距离,方位和俯仰范围内的相关原始一次点迹进行存储并凝聚,该凝聚门限可控。凝聚采用的方法是线性加权求重心,即:
式(1)中,n 为目标点迹个数,Ai和Vi分别为第i 个点迹的位置和回波幅度值。
b.杂波剔除
杂波剔除功能包括杂波图子模块和杂波屏蔽区子模块,杂波图、屏蔽区功能开关可控。其中杂波图自动建立、自动更新;杂波屏蔽区由操作手人工设定。
杂波剔除功能有效时,落入杂波剔除区域且同已有航迹相关不上的点迹应作为杂波予以剔除;在杂波图或屏蔽区内不允许自动建立航迹(允许手动建立航迹),但可采用较严格的相关准则保证已有航迹有效跟踪维持。
c.航迹建立
系统提供两种航迹建立方式,即自动航迹建立方式和手动建立航迹方式。系统工作时以自动为主,手动建航作为自动建航的一个补充,用于虚警较高和检测概率较低的场合。
当目标连续被信号处理机检测概率不低于起始门限(门限阀值可设),且均匀分布时,数据处理系统应能自动建立该目标的运动航迹;当不满足上述条件时(目标不满足起始阀值或落入杂波屏蔽区内),通过操作手传递的跟踪球位置,完成手动航迹建立。
d.航迹维持
通过航迹点迹相关以及滤波更新完成对航迹的有效维持。其包括航迹相关模块和滤波更新模块,各模块提供多种应用选择,设计师可根据工程实际灵活进行配置。
其中,航迹点迹相关模块完成航迹同一次点迹的有效配对,系统提供了两种关联方式,即最近邻域关联和概率数据关联方式;滤波更新处理模块完成目标位置和速度估计,实现雷达对运动目标的航迹更新,提供了多种滤波模块选择,包括自适应α-β滤波器、自适应α-β-γ 滤波器、Kalman 滤波器等。
e.航迹管理
航迹管理包括航迹批号管理和航迹质量管理。航迹批号管理完成新建航迹批号的有效分配;航迹质量管理用来判断哪些未确认航迹可以转换为确认航迹,哪些是虚假航迹应予以撤消。因此,在航迹处理过程中,对航迹质量不断更新,并根据航迹质量动态决定航迹的确认和撤消。
f.数据交互
数据交互功能完成DPU 与其它软件配置项、外部系统或设备的输入输出信息交互,根据数据处理系统的应用实际,本次设计提供多种通信接口模块,设计师可根据项目实际灵活选择,其包括以太网、串口、CAN 总线以及内存映射等多种通信接口。
3 数据处理软件模块化设计
3.1 软件模块化设计原则
软件模块化设计的关键是软件体系架构的结构化和模块化,因此,软件模块化设计应该遵循“功能独立”和“结构独立”的设计原则[3],具体如下:
a.优化软件结构,避免模块之间存在耦合;
b.软件模块内部应保证高内聚度;
c.符合软件工程化扇入和扇出要求;
d.模块的作用域应保持在该模块控制域内;
e.降低模块接口的复杂程度,尽量设计成单入口、单出口方式;
f.采用结构化编程语言,满足可移植性要求。
3.2 基于条件编译的预处理
基于条件编译的预处理方法是实现模块静态加载和动态配置的最效办法之一。同配置文件相比,基于条件编译预处理方法通过条件宏改进了程序设计环境,提高了编译效率,使软件结构清晰;同时兼顾了参数的灵活配置,满足不同数据处理软件产品需求。
目前的主流编译系统均能有效支持条件编译,通过定义不带参数的条件宏,可静态实现模块的加载或删除;定义带参数的条件宏,实现对系统中某些工作参数和环境变量的进行灵活设置;无参条件宏和参数条件宏通过条件编译命令进行有机组合,实现各软件功能模块的加载、删除和参数配置。典型预处理命令如下:
3.3 具体实现
本次设计将预处理和配置文件融为一体,通过个性化配置,完成软件模块的加载、删除和参数配置,自动生成包含条件宏的配置文件dpuConfig.h(头文件形式),并通过和应用工程进行重新编译完成数据处理可执行程序生成。具体实现如下:
a.根据系统实际需求,利用软件模块化配置软件,完成模块的静态加载和参数配置;配置完成后,自动完成配置文件dpuConfig.h 的生成。
例如配置数据交互模块,本软件在设计时提供了多种接口模式,各通信接口的启用由无参条件宏控制。若启用串口RS422 通信,具体配置要求是:通信速率921.6kbps,8 个数据位,一个停止位,无奇偶校验位。则通过软件模块化配置软件生成的dpuConfig.h 包含如下代码:
上述代码包含了功能模块的静态加载项和参数配置项,若静态加载项H_INTERFACE_COMM_RS422 没有定义,则后续参数配置项不参与软件编译。对于其它软件功能模块的加载和参数配置与此相同,就不再赘述。
b.在DPU 的应用工程中加载dpuConfig.h,重新进行编译,完成数据处理软件可执行程序的新生成。
c.若想在已有配置文件基础上进行局部修改,通过打开已有配置文件,重新编辑保存后,完成配置更新。
4 结论
通过雷达数据处理软件模块化研究,建立产品的标准化、模块化设计架构,符合大型软件开发“松耦合,高内聚”的特点,保证了软件产品质量和可靠性;并针对不同产品特性需求,提高了软件研制的工作效率,适应现代战争对雷达数据处理软件复杂化、智能化发展的要求,具有较高的工程价值和经济价值。
[1]蔡庆宇.相控阵雷达数据处理及其仿真技术[M].北京:国防工业出版社,1997.
[2]何友,修建娟,张晶炜等.雷达数据处理及应用[M].北京:电子工业大学出版社,2006.
[3]谭浩强.C 程序设计[M].北京:清华大学出版社,2008.
[4]罗利强,王延暴,高恒.自行体目标稳定跟踪技术研究[J].火控雷达技术,2012,41(2) :1-3.