APP下载

网络无线侦察接收机软件系统的设计和实现

2011-03-13何子述

电子设计工程 2011年2期
关键词:谱估计信号处理接收机

夏 娟 , 夏 威 , 何子述

(电子科技大学 电 子工程学院, 四川成都611731)

为了从无线电信号中获取对方的信息而对通信信号进行搜索、截获、测量、分析、识别、监视以及对辐射源测向和定位,以获取其技术参数、功能、类型、位置和用途而构成的系统,称为无线侦察接收机系统[1]。其中计算机软件系统是整个侦察接收机系统的重要组成部分,本系统中软件和硬件之间的数据传输是依靠网络进行的。

本文在分析网络无线侦察接收机软件系统框架的基础上,结合wxWidgets库给出如何设计用户界面、如何利用wxMathPlot对接收到的数据进行画图、信号处理的基本方法,重点分析了如何解决网络接收数据时可能出现的“粘包”问题,最后给出了软件运行效果。

1 网络无线侦察接收机软件系统总体设计

网络无线侦察接收机的总体设计如图1所示。硬件系统采集到的数据通过网络采用TCP/IP协议传送给信号实时显示系统。整个软件系统主要由以下几个模块组成:网络模块、GUI模块、信号处理模块、画图模块、存储模块[2]。其中网络模块主要负责接收硬件发送的数据;GUI模块则负责与用户的交互;信号处理模块则主要负责对采集到的信号进行一定的处理,如功率谱估计、解调等;画图模块则需要将网络收到的数据实时显示在用户界面;存储模块则负责将收到的数据存储在电脑磁盘[3]。其中GUI模块是整个软件系统的核心,其余各模块之间的信息传递则是通过GUI模块,GUI模块相当于一个信息中转站。

图1网络无线侦察接收机软件系统总体设计Fig.1Thedesignofnetworkwirelesssurveillancereceiversoftwaresystem

目前支持C++进行GUI开发的软件包很多,主流的包括wxWidgets、MFC、QT等等。和其他GUI开发库相比,wxWidgets拥有丰富的并且开源组件,可以吸引众多人士对其进行改进,对其不断扩充和发展;为其所支持的各种平台提供几乎一致的GUI应用程序接口(API)。程序从一个平台换到另一个运行,只需要重新编译,链接相应的库文件即可。它提供了一个与平台无关的framework,所以程序设计时选用wxWidgets2.8.0库进行GUI开发,编译工具使用的是codeblocks8.02。

2 关键模块设计

2.1 GUI模块的设计

Win32程序的main函数代表程序运行起点,对于wxWidgets程序,整个程序的执行即主线程开始启动,是从建立一个wxApp类的对象并调用其类成员函数OnInit()函数开始的[4]。OnInit()函数中需要完成的工作则是创建程序窗口的实例。程序中使用的顶层窗口是从wxFrame(一个可以容纳其他窗口和控件的顶层窗口,通常拥有标题栏和菜单栏)派生出来的。

//在OnInit函数中创建MainFrame的对象并显示窗口

2.2 画图模块的设计

信号处理的结果需要在界面上显示出来,如频谱图,星座图等。

wxMathPlot是一个用来画二维曲线的图形库。系统中主要使用该库绘制一些分析曲线,向用户展示分析结果(如频谱图)。wxMathPlot采用的也是类继承的方式。坐标轴和曲线都是以Layer的方式叠加在画图窗上的。

2.3 信号处理模块的设计

为了了解信号各频率成分的构成情况,对网络收到的硬件采集的数据进行功率谱估计[5]。估计方法包括经典功率谱估计和现代功率谱估计方法。系统中使用的主要是经典功率谱估计,其中又包括周期图法和BT法,下面简要介绍一下周期图法计算功率谱的计算步骤:

1)计算信号的傅里叶变换

2)计算出信号的功率谱

其中步骤1)是指取观测样本的N个值对其进行N点的傅里叶变换,得到的结果UN(ω),步骤2)中对UN(ω)模的平方是确定信号uN(ω)的能量谱,对能量谱除以持续时间N,其结果是对uN(n)的功率谱估计。

2.4 网络模块的设计

网络模块是基于TCP/IP协议采用C/S通信模型完成的。在C/S模型中,PC属于客户端(Client),而硬件属于服务器端(Server)。由用户在界面上设置连接硬件所需要的IP地址和端口号,PC端主动向硬件发起连接。连接建立以后,PC通过以太网接收硬件采集的数据。图2展示了C/S通信模型的实现框架。

图2 C/S通信模型实现框架Fig.2Implementation framework of C/S communication model

