国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

網(wǎng)絡(luò)無(wú)線偵察接收機(jī)軟件系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)

2011-03-13 08:55:02何子述
電子設(shè)計(jì)工程 2011年2期
關(guān)鍵詞:譜估計(jì)信號(hào)處理接收機(jī)

夏 娟 , 夏 威 , 何子述

(電子科技大學(xué) 電 子工程學(xué)院, 四川成都611731)

為了從無(wú)線電信號(hào)中獲取對(duì)方的信息而對(duì)通信信號(hào)進(jìn)行搜索、截獲、測(cè)量、分析、識(shí)別、監(jiān)視以及對(duì)輻射源測(cè)向和定位,以獲取其技術(shù)參數(shù)、功能、類(lèi)型、位置和用途而構(gòu)成的系統(tǒng),稱(chēng)為無(wú)線偵察接收機(jī)系統(tǒng)[1]。其中計(jì)算機(jī)軟件系統(tǒng)是整個(gè)偵察接收機(jī)系統(tǒng)的重要組成部分,本系統(tǒng)中軟件和硬件之間的數(shù)據(jù)傳輸是依靠網(wǎng)絡(luò)進(jìn)行的。

本文在分析網(wǎng)絡(luò)無(wú)線偵察接收機(jī)軟件系統(tǒng)框架的基礎(chǔ)上,結(jié)合wxWidgets庫(kù)給出如何設(shè)計(jì)用戶界面、如何利用wxMathPlot對(duì)接收到的數(shù)據(jù)進(jìn)行畫(huà)圖、信號(hào)處理的基本方法,重點(diǎn)分析了如何解決網(wǎng)絡(luò)接收數(shù)據(jù)時(shí)可能出現(xiàn)的“粘包”問(wèn)題,最后給出了軟件運(yùn)行效果。

1 網(wǎng)絡(luò)無(wú)線偵察接收機(jī)軟件系統(tǒng)總體設(shè)計(jì)

網(wǎng)絡(luò)無(wú)線偵察接收機(jī)的總體設(shè)計(jì)如圖1所示。硬件系統(tǒng)采集到的數(shù)據(jù)通過(guò)網(wǎng)絡(luò)采用TCP/IP協(xié)議傳送給信號(hào)實(shí)時(shí)顯示系統(tǒng)。整個(gè)軟件系統(tǒng)主要由以下幾個(gè)模塊組成:網(wǎng)絡(luò)模塊、GUI模塊、信號(hào)處理模塊、畫(huà)圖模塊、存儲(chǔ)模塊[2]。其中網(wǎng)絡(luò)模塊主要負(fù)責(zé)接收硬件發(fā)送的數(shù)據(jù);GUI模塊則負(fù)責(zé)與用戶的交互;信號(hào)處理模塊則主要負(fù)責(zé)對(duì)采集到的信號(hào)進(jìn)行一定的處理,如功率譜估計(jì)、解調(diào)等;畫(huà)圖模塊則需要將網(wǎng)絡(luò)收到的數(shù)據(jù)實(shí)時(shí)顯示在用戶界面;存儲(chǔ)模塊則負(fù)責(zé)將收到的數(shù)據(jù)存儲(chǔ)在電腦磁盤(pán)[3]。其中GUI模塊是整個(gè)軟件系統(tǒng)的核心,其余各模塊之間的信息傳遞則是通過(guò)GUI模塊,GUI模塊相當(dāng)于一個(gè)信息中轉(zhuǎn)站。

圖1網(wǎng)絡(luò)無(wú)線偵察接收機(jī)軟件系統(tǒng)總體設(shè)計(jì)Fig.1Thedesignofnetworkwirelesssurveillancereceiversoftwaresystem

