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