- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
网络无线侦察接收机软件系统的设计和实现
为了从无线电信号中获取对方的信息而对通信信号进行搜索、截获、测量、分析、识别、监视以及对辐射源测向和定位,以获取其技术参数、功能、类型、位置和用途而构成的系统,称为无线侦察接收机系统。其中计算机软件系统是整个侦察接收机系统的重要组成部分,本系统中软件和硬件之间的数据传输是依靠网络进行的。
本文在分析网络无线侦察接收机软件系统框架的基础上,结合wxWidgets库给出如何设计用户界面、如何利用wxMathPlot对接收到的数据进行画图、信号处理的基本方法,重点分析了如何解决网络接收数据时可能出现的"粘包"问题,最后给出了软件运行效果。
1 网络无线侦察接收机软件系统总体设计
网络无线侦察接收机的总体设计如图1所示。硬件系统采集到的数据通过网络采用TCP/IP协议传送给信号实时显示系统。整个软件系统主要由以下几个模块组成:网络模块、GUI模块、信号处理模块、画图模块、存储模块。其中网络模块主要负责接收硬件发送的数据;GUI模块则负责与用户的交互;信号处理模块则主要负责对采集到的信号进行一定的处理,如功率谱估计、解调等;画图模块则需要将网络收到的数据实时显示在用户界面;存储模块则负责将收到的数据存储在电脑磁盘。其中GUI模块是整个软件系统的核心,其余各模块之间的信息传递则是通过GUI模块,GUI模块相当于一个信息中转站。
目前支持C++进行GUI开发的软件包很多,主流的包括wxWidgets、MFC、QT等等。和其他GUI开发库相比,wxWidgets拥有丰富的并且开源组件,可以吸引众多人士对其进行改进,对其不断扩充和发展;为其所支持的各种平台提供几乎一致的GUI应用程序接口(API)。程序从一个平台换到另一个运行,只需要重新编译,链接相应的库文件即可。它提供了一个与平台无关的framework,所以程序设计时选用wxWidgets-2.8.0库进行GUI开发,编译工具使用的是codeblocks8.02。
2 关键模块设计
2.1 GUI模块的设计
Win32程序的main函数代表程序运行起点,对于wxWidgets程序,整个程序的执行即主线程开始启动,是从建立一个wxApp类的对象并调用其类成员函数OnInit()函数开始的。OnInit()函数中需要完成的工作则是创建程序窗口的实例。程序中使用的顶层窗口是从wxFrame(一个可以容纳其他窗口和控件的顶层窗口,通常拥有标题栏和菜单栏)派生出来的。
2.2 画图模块的设计
信号处理的结果需要在界面上显示出来,如频谱图,星座图等。
wxMathPlot是一个用来画二维曲线的图形库。系统中主要使用该库绘制一些分析曲线,向用户展示分析结果(如频谱图)。wxMathPlot采用的也是类继承的方式。坐标轴和曲线都是以Layer的方式叠加在画图窗上的。
作者:夏娟 夏威 何子述 来源:《电子设计工程》
上一篇:卫星网络干扰信号的监测与定位技术
下一篇:我国号码携带业务访问数据库技术方案的研究