我從何處入手?
哪一款通用軟件無線電外設(USRP)適合我?
我應該使用哪種軟件開發工具?
本技術白皮書介紹了各種USRP型號之間的主要差異,可以幫助您選擇合適的無線電。
軟件無線電簡介
軟件無線電是一種無線設備,通常用于無線研究的原型驗證和部署應用程序。SDR通常用于通信、新一代雷達、電子戰(EW)、空口(OTA)測試和5G研究等領域。大部分SDR具有通用的硬件架構,其中包括不同性能的通用處理器(GPP)、FPGA以及RF前端。
圖1.SDR的標準硬件架構
Redhawk或GNU Radio等開源SDR框架
軟件開發工具和操作系統可以幫助確定哪一款無線電最適合您的應用程序。
許多應用程序需要使用FPGA設備進行信號處理硬件加速。多款USRP具備這項功能,它們均提供了眾多FPGA開發選項,稍后將更詳細地介紹這一點。
圖2概述了USRP上可用的軟件和FPGA開發的通用工具流程。
圖2:SDR的軟件和FPGA選項
NI和Ettus Research USRP產品是一系列軟件無線電,旨在滿足廣泛的無線原型驗證和部署需求。讓我們來了解各種硬件和軟件的注意事項,以幫助您選擇合適的無線電。
硬件選項
在為您的應用程序挑選合適的USRP設備時,最好先問自己一些與信號參數、大小、重量、功率、成本(SWaP-C)、性能和環境應用要求相關的問題。問題1:我需要多大的中心頻率和帶寬?
這個問題很容易回答,但下一個問題就復雜多了:我打算如何將信號數據移至設備上,或將其移出設備?
為此,我們需要關注數據接口的重要性。例如,USRP-290x型號通過USB連接到主機,并且受到該接口的最大持續帶寬的限制;而NI Ettus USRP X410配備兩個雙路100 GbE接口,可傳輸更多的數據。
想要了解有關USRP接口帶寬注意事項的更多內容,請查閱Ettus Research知識庫上USRP帶寬和采樣率。
大多數USRP設備的最高頻率可達6 GHz,部分設備更高;但是NI Ettus USRP X410可在7 GHz頻帶內運行。在低頻端,部分無線電的頻率可低至75 MHz,有些甚至可低至直流頻率,具體情況取決于使用的模擬芯片組。查看圖15可了解每個型號的細分情況。
價格和性能的權衡
在選擇USRP設備時需要權衡利弊,特別是要權衡價格和性能。 如果您需要高性價比的無線電,并且沒有高級FPGA或高帶寬方面的需求,那么NI USRP 290x或Ettus Research B200mini都是不錯的選擇。如果您需要最高的帶寬,高達7.2 GHz的頻率,NI Ettus USRP X410可能是最合適的選擇。 介于這兩款例舉的型號之間還有很多選擇。 下面的圖15介紹了所有型號的細分情況。
獨立的或已連接主機的SDR選項
USRP被視為是一種計算機外設,可將軟件與電磁頻譜相連。自第一個USRP問世以后,應用一直在發展,許多應用需要板載嵌入式處理器。如果您應用中的SDR分布在集中式控制系統之外或單獨部署,則您可能需要此獨立配置。如果獨立配置是必要的,則您需要決定Xilinx Zynq多處理器片上系統(MPSOC)或射頻片上系統(RFSOC)是否足夠,或者您是否需要強大的板載Intel X86處理器。圖1介紹了各種型號及其板載處理器的細分情況,可參考USRP規格文檔了解更多信息。
表1:搭載板載處理器的可獨立式USRP型號
有加固需求的嚴苛環境
盡管許多USRP用于實驗室,但一些應用需要在戶外或更嚴苛的環境下操作。如果您的應用需要在更高的操作溫度下運行,或者無法依靠氣冷系統,您可以考慮為應用使用Ettus Research品牌的嵌入式系列。此外,在Ettus Research品牌下,可以選擇配置USRP B205mini來適應更高的溫度范圍,并使用工業級鋁制外殼組件,以實現低SWaP運行。
多通道同步
許多應用需要具有不同同步級別的多輸入多輸出(MIMO)配置。一些MIMO系統只需要共享時鐘來用于ADC和DAC;而其他系統則需要每個通道被鎖定到一個通用時鐘和本地振蕩器以實現全相位相干運行。
常見的MIMO應用適用于使用空間多路復用的通信。因為這只需要時鐘同步,大多數USRP有一個外部的10 MHz參考時鐘就足夠了。 有一款這樣的系統是由布里斯托大學和隆德大學合作打造的,他們使用基于SDR的大規模MIMO系統打破了無線頻譜效率的世界紀錄。 在此應用中使用的大規模MIMO原型驗證系統是由使用板載FPGA的NI USRP軟件無線電設備組成的。
當需要全相位相干運行時,您有兩種可以考慮的選擇。如果您需要最多四個通道的僅接收操作,具有兩個TwinRx子板的Ettus Research USRP X310可以設置為共享LO并以相位相干的方式運行。如果需要超過四個通道,則可以考慮一下圖7中所示的Ettus Research USRP N320和N321。USRP N321配備了內置LO分布硬件,允許最高128 x 128相位相干運行:圖8顯示了一個32 x 32配置示例。
圖8:USRP N320和N321多通道相位相干系統
分布式多無線電同步
在一些應用中,無線電需要同步,但它們并不位于一處。在這些情況下,全相位相干運行是一項挑戰;但是有了GPS馴服的振蕩器(GPSDO),可以通過基于GPS的同步獲取頻率和相位穩定性。許多USRP型號出廠配備GPSDO。要了解更多信息,可查閱“利用NI USRP-293x軟件無線電實現全局同步和時鐘馴服。”
內嵌信號處理和FPGA注意事項
有些應用的處理要求最適合板載FPGA。這些應用通常有寬信號帶寬或低/確定性延時需求。在這種情況下,挑選能夠對FPGA進行編程的無線電很重要。許多USB和更低成本的USRP型號,如USRP B200mini或N210,都是用更小的FPGA設備構建的,因此沒有空間添加用戶代碼。許多更高端的無線電配備了Kintex 7類設備,一直到基于Xilinx Zynq Ultrascale+ RFSOC的最先進的NI Ettus USRP X410。基于Xilinx Zynq構建的設備包含了更多內核數,例如板載SD-FEC、多臂處理器以及內置ADC和DAC。
表2: 啟用FPGA的USRP的比較
軟件選項
可編程性是SDR的主要特征,它能讓人利用無線電外設,并將其變為一個先進的無線系統。USRP是市面上最開放和最通用的SDR,可幫助工程師使用各種軟件開發工具基于主機和FPGA構建系統。
主機編程注意事項
如上面圖2所示,有多種選項可以為基于SDR的系統的主機編程。
使用安裝了NI-USRP驅動程序的LabVIEW進行編程
LabVIEW是圖形化的數據流編程環境,非常適合用于設計和實現通信算法。在最基本的層級上,LabVIEW使用NI-USRP驅動程序來指定USRP硬件配置和收發正確格式化的基帶I/Q數據,為主機端信號處理做好準備。
如果LabVIEW是您首選的開發環境,值得注意的是,盡管它確實提供一些基于Linux的操作系統支持,但它主要是一個基于Microsoft Windows的工具。此外,一些Ettus Research品牌的USRP型號和配置可能不受支持;可以參見下面的圖15。
圖11: 具有NI-USRP驅動程序API的LabVIEW屏幕的結構框圖
使用開源工作流編程:USRP硬件驅動程序(UHD)和GNU Radio
許多SDR用戶更喜歡使用基于C/C++和Python構建的基于文本的開源工具流來為USRP硬件編程。所有NI和Ettus Research USRP型號均支持USRP硬件驅動程序(UHD),可輕松集成到開源社區開發的工具中,如GNU Radio。
GNU Radio是專為SDR開發人員打造的開源工具。雖然USRP不是GNU Radio支持的唯一無線電,但它是最受歡迎且經過測試的。要了解更多關于GNU Radio的信息,請訪問gnuradio.org,要查看所有現有社區共享的GNU Radio的IP,請訪問cgran.org。
圖12:GNU Radio配套流程圖
使用MATLAB編程
如果MATLAB是您首選的編程工具,則MathWorks Communications Toolbox?可支持多個USRP型號。支持的型號包括B200、B200mini、X300、N200和N300系列。另外,工程師可以使用MATLAB腳本節點將MATLAB代碼直接嵌入LabVIEW中。
FPGA編程注意事項
許多USRP都配備了大型FPGA,有足夠的空閑容量,允許用戶嵌入特定于其應用程序的內聯信號處理。如硬件部分所述,一些USRP配備了Xilinx Zynq SOC設備,一些則配備了傳統的FPGA架構,如Kintex 7。可以通過兩種方法訪問USRP上的FPGA:LabVIEW FPGA和片上射頻網絡(RFNoC)框架。
與許多FPGA開發板或COTS FPGA板不同,USRP基于通用FPGA框架構建,提供更高級的抽象能力。這消除了從基本FPGA板支持包構建基于FPGA的系統時遇到的一些復雜性。
LabVIEW FPGA
LabVIEW FPGA是LabVIEW的附加擴展模塊,支持在NI USRP RIO設備上為FPGA進行圖形化編程。 雖然必須熟悉FPGA的概念,如定點數學和時鐘邏輯,但LabVIEW不僅可將硬件和數據接口抽象化,還可簡化寄存器配置和數據移動。LabVIEW FPGA的優勢是能夠使用統一開發工具鏈同時為主機和FPGA編程。
是否有想要利用的舊版IP?LabVIEW FPGA可以通過組件級IP(CLIP)節點導入外部VHDL或Verilog,允許導入非LabVIEW IP。此外,LabVIEW允許Xilinx Vivado項目導出,供專家用戶直接在Vivado工具內使用。
如果LabVIEW FPGA是您選擇用于主機編程的工具,請注意,它僅限于在基于Windows的操作系統中使用。 許多Ettus Research設備在LabVIEW或LabVIEW FPGA下不受支持,例如USRP N300和USRP E300系列。請查看下方的圖15了解完整列表。
圖13:簡單的LabVIEW FPGA結構框圖
片上射頻網絡(RFNoC)框架
對于開源USRP用戶而言,首選的FPGA編程方法是使用RFNoC框架。 LabVIEW FPGA等RFNoC是一種數據接口兼命令抽象框架,可簡化將IP添加到USRP中的流程,而無需從頭重新構建整個FPGA板支持包。顧名思義,數據作為壓縮報頭網絡包從無線電流經FPGA。RFNoC框架的核心是一個交叉開關矩陣接口,讓用戶只需將新IP導入交叉開關矩陣,即可將數據路由到其他IP塊或讓數據傳入傳出主機。網絡交叉開關矩陣設計降低了將數據和命令傳入傳出主機的復雜性。
如果您偏愛使用Vivado和RFNoC來為USRP的FPGA編程,請考慮為您的應用使用USRP X300、USRP E300、USRP N300以及NI Ettus USRP X410系列。
圖14: 與GNU Radio集成的RFNoC概念結構框圖
圖15:NI和Ettus Research USRP型號矩陣
結論
SDR是強大的無線研究、設計、原型驗證和開發工具。由于存在許多選項,為應用挑選合適的無線電需要考慮很多因素。然而,只要仔細評估本技術白皮書中列出的各種軟件和硬件因素,您一定能使用市場上最流行的開放式SDR。
審核編輯:郭婷
評論
查看更多