《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 軟件無(wú)線電虛擬頻譜儀的設(shè)計(jì)與實(shí)現(xiàn)
軟件無(wú)線電虛擬頻譜儀的設(shè)計(jì)與實(shí)現(xiàn)
2014年電子技術(shù)應(yīng)用第7期
劉陸華, 田增山, 胡 宏, 周 牧
重慶郵電大學(xué) 移動(dòng)通信技術(shù)重慶市重點(diǎn)實(shí)驗(yàn)室 無(wú)線定位與空間測(cè)量研究所,重慶400065
摘要: 針對(duì)移動(dòng)通信信號(hào)的不同特征,基于軟件無(wú)線電架構(gòu)和虛擬儀表技術(shù),提出一套適合測(cè)試WCDMA、TD_SCDMA、GSM、LTE等系統(tǒng)特征的虛擬頻譜儀設(shè)計(jì)方案,并在Visual C++6.0平臺(tái)上進(jìn)行編程實(shí)現(xiàn)。通過(guò)配置模塊,可根據(jù)不同移動(dòng)通信系統(tǒng)對(duì)RF前端工作參數(shù)進(jìn)行配置,利用PCIe接口實(shí)時(shí)接收基帶數(shù)據(jù)并在PC上進(jìn)行信號(hào)處理,實(shí)現(xiàn)對(duì)基帶原始信號(hào)的數(shù)據(jù)存儲(chǔ)和時(shí)域、頻域的波形顯示。經(jīng)真實(shí)的數(shù)據(jù)處理和顯示,結(jié)果表明,本設(shè)計(jì)具有與真實(shí)頻譜儀一致的性能,并且使用簡(jiǎn)單,可移植性強(qiáng),靈活度高。
中圖分類(lèi)號(hào): TP319
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2014)07-0119-03
Design and implementation of virtual spectrum instrument based on software radio
Liu Luhua, Tian Zengshan, Hu Hong, Zhou Mu
Institute of Wireless Location and Space Measurement, Chongqing Key Lab of Mobile Communications Technology, Chongqing University of Posts and Telecommunications, Chongqing 400065, China
Abstract: Based on software radio framework and virtual instrument technology, this paper proposes a design of software radio-aided virtual spectrum instrument for different mobile communication systems with variable characteristic and uses the Visual C++6.0 platform for the programming. The front-end of RF parameters are configured by different mobile communication system and the PCIe interface software is used to receive the real-time data. Then, the baseband data is considered for the FFT processing and spectral analysis. The design realizes data storage and the waveform display of the baseband signal in time and frequency domain. It has a consistent performance with real spectrometer, and is easy to handle and has good portability and flexibility.
Key words : software radio; virtual spectrum instrument; graphic display; Visual C++6.0

       軟件無(wú)線電和虛擬儀表技術(shù)的出現(xiàn)使得多種儀器平臺(tái)虛擬化成為現(xiàn)實(shí),利用計(jì)算機(jī)技術(shù),結(jié)合軟件的強(qiáng)大功能為軟件無(wú)線電和虛擬儀表提供了廣闊前景[1]。在軟件無(wú)線電系統(tǒng)開(kāi)發(fā)中,對(duì)基帶數(shù)據(jù)進(jìn)行實(shí)時(shí)信號(hào)分析和處理都采用了虛擬儀表技術(shù)。在發(fā)達(dá)國(guó)家虛擬儀表技術(shù)非常先進(jìn),虛擬儀表產(chǎn)品廣泛地應(yīng)用在工業(yè)控制、通信、自動(dòng)化等各種領(lǐng)域,擁有成熟的商業(yè)軟件產(chǎn)品,其中最著名的是NI公司的LabVIEW平臺(tái)[2];但是在國(guó)內(nèi),還處于傳統(tǒng)測(cè)試儀器與計(jì)算機(jī)脫離的狀態(tài),投入研究和使用的虛擬儀表主要分布在高校并且都依托專(zhuān)用平臺(tái)LabVIEW。參考文獻(xiàn)[1-5]也都采用LabVIEW來(lái)實(shí)現(xiàn)各自的設(shè)計(jì)。但是它只能在特定的使用環(huán)境中運(yùn)行,可移植性很差,無(wú)法與其他設(shè)備相嵌[3-4]。

        本文針對(duì)軟件無(wú)線電的基帶信號(hào)處理部分,結(jié)合虛擬儀表技術(shù),在通用平臺(tái)VC++6.0上實(shí)現(xiàn)了專(zhuān)門(mén)針對(duì)無(wú)線通信信號(hào)的虛擬頻譜儀,為軟件無(wú)線電的測(cè)量提供了強(qiáng)大的軟件平臺(tái)支持。與真實(shí)頻譜儀相比,本設(shè)計(jì)的虛擬頻譜儀操作簡(jiǎn)單易學(xué),且功能可以根據(jù)用戶需求進(jìn)行擴(kuò)展,靈活性很強(qiáng)。

