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

?

面向頻譜數(shù)據(jù)庫的電磁頻譜檢測系統(tǒng)

2019-05-09 06:46郭霞張永輝陳真佳劉偉
現(xiàn)代電子技術(shù) 2019年8期
關(guān)鍵詞:服務(wù)器端上位頻譜

郭霞,張永輝,陳真佳,劉偉

(海南大學(xué) 信息科學(xué)技術(shù)學(xué)院,海南 海口 570228)

0 引言

當(dāng)前,無線通信業(yè)務(wù)的迅猛發(fā)展使得對頻譜資源的需求日益增加,但可用的頻譜資源卻越來越少。由此衍生的非法占用授權(quán)頻段的事件頻繁發(fā)生,已經(jīng)嚴(yán)重?fù)p害到授權(quán)用戶的正常通信?,F(xiàn)如今的頻譜檢測設(shè)備雖然可以實時檢測到某些頻段有異常信號,但往往受限于有限的存儲空間,不能將所有頻譜數(shù)據(jù)實時保存下來,用于后續(xù)的數(shù)據(jù)分析和處理。

文獻(xiàn)[1-4]對多種頻譜檢測的算法進(jìn)行了研究,實現(xiàn)了對無線電信號的實時檢測,但是都未對頻譜數(shù)據(jù)進(jìn)行有效的存儲與管理。能量檢測和循環(huán)平穩(wěn)特征檢測是目前最常用的有效頻譜檢測技術(shù)。文獻(xiàn)[5]對能量檢測和循環(huán)平穩(wěn)特征檢測兩種方法進(jìn)行了性能比較,循環(huán)平穩(wěn)特征檢測雖然檢測準(zhǔn)確性高但存在著計算復(fù)雜度大、檢測時間長的問題,不適用于長期的實時檢測;能量檢測雖然受噪聲影響較大,但是實現(xiàn)簡單、計算復(fù)雜度低、速度較快,被廣泛應(yīng)用于認(rèn)知無線電網(wǎng)絡(luò)中。文獻(xiàn)[6]分析了無線電管理的現(xiàn)狀和存在問題,闡述了大數(shù)據(jù)在無線電頻譜資源管理中的應(yīng)用,但是僅對無線電頻譜大數(shù)據(jù)應(yīng)用的關(guān)鍵技術(shù)進(jìn)行了理論分析,并未具體實現(xiàn)。文獻(xiàn)[7]探討了如何實現(xiàn)對頻譜資源的直觀展示和深入探索,并提出如何在龐大的數(shù)據(jù)庫中更高效地甄別和挖掘頻譜數(shù)據(jù)有效信息這一問題。

基于上述問題,提出一種電磁信號檢測系統(tǒng),建立多個節(jié)點進(jìn)行頻譜檢測,將每個節(jié)點的數(shù)據(jù)匯總分析,實現(xiàn)對無線電頻譜資源的性能分析,挖掘有價值頻譜數(shù)據(jù)信息,實現(xiàn)頻譜可視化[8],從而指導(dǎo)認(rèn)知用戶更加有效的利用頻譜資源?;陂L期的實時檢測這一需求,該系統(tǒng)選用能量檢測方法[9]。通過軟件無線電對頻譜資源的數(shù)據(jù)進(jìn)行采集,實現(xiàn)對無線電信號的實時檢測;并將實時的頻譜數(shù)據(jù)存儲在數(shù)據(jù)庫中,用戶根據(jù)檢測需求通過上位機(jī)來發(fā)送頻譜檢測指令,同時完成對數(shù)據(jù)的分析處理。

1 系統(tǒng)概述

系統(tǒng)實現(xiàn)了實時的頻譜檢測、數(shù)據(jù)存儲、數(shù)據(jù)分析處理等多種功能,用戶可以通過上位機(jī)向主控設(shè)備發(fā)送指令,主控設(shè)備解析指令后,按照上位機(jī)的要求完成對頻譜數(shù)據(jù)庫的操作以及對頻譜數(shù)據(jù)的分析和處理,并將結(jié)果反饋給上位機(jī)。

1.1 系統(tǒng)架構(gòu)