实际上,在网络中传送的数据都被分割成包(packet)的形式进行传送。在进行客户端程序开发的时候,出现“粘包”问题。“粘包”指的是发送方发送的若干个数据包到接收方时都粘在一起[6]。图3(a)~(d)分别展示PC接收到各种粘包的情况。

引起“粘包问题”的原因主要包括以下两个:1)发送端:TCP为了提高传输效率,如果发送方发送的数据包很小,TCP不会立即将该数据包发送出去,而是等收集到足够多的数据,将几个数据包合成一个包才发送出去;2)客户端:接收方用户进程没有及时处理接收到的数据,即下一包数据到达时前一包数据尚未被用户进程取走,则下一包数据则放在前一包数据之后。

图3网络接收到的K个数据包中各种“粘包”情况Fig.3 Network receives K packets in the various“stick pack”situation

为了解决“粘包”问题,Client和Server端约定好发送数据包的格式如图4所示。

图4网络发送的数据包格式Fig.4The format of the packet sended by the network

当PC端收到“粘包”时,首先经过预处理过程——解包,将粘在一起的包分成独立的数据包,并将每个数据包中的数据取出依次拷贝到pool中分配的缓冲区中。

预处理过程构造类PacketBuilder,该类的具体设计如下。

3 软件运行效果

网络无线侦察接收机软件系统可实时监测频率范围为频率范围20~3 000 MHz的信号,且对实时监测的信号进行分析和处理:主要包括电平、场强、频差、频偏、调制度、带宽等技术参数的测量。其中频率测量精度为1×10-7,频率分辨率为1 Hz。并且当系统处于扫描模式下,存储扫描速度≥700信道/秒,连续频率扫描速度>6 GHz/秒,可选步进可从125 Hz到100 kHz。该系统可智能地处理多个同时被调度的监测任务,实现多任务并发监测。该系统具有自学习能力,可在无人值守条件下完成智能化自动化监测任务。

系统的界面如图5所示,界面从上到下依次是标题栏、菜单栏、工具栏;界面的下方左边部分是信号处理参数配置面板,右边部分主要用来显示各种信号处理的结果,图5当前展示的就是功率谱估计结果显示窗,窗口显示的是信号的频谱图。目前,该系统可以正常接收硬件发送的信号,并从中提取出其技术参数如调制方式、调制度、频率、带宽等。

图5系统界面显示Fig.5Interface display of the software system

4 结束语

信号实时处理显示软件系统满足ITU建议的规范要求,兼容无线电监测网传输协议(RMTP),通过网络接收硬件采集的无线电信号,从而达到实时监测、测量和存储无线电信号的目的。该软件系统具有固定频率监测和扫描频率两种工作模式,实现了对无线电信号的频谱分析。通过该软件系统的实施,为进一步实现兼容无线电监测网传输(RMTP)协议的网络化智能无线频谱监测侦收系统以及产业化做好准备。整个软件系统的分析设计过程均采用面向对象方法实现,借助于模块设计和面对对象编程思想使类与类之间的内聚性增强,耦合性减弱,提高了系统的可重用性和扩展性[7]。

[1]朱庆厚.无线电监测和通信侦察[M].北京:人民邮电出版社,2005.

[2]周群艳,黄新财.无线电监测软件的设计与实现[J].微计算机信息,2006,22(1-1):92-94.ZHOU Qun-yan,HUANG Xin-cai.Design and implementation of wireless surveillance receiver software[J].Computer,2006,22(1-1):92-94.

[3]刘爽,史国友,张远强.基于TCP/IP协议和多线程的通信软件的设计与实现[J].计算机工程与设计,2010,31(7):1417-1420.LIU Shuang,SHI Guo-you,ZHANG Yuan-qiang.Design and implementation of communication software based on TCP/IP protocolandmultithreadingtechnology[J].Computer Engineering and Design,2010,31(7):1417-1420.

[4]Hock K,Csomor S,Smart J.Cross-Platform GUI programming with wxWidgets[M].UK:Prentice Hall PTR,2005,7.

[5]何子述,夏威,等.现代数字信号处理及其应用[M].北京:清华大学出版社,2009.

[6]Hu S,YAN Wei-yong.Stability robustness of networked control systems with respect to packet loss[J].Automatica,2007,43(7):1243-1248.

[7]Lippman S B,侯捷.C++对象模型[M].武汉:华中科技大学出版社,2002.

猜你喜欢

谱估计信号处理接收机
基于MATLAB的无线电信号功率谱仿真与分析
一种用于调幅接收机AGC的设计与实现
一种面向ADS-B的RNSS/RDSS双模接收机设计
《信号处理》征稿简则
《信号处理》第九届编委会
《信号处理》征稿简则
《信号处理》第九届编委会
数字接收机故障维修与维护
基于多接收机的圆周SAR欺骗干扰方法
高维随机信号THREE功率谱估计及其仿真