侯彭亮,郭 苹,王展鹏,王 静
(西安科技大学 通信与信息工程学院,陕西 西安 710054)
雷达显控终端是雷达系统的重要组成部分,作为雷达系统人机交互的接口,主要负责控制雷达系统并显示雷达回波、雷达状态等信息的任务,而雷达PPI 显示则是最常见的雷达显示方式之一,其仿真水平直接影响到整个终端系统的效果[1-3]。传统的雷达显控终端是使用通用计算机来负责雷达PPI 显示和控制,功能和界面比较丰富,但是在进行外场试验测试时,在恶劣的环境中实现对计算机的操作将更加困难,不利于某些特定环境下的推广和使用,其应用场景逐渐受到限制。随着雷达技术以及Android 智能设备的快速发展,便携可移动式雷达PPI 显示控制软件的开发势在必行。
针对传统雷达PPI 显示控制方法的缺陷,且得益于Qt在软件界面开发过程中的优良特性,本文给出基于Qt的雷达PPI 显控及手机客户端的实现方式,分别采用以X86 处理器为核心的Windows系统和以ARM 处理器为核心的Android系统的软件平台,在此基础上使用图形用户界面应用程序开发框架Qt在Windows系统和Android系统下分别开发雷达PPI 显示端和手机客户端,实现在以太网下使用手机客户端通过TCP/IP 协议远程控制雷达PPI 显示端工作,整个系统的兼容性、可移植性和可维护性得以极大提升,为跨平台操作提供便利。该手机客户控制端与传统显控终端控制端相比具有很好的可靠性和便捷性。
Qt 是一种基于C++的跨平台图形用户界面应用程序开发框架,主要是用于面向对象的框架,可以扩展且具有优良的跨平台特性[4-6]。QML 是Qt 推出的Qt Quick技术的核心之一,是一种声明式语言,开发人员可以轻松地在QML 中构建流体动画用户界面,并且可以选择将这些用户界面连接到任何后端C++库[7-9]。
雷达探测信息不仅包括目标回波等原始视频信号,还包括目标回波信号经过数字化处理变成数据后由计算机加工形成更加丰富的二次信息[10]。因此,雷达显控终端主要完成对雷达工作状态的控制以及雷达获取的情报和目标信息(包括目标位置、特征参数、运动状况等信息)的显示。
雷达PPI 显示是以雷达为中心点按照距离和方位显示雷达扫描范围内的目标分布情况,这种情况与通常的地面地图具有相对应关系,可以提供360°范围内全部平面信息。根据雷达显控终端的功能需求,将PPI 显示端与控制端分别基于Windows系统和Android系统进行开发,实现显示与控制的分离,具体的雷达PPI 显示工作流程如图1 所示。
图1 雷达PPI 显示工作流程
雷达通过发射机发射信号,经过目标反射后形成回波并通过接收机进入信号处理机。回波信号经过一系列的目标回波经过雷达信号处理板后,提取出目标信息,包括方位、距离、速度和航迹等[11]。而雷达显控终端作用是将接收到的雷达目标信息通过目标检测、目标跟踪等处理后通过可视化将目标的方位、距离等重要信息反馈给用户,同时用户还能够通过终端对雷达系统进行特定化设置,使雷达系统适应当前环境。
基于Qt的雷达显控手机客户端主要从雷达PPI 显示端、手机控制客户端及两者通信三个方面进行设计,软件总体设计框图如图2 所示。
图2 软件总体设计框图
雷达PPI 显示端在通用PC 上使用Qt的绘图工具实现,主要完成天线、波束、目标、目标航迹等参数信息的显示功能。手机客户端使用Qt Quick的QML 脚本语言与Qt Widget的C++代码交互实现雷达PPI 显示参数的配置,使用屏幕触控操作,通过TCP/IP 协议与雷达PPI 显示端建立连接并发送指令,控制雷达PPI 显示端实现显示。
雷达PPI 显示端主要划分为网络模块和显示模块,网络模块负责显示端和手机客户端的远程连接;显示模块负责接收到雷达数据处理板的数据后对雷达目标信息的显示。
手机客户端主要功能是对雷达PPI 显示端进行参数设置,包括杂波显示与隐藏,天线、波束、目标等参数设置。在雷达PPI 显示端和手机客户端分别加入网络模块,通过TCP/IP 协议实现连接,完成手机客户端对雷达PPI 显示端的显示控制。
雷达PPI 显示,在极坐标格式下实现绘制,方位以正北为基准,目标回波以同心圆表示,圆心是雷达站,距离沿半径方向增加。如图3 所示,雷达PPI 显示分为网络模块和显示模块。
图3 雷达PPI 显示端设计图
2.1.1 网络模块
网络模块用于接收到客户端发送过来的信息并传递给显示模块。手机客户端通过TCP/IP 协议创建一个Socket 套接字与雷达PPI 显示端建立连接,实现客户端与显示端的网络数据通信,雷达PPI 显示端启动后,设置PPI 显示端的IP 地址和端口号,显示端进入监听状态,等待手机客户端的连接。
2.1.2 显示模块
雷达PPI 显示通常分为四层,其最底层为杂波层,上面依次是经纬层、天线层、目标层。
PPI 显示绘制以坐标原点为圆心绘制若干同心圆来表示距离,以圆心为起点绘制等角度的辐射直线表示方位。在使用Qt 绘图时,采用的是直角坐标系。绘图过程中需要进行极坐标和直角坐标的转换,如图4 所示。
图4 极坐标与直角坐标之间的转换图
对于图4 中的点A,极坐标和直角坐标之间的转换如式(1)、式(2)所示。
杂波是雷达信号检测和处理的固有环境,在杂波背景下进行信号处理是雷达的基本任务之一[12]。本设计设置了一张png 格式的静态图片来模拟雷达杂波,可以实现杂波显示和隐藏。
雷达PPI 显示中的经纬层用于确定目标的位置信息。Qt 中提供了强大的2D 绘图系统,可以使用相同的应用程序接口(Application Programming Interface,API)在屏幕上和绘图设备上进行绘制若干个同心圆,并把同心圆以30°为角度分割线分为12 等份,同心圆和角度分割线就组成了经纬层,且同心圆和角度分割线的交点表示雷达的作用距离。
天线是雷达系统中的一个重要组成部分,它决定着雷达的灵敏度和角度分辨率。本软件天线扫描方式主要分为两种:余辉式扫描和扇段式扫描,余辉式扫描使用数字化实现余辉效果;扇段式扫描是指天线波束对平面的一部分扫描,对驱动系统在整个扇段扫描过程的动态分析,是雷达天线驱动装置参数确定和强度校核的前提。扇段式扫描包括波门外扇段、波门颜色,波束颜色等参数。
雷达目标是雷达发射的电磁波与目标相互作用所产生的各种信息,目标是实时更新的,需要显示目标的运动轨迹。本软件的目标层包括目标颜色、目标路径宽度、目标路径颜色、目标位置等参数设置。雷达目标信息通过雷达数据处理板发送到显示端的共享内存,PPI 显示通过从共享内存获取数据来实现雷达目标的动态显示。
为了能够实时动态地显示雷达的观测结果,本软件使用Qt 中时间控制器函数来实现天线扫描方式目标的路径动态等显示更新。时间控制器函数提供了重复和单次触发信号的定时器,并且为定时器提供了一个高级别的编程接口,创建一个定时器对象,连接信号到适当的槽函数,并调用start 函数开启定时器,设置发出时间事件的时间间隔,在恒定的间隔会发射信号[13-15]。当发射信号时,导入目标信息(包括位置、航迹等),雷达PPI 显示端开始工作,并与手机客户端连接,动态显示目标运动状态和航迹。
手机客户端的功能是通过TCP/IP 协议在以太网下对雷达PPI 显示端的远程控制,客户端发送参数配置信息到显示端,显示端进行相应的显示,主要包括与PPI显示端匹配的网络模块、杂波模块、天线模块、波束模块、经纬模块和目标模块,手机客户端设计图如图5 所示。
图5 手机客户端设计图
网络模块包括IP 地址和端口文本框,是客户端与显示端通过以太网连接所需要的参数,当显示端开始侦听,客户端点击连接按钮实现与显示端连接。杂波模块的功能是设置杂波显示或隐藏。天线模块的功能是设置天线中心颜色和天线扫描方式(扇段式扫描和余晖式扫描)。波束模块包括波束边界颜色、波束颜色和波门颜色,分别对应显示端的参数设置,实现相应的变化。经纬模块是对PPI 显示端的经纬线颜色和雷达最大作用距离的设置。目标模块是对目标颜色和航迹颜色的设置。
Android 客户端设计基于Qt Quick 中的QML 脚本语言和Qt 中C++代码交互来实现。使用QML的控件和堆栈视图设计客户端的各个参数设置界面,其中包括QML中的Button(按钮)控件、Label(标签)控件和ComboBox(组合框)控件,以及QML的布局管理器。部分实现代码如下:
用户通过触摸指令可以实现进入具体模块页面进行参数设置。
PC 使用USB 数据线与Android设备连接,通过Qt的Android 编译器向Android设备打包发送APK 文件并安装。图6 为Qt for Android 应用开发流程图。
图6 Qt for Android 应用开发流程图
在本设计中手机客户端与雷达PPI 显示端的通信是基于TCP/IP 传输协议的Socket 套接字实现的。TCP/IP协议作为OSI 七层新模型中的第三层和第四层,TCP 层提供了信息的可靠传输,IP 层是负责对数据的验证。手机客户端通过局域网将参数设置信息发送显示端,显示端对数据进行处理并分配到显示模块进行显示。
图7 所示为Socket的工作流程。
图7 Socket工作流程
在Windows设备PC 端和Android设备手机端对显示端和客户端功能进行测试。如图8 中A 部分所示,通过Android 客户端对雷达PPI 参数进行设置,设置目标颜色为红色、航迹颜色为黄色、天线中心颜色为绿色,天线扫描方式为扇段式扫描、杂波隐藏。Windows 显示端如图8 中B 部分所示,目标航迹为黄色,目标颜色为红色,天线中心颜色为绿色,并且显示杂波,PPI 显示结果与手机客户端设置信息一致,这表明手机客户端可以实现对PPI 显示端的控制。
图8 客户端控制PC 显示
本文显示端和客户端程序在Windows 7 和Android9.0平台下,分别实现了雷达PPI 显示端和手机客户端显示,软件运行均良好,且可以达到预期效果。在实际应用中,得益于Qt的跨平台性和可移植性高,适应性强,兼容性强以及手机的便携性、灵活性和性能的不断发展,它的应用领域也将越来越广泛。