无人机载侦察雷达数据处理软件的模块化设计与实现

2014-06-23 06:39孔祥辉张晓东
火控雷达技术 2014年2期
关键词:控制板信号处理线程

李 涛 徐 玮 孔祥辉 张晓东

(西安电子工程研究所 西安 710100)

0 引言

在无人机的发展过程中早期的侦查无人机一般使用光学设备感知外界信息,但是光学设备受天气影响较大是无法克服的难题,而雷达正是具有全天候、全天时的优点,再加上雷达小型化技术的成熟,雷达已逐渐成为无人机载侦查设备的首选,近年来的增长大幅超过光学设备,并且由于需求的多样化和软硬件技术的高速发展,具有强大数据处理能力的无人机载多功能雷达不断涌现,例如非常著名的美国全球鹰无人侦察机具有全天候、大纵深的侦察监视能力[1]。无人机相对于普通有人飞机,载荷较小,自动化程度高,需要无线数据链路进行传输控制和处理数据信号,由此带来的是雷达功能的多样化和数据处理能力强大,同时数据处理软件高度复杂,不仅需要完成多模式下的数据处理任务,而且还需要控制记录设备、编码和发送数据等,此时需要按不同的功能使用模块化设计,具有可裁减性和数据安全性,不仅提高雷达数据处理软件的质量与可靠性[2],而且在后期能够很好的功能延展和维护。

1 Windows XP Embedded操作系统

Windows XP Embedded为微软研发的嵌入式操作系统,以组件模块展现出与Windows XP Profes-sional操作系统一样的接口与操作模式,包含10000多个独立的功能组件,开发人员可依各自需求组合出不同的操作系统镜像文件,确保有Windows XP Professional操作系统相依性以及最佳功能,其基于Win32编程模型,由于采用常见的开发工具,如Visual Stdio,使用商品化PC硬件,与桌面应用程序无缝集成,因此可以缩短开发时间。它比较关键的可靠性、安全性和性能包括:系统文件保护、设备驱动程序回滚、抢先型多任务体系结构、支持多用户的加密文件系统等等[3]。

虽然Windows XP Embedded具有上述优点,但是在实时性和稳定性上不如WindRiver的VxWorks操作系统[4]。对于这两个缺陷,首先侦察雷达不同于火控雷达,前者没有严格的实时性需求,其次制作系统镜像文件时可以将不使用的组件完全裁减掉,只使用满足需求的最少组件,再加上其本身具有的系统文件保护功能,系统也可以长期稳定运行。由以上所述Windows XP Embedded是可以代替Vx-Works作为数据处理软件的运行环境,并且由于前者的开发环境Visual C++包含强大的MFC类库,对面向对象编程方法有良好的支持,符合软件模块化的要求,故在此使用Windows XP Embedded作为数据处理软件的运行软件环境,Visual C++6.0作为数据处理软件的开发环境,X86结构单板计算机作为数据处理软件的运行硬件环境。

2 数据处理系统组成和工作过程

无人机载侦察雷达具有SAR成像和动目标检测功能,其数据处理系统包含五个组成部分,分别是数据处理板(X86结构单板计算机)、数据记录板、中心控制板、SAR信号处理板和动目标信号处理板,A/D板通过光纤和中心控制板连接,中心控制板通过三个ROCKET IO分别和记录板、SAR信号处理板、动目标信号处理板接连,通过三个串口分别和机载计算机、惯导、无线数传连接,数据处理板通过四条 PCIE总线分别和其余板卡连接,如图1所示。

图1 数据处理系统组成

雷达工作过程中,经过A/D板采样的数据发送到中心控制板,然后由中心控制板将其和接收自机载计算机的雷达工作模式控制命令、接收自惯导的载机实时姿态位置信息组包后,根据雷达工作模式选择将数据发送到记录板、SAR信号处理板或者动目标信号处理板,信号处理板运算产生的SAR图像、一次点迹和DBS图像数据发送到数据处理板,经过数据处理软件一系列运算后产生可以在显控软件上显示的数据,最后将此数据发送到中心控制板,由中心控制板通过无线数据传输设备发送到地面显示和进行后续处理。

