文獻標識碼: A
文章編號: 0258-7998(2014)09-0068-04
無線電頻譜管理是一個國家的頻譜主管部門根據(jù)法律法規(guī)的授權,,按照國際電信聯(lián)盟(ITU)的頻譜劃分原則,制定本國頻譜劃分,、使用和分配政策,。在頻譜的劃分和使用中,如何科學有效地利用無線電頻譜資源,,滿足經(jīng)濟和社會發(fā)展的需要是一個重要課題,。
傳統(tǒng)的無線電頻譜監(jiān)測設備可以包括短波和超短波頻段,有龐大的監(jiān)測,、測向天線陣,,監(jiān)測覆蓋范圍廣,這樣的大型監(jiān)測站在傳統(tǒng)的無線電頻譜管理模式中發(fā)揮了重大作用,。但隨著經(jīng)濟社會的發(fā)展和無線電技術的進步,,頻譜的需求程度日益增加,具體表現(xiàn)在以下幾個方面:工作頻段越來越高,,單位面積內(nèi)頻譜使用密度越來越高,,單個信道占用的頻譜帶寬越來越寬[1]。這些需求對無線電頻譜監(jiān)測提出了新的挑戰(zhàn),,參考文獻[2]中針對這些問題,,提出了一種網(wǎng)絡化小型頻譜監(jiān)測系統(tǒng)的概念。這種網(wǎng)絡化的小型站架設環(huán)境寬松,,架設方便,,還可以大大節(jié)約單站的建設成本,。但監(jiān)測網(wǎng)絡化分布會增加小型監(jiān)測站的數(shù)量,從而增加了成本,。該文獻還指出,,小型監(jiān)測站需要采用雙信道接收,即一個站點需要配置兩個以上獨立接收機,,一個完成常規(guī)任務,,一個完成特別任務。這樣架設雖然帶來了不少方便,,但無疑增加了監(jiān)測站的建設成本,。此外,在頻譜監(jiān)測中,,有的任務并不需要一直執(zhí)行,,尤其是特別任務,接收機便出現(xiàn)閑置的情況,,造成資源浪費,。
本文基于這一應用背景,提出了一種能夠支持多客戶端同時進行頻譜監(jiān)測的流水并行處理架構,。該架構可以滿足多個頻譜監(jiān)測任務的同時執(zhí)行,,有效提高了接收機的利用效率,增強了接收機的靈活性,,還減少了頻譜監(jiān)測任務中接收機的使用量,,降低了頻譜監(jiān)測的成本。
1 系統(tǒng)結構
本文提出的頻譜監(jiān)測接收機系統(tǒng)按照圖1所示的方式工作,。該頻譜監(jiān)測系統(tǒng)允許多個客戶端同時連接到接收機并下達各自的頻譜監(jiān)測任務,,接收機接收到不同客戶端的任務之后,對任務進行解析,,添加到系統(tǒng)任務列表中進行合理調(diào)度,,以便能夠?qū)崟r完成各個客戶端的監(jiān)測任務,最后通過網(wǎng)絡將頻譜監(jiān)測結果回傳到相應的客戶端,。
為了實現(xiàn)這樣的功能,,多客戶端頻譜監(jiān)測系統(tǒng)采用TI公司的雙核數(shù)字信號處理器OMAP-L138。OMAP-L138為一款高性能,、低功耗雙核處理器,,集成了ARM926EJ-STM處理器和TMS320C6748 DSP處理器[3],保證了強大的運算能力以及控制能力,。此外,,在頻譜采集部分采用了Altera公司的EP2S180F1020I4高速FPGA[4],通過FPGA完成了數(shù)據(jù)的高速采集與相關預處理,。系統(tǒng)實現(xiàn)框圖如圖2所示,。
在該結構中,,電磁波通過天線進入射頻前端,射頻前端將信號變頻到75 MHz中頻,,通過ADC以60 MS/s的采樣率帶通采樣后送入FPGA,。在FPGA中進行相應預處理后便將數(shù)據(jù)回傳到OMAP-L138的DSP端處理,處理完成后再通過ARM端將監(jiān)測結果送回至對應客戶端,。
在系統(tǒng)實現(xiàn)中,,引入了多核、多線程技術,,在這一基礎上,保證了本系統(tǒng)在工作中不僅能夠支持一個客戶端完成以上頻譜監(jiān)測流程,,在多個客戶端同時連接時也能夠保證各個客戶端任務的并行處理,。
各客戶端連接到系統(tǒng)之后,系統(tǒng)將會為其分配相應的任務標識,,以便后續(xù)信號處理及頻譜數(shù)據(jù)回傳工作的完成,。完成用戶識別之后,系統(tǒng)根據(jù)不同用戶信息來合理地解析其頻譜任務,,供后端流水并行處理使用,,處理完成后回傳到對應客戶端。整體流程如圖3所示,。
2 系統(tǒng)設計
在本系統(tǒng)的設計中,,采用TI雙核處理器OMAP-L138。此款處理器包含ARM與DSP,,為使系統(tǒng)能夠更好地實現(xiàn)多客戶端頻譜監(jiān)測的功能,,ARM采用了Linux操作系統(tǒng)[5],Linux操作系統(tǒng)為開源多線程操作系統(tǒng),,具有強大的網(wǎng)絡支持,,能夠很好地處理多個客戶端的網(wǎng)絡連接,此外TI提供了相關的底層支持,,開發(fā)效率高,;DSP采用TI公司的DSP/BIOS,DSP/BIOS是一個尺寸可伸縮的實時內(nèi)核,,方便實現(xiàn)線程間調(diào)度與同步工作[6],。多核、多線程技術的引入為本系統(tǒng)多客戶端頻譜監(jiān)測的并行處理實現(xiàn)提供了強有力的保證,。
2.1 多客戶端并行處理架構
在本系統(tǒng)中,,結合多核架構以及多線程技術,提出了多客戶端頻譜監(jiān)測的流水并行處理架構,,如圖4所示,。在此流水并行處理架構中,,系統(tǒng)在接收解析客戶端n的頻譜監(jiān)測任務的同時,處理部分正在處理上一客戶端n-1的頻譜監(jiān)測任務,,并將客戶端n-2的頻譜數(shù)據(jù)回傳,。
執(zhí)行中,ARM端完成客戶端的連接以及為其分配標識,,并將其添加到客戶隊列,,根據(jù)任務隊列中情況進行任務解析,將頻譜監(jiān)測任務指令及相關參數(shù)(如中心頻率,、帶寬,、頻率分辨率等)回傳至DSP。DSP端接收到頻譜監(jiān)測指令之后,,進行任務的分發(fā)以及相關的配置工作,。由于不同客戶端的頻譜監(jiān)測任務不盡相同,在系統(tǒng)實現(xiàn)中還需要不斷更改射頻前端調(diào)諧頻率,,以保證能夠正確地完成對應客戶的頻譜監(jiān)測任務,。射頻前端調(diào)諧頻率等的配置工作交由FPGA來完成,配置完成之后利用FPGA將數(shù)據(jù)采集并進行相應的預處理后回傳到DSP,。DSP完成相應的處理工作之后交由ARM,,ARM端將頻譜監(jiān)測結果回傳至客戶端,從而保證了頻譜監(jiān)測的實時進行,。利用這種架構,,ARM、DSP,、FPGA之間并行運行,,減少了不必要的等待,大大增強了各處理單元的利用率,。
2.2 ARM端程序設計
2.2.1 Linux下的多線程編程
線程就是程序中的單個順序控制流,,利用多線程技術,可以將一個程序的任務分為多個線程,,每個線程執(zhí)行程序的一個部分,,所有線程都是并發(fā)執(zhí)行,這樣就可以實現(xiàn)并行計算,,高效利用處理器,。此外,通過為每種事務分配單獨的處理線程,,能夠有效簡化程序設計,,使程序更加容易理解和修改[7-8]。
在本系統(tǒng)的ARM端,,分為網(wǎng)絡服務線程與雙核通信線程兩個線程,,如圖5所示,。網(wǎng)絡服務線程負責接收多個客戶端的連接,并為其分配相應標識,,添加到客戶隊列,,同時在收到頻譜監(jiān)測結果之后,回傳結果到相應的客戶端,;雙核通信線程負責與DSP端的交互工作,,主要完成發(fā)送頻譜監(jiān)測任務、參數(shù)到DSP,,以及接收DSP回傳的頻譜監(jiān)測結果,。
2.2.2 Linux并發(fā)服務器系統(tǒng)設計
在網(wǎng)絡服務線程中,由于存在多個客戶端同時連接的情況,,因此接收機必須要具備并發(fā)處理多個客戶端連接的能力,。圖6為TCP協(xié)議并發(fā)服務器模型示意圖,ARM端主程序在建立套接字描述符socket,、綁定bind之后開始監(jiān)聽任務,調(diào)用accept函數(shù)等待客戶端的連接請求,。當接收到客戶端的請求時,,服務器便為該客戶端分配相應標識,加入客戶列表,,并為其創(chuàng)建一個新的線程,,用于處理客戶端發(fā)送的數(shù)據(jù)信息[5]。
從該模型中可以看出,,在接收到客戶端連接之前并不需要預先創(chuàng)建處理客戶端請求的線程,,直到有客戶端連接時才創(chuàng)建,且數(shù)量是可以變動的,,比較靈活,、高效。
利用這種并發(fā)服務器模型,,可以大大提高服務器對客戶端的處理能力,,降低服務器的響應時間。同時利用這個模型,,可以在接收多個客戶端發(fā)送來的頻譜監(jiān)測請求任務的同時回傳監(jiān)測的結果,,提高了頻譜監(jiān)測的執(zhí)行效率。
2.3 DSP端程序設計
DSP端調(diào)度使用輪詢調(diào)度的方式來實現(xiàn),,當收到ARM端傳遞的頻譜監(jiān)測任務后,,將任務加入到DSP端的任務隊列中,當一個任務調(diào)用完成后切換到下一個任務,。采用這種方式,,既能夠很好地調(diào)度任務,,同時又能夠保證任務的實時性。DSP端工作流程如圖7所示,。
DSP端解析客戶端的任務之后,,將射頻前端的配置信息(如中心頻率、帶寬,、增益控制等信息)發(fā)送到FPGA,,交由FPGA來完成射頻前端的配置以及相關預處理工作。在FPGA完成相應配置的同時,,DSP不需要等待配置完成再進行處理,,而是將上一任務的緩存數(shù)據(jù)取出進行相關處理即可。與此同時,,ARM端直接取出DSP上一次處理完成的頻譜監(jiān)測結果,,將其回傳到對應的客戶端進行并行處理,各個客戶端的任務之間互不影響,。
多個運算單元的合理調(diào)度使頻譜監(jiān)測工作能夠高效地并發(fā)完成,。以這種方式循環(huán)執(zhí)行多個客戶端的頻譜監(jiān)測請求,減少了處理過程中存在的不必要的等待時間,,運行效率更高,。
3 測試
為了測試本文提出的多客戶端頻譜監(jiān)測系統(tǒng)的可實現(xiàn)性以及優(yōu)越的頻譜監(jiān)測性能,本文利用了兩臺PC作為客戶端,,同時為了觀測方便,,輸入信號使用信號源輸入單頻信號。
輸入信號:100 MHz,,-56.98 dBm,,單頻。
客戶端設置:左側PC客戶端設置的中心頻率為105 MHz,,帶寬為20 MHz,;右側PC客戶端中心頻率正好為100 MHz,帶寬為20 MHz,。
將兩個客戶端同時連接到接收機,,開始執(zhí)行頻譜監(jiān)測任務,獲得如圖8所示監(jiān)測結果,。
從結果中可以看出,,左側客戶端監(jiān)測到的頻譜結果在四分之一頻譜圖的位置,右側客戶端觀測到的頻譜正好在頻譜圖的正中位置,。從配置可以知道,,左側PC頻譜觀測范圍為95 MHz~115 MHz,四分之一頻譜圖的位置即剛好為100 MHz;而右側PC頻譜觀測范圍為90 MHz~110 MHz,,正中位置正好也為100 MHz,,頻譜監(jiān)測結果是正確的。對比可以發(fā)現(xiàn),,兩者的頻譜監(jiān)測任務得到了很好的并發(fā)執(zhí)行,,且兩者之間頻譜監(jiān)測結果互不干擾。
本文在多核處理器架構和多線程的基礎上,,提出了多客戶端頻譜監(jiān)測的流水并行處理架構,,并在此基礎上實現(xiàn)了一個高效的多客戶端頻譜監(jiān)測系統(tǒng)。該系統(tǒng)允許多個客戶同時進行頻譜監(jiān)測,,提高了接收機的利用效率,,增強了接收機的靈活性,大大提高了接收機的性能,。最后通過實驗展示了其可實現(xiàn)性以及優(yōu)越的頻譜監(jiān)測性能,。
參考文獻
[1] 武繼兵.R&S ESMD寬帶監(jiān)測接收機的應用[J].中國無線電,2009(2):76-77.
[2] 費連.無線電監(jiān)測系統(tǒng)的革新——網(wǎng)絡化小型頻譜監(jiān)測系統(tǒng)的概念及主要技術要求[J].電子測量與儀器學報,,2009(增刊):175-179.
[3] Texas Instrument Inc..OMAP-L 138 technical reference manual[EB/OL].(2009)[2014].http://www.ti.com.
[4] Altera Corporation.Stratix II Device Handbook[EB/OL].(2008)[2014].http://www.altera.com.
[5] ARM嵌入式Linux系統(tǒng)開發(fā)技術詳解[M].北京:電子工業(yè)出版社,,2008.
[6] TI DSP/BIOS用戶手冊與驅(qū)動開發(fā)[M].北京:清華大學出版社,2007.
[7] 邴哲松.ARM Linux嵌入式網(wǎng)絡控制系統(tǒng)[M].北京:北京航空航天大學出版社,,2012.
[8] 劉兵,,陳琛.Linux下的多線程編程[J].黑龍江科技信息,2008(1):56-57.