文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2014)07-0119-03
軟件無線電和虛擬儀表技術(shù)的出現(xiàn)使得多種儀器平臺虛擬化成為現(xiàn)實,利用計算機(jī)技術(shù),結(jié)合軟件的強(qiáng)大功能為軟件無線電和虛擬儀表提供了廣闊前景[1]。在軟件無線電系統(tǒng)開發(fā)中,對基帶數(shù)據(jù)進(jìn)行實時信號分析和處理都采用了虛擬儀表技術(shù)。在發(fā)達(dá)國家虛擬儀表技術(shù)非常先進(jìn),虛擬儀表產(chǎn)品廣泛地應(yīng)用在工業(yè)控制、通信、自動化等各種領(lǐng)域,擁有成熟的商業(yè)軟件產(chǎn)品,其中最著名的是NI公司的LabVIEW平臺[2];但是在國內(nèi),還處于傳統(tǒng)測試儀器與計算機(jī)脫離的狀態(tài),投入研究和使用的虛擬儀表主要分布在高校并且都依托專用平臺LabVIEW。參考文獻(xiàn)[1-5]也都采用LabVIEW來實現(xiàn)各自的設(shè)計。但是它只能在特定的使用環(huán)境中運行,可移植性很差,無法與其他設(shè)備相嵌[3-4]。
本文針對軟件無線電的基帶信號處理部分,結(jié)合虛擬儀表技術(shù),在通用平臺VC++6.0上實現(xiàn)了專門針對無線通信信號的虛擬頻譜儀,為軟件無線電的測量提供了強(qiáng)大的軟件平臺支持。與真實頻譜儀相比,本設(shè)計的虛擬頻譜儀操作簡單易學(xué),且功能可以根據(jù)用戶需求進(jìn)行擴(kuò)展,靈活性很強(qiáng)。
1 虛擬頻譜儀設(shè)計
1.1 軟件無線電虛擬頻譜儀框架
軟件無線電虛擬頻譜儀框架結(jié)構(gòu)如圖1所示。軟件無線電體系結(jié)構(gòu)主要劃分為射頻前端(含天線)、高速模數(shù)/數(shù)模轉(zhuǎn)換器以及數(shù)字信號處理單元[5]三大部分。(1)射頻(RF)是軟件無線電不可替代的硬件入口,主要功能是完成對空中信號的獲取,以及信號的放大、濾波和混頻;(2)中頻主要實現(xiàn)對模擬信號與數(shù)字信號的轉(zhuǎn)換、數(shù)字信號的預(yù)處理,以及完成中頻與基帶的數(shù)據(jù)交互;(3)數(shù)字信號處理單元主要完成對信號的接收、分析和處理。在信號分析處理中,分析儀器是不可或缺的設(shè)備,而傳統(tǒng)的儀器儀表功能固定,價格昂貴,因而在軟件無線電系統(tǒng)中,對數(shù)字處理單元部分進(jìn)行軟件編程實現(xiàn)是本文設(shè)計的核心內(nèi)容。
1.2 軟件功能模塊設(shè)計
根據(jù)軟件無線電虛擬頻譜儀架構(gòu),本文的虛擬頻譜儀軟件功能模塊設(shè)計如圖2所示。
數(shù)據(jù)輸入部分分為PCIe輸入和文件輸入兩種方式。數(shù)據(jù)存儲部分負(fù)責(zé)對數(shù)據(jù)進(jìn)行存儲操作,以.txt格式將數(shù)據(jù)保存到文本中。命令控制部分負(fù)責(zé)對軟件無線電系統(tǒng)前端進(jìn)行控制。數(shù)據(jù)處理及分析部分包括窗函數(shù)選擇和FFT變換。交互界面部分模仿真實儀器的工作面板,其功能包括:提供用戶直觀的圖形顯示;在顯示窗口中顯示信號的參數(shù)信息,如幅值、頻率、分辨率等;進(jìn)行參數(shù)設(shè)置以及圖形顯示變換等。
2 虛擬頻譜儀實現(xiàn)
根據(jù)虛擬頻譜儀的軟件功能設(shè)計,具體的實現(xiàn)過程如下所述:各模塊經(jīng)過系統(tǒng)初始化后,開始根據(jù)不同數(shù)據(jù)輸入方式分別進(jìn)行處理,并顯示波形。
2.1 系統(tǒng)初始化
虛擬頻譜儀軟件通過窗口分割界面,設(shè)計了3個視圖窗口:波形顯示窗口、頻譜顯示窗口和操作窗口。為了能方便地改變波形頻譜的顯示方式,在軟件界面中添加了一個工具條。程序中菜單頁面主要分為菜單欄上的設(shè)置按鈕加載和波形、頻譜視圖中響應(yīng)鼠標(biāo)右擊的頁面加載。
2.2 命令控制
命令控制的主要目的是保證FPGA與上位機(jī)的實時通信。本軟件采用網(wǎng)口通信方式,以實現(xiàn)FPGA與上位機(jī)的交互和命令控制。
通過系統(tǒng)初始化、參數(shù)設(shè)置、PCIe初始化等步驟后,點擊操作視圖上的“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地址和交互的端口號。然后再調(diào)用connect函數(shù)請求鏈接。當(dāng)成功鏈接到FPGA后,程序中調(diào)用SetTimer函數(shù)開啟定時器,系統(tǒng)會每隔一定時間發(fā)送WM_TIMER消息,在消息響應(yīng)函數(shù)OnTimer中進(jìn)行數(shù)據(jù)的發(fā)送與接收。
2.3 數(shù)據(jù)接收
數(shù)據(jù)接收過程主要包括參數(shù)設(shè)置、數(shù)據(jù)接收方式選擇以及數(shù)據(jù)提取。圖3為數(shù)據(jù)接收流程圖。
由于串口、網(wǎng)口、USB等接口無法滿足移動信號的高速率傳輸要求,故本文采用PCIe接口對數(shù)據(jù)進(jìn)行接收。其中,數(shù)據(jù)接收采用PCIe總線傳送,在參數(shù)配置完成后,首先對PCIe設(shè)備進(jìn)行初始化,成功打開PCIe設(shè)備后再準(zhǔn)備數(shù)據(jù)接收。在FPGA端,信號經(jīng)過數(shù)字下變頻后分為I、Q兩路信號。此外,根據(jù)單個數(shù)據(jù)的位寬為16 bit,定義了short型變量real和image來分別提取I路和Q路數(shù)據(jù)。然后,根據(jù)上位機(jī)命令控制接收相應(yīng)的數(shù)據(jù),并對其進(jìn)行處理與分析,以最終實現(xiàn)對時域和頻域波形圖的顯示。
2.4 數(shù)據(jù)存儲
數(shù)據(jù)存儲也是虛擬頻譜儀軟件的主要功能之一,主要用于保存用戶接收到的有用數(shù)據(jù),并為后續(xù)工作提供實時數(shù)據(jù)源,且對研究無線通信信號的基帶數(shù)據(jù)特征具有很大幫助。
2.5 數(shù)據(jù)處理與分析
該模塊的主要功能是對軟件輸入信號進(jìn)行數(shù)據(jù)處理與相應(yīng)分析。該軟件目前采用了FFT信號處理方式,并同時使用加窗函數(shù)和重疊分段FFT優(yōu)化頻譜顯示效果。此項功能主要在頻譜視圖類中處理實現(xiàn),此方法在對實時數(shù)據(jù)進(jìn)行頻譜分析時具有比較明顯的改善效果。而窗函數(shù)的設(shè)置選擇項進(jìn)一步優(yōu)化了頻譜圖。程序中主要加入了常用的矩形窗、三角窗、海明窗3個窗函數(shù)供用戶選擇。
2.6 圖形顯示
圖形顯示包括時域與頻域波形顯示。時域波形主要在具有示波器功能的CWaveformView類中實現(xiàn);頻域的頻譜圖則在CFreSpectrumView類中進(jìn)行處理。
圖形顯示的位置由視圖坐標(biāo)系中的坐標(biāo)值決定。為了能夠正確地將波形繪制在視圖中的網(wǎng)格坐標(biāo)內(nèi),需要把波形數(shù)據(jù)值轉(zhuǎn)化為視圖坐標(biāo)值,如圖4所示。
在圖4中,外方框區(qū)域為視圖區(qū)域,左上角為視圖區(qū)域的起始點(0,0),內(nèi)方框為繪制的網(wǎng)格區(qū)域,左上角的視圖坐標(biāo)起始點值為(lefttop_x,lefttop_y),右下角的視圖坐標(biāo)值為(rightbottom_x, rightbottom_y),且視圖坐標(biāo)值沿X軸、Y軸方向增大。程序中,在頻譜顯示時只顯示前N/2個點。
3 測試結(jié)果及分析
本文數(shù)據(jù)測試過程在軟件無線電硬件測試平臺上完成。 利用SMJ100A信號發(fā)生器生成了一個頻率為100 kHz的正弦信號,并以此為虛擬儀表軟件的輸入數(shù)據(jù)。然后用DS1102E示波器、FSL頻譜分析儀進(jìn)行顯示,并與軟件產(chǎn)生的波形圖、頻譜圖進(jìn)行對比,如圖5所示。其中圖5(a)、圖5(c)分別為真實儀器的時域與頻域顯示,圖5(b)、圖5(d)為本設(shè)計實現(xiàn)軟件對應(yīng)的顯示圖。
圖6為參與測試的WCDMA信號在真實頻譜儀上的顯示結(jié)果。通過菜單欄下的設(shè)置功能選擇文件輸入項,顯示保存的WCDMA文本數(shù)據(jù)如圖7(a)所示;通過動態(tài)設(shè)置X、Y坐標(biāo), 對信號的局部波形進(jìn)行放大,如圖7(b)所示。圖7(a)的時域參數(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ù)顯示結(jié)果為min=0.80 mV,max=19.78 mV;頻域顯示結(jié)果為min=-33.55 dBm,max=20.69 dBm,頻率分辨率為7 500.00 Hz。
圖8給出了通過PCIe和網(wǎng)口配置(傳送采樣率為5.12 MHz,F(xiàn)FT點數(shù)為16 384,設(shè)置無重復(fù)點,且選擇矩形窗)的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é)果可知其信號頻率為100 kHz,在圖5(d)中顯示的結(jié)果為100 000.29 Hz。對比以上結(jié)果可知,本軟件測試精度約為±0.30 dB,完全符合頻譜儀的性能指標(biāo)。
當(dāng)為文本輸入時,對比圖6和圖7可知,本軟件可以正確顯示W(wǎng)CDMA信號,且能觀測其局部特征;當(dāng)為PCIe輸入時,由圖8的顯示結(jié)果可知,其波形顯示結(jié)果與TD-SCDMA信號本身特征一致。綜合說明,本文設(shè)計的虛擬頻譜儀軟件能夠正確、穩(wěn)定地顯示通信信號的波形。
與真實的頻譜儀相比,本設(shè)計的虛擬頻譜儀不僅能夠正確快速地顯示常用簡單波形,而且可以準(zhǔn)確地接收和測量通信信號,測量精度為0.01 dB。與真實儀器相比,能夠直接接收實時數(shù)據(jù),不需要中間處理過程就能顯示復(fù)雜的通信信號,大大減少了工程工作量。
本文設(shè)計并實現(xiàn)了一種基于軟件無線電的虛擬頻譜儀軟件,實現(xiàn)了對文件的讀取與數(shù)據(jù)存儲功能并對它們進(jìn)行了頻譜分析。此外,通過對網(wǎng)口傳遞參數(shù)配置,利用PCIe接口對實時數(shù)據(jù)進(jìn)行接收,并完成對波形、頻譜的正確、穩(wěn)定顯示。測試結(jié)果表明,該軟件可以有效滿足軟件無線電在數(shù)字信號處理與分析模塊中的功能需求,并且在課題要求范圍內(nèi)符合各個不同無線通信系統(tǒng)的實時接收數(shù)據(jù)需求,能夠完成測試要求。
參考文獻(xiàn)
[1] 張勇, 董浩斌. 基于STM32和LabVIEW的地震數(shù)據(jù)采集卡的設(shè)計[J].電子技術(shù)應(yīng)用, 2012,38(10):72-74.
[2] 馬志飛, 張亞, 李波, 等. SLD 光源可靠性試驗數(shù)據(jù)采集系統(tǒng)設(shè)計[J]. 電子技術(shù)應(yīng)用, 2013, 39(9): 96-98.
[3] 陳明星, 朱靈, 張龍,等. 基于LabVIEW的光纖傅里葉變換光譜儀數(shù)據(jù)處理技術(shù)[J]. 儀器儀表學(xué)報, 2010, 31(3):488-492.
[4] 程乃平, 席有猷, 趙陽. 基于Labwindows/CVI的虛擬頻譜分析儀設(shè)計[J]. 電子測量技術(shù), 2009, 32(7):109-111.
[5] 何樂生.基于DDS算法的12導(dǎo)聯(lián)心電信號發(fā)生器設(shè)計[J].儀器儀表學(xué)報, 2010, 31(2):275-279.