1 虛擬頻譜儀設(shè)計(jì)

1.1 軟件無(wú)線電虛擬頻譜儀框架

        軟件無(wú)線電虛擬頻譜儀框架結(jié)構(gòu)如圖1所示。軟件無(wú)線電體系結(jié)構(gòu)主要?jiǎng)澐譃樯漕l前端(含天線)、高速模數(shù)/數(shù)模轉(zhuǎn)換器以及數(shù)字信號(hào)處理單元[5]三大部分。(1)射頻(RF)是軟件無(wú)線電不可替代的硬件入口,主要功能是完成對(duì)空中信號(hào)的獲取,以及信號(hào)的放大、濾波和混頻;(2)中頻主要實(shí)現(xiàn)對(duì)模擬信號(hào)與數(shù)字信號(hào)的轉(zhuǎn)換、數(shù)字信號(hào)的預(yù)處理,以及完成中頻與基帶的數(shù)據(jù)交互;(3)數(shù)字信號(hào)處理單元主要完成對(duì)信號(hào)的接收、分析和處理。在信號(hào)分析處理中,分析儀器是不可或缺的設(shè)備,而傳統(tǒng)的儀器儀表功能固定,價(jià)格昂貴,因而在軟件無(wú)線電系統(tǒng)中,對(duì)數(shù)字處理單元部分進(jìn)行軟件編程實(shí)現(xiàn)是本文設(shè)計(jì)的核心內(nèi)容。

1.2 軟件功能模塊設(shè)計(jì)

        根據(jù)軟件無(wú)線電虛擬頻譜儀架構(gòu),本文的虛擬頻譜儀軟件功能模塊設(shè)計(jì)如圖2所示。

        數(shù)據(jù)輸入部分分為PCIe輸入和文件輸入兩種方式。數(shù)據(jù)存儲(chǔ)部分負(fù)責(zé)對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)操作,以.txt格式將數(shù)據(jù)保存到文本中。命令控制部分負(fù)責(zé)對(duì)軟件無(wú)線電系統(tǒng)前端進(jìn)行控制。數(shù)據(jù)處理及分析部分包括窗函數(shù)選擇和FFT變換。交互界面部分模仿真實(shí)儀器的工作面板,其功能包括:提供用戶直觀的圖形顯示;在顯示窗口中顯示信號(hào)的參數(shù)信息,如幅值、頻率、分辨率等;進(jìn)行參數(shù)設(shè)置以及圖形顯示變換等。

2 虛擬頻譜儀實(shí)現(xiàn)

        根據(jù)虛擬頻譜儀的軟件功能設(shè)計(jì),具體的實(shí)現(xiàn)過(guò)程如下所述:各模塊經(jīng)過(guò)系統(tǒng)初始化后,開(kāi)始根據(jù)不同數(shù)據(jù)輸入方式分別進(jìn)行處理,并顯示波形。

