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