目前支持C++進(jìn)行GUI開(kāi)發(fā)的軟件包很多,主流的包括wxWidgets、MFC、QT等等。和其他GUI開(kāi)發(fā)庫(kù)相比,wxWidgets擁有豐富的并且開(kāi)源組件,可以吸引眾多人士對(duì)其進(jìn)行改進(jìn),對(duì)其不斷擴(kuò)充和發(fā)展;為其所支持的各種平臺(tái)提供幾乎一致的GUI應(yīng)用程序接口(API)。程序從一個(gè)平臺(tái)換到另一個(gè)運(yùn)行,只需要重新編譯,鏈接相應(yīng)的庫(kù)文件即可。它提供了一個(gè)與平臺(tái)無(wú)關(guān)的framework,所以程序設(shè)計(jì)時(shí)選用wxWidgets2.8.0庫(kù)進(jìn)行GUI開(kāi)發(fā),編譯工具使用的是codeblocks8.02。

2 關(guān)鍵模塊設(shè)計(jì)

2.1 GUI模塊的設(shè)計(jì)

Win32程序的main函數(shù)代表程序運(yùn)行起點(diǎn),對(duì)于wxWidgets程序,整個(gè)程序的執(zhí)行即主線程開(kāi)始啟動(dòng),是從建立一個(gè)wxApp類(lèi)的對(duì)象并調(diào)用其類(lèi)成員函數(shù)OnInit()函數(shù)開(kāi)始的[4]。OnInit()函數(shù)中需要完成的工作則是創(chuàng)建程序窗口的實(shí)例。程序中使用的頂層窗口是從wxFrame(一個(gè)可以容納其他窗口和控件的頂層窗口,通常擁有標(biāo)題欄和菜單欄)派生出來(lái)的。

//在OnInit函數(shù)中創(chuàng)建MainFrame的對(duì)象并顯示窗口

2.2 畫(huà)圖模塊的設(shè)計(jì)

信號(hào)處理的結(jié)果需要在界面上顯示出來(lái),如頻譜圖,星座圖等。

wxMathPlot是一個(gè)用來(lái)畫(huà)二維曲線的圖形庫(kù)。系統(tǒng)中主要使用該庫(kù)繪制一些分析曲線,向用戶展示分析結(jié)果(如頻譜圖)。wxMathPlot采用的也是類(lèi)繼承的方式。坐標(biāo)軸和曲線都是以Layer的方式疊加在畫(huà)圖窗上的。

2.3 信號(hào)處理模塊的設(shè)計(jì)

為了了解信號(hào)各頻率成分的構(gòu)成情況,對(duì)網(wǎng)絡(luò)收到的硬件采集的數(shù)據(jù)進(jìn)行功率譜估計(jì)[5]。估計(jì)方法包括經(jīng)典功率譜估計(jì)和現(xiàn)代功率譜估計(jì)方法。系統(tǒng)中使用的主要是經(jīng)典功率譜估計(jì),其中又包括周期圖法和BT法,下面簡(jiǎn)要介紹一下周期圖法計(jì)算功率譜的計(jì)算步驟:

1)計(jì)算信號(hào)的傅里葉變換

2)計(jì)算出信號(hào)的功率譜

其中步驟1)是指取觀測(cè)樣本的N個(gè)值對(duì)其進(jìn)行N點(diǎn)的傅里葉變換,得到的結(jié)果UN(ω),步驟2)中對(duì)UN(ω)模的平方是確定信號(hào)uN(ω)的能量譜,對(duì)能量譜除以持續(xù)時(shí)間N,其結(jié)果是對(duì)uN(n)的功率譜估計(jì)。

2.4 網(wǎng)絡(luò)模塊的設(shè)計(jì)

網(wǎng)絡(luò)模塊是基于TCP/IP協(xié)議采用C/S通信模型完成的。在C/S模型中,PC屬于客戶端(Client),而硬件屬于服務(wù)器端(Server)。由用戶在界面上設(shè)置連接硬件所需要的IP地址和端口號(hào),PC端主動(dòng)向硬件發(fā)起連接。連接建立以后,PC通過(guò)以太網(wǎng)接收硬件采集的數(shù)據(jù)。圖2展示了C/S通信模型的實(shí)現(xiàn)框架。

圖2 C/S通信模型實(shí)現(xiàn)框架Fig.2Implementation framework of C/S communication model