系統(tǒng)由信號采集模塊、主控模塊、數(shù)據(jù)庫、上位機(jī)四部分組成,選用Linux平臺作為主控模塊和服務(wù)端,軟件無線電作為射頻模塊,Android平臺終端如手機(jī)、平板作為客戶端,并在Linux平臺上搭建頻譜數(shù)據(jù)庫,用于數(shù)據(jù)的存儲,主控模塊和上位機(jī)通過套接字建立通信,主控模塊通過USB驅(qū)動射頻模塊??傮w設(shè)計框圖如圖1所示。

圖1 總體設(shè)計框圖Fig.1 Diagram of overall design

1.2 系統(tǒng)優(yōu)勢

本系統(tǒng)的整體架構(gòu)以及各個模塊設(shè)計,對比現(xiàn)有的頻譜檢測系統(tǒng),具有下列幾點優(yōu)勢:

1)現(xiàn)階段使用的頻譜檢測設(shè)備價格較高,體積較大,本系統(tǒng)使用了靈活性強(qiáng)、開源程度高、性價比高的軟件無線電作為通信系統(tǒng)的信號采集模塊,頻段、帶寬、調(diào)制方式等參數(shù)可調(diào),更便于應(yīng)用拓展。

2)建立頻譜數(shù)據(jù)庫,可以存儲大量歷史數(shù)據(jù),便于頻譜數(shù)據(jù)有效信息的挖掘,實現(xiàn)對無線電信號的特性分析。

3)選用Android控制端作為上位機(jī)進(jìn)行頻譜數(shù)據(jù)的檢測和處理,方便快捷。

4)采用TCP/IP協(xié)議作為主控模塊和控制端的通信協(xié)議,使得主控模塊控制腳本和上位機(jī)應(yīng)用得以并行開發(fā)。使用軟件工程思想提高主控模塊和控制端的獨立性,使用TCP/IP協(xié)議降低設(shè)備之間的通信壁壘。上位機(jī)不直接接觸硬件結(jié)構(gòu),移植性較強(qiáng);設(shè)備不區(qū)分網(wǎng)絡(luò)硬件,擁有極高的可靠性,可以為用戶提供可靠的服務(wù)。

2 系統(tǒng)設(shè)計

2.1 信號采集模塊

系統(tǒng)的信號采集模塊選用的是Software Defined Radio(SDR),SDR主要由天線、射頻端、高速模/數(shù)和數(shù)/模轉(zhuǎn)換器,以及高速數(shù)字信號處理器(DSP或FPGA)等組成[10]。軟件無線電的軟、硬件開源性較高,有很強(qiáng)的靈活性,便于用戶自行開發(fā)。軟件無線電結(jié)構(gòu)示意圖如圖2所示[11]。

2.2 主控模塊

選用搭建Linux系統(tǒng)的設(shè)備作為主控模塊,主控模塊通過USB串口與信號采集模塊連接向信號采集模塊發(fā)送控制指令。主控模塊具有Ad Hoc功能,Android控制端可以通過連接主控設(shè)備的熱點接入系統(tǒng)。主控模塊作為服務(wù)端,上位機(jī)作為客戶端通過TCP/IP協(xié)議訪問主控模塊向主控模塊發(fā)送控制指令。主控模塊接收到指令后,通過USB驅(qū)動軟件無線電模塊進(jìn)行頻譜檢測,將獲取的頻譜數(shù)據(jù)存儲到本地數(shù)據(jù)庫,并將數(shù)據(jù)反饋給上位機(jī)處理。

為了實現(xiàn)多任務(wù)信號采集,主控模塊提供多進(jìn)程驅(qū)動多個SDR進(jìn)行頻譜檢測,檢測的同時將頻譜數(shù)據(jù)存儲到數(shù)據(jù)庫,保證頻譜檢測數(shù)據(jù)訪問的實時性和頻譜數(shù)據(jù)庫的完整性。檢測數(shù)據(jù)以SDR的序列號作為唯一識別碼,用戶可以根據(jù)相應(yīng)的識別碼訪問SDR頻譜數(shù)據(jù)。主控模塊的控制流程圖如圖3所示。多進(jìn)程同時訪問同一檢測腳本會出現(xiàn)函數(shù)重入問題,導(dǎo)致數(shù)據(jù)不同步或者運行程序出錯。為了避免這一現(xiàn)象,在進(jìn)程間加入了信號量實現(xiàn)操作鎖,保證同一時刻只有一個進(jìn)程占用程序。當(dāng)信號量值大于0時,則進(jìn)程可以調(diào)用頻譜檢測腳本,否則進(jìn)程進(jìn)入阻塞狀態(tài)。系統(tǒng)中使用信號量實現(xiàn)進(jìn)程間通信的流程圖如圖4所示。