2.1 系統(tǒng)初始化

        虛擬頻譜儀軟件通過(guò)窗口分割界面,設(shè)計(jì)了3個(gè)視圖窗口:波形顯示窗口、頻譜顯示窗口和操作窗口。為了能方便地改變波形頻譜的顯示方式,在軟件界面中添加了一個(gè)工具條。程序中菜單頁(yè)面主要分為菜單欄上的設(shè)置按鈕加載和波形、頻譜視圖中響應(yīng)鼠標(biāo)右擊的頁(yè)面加載。

2.2 命令控制

        命令控制的主要目的是保證FPGA與上位機(jī)的實(shí)時(shí)通信。本軟件采用網(wǎng)口通信方式,以實(shí)現(xiàn)FPGA與上位機(jī)的交互和命令控制。

        通過(guò)系統(tǒng)初始化、參數(shù)設(shè)置、PCIe初始化等步驟后,點(diǎn)擊操作視圖上的“Connection”按鈕,在消息響應(yīng)函數(shù)中進(jìn)行套接字的初始化,連接FPGA服務(wù)器端。首先調(diào)用函數(shù)socket()創(chuàng)建TCP套接字,并設(shè)置地址結(jié)構(gòu)體SOCKADDR_IN,其中結(jié)構(gòu)體成員變量中需要設(shè)置服務(wù)器端的IP地址和交互的端口號(hào)。然后再調(diào)用connect函數(shù)請(qǐng)求鏈接。當(dāng)成功鏈接到FPGA后,程序中調(diào)用SetTimer函數(shù)開(kāi)啟定時(shí)器,系統(tǒng)會(huì)每隔一定時(shí)間發(fā)送WM_TIMER消息,在消息響應(yīng)函數(shù)OnTimer中進(jìn)行數(shù)據(jù)的發(fā)送與接收。

2.3 數(shù)據(jù)接收

        數(shù)據(jù)接收過(guò)程主要包括參數(shù)設(shè)置、數(shù)據(jù)接收方式選擇以及數(shù)據(jù)提取。圖3為數(shù)據(jù)接收流程圖。

        由于串口、網(wǎng)口、USB等接口無(wú)法滿足移動(dòng)信號(hào)的高速率傳輸要求,故本文采用PCIe接口對(duì)數(shù)據(jù)進(jìn)行接收。其中,數(shù)據(jù)接收采用PCIe總線傳送,在參數(shù)配置完成后,首先對(duì)PCIe設(shè)備進(jìn)行初始化,成功打開(kāi)PCIe設(shè)備后再準(zhǔn)備數(shù)據(jù)接收。在FPGA端,信號(hào)經(jīng)過(guò)數(shù)字下變頻后分為I、Q兩路信號(hào)。此外,根據(jù)單個(gè)數(shù)據(jù)的位寬為16 bit,定義了short型變量real和image來(lái)分別提取I路和Q路數(shù)據(jù)。然后,根據(jù)上位機(jī)命令控制接收相應(yīng)的數(shù)據(jù),并對(duì)其進(jìn)行處理與分析,以最終實(shí)現(xiàn)對(duì)時(shí)域和頻域波形圖的顯示。

2.4 數(shù)據(jù)存儲(chǔ)

        數(shù)據(jù)存儲(chǔ)也是虛擬頻譜儀軟件的主要功能之一,主要用于保存用戶接收到的有用數(shù)據(jù),并為后續(xù)工作提供實(shí)時(shí)數(shù)據(jù)源,且對(duì)研究無(wú)線通信信號(hào)的基帶數(shù)據(jù)特征具有很大幫助。