3 数据处理软件设计与实现

由以上所述,数据处理软件不仅要完成对雷达数据的接收、处理和发送,还要接收中心控制板的指令,切换自身的工作模式和控制记录板记录和回放雷达数据,数据处理软件需要和数据记录板、中心控制板、SAR信号处理板、动目标信号处理板分别进行数据交换,因此可以将软件分为SAR图像处理、动目标处理、记录板控制、中心控制板通信以及工作模式控制5个模块,按照面向对象编程方法设计5个类分别对应上述5个模块以及其他:

3.1 软件模块设计

a.SAR图像处理类

首先初始化SAR图像处理所需变量和内存缓冲区,然后打开SAR信号处理板,启动监听子线程,子线程负责等待SAR信号处理板发出数据处理完毕信号后,接收BMP格式的原始SAR图像和图像定位信息,将BMP图像压缩成JPG图像后和图像定位信息组合,最后向工作模式控制类发送SAR图像处理完毕和存储图像到记录板消息。

因为SAR图像的解析度很大,经过JPEG压缩后产生的JPG图像一般在5MB~10MB,经过误码率较高的无线数传到达地面后,有很大的概率出现多处误码,而JPG图像的显示和误码的位置有不确定的关系,有可能一个误码就会导致整幅图像无法显示,也有可能多处误码只是影响某些条带或者整体亮度,所以采用对SAR图像分块压缩的方式,即使有多处误码,也只会影响一幅图像的其中一块,其余图像还能够正常显示。图2为重新设计的SAR图像处理和发送数据两级流水示意图,因为PCIE接口速度达到150MB/s,接收原始SAR图像数据只需要不到1s,相对于一个成像周期至少20s,所以忽略其占用时间,只列出处理和发送两个子线程的工作过程:处理和发送两个子线程并行工作,一个负责处理SAR图像,一个负责发送数据,并且需要使用乒乓缓存保证处理数据和发送数据隔离,使用同步事件对象保证两级流水的正常工作时序,使用这种设计是为了使处理和发送数据的效率最大化,保证在一个成像周期的时间内完成所有的处理和发送。

b.动目标处理类

首先初始化动目标处理所需变量和内存缓冲区,然后打开动目标信号处理板,启动监听子线程,子线程负责等待动目标信号处理板发出数据处理完毕信号后,接收原始一次点迹、点迹定位信息、BMP格式的原始DBS图像和图像定位信息,将原始一次点迹经过建航处理后和点迹定位信息组合,将BMP格式的DBS图像按照波束方位角度信息拼接、量化、压缩后和图像定位信息组合,最后向工作模式控制类发送动目标处理完毕和DBS图像处理完毕消息。

和SAR图像处理的一个成像周期内完成所有本次数据处理和发送的情况不同,动目标处理需要按照CPI接收原始动目标和DBS数据,是持续不停地接收数据,因此对于接收和处理数据也要使用流水设计。图3为动目标处理和发送数据两级流水示意图:接收、处理和发送三个子线程并行工作,接收子线程负责在每个扫描周期内按照CPI时间间隔接收原始数据,处理和发送子线程负责在当前扫描周期内处理和发送前一个扫描周期的动目标数据,类似的同样需要使用乒乓缓存和同步时间对象。此外还有一个问题就是前视DBS无法成像,这是由DBS处理的原理造成的,无法通过改善算法和雷达前端等解决,因此在天线扫描到飞行速度方向的小范围角度内,使用单脉冲测角算法来对地面成像,此时由于算法改变,图像的信噪比明显变小,如果还是对整个扫描周期的图像数据统一量化,就会产生显著的明暗变化和明显的拼接边界,所以采用对不同算法产生的数据分别量化后再统一压缩的方式进行DBS处理。

