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