2.5 數(shù)據(jù)處理與分析

        該模塊的主要功能是對(duì)軟件輸入信號(hào)進(jìn)行數(shù)據(jù)處理與相應(yīng)分析。該軟件目前采用了FFT信號(hào)處理方式,并同時(shí)使用加窗函數(shù)和重疊分段FFT優(yōu)化頻譜顯示效果。此項(xiàng)功能主要在頻譜視圖類(lèi)中處理實(shí)現(xiàn),此方法在對(duì)實(shí)時(shí)數(shù)據(jù)進(jìn)行頻譜分析時(shí)具有比較明顯的改善效果。而窗函數(shù)的設(shè)置選擇項(xiàng)進(jìn)一步優(yōu)化了頻譜圖。程序中主要加入了常用的矩形窗、三角窗、海明窗3個(gè)窗函數(shù)供用戶選擇。

2.6 圖形顯示

        圖形顯示包括時(shí)域與頻域波形顯示。時(shí)域波形主要在具有示波器功能的CWaveformView類(lèi)中實(shí)現(xiàn);頻域的頻譜圖則在CFreSpectrumView類(lèi)中進(jìn)行處理。

        圖形顯示的位置由視圖坐標(biāo)系中的坐標(biāo)值決定。為了能夠正確地將波形繪制在視圖中的網(wǎng)格坐標(biāo)內(nèi),需要把波形數(shù)據(jù)值轉(zhuǎn)化為視圖坐標(biāo)值,如圖4所示。

        在圖4中,外方框區(qū)域?yàn)橐晥D區(qū)域,左上角為視圖區(qū)域的起始點(diǎn)(0,0),內(nèi)方框?yàn)槔L制的網(wǎng)格區(qū)域,左上角的視圖坐標(biāo)起始點(diǎn)值為(lefttop_x,lefttop_y),右下角的視圖坐標(biāo)值為(rightbottom_x, rightbottom_y),且視圖坐標(biāo)值沿X軸、Y軸方向增大。程序中,在頻譜顯示時(shí)只顯示前N/2個(gè)點(diǎn)。