圖3 主控模塊控制流程圖Fig.3 Control flow of master control module

圖4 信號量實現(xiàn)進(jìn)程間通信流程圖Fig.4 Flow chart of realizing inter-process communication by means of signal amount

2.3 頻譜數(shù)據(jù)庫

2.3.1 數(shù)據(jù)庫

數(shù)據(jù)庫是存儲在計算機(jī)內(nèi)、有組織的、可為各種用戶所共享的大量數(shù)據(jù)的集合。頻譜數(shù)據(jù)包含豐富的數(shù)字特征,在完成基礎(chǔ)的頻譜檢測功能后,應(yīng)該將收集到的頻譜數(shù)據(jù)保存起來,用于后續(xù)的數(shù)據(jù)分析和處理。頻譜數(shù)據(jù)庫包含各種常用信號樣本,如模擬調(diào)制、數(shù)字調(diào)制,以及常用的無線電信號的時頻特征和相關(guān)信息[12];可根據(jù)多種條件及其組合對信號進(jìn)行篩選和搜索,支持模糊查找,快速匹配信號特征;數(shù)據(jù)庫易于擴(kuò)展,用戶可方便地添加新的樣本信號和相關(guān)信息,可將歷次記錄到的干擾信號和排查方法存檔,便于對照參考。

為了使數(shù)據(jù)更好的保存,在主控設(shè)備上搭建了MySQL數(shù)據(jù)庫。MySQL數(shù)據(jù)庫使用C/C++語言編寫,源代碼具有很好的移植性;支持多線程,充分利用CPU資源;而且它為多種編程語言提供了API,方便用戶編寫自己的程序。MySQL提供了管理和優(yōu)化數(shù)據(jù)庫操作的工具,可以處理擁有上千萬條記錄的數(shù)據(jù)庫。本系統(tǒng)設(shè)計的頻譜數(shù)據(jù)庫選用C語言作為應(yīng)用程序接口,移植性較好。

2.3.2 頻譜數(shù)據(jù)庫設(shè)計

系統(tǒng)中頻譜數(shù)據(jù)庫的設(shè)計至關(guān)重要,設(shè)計的好壞關(guān)系到后期數(shù)據(jù)查找和數(shù)據(jù)處理的難易程度。根據(jù)頻譜數(shù)據(jù)的特征和后期處理的需求,將頻譜數(shù)據(jù)庫分為3個功能模塊:數(shù)據(jù)管理、數(shù)據(jù)篩選和數(shù)據(jù)處理。頻譜數(shù)據(jù)庫整體設(shè)計示意圖如圖5所示。為了方便后期數(shù)據(jù)的篩選和處理,數(shù)據(jù)庫中創(chuàng)建兩種類型的表:存儲頻譜檢測任務(wù)的任務(wù)表和存儲頻譜檢測數(shù)據(jù)的數(shù)據(jù)表。任務(wù)表存儲每次上位機(jī)發(fā)送的頻譜檢測指令,包括時間、起始頻率、采樣間隔、終止頻率,以及指令所對應(yīng)的SDR的序列號。系統(tǒng)斷電后,且上位機(jī)沒有發(fā)送指令時,系統(tǒng)可以從數(shù)據(jù)庫的任務(wù)表中讀取上一次頻譜檢測的指令繼續(xù)工作。

圖5 頻譜數(shù)據(jù)庫整體設(shè)計示意圖Fig.5 Schematic diagram for overall design of frequency spectrum database

為了確保頻譜數(shù)據(jù)的同步性,每個數(shù)據(jù)表均由時間、溫度、濕度、頻點等屬性描述,數(shù)據(jù)庫中定義表的基本語句為:

CREATE TABLE IF NOT EXISTS Spectrum(time varchar(25)primary key,temp varchar(25),humidity varchar(25),freq_point decimal(6,3));

