《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 多客戶端頻譜監(jiān)測(cè)接收機(jī)系統(tǒng)設(shè)計(jì)
多客戶端頻譜監(jiān)測(cè)接收機(jī)系統(tǒng)設(shè)計(jì)
2014年電子技術(shù)應(yīng)用第9期
李朝海,羅 超,王杰峰
電子科技大學(xué) 電子工程學(xué)院,四川 成都611731
摘要: 目前的網(wǎng)絡(luò)化小型頻譜監(jiān)測(cè)接收機(jī)只支持單一客戶端操作,而常規(guī)的頻譜監(jiān)測(cè)站通常需要同時(shí)執(zhí)行多個(gè)頻譜監(jiān)測(cè)任務(wù),因此就需要配備多臺(tái)監(jiān)測(cè)接收機(jī),建設(shè)成本高。在多核架構(gòu)及多線程技術(shù)的基礎(chǔ)上,提出了多客戶端頻譜監(jiān)測(cè)系統(tǒng)的流水并行處理架構(gòu),該架構(gòu)不僅能保證多個(gè)客戶的頻譜監(jiān)測(cè)任務(wù)能夠并行執(zhí)行,還保證了頻譜監(jiān)測(cè)的實(shí)時(shí)性。系統(tǒng)可以支持多個(gè)客戶端同時(shí)連接、同時(shí)執(zhí)行頻譜監(jiān)測(cè)任務(wù),有效提高了接收機(jī)的利用效率,增強(qiáng)了接收機(jī)的靈活性。
中圖分類號(hào): TP202.2
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2014)09-0068-04
The design of multi-client spectrum monitoring system
Li Chaohai,Luo Chao,Wang Jiefeng
School of Electronic Engineering, University of Electronic Science and Technology of China,Chengdu 611731,China
Abstract: Nowadays, the general small network spectrum monitoring receivers only support individual client, which brings a certain amount of waste on the construction of spectrum monitoring stations. Based on multi-core and multi thread technology, a pipeline parallel processing architecture for multi-client spectrum monitoring system is proposed. This system not only guarantees the concurrent execution of the spectrum monitoring tasks which from different client, but also ensures the real-time spectrum monitoring. This system enables multiple client to be connected and perform spectrum monitoring tasks at the same time, which effectively improves the utilization efficiency of the receiver, and enhances the flexibility of the receiver.
Key words : multi-client;multi-core;multi thread;pipeline parallel architecture

    無(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)的客戶端。

ck2-t1.gif

    為了實(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所示。

ck2-t2.gif

    在該結(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所示。

ck2-t3.gif

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ù)回傳。

ck2-t4.gif

    執(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é)果。

ck2-t5.gif

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]

ck2-t6.gif

    從該模型中可以看出,在接收到客戶端連接之前并不需要預(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所示。

ck2-t7.gif

    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é)果。

ck2-t8.gif

    從結(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.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。