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