3 測(cè)試結(jié)果及分析

        本文數(shù)據(jù)測(cè)試過(guò)程在軟件無(wú)線電硬件測(cè)試平臺(tái)上完成。 利用SMJ100A信號(hào)發(fā)生器生成了一個(gè)頻率為100 kHz的正弦信號(hào),并以此為虛擬儀表軟件的輸入數(shù)據(jù)。然后用DS1102E示波器、FSL頻譜分析儀進(jìn)行顯示,并與軟件產(chǎn)生的波形圖、頻譜圖進(jìn)行對(duì)比,如圖5所示。其中圖5(a)、圖5(c)分別為真實(shí)儀器的時(shí)域與頻域顯示,圖5(b)、圖5(d)為本設(shè)計(jì)實(shí)現(xiàn)軟件對(duì)應(yīng)的顯示圖。

        圖6為參與測(cè)試的WCDMA信號(hào)在真實(shí)頻譜儀上的顯示結(jié)果。通過(guò)菜單欄下的設(shè)置功能選擇文件輸入項(xiàng),顯示保存的WCDMA文本數(shù)據(jù)如圖7(a)所示;通過(guò)動(dòng)態(tài)設(shè)置X、Y坐標(biāo), 對(duì)信號(hào)的局部波形進(jìn)行放大,如圖7(b)所示。圖7(a)的時(shí)域參數(shù)顯示結(jié)果為min=-0.36 mV, max=21.29 mV;頻域參數(shù)顯示結(jié)果為min=-33.55 dBm, max=20.69 dBm,頻率分辨率為7 500.00 Hz。而圖8(b)的時(shí)域參數(shù)顯示結(jié)果為min=0.80 mV,max=19.78 mV;頻域顯示結(jié)果為min=-33.55 dBm,max=20.69 dBm,頻率分辨率為7 500.00 Hz。

        圖8給出了通過(guò)PCIe和網(wǎng)口配置(傳送采樣率為5.12 MHz,F(xiàn)FT點(diǎn)數(shù)為16 384,設(shè)置無(wú)重復(fù)點(diǎn),且選擇矩形窗)的TD-SCDMA基帶數(shù)據(jù)的波形頻譜圖。

        在圖5中,圖5(a)為示波器顯示結(jié)果,其峰值約為40 mV,圖5(b)顯示結(jié)果峰值為43.20 mV;圖5(c)為示波器顯示結(jié)果,其峰值約為40 mV,圖5(d)顯示結(jié)果峰值為43.20 mV;圖5(c)顯示結(jié)果可知其信號(hào)頻率為100 kHz,在圖5(d)中顯示的結(jié)果為100 000.29 Hz。對(duì)比以上結(jié)果可知,本軟件測(cè)試精度約為±0.30 dB,完全符合頻譜儀的性能指標(biāo)。

        當(dāng)為文本輸入時(shí),對(duì)比圖6和圖7可知,本軟件可以正確顯示W(wǎng)CDMA信號(hào),且能觀測(cè)其局部特征;當(dāng)為PCIe輸入時(shí),由圖8的顯示結(jié)果可知,其波形顯示結(jié)果與TD-SCDMA信號(hào)本身特征一致。綜合說(shuō)明,本文設(shè)計(jì)的虛擬頻譜儀軟件能夠正確、穩(wěn)定地顯示通信信號(hào)的波形。

        與真實(shí)的頻譜儀相比,本設(shè)計(jì)的虛擬頻譜儀不僅能夠正確快速地顯示常用簡(jiǎn)單波形,而且可以準(zhǔn)確地接收和測(cè)量通信信號(hào),測(cè)量精度為0.01 dB。與真實(shí)儀器相比,能夠直接接收實(shí)時(shí)數(shù)據(jù),不需要中間處理過(guò)程就能顯示復(fù)雜的通信信號(hào),大大減少了工程工作量。

        本文設(shè)計(jì)并實(shí)現(xiàn)了一種基于軟件無(wú)線電的虛擬頻譜儀軟件,實(shí)現(xiàn)了對(duì)文件的讀取與數(shù)據(jù)存儲(chǔ)功能并對(duì)它們進(jìn)行了頻譜分析。此外,通過(guò)對(duì)網(wǎng)口傳遞參數(shù)配置,利用PCIe接口對(duì)實(shí)時(shí)數(shù)據(jù)進(jìn)行接收,并完成對(duì)波形、頻譜的正確、穩(wěn)定顯示。測(cè)試結(jié)果表明,該軟件可以有效滿足軟件無(wú)線電在數(shù)字信號(hào)處理與分析模塊中的功能需求,并且在課題要求范圍內(nèi)符合各個(gè)不同無(wú)線通信系統(tǒng)的實(shí)時(shí)接收數(shù)據(jù)需求,能夠完成測(cè)試要求。

參考文獻(xiàn)

[1] 張勇, 董浩斌. 基于STM32和LabVIEW的地震數(shù)據(jù)采集卡的設(shè)計(jì)[J].電子技術(shù)應(yīng)用, 2012,38(10):72-74.

[2] 馬志飛, 張亞, 李波, 等. SLD 光源可靠性試驗(yàn)數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J]. 電子技術(shù)應(yīng)用, 2013, 39(9): 96-98.

[3] 陳明星, 朱靈, 張龍,等. 基于LabVIEW的光纖傅里葉變換光譜儀數(shù)據(jù)處理技術(shù)[J]. 儀器儀表學(xué)報(bào), 2010, 31(3):488-492.

[4] 程乃平, 席有猷, 趙陽(yáng). 基于Labwindows/CVI的虛擬頻譜分析儀設(shè)計(jì)[J]. 電子測(cè)量技術(shù), 2009, 32(7):109-111.

[5] 何樂(lè)生.基于DDS算法的12導(dǎo)聯(lián)心電信號(hào)發(fā)生器設(shè)計(jì)[J].儀器儀表學(xué)報(bào), 2010, 31(2):275-279. 

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