c.记录板控制类

首先初始化记录板控制所需变量和内存缓冲区,然后打开数据记录板,启动控制子线程,子线程负责接收对记录板记录、回放、DMA写入、DMA读取等操作信号,实现对记录板的控制。

实际设计时,需要在记录板控制类中集成一个文件系统,由于记录板在指定存储块开始记录后,只能按照存储块的顺序连续写入数据,不能在记录过程中跳过任意存储块,所以此文件系统可以简化,即按照数据文件号进行索引,不需要存储每个存储块的信息,由上所述此文件系统包括所有记录文件的个数以及每个记录文件的起始和终止存储块号、数据类型、文件大小、记录时间、文件名称,并且支持删除第一个文件或者最后一个文件,这一点是满足可以删除最旧文件的需求,此时第一个文件的起始存储块就有可能不是记录板的第一个存储块,这就要求文件系统能够做到按照存储块号的顺序循环记录。

d.中心控制板通信类

首先初始化中心控制板通信所需变量和内存缓冲区,然后打开中心控制板,启动监听子线程,子线程负责接收雷达控制命令、发送数据信号和数据发送完毕信号,做出相应处理,实现和中心控制板的通信。

因为无人机的无线数传设备对传输的数据会造成按bit移位,所以需要使用一种特殊的编码方式使得接收端软件能够正确解码移位后的数据,在此使用一种面向字符的SLIP转义方式编码,它的主要功能是定义一组字符,包括帧头、帧尾和转义字符,将数据组装成帧,显控软件接收到移位后的数据帧后能够根据帧头和帧尾判断位移量和数据帧长度,然后将数据恢复。

e.工作模式控制类

直接启动主线程,主线程负责首先初始化工作模式控制所需变量和内存缓冲区以及上述四个类的对象,然后进入等待消息循环,接收到子线程的消息后进行相应处理:如果是SAR图像处理完毕、动目标处理完毕和DBS图像处理完毕消息,则向中心控制板通信类发送传输雷达数据信号;如果是雷达模式改变消息,则向各个类发送重置信号,控制子线程回到初始状态或者结束某个子线程;如果是存储图像到记录板记录原始数据、回放原始数据消息,则向记录板控制类发送相应信号,由记录板控制子线程负责解码信号,控制记录板响应命令。

3.2 其他关键编程方法

图2 SAR图像处理和发送数据两级流水示意图

因为程序使用多线程并行工作机制,所以需要综合使用内核对象及消息机制协调多线程的调度[5],所有上述子线程的信号都使用内核对象中的事件对象,又因为重置信号优先级最高,需要第一时间做出响应,所以所有监听和控制子线程中使用WaitForMultipleObjects函数等待重置和其他信号,又因为需要节省CPU占用率,上述函数等待期间所在子线程处于挂起状态,不浪费宝贵的 CPU时间[6],所以等待时间设为无限,这样可以避免多次的等待时间超出处理;为了使各个对象之间有良好的数据隔离性,尽量减少全局变量的使用,并且除了需要在各个消息中交互的数据处理最终结果,其余所有的数据都设为其对象的私有变量。

3.3 设备驱动

与数据处理单板机通过PCIE总线连接的板卡在Windows系统下需要WDM(Windows Driver Model)驱动程序才能够正常使用,并且涉及到驱动程序向应用程序发出信号的通信以及DMA数据传输操作等比较复杂的应用,所以使用高效、集成编译和调试工具的Compuware DriverStudio 3.1建立驱动开发环境[7]。

图3 动目标处理和发送数据两级流水示意图

4 实测结果分析

在实际工作过程中,数据处理软件会根据和数据处理单板机连接的板卡情况决定相对应的模块是否工作,在多次试验中加载不同组合的板卡,系统加电后数据处理软件能够正常运行,并且启动模块都能完成相应的功能,证明了使用面向对象编程方法的有效性。