系統(tǒng)測試時,選用的頻譜檢測的頻段為10 MHz~1 GHz,采樣間隔為100 kHz,數(shù)據(jù)表中存儲的是每個頻點的能量值。通過計算可知,大概有10 000個頻點,即需要建立的表格應(yīng)有10 000列,但MySQL數(shù)據(jù)庫對表格的列數(shù)有限制,需要對表格進(jìn)行縱向擴(kuò)展。系統(tǒng)根據(jù)上位機(jī)發(fā)送的頻譜檢測命令的起始頻率、終止頻率以及采樣間隔,計算頻譜檢測頻點的個數(shù)和所需要創(chuàng)建的數(shù)據(jù)表的個數(shù)。為了簡化計算,設(shè)定每個表格中存放1 000個頻點,每個表格中均有時間、溫度、濕度三個屬性,便于后期數(shù)據(jù)的篩選和處理。

軟件無線電進(jìn)行頻譜檢測時,會將數(shù)據(jù)寫入到名為“scan_freq”的文件中,需要在文件中逐行讀取數(shù)據(jù),將獲得的每幀頻譜數(shù)據(jù)添加到數(shù)據(jù)庫中。數(shù)據(jù)庫向表中添加數(shù)據(jù)的基本語句為:

INSERT INTO Spectrum(time ,temp,humidity,power)VALUES(‘2017’,‘NULL’,‘NULL’,‘-120’);

為了更好地觀察數(shù)據(jù)庫中的數(shù)據(jù),安裝數(shù)據(jù)庫可視化工具M(jìn)ySQL Workbench,任務(wù)表和數(shù)據(jù)表的格式見圖6。

圖6 數(shù)據(jù)庫創(chuàng)建表格式Fig.6 Formats of tables created in database

2.4 上位機(jī)設(shè)計

系統(tǒng)選用Android設(shè)備作為上位機(jī),采用Client/Server(C/S)架構(gòu),實現(xiàn)和主控模塊之間的交互。C/S架構(gòu),即客戶端和服務(wù)端的通信連接模式,充分利用客戶端和服務(wù)器端的環(huán)境,在客戶端進(jìn)行具體的運算和數(shù)據(jù)的處理,服務(wù)器端任務(wù)較輕,為客戶端提供篩選數(shù)據(jù)的接口,將任務(wù)合理分配到Client端和Server端,降低了系統(tǒng)的通信開銷。套接字(Socket)是一個通用的網(wǎng)絡(luò)編程接口,使用套接字通信協(xié)議進(jìn)行通信的設(shè)備,均被劃分為服務(wù)器端和客戶端。本系統(tǒng)中主控模塊作為服務(wù)器端首先通過組播發(fā)布自己的IP地址,本地開啟端口進(jìn)行監(jiān)聽,此時該監(jiān)聽進(jìn)程從運行狀態(tài)轉(zhuǎn)換成阻塞狀態(tài),實時等待客戶端發(fā)送連接請求。上位機(jī)作為客戶端,向服務(wù)器端發(fā)出創(chuàng)建Socket連接請求。服務(wù)器端接收到請求,響應(yīng)狀態(tài)從阻塞狀態(tài)轉(zhuǎn)換成運行狀態(tài)。服務(wù)器端反饋Socket描述,客戶端接收到描述后發(fā)送確認(rèn)信息,服務(wù)器端收到確認(rèn)信息則標(biāo)志創(chuàng)建連接成功[13]。具體流程如圖7所示。

圖7 Socket通信流程圖Fig.7 Flow chart of Socket communication

主控模塊和Android控制端采用套接字進(jìn)行通信,Android控制端向主控模塊詢問SDR的序列號信息,用戶可以根據(jù)主控模塊返回的SDR信息,向?qū)?yīng)的SDR發(fā)送相應(yīng)的頻譜檢測指令,或者查看相對應(yīng)的SDR返回的頻譜數(shù)據(jù)制成的折線圖。同時用戶可以在上位機(jī)查看頻譜數(shù)據(jù)庫中存放的數(shù)據(jù)表格的目錄,篩選所需的數(shù)據(jù)進(jìn)行分析處理。Android控制端界面如圖8所示。

圖8 Android控制端界面Fig.8 Interface of Android control terminal

3 系統(tǒng)測試

