■文/李 丹 陳太沁
無線廣播頻譜監(jiān)測與管理系統(tǒng)中的數據處理
■文/李 丹 陳太沁
本文主要介紹了頻譜監(jiān)測與管理系統(tǒng)中頻譜數據處理的解決方案及其基于LabVIEW的實現方法。關鍵詞:大數據;頻譜分析;LabVIEW;圖形化
近年來,隨著無線通信技術的快速發(fā)展, 電磁環(huán)境變得日益擁擠和復雜,開展對頻譜使用情況的有效監(jiān)測十分必要。無線廣播頻譜監(jiān)測與管理系統(tǒng)就是通過實現對中短波、調頻、電視全頻段的頻譜監(jiān)測,進而對整個頻譜使用情況有整體的把握。該系統(tǒng)由頻譜掃描、單頻測量和前臺分析三大部分組成,采用統(tǒng)一的軟件平臺,易于編程、控制和維護。本文提出頻譜監(jiān)測與管理系統(tǒng)中的頻譜數據處理的解決方案及其基于LabVIEW的實現方法。在對IQ文本寫入讀取、歷史數據回放、數據分析等功能進行實驗驗證后,結果表明,本文設計的系統(tǒng)實用可靠,較好地完成了設計目標。
無線電頻譜是一種非常寶貴且有限的自然資源,是屬于國家的重要戰(zhàn)略性資源。近年來,無線電頻譜需求不斷增加,頻率沖突越來越嚴峻,給頻譜資源的監(jiān)測和管理帶來了新的困難與挑戰(zhàn),對無線電頻譜的監(jiān)測與管理是有效使用無線電資源的前提,因此,如何開展對信道和頻段使用情況的有效監(jiān)測,記錄全頻段和全時段內所有信號的基礎數據,掌握用頻變化,評估信道占用度和利用率,把握頻譜的整體使用情況,提高頻譜感知與管理能力成為亟需解決的問題。
研發(fā)頻譜管理與監(jiān)測系統(tǒng)就是對全頻段(400kHz~1GHz)頻譜監(jiān)測與管理的探索。該系統(tǒng)實現對中短波、調頻和電視波段的全時段掃描、測量、存儲、顯示和分析,按照無人值班的形式進行設計和配置,監(jiān)測終端和前臺用戶可以遙控監(jiān)測,頻譜歷史數據和分析數據可通過圖形化進行集中顯示。
本系統(tǒng)分為三部分:頻譜掃描、單頻測量和數據分析。其中,頻譜掃描程序實現對全頻段頻譜進行實時掃描,單頻測量實現對單個頻率進行模式識別并實時測量各項指標參數,頻譜掃描和單頻測量都將采集到的數據加載到數據庫中,它們?yōu)閿祿治龀绦蛱峁祿С帧O到y(tǒng)架構如圖1所示。整個系統(tǒng)的軟件架構采用C/S架構,分為后臺數據采集存儲服務端和前臺顯示回放端。
圖1 無線廣播頻譜監(jiān)測與管理系統(tǒng)架構
2.1 無線廣播頻譜監(jiān)測與管理系統(tǒng)中的大數據
本項目數據庫采用ORACLE10g,并引入“大數據”概念,利用大數據管理進行高效的數據存儲和訪問。本項目大數據具有以下五大特性。
2.1.1 巨大的數據量(Volume)
本項目中的頻譜掃描模塊、單頻分析模塊都會在短時間內產生巨大的數據量。以本項目中單頻分析模塊對調幅信號進行分析的過程中產生的原始IQ數據量為例。單頻分析模塊對疑似調幅信號的掃描每次歷時0.2秒,產生3125組數據點,一個信號需要進行五十次掃描才能最終判定是否為廣播信號,因此每頻每次產生的原始IQ數據以文本文件存儲大小約為1.7MB,每次歷時10秒。假定本模塊有50%的時間進行中短波段作業(yè)(本模塊亦對調頻電視頻段進行掃描分析),滿負荷運行24,小時掃描分析4000個左右信號,將產生約合6.8GB的數據。
2.1.2 多結構化數據(Variety)
本項目需要存儲的數據類型多樣化。首先,我們會將大量的波形數據以CLOB(Character Large Object)類型存儲入Oracle數據庫;其次,對AM信號分析產生的龐大IQ原始數據,我們以文本形式存儲入本地磁盤;另外,我們還對判定為廣播電視信號的頻率進行音頻采集,并將其存入本地磁盤。
2.1.3 處理速度快(Velocity)
本項目的頻譜分析模塊需要從數據庫中提取海量頻譜數據,以便能夠及時有效地提供各項分析,快速直觀地讓使用者了解全頻段頻道使用情況。同時,歷時頻譜數據的回放也需要快速地對大文本和音頻文件進行讀取,以實現無縫查詢。2.1.4 價值密度低(Value)
本項目中,無論是對頻譜占用度的分析還是對單個頻率的指標分析,都需要大量相關數據作支撐,單一的數據記錄(如一個數據點)并不能夠獨立地形成概念。
2.1.5 足夠的精確性(Veracity)
本項目的頻譜數據分析模塊需要對大量數據進行查詢分析,并最終篩選出有用數據,以方便使用者直觀了解任意頻段頻譜的占用情況。這就要求我們在考慮I/O效率的同時,盡可能完整精確地對原始數據進行存儲。在最終的方案中,我們選擇將調幅波段的頻率原始數據全部存儲入庫,而對龐大的調頻電視數據,我們選擇對其采樣后進行存儲作業(yè)。
綜上所述,本項目實現了大量頻譜數據的存儲、訪問、查詢、統(tǒng)計、處理等功能,利用索引查詢、并行處理與訪問技術等實現了海量數據的性能調整與優(yōu)化,并且利用大數據超高速裝載來解決頻譜掃描模塊短時間大數據的入庫難題。
2.2 基于Labview和Oracle的大數據解決方案
2.2.1 CLOB類型錄入
CLOB(Character Large Object Block)是數據庫中的內置類型,它可以將字符對象存儲為數據庫表某一行中的一個列值。在本項目中,我們使用此類型來存儲頻譜掃描模塊產生的全頻段及自定義頻段的頻譜數組(即電平數組)。在Oracle數據庫中,當需要插入字節(jié)數超過4000的內容時,無法通過簡單的拼組sql語句來實現插入,即使是插入clob類型數據,一次性寫入的字節(jié)數上限為32767,否則會報錯。在本項目中,當我們將頻譜掃描模塊的分辨率提高時,由整個掃描頻段頻譜數組所組成的字段的字節(jié)數會輕易超過這個上限值。因此,我們?yōu)閿祿炀帉懥舜鎯^程,使用特定語句對表內空clob字段進行update操作,以實現插入字段功能,并且,當單次插入字節(jié)數大于32767時,將多余字節(jié)循環(huán)插入已插入字節(jié)的末尾,這樣,就解決了對擁有超長字節(jié)的字段的存儲入庫問題。
2.2.2 AM原始IQ數據文本讀寫
由于頻譜變化在一段時間內不會十分頻繁,故雖然執(zhí)行一次頻譜掃描動作產生的數據量龐大,但對頻譜數據的存儲頻率卻不需要很高,本項目中用戶可按照實際情況自行在1分鐘/次至30分鐘/次,幾種存儲模式中進行選擇。而在單頻分析模塊,我們需要將模塊每0.2秒解調出的數據全部入庫,數據庫就要在短時間內寫入大量超長字節(jié)字段(由原始IQ數組組成)。在程序試運行階段,我們發(fā)現在該模塊運行一段時間后,會出現待入庫數據滯留在程序內的情況,從而導致程序占用內存越來越大。
為了解決這個問題,我們改用以文本形式將中短波原始IQ數組存儲入本地磁盤,而調頻廣播和開路電視信號的原始IQ數據因異常龐大,我們選擇將由IQ信號解調出的波形數據按一定比例抽樣后存入Oracle服務器中。如此一來,提高了程序的運行效率,減輕了Oracle服務器的工作負擔。
2.2.3 基于Labview隊列的查詢程序優(yōu)化
Labview中的隊列是實現復雜程序設計模式的基礎。在歷史數據查詢模塊中我們利用隊列來實現FIFO(First Input First Output)數據結構,并配合采用生產者/消費者程序設計模式,對龐大數據的查詢、展示進行優(yōu)化。隊列具有下列三大作用:隊列可以去除耦合;隊列可以處理忙閑不均;隊列可以并行處理。
在歷史數據查詢模塊,我們將從數據庫中查詢到的數據入隊列(生產),當隊列中有數據時按照FIFO規(guī)則輸出數據(消費),并依據這些頻譜數據形成各類歷史圖表(折線圖、強度圖、瀑布圖等)和各項指標。利用隊列我們可以對具有龐大數據量的歷史數據進行流暢查詢和顯示,使得程序運行更加順暢,用戶使用體驗更出色。
無線廣播頻譜監(jiān)測與管理系統(tǒng)通過對大量實測數據的分析,能夠直觀地向用戶展示各項歷史數據、頻譜占用情況、非法電臺等大數據背后的信息,這些對頻譜資源的分析、合理利用正是我們搭建無線廣播頻譜監(jiān)測與管理系統(tǒng)的最終目標。而如何在龐大的數據中更高效地進行對數據的甄別、挖掘,從而向用戶提出有用、合理的頻譜資源問題的解決方案,是我們亟待解決的問題。
[1] 白云等.基于LabVIEW的數據采集與處理技術[M].西安:西安電子科技大學出版社,2009.
[2] 周鴻順.頻譜監(jiān)測手冊[M].北京:人民郵電出版社,2006.
(作者單位:國家新聞出版廣電總局五五三臺/國家新聞出版廣電總局海南臺)
TN934
A
1671-0134(2016)12-047-02
10.19483/j.cnki.11-4653/n.2016.12.016