分析数据处理结果时使用实际飞行记录的雷达原始数据不断回放。首先是SAR处理结果分析:图4为使用分8块压缩和无线传输方法的SAR实时图像,可以看到图4中误码对第7块图像产生了一定的影响,其大部分变暗,其余块的图像能够正常显示,全部图像拼接后达到不错的显示效果,然后将拼接后的图像存储为一个JPG文件,不断更改其中的某些bit,模拟整幅图像统一压缩和无线传输后的误码效果,图5为其中一次的结果,可以看到图像的下半部分发生了变亮和偏移,显示效果很差,结论是分块压缩达到了改善显示效果的预期设计目标;其次是动目标处理结果分析:图6和图7是同一个扫描周期的动目标数据处理结果,建航算法相同,不同的是对地面图像的处理方法,前者使用统一量化方法,后者使用按照数据类型分段量化的方法,由于记录此段数据时无人机有向右13°的偏航角,所以使用单脉冲成像算法的区域中心在天线坐标系的左侧13°,可以看到两图中天线扫描中心角的左侧30°范围为单脉冲成像,因为算法原理不同,信噪比有比较大的差异,图6中使用统一量化后,两种成像算法区域对比很明显,并且单脉冲成像区域由于整体亮度较低,渭河的轮廓无法看清,而图7中使用分段量化后,单脉冲成像区域整体亮度提高,除了边缘有拼接的痕迹外,和DBS成像效果很接近,渭河的轮廓也比较清晰,两图中的灰色点为动目标的航迹点,通过和图8的卫星地图对比后发现典型地貌(渭河和黄河)的轮廓比较准确,动目标的航迹和实际道路(G30连霍高速)匹配。

图4 单个图像块有误码

图5 整幅图像有误码

图6 统一量化的叠加动目标航迹的地面DBS图像

图7 分段量化的叠加动目标航迹的地面DBS图像

图8 DBS图像对应区域的卫星地图

5 结论

通过上述设计、实现和实验结果,可以看到使用面向对象编程方法实现无人机载侦查雷达数据处理软件是可行的,模块化设计使得程序更加安全和高效,避免数据耦合带来的各种问题,后期软件维护更加容易,并能够根据其它类似项目的要求增加和删减模块,快速重复开发,提高了软件研制的工作效率,适应现代无人机载雷达对数据处理软件复杂化、多功能化发展的要求。

[1]林岳峥,祝利,王海.全球鹰无人侦察机的技术特点与应用趋势[J].飞航导弹,2011,(9):21-25.

[2]罗利强,张艳艳,高恒.雷达数据处理软件模块化研究[J]. 火控雷达技术,2013,42(2):38-41.

[3] 郭敏,史乘龙,宋长生.基于XPE的嵌入式雷达显控终端系统[J].火控雷达技术,2012,37(3):91-95.

[4]马建萍,范秀峰.Windows NT在机载雷达成像中的实时应用[J].微计算机应用,2010,(10):62-65.

[5]张晓云,王磊.Visual C++在雷达监控系统中应用的研究[J].安徽电子信息职业技术学院学报,2005,(4):83-87.

[6]Jeffrey Richer著,王建华等译.Programming Applications for Microsoft Windows,Fourth Editio[M].机械工业出版社,2000:190-227.

[7] 武安河.Windows 2000/XP WDM设备驱动程序开发[M].北京:电子工业出版社,2005:49-352.

猜你喜欢
控制板信号处理线程
专题征稿启事
——信号处理
实时操作系统mbedOS 互斥量调度机制剖析
基于国产化环境的线程池模型研究与实现
基于MATLAB的语音信号处理
轨道交通AFC导向标识控制板设计
基于DSP的电子侦察信号处理技术的探析
一种激光/无线电复合引信信号处理技术
一种集成脚本控制单元的设计与实现
一种全隔离的无刷直流电机的反馈制动控制板的研究
一种机载SAR中心控制板的设计