實(shí)際上,在網(wǎng)絡(luò)中傳送的數(shù)據(jù)都被分割成包(packet)的形式進(jìn)行傳送。在進(jìn)行客戶端程序開(kāi)發(fā)的時(shí)候,出現(xiàn)“粘包”問(wèn)題。“粘包”指的是發(fā)送方發(fā)送的若干個(gè)數(shù)據(jù)包到接收方時(shí)都粘在一起[6]。圖3(a)~(d)分別展示PC接收到各種粘包的情況。

引起“粘包問(wèn)題”的原因主要包括以下兩個(gè):1)發(fā)送端:TCP為了提高傳輸效率,如果發(fā)送方發(fā)送的數(shù)據(jù)包很小,TCP不會(huì)立即將該數(shù)據(jù)包發(fā)送出去,而是等收集到足夠多的數(shù)據(jù),將幾個(gè)數(shù)據(jù)包合成一個(gè)包才發(fā)送出去;2)客戶端:接收方用戶進(jìn)程沒(méi)有及時(shí)處理接收到的數(shù)據(jù),即下一包數(shù)據(jù)到達(dá)時(shí)前一包數(shù)據(jù)尚未被用戶進(jìn)程取走,則下一包數(shù)據(jù)則放在前一包數(shù)據(jù)之后。

圖3網(wǎng)絡(luò)接收到的K個(gè)數(shù)據(jù)包中各種“粘包”情況Fig.3 Network receives K packets in the various“stick pack”situation

為了解決“粘包”問(wèn)題,Client和Server端約定好發(fā)送數(shù)據(jù)包的格式如圖4所示。

圖4網(wǎng)絡(luò)發(fā)送的數(shù)據(jù)包格式Fig.4The format of the packet sended by the network

當(dāng)PC端收到“粘包”時(shí),首先經(jīng)過(guò)預(yù)處理過(guò)程——解包,將粘在一起的包分成獨(dú)立的數(shù)據(jù)包,并將每個(gè)數(shù)據(jù)包中的數(shù)據(jù)取出依次拷貝到pool中分配的緩沖區(qū)中。

預(yù)處理過(guò)程構(gòu)造類(lèi)PacketBuilder,該類(lèi)的具體設(shè)計(jì)如下。

3 軟件運(yùn)行效果

網(wǎng)絡(luò)無(wú)線偵察接收機(jī)軟件系統(tǒng)可實(shí)時(shí)監(jiān)測(cè)頻率范圍為頻率范圍20~3 000 MHz的信號(hào),且對(duì)實(shí)時(shí)監(jiān)測(cè)的信號(hào)進(jìn)行分析和處理:主要包括電平、場(chǎng)強(qiáng)、頻差、頻偏、調(diào)制度、帶寬等技術(shù)參數(shù)的測(cè)量。其中頻率測(cè)量精度為1×10-7,頻率分辨率為1 Hz。并且當(dāng)系統(tǒng)處于掃描模式下,存儲(chǔ)掃描速度≥700信道/秒,連續(xù)頻率掃描速度>6 GHz/秒,可選步進(jìn)可從125 Hz到100 kHz。該系統(tǒng)可智能地處理多個(gè)同時(shí)被調(diào)度的監(jiān)測(cè)任務(wù),實(shí)現(xiàn)多任務(wù)并發(fā)監(jiān)測(cè)。該系統(tǒng)具有自學(xué)習(xí)能力,可在無(wú)人值守條件下完成智能化自動(dòng)化監(jiān)測(cè)任務(wù)。

系統(tǒng)的界面如圖5所示,界面從上到下依次是標(biāo)題欄、菜單欄、工具欄;界面的下方左邊部分是信號(hào)處理參數(shù)配置面板,右邊部分主要用來(lái)顯示各種信號(hào)處理的結(jié)果,圖5當(dāng)前展示的就是功率譜估計(jì)結(jié)果顯示窗,窗口顯示的是信號(hào)的頻譜圖。目前,該系統(tǒng)可以正常接收硬件發(fā)送的信號(hào),并從中提取出其技術(shù)參數(shù)如調(diào)制方式、調(diào)制度、頻率、帶寬等。