頻譜數(shù)據(jù)庫中包含大量的歷史數(shù)據(jù),可以利用這些數(shù)據(jù)回放之前任一時刻某一頻段的能量瀑布圖,分析電磁信號的時頻特征,計算頻道占用度和頻段占用度。為了驗證本系統(tǒng)采集的頻譜數(shù)據(jù)的準(zhǔn)確性,在數(shù)據(jù)庫中利用select語句選取某一時刻某一頻段的數(shù)據(jù),采用Matlab工具進(jìn)行數(shù)據(jù)仿真,將仿真結(jié)果和頻譜儀的數(shù)據(jù)進(jìn)行對比。圖9為Matlab仿真得到的700~780 MHz的瀑布圖,圖10為專業(yè)頻譜儀檢測到的同頻段的瀑布圖。

圖9 系統(tǒng)仿真獲得的瀑布圖Fig.9 Waterfall map obtained by system simulation

圖10 專業(yè)頻譜儀檢測的瀑布圖Fig.10 Waterfall map of detection by professional frequency spectrum analyzer

由于SDR和專業(yè)頻譜儀過濾噪聲的能力不同,SDR對噪聲的閾值較低,可以檢測到更多的微弱信號,因此兩幅瀑布圖稍有差異。但是對比信號強(qiáng)度較強(qiáng)的信號,本系統(tǒng)和專業(yè)頻譜設(shè)備檢測到的無線電信號基本一致。

驗證了數(shù)據(jù)的準(zhǔn)確性后,可以利用頻譜數(shù)據(jù)庫中的數(shù)據(jù)計算某一頻點的頻道占用度。信號強(qiáng)度大于H時(H為用戶自己設(shè)定的頻點被占用的閾值),認(rèn)為該時刻該頻點被占用。計算頻道占用度的核心代碼如下:

測試時,設(shè)置閾值H=-100 dB,得到時間2017年11月21日12:25—17:20,頻點763.5 MHz的頻道占用度為10.36%。運行結(jié)果如圖11所示。

圖11 運行結(jié)果Fig.11 Running result

4 結(jié)語

本文提出的基于頻譜數(shù)據(jù)庫的電磁信號檢測系統(tǒng),選用開源程度高、靈活性強(qiáng)的軟件無線電作為信號采集模塊,同時采用C/S架構(gòu)實現(xiàn)客戶端和服務(wù)器端的交互。不但實現(xiàn)了對無線電信號的實時檢測,而且能將頻譜數(shù)據(jù)實時保存到數(shù)據(jù)庫中,便于后續(xù)實現(xiàn)對無線電信號的特性分析和有效信息的挖掘。但由于選用了實現(xiàn)相對簡單的能量檢測算法,使得在噪聲復(fù)雜的環(huán)境下,可能會造成數(shù)據(jù)誤差過大。今后將對這一算法加以優(yōu)化,確保采集的頻譜數(shù)據(jù)更為準(zhǔn)確。后期將加強(qiáng)對無線電信號的時頻特性分析,以更好地挖掘頻譜數(shù)據(jù)中的有用信息,實現(xiàn)對有限頻譜資源更加高效合理的利用。

猜你喜歡
服務(wù)器端上位頻譜
一種用于深空探測的Chirp變換頻譜分析儀設(shè)計與實現(xiàn)
Linux環(huán)境下基于Socket的數(shù)據(jù)傳輸軟件設(shè)計
一種基于稀疏度估計的自適應(yīng)壓縮頻譜感知算法
特斯拉 風(fēng)云之老阿姨上位
淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
基于Qt的安全即時通訊軟件服務(wù)器端設(shè)計
“三扶”齊上位 決戰(zhàn)必打贏
基于ZigBee和VC上位機(jī)的教室智能監(jiān)測管理系統(tǒng)
以新思路促推現(xiàn)代農(nóng)業(yè)上位
一種基于功率限制下的認(rèn)知無線電的頻譜感知模型
乃东县| 瑞安市| 平果县| 武宣县| 朝阳县| 安顺市| 福州市| 积石山| 抚顺市| 文山县| 秦皇岛市| 株洲市| 民乐县| 万全县| 满城县| 怀仁县| 牡丹江市| 项城市| 邛崃市| 瑞丽市| 澄城县| 孟津县| 巴林左旗| 昌江| 阳西县| 湘潭县| 略阳县| 泉州市| 灌南县| 马山县| 万盛区| 黔西| 山东| 巴林右旗| 鄱阳县| 泌阳县| 东兴市| 深圳市| 义乌市| 台南市| 昌邑市|