一、USRP簡介
NI USRP-292X軟件可編程無線收發器是專門為無線電通信教學和研究而開發的,作為學習RF和通信的教學方案,價位適中。美國國家儀器將NI LabVIEW軟件和Ettus Research公司的硬件功能相結合,開發了這些價位適中的軟件定義無線電(SDR)收發器,對通信教育、實驗、研究和源代碼快速開發起到了非常大的幫助作用。
USRP-2921硬件介紹:
圖1
· 面向Wifi、藍牙和其他ISM應用的可調頻帶范圍:2.4 GHz - 5 GHz
· 價格合理的教學與科研方案
· 高達20 MHz基帶I/Q帶寬,能以25 MS/s速率讀寫數據,用于在主機上配合NI LabVIEW進行數據處理
· NI技術支持和為期1年且可延期的保修服務
· 兼容Windows 7/Vista/XP
USRP-2921前面板:
USRP-2921分別有2個收發端口,但是同時不能自發自收。MIMO擴展槽支持2x2 MIM系統。
圖2
USRP軟件介紹:
URSP的軟件開發采用open、configure、initiate、Read/Write、Abort、close標準的開發流程來編寫代碼。
圖3
二、檢測寬帶頻譜
從USRP-2921的簡介中可以得知USRP-2921高達20MHz基帶I/Q帶寬,能以25MS/S速率讀寫數據,這對于一般的應用已經基本足夠了,但是有時候開發者還是希望看的更寬的帶寬。就拿WiFi信號來講,WiFi有11個信道,每個信道有5MHz帶寬,如果想要看整個帶寬內信號的頻譜的話,那么就是要檢測大概55MHz的帶寬,這對于傳統的一些儀器是很難實現的,但是NI開發的USRP-292X軟件可編程無線收發器卻是一款可以通過軟件編程來實現頻譜檢測的。NI結合NI USRP-292x硬件和NI LabVIEW軟件的優勢,為無線通信系統的快速原型提供了一個功能強大且靈活的軟件線電平臺。基于直觀的圖形化編程語言NI LabVIEW完成信號處理算法并結合NI USRP硬件實時與真實射頻信號交互,可實現完整的無線通信系統的原型開發。
我們就以檢測一個50MHz帶寬的WiFi信號的頻譜為例子,其中RBW(Resolution Bandwith)為100KHz。
在開發程序是我們需要注意兩點內容:
1. USRP-2921是直接上倍頻,會出現本振泄露的問題,表現出來的現象就是在零頻上會有個直流的信號。如圖4所示。
2.根據實驗可以觀測到,在帶寬為25MHz的情況下,左右兩邊的2.5MHz帶寬的功率會有大概3dB的衰減。如圖4所示。
圖4
在使用USRP之前,首先必須先裝USRP的驅動。裝完驅動之后可以在儀器IO->儀器驅動->NI-USRP工具包,如圖5所示。
圖5
該工具包包括Rx、Tx、Synchronization、Utility等vi,在這里只需要用到Rx的vi即可,其中包括open、configure、initiate、fetch、abort和close這幾個vi。如圖6所示。
圖6
圖7為采50MHz帶寬頻譜的代碼,流程與一般采集的代碼類似。但是需要注意之前提到2個問題,一個是本振泄露的問題,另外一個是邊緣功率降低的問題。對于邊緣功率降低的問題,可以將中心頻率偏移,采25MHz帶寬,然后將邊緣的5M的數據丟棄掉,只使用20M的數據;對于本振泄露的問題,可以采用丟數的方式,即在某中心頻率上重復采一段數,然后丟棄前段的數據,只保留后段的數據進行操作,當然更好的方法還是將載波頻率偏移,避開零頻。
圖7
檢測寬帶頻譜的做法就是將一段一段的頻譜拼接成一個更寬帶寬的頻譜,如圖所8示,將一個50MHz帶寬的頻譜分成5個10MHz帶寬的頻譜,然后用USRP采5段25M帶寬的頻譜,但是只取左側從-2M~12M之間10M的數據,最后將其拼接成一個50M的頻譜。這樣就可以很好規避邊緣功率降低和本振泄露的問題。
圖8
首先,需要計算采第一個25M帶寬頻譜的載波頻率,Fc1=Fc-25M+10.5M,如圖9標注1處所示。之后每一段的載波頻率以10M遞增,即Fc5=Fc4+10M;Fc4=Fc3+10M;Fc3=Fc2+10M;Fc2=Fc1+10M;如圖9標注2處所示。
圖9
需要注意的一點是,每次改變載波頻率時都需要停止上一次的采集,當配置好新的載波頻率時重新開始采集。
另外,為了解決一個是本振泄露的問題,可以像圖10的做法一樣采集2.5M的數據,然后將前面數據丟掉,只保留后面250K的數據,這樣可以有效地減少本振泄露帶來的影響。
圖10
由于我們需要采集的是WiFi信號,WiFi信號是有一個一個脈沖發射出來的,由于USRP沒有觸發,所以只能通過比較的方式將均方值最大的一段作為采集到的WiFi信號。如圖11所示。
圖11Max Bur.vi
然后將Max Bur找出的來數據去做FFT,最后將10M帶寬的頻譜用數組拼接起來,如圖12所示,直到拼接出一個50M帶寬的頻譜后將其輸出,最后將輸出的電壓值轉換成功率值即可。
圖12
三、總結
根據上述方法,理論上是可以獲取更寬帶寬的頻譜,但是獲得更寬帶寬的頻譜則意味著需要用更多的是時間去采集,而且WiFi、藍牙的帶寬也是有限的,檢測更寬的帶寬意義也不大。本文只是通過以采集WiFi信號為例子提供一種拼接頻譜來獲取更寬帶寬的一種做法,而且利用LabVIEW軟件來開發程序可以有效地減少開發周期,從而能夠在短時間內做一些原理驗證或者研究。