圖5系統(tǒng)界面顯示Fig.5Interface display of the software system

4 結(jié)束語(yǔ)

信號(hào)實(shí)時(shí)處理顯示軟件系統(tǒng)滿足ITU建議的規(guī)范要求,兼容無(wú)線電監(jiān)測(cè)網(wǎng)傳輸協(xié)議(RMTP),通過(guò)網(wǎng)絡(luò)接收硬件采集的無(wú)線電信號(hào),從而達(dá)到實(shí)時(shí)監(jiān)測(cè)、測(cè)量和存儲(chǔ)無(wú)線電信號(hào)的目的。該軟件系統(tǒng)具有固定頻率監(jiān)測(cè)和掃描頻率兩種工作模式,實(shí)現(xiàn)了對(duì)無(wú)線電信號(hào)的頻譜分析。通過(guò)該軟件系統(tǒng)的實(shí)施,為進(jìn)一步實(shí)現(xiàn)兼容無(wú)線電監(jiān)測(cè)網(wǎng)傳輸(RMTP)協(xié)議的網(wǎng)絡(luò)化智能無(wú)線頻譜監(jiān)測(cè)偵收系統(tǒng)以及產(chǎn)業(yè)化做好準(zhǔn)備。整個(gè)軟件系統(tǒng)的分析設(shè)計(jì)過(guò)程均采用面向?qū)ο蠓椒▽?shí)現(xiàn),借助于模塊設(shè)計(jì)和面對(duì)對(duì)象編程思想使類(lèi)與類(lèi)之間的內(nèi)聚性增強(qiáng),耦合性減弱,提高了系統(tǒng)的可重用性和擴(kuò)展性[7]。

[1]朱慶厚.無(wú)線電監(jiān)測(cè)和通信偵察[M].北京:人民郵電出版社,2005.

[2]周群艷,黃新財(cái).無(wú)線電監(jiān)測(cè)軟件的設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(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]劉爽,史國(guó)友,張遠(yuǎn)強(qiáng).基于TCP/IP協(xié)議和多線程的通信軟件的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(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]何子述,夏威,等.現(xiàn)代數(shù)字信號(hào)處理及其應(yīng)用[M].北京:清華大學(xué)出版社,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++對(duì)象模型[M].武漢:華中科技大學(xué)出版社,2002.

猜你喜歡
譜估計(jì)信號(hào)處理接收機(jī)
一種用于調(diào)幅接收機(jī)AGC的設(shè)計(jì)與實(shí)現(xiàn)
一種面向ADS-B的RNSS/RDSS雙模接收機(jī)設(shè)計(jì)
電子制作(2018年19期)2018-11-14 02:36:40
《信號(hào)處理》征稿簡(jiǎn)則
《信號(hào)處理》第九屆編委會(huì)
《信號(hào)處理》征稿簡(jiǎn)則
《信號(hào)處理》第九屆編委會(huì)
基于MATLAB實(shí)現(xiàn)的AR模型功率譜估計(jì)
數(shù)字接收機(jī)故障維修與維護(hù)
電子制作(2016年1期)2016-11-07 08:42:41
基于多接收機(jī)的圓周SAR欺騙干擾方法
經(jīng)典功率譜估計(jì)方法的研究
东平县| 黄龙县| 龙陵县| 时尚| 朔州市| 镇坪县| 深圳市| 临西县| 嘉禾县| 德惠市| 渝北区| 托克托县| 京山县| 田林县| 白水县| 右玉县| 张家港市| 沾化县| 天等县| 栖霞市| 利川市| 含山县| 灵璧县| 朝阳县| 武城县| 武宁县| 合水县| 临清市| 南涧| 广水市| 东乡| 颍上县| 金昌市| 河津市| 和平县| 普安县| 托克托县| 弋阳县| 临沂市| 浦东新区| 铁力市|