文獻標識碼: 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)度,以便能夠實時完成各個客戶端的監(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用戶手冊與驅動開發(fā)[M].北京:清華大學出版社,2007.
[7] 邴哲松.ARM Linux嵌入式網(wǎng)絡控制系統(tǒng)[M].北京:北京航空航天大學出版社,2012.
[8] 劉兵,陳琛.Linux下的多線程編程[J].黑龍江科技信息,2008(1):56-57.