ni.com is currently undergoing scheduled maintenance.

Some services may be unavailable at this time. Please contact us for help or try again later.

如何选择合适USRP

概述

如果您计划开发一个无线应用程序,并且需要选择一款软件无线电(SDR),您可能会面临一些疑问,例如:

  • 如何开始?
  • 哪一款通用软件无线电外设(USRP)适合我?
  • 我应该使用哪种软件开发工具?

本技术白皮书介绍了各种USRP型号之间的主要差异,可以帮助您选择合适的无线电。 

内容

什么USRP?

​通用软件无线电外设(USRP)属于NI软件无线电产品系列。 软件无线电是一种无线设备,通常用于无线研究的原型验证和部署应用程序。SDR通常用于通信、下一代雷达、电子战(EW)、无线(OTA)测试和高级无线通信研究。大部分SDR具有通用的硬件架构,其中包括不同性能的通用处理器(GPP)、FPGA以及RF前端。 NI提供多种不同的USRP硬件型号,从小型、低成本设备到高端、多通道带大型FPGA的无线电设备。 所有NI USRP具有相同的核心硬件架构,如图1所示。 

USRP设备结构框图

图1. SDR的典型硬件架构

针对主机应用程序代码开发,工程师使用以下常见工具:

  • NI LabVIEW
  • C/C++或Python与开源硬件驱动程序
  • Redhawk或GNU Radio等开源SDR框架
  • MathWorks® MATLAB®软件和Wireless Testbench™软件

软件开发工具和操作系统将决定哪一款无线电最适合您的应用程序。

许多应用程序需要使用FPGA设备进行信号处理硬件加速。多款USRP具备这项功能,它们均提供了众多FPGA开发选项,稍后将更详细地介绍这一点。

图2概述了USRP上可用的软件和FPGA开发的通用工具流程。

SDR的软件和FPGA选项框图

图2. SDR的软件和FPGA选项

NI和Ettus Research Universal Software Radio Peripheral (USRP)产品是一系列软件无线电,旨在满足广泛的无线原型验证和部署需求。让我们来了解各种硬件和软件的注意事项,以帮助您选择合适的无线电。 

如何选择USRP硬件

在为您的应用程序挑选合适的USRP设备时,最好先考虑一些与信号参数、大小、重量、功率、成本(SWaP-C)、性能和环境应用要求相关的问题。

问题1:我需要多大的中心频率和带宽?这个问题很容易回答,但第二个问题就复杂多了:我打算如何将信号数据移至设备上,或将其移出设备?

为此,我们需要关注数据接口的重要性。例如,USRP-290x型号通过USB连接到主机,并且受到该接口的最大持续带宽的限制;而 Ettus USRP X440配备两个100 GbE接口,可传输更多的数据。

想要了解有关USRP接口带宽注意事项的更多内容,请查阅Ettus Research知识库上USRP带宽和采样率

​大多数USRP设备的最高频率高达6 GHz甚至更高;NI Ettus USRP X420提供最高频率覆盖范围并支持高达20 GHz。 在低频端,部分无线电的频率可低至75 MHz,有些甚至可低至直流频率,具体情况取决于使用的模拟芯片组。查看表3可了解每个型号的细分情况。

图3. 基于RFSoC打造的Ettus USRP X420是一款高频率带宽SDR,中心频率最高可达20 GHz。

价格性能权衡

​在选择USRP设备时需要权衡利弊,特别是要权衡价格和性能。如果您需要高性价比的无线电,并且没有高级FPGA或宽带宽方面的需求,那么NI USRP 290x或Ettus Research B200mini都是不错的选择。如需要高于6 GHz的最大带宽和频率,NI Ettus USRP X410支持7.2 GHz;X300系列主板的OBX子板支持8.4 GHz;X420支持20 GHz。 除这些范例外,还有许多其他选择。 表3列出了所有型号的完整细目。

低SWaP-C的USRP 2901和USRP B200mini SDR

图4. 低SWaP-C的USRP 2901和USRP B200mini SDR

如需要尽可能宽的瞬时带宽,NI Ettus USRP X440可满足需求。除了这些范例之外,还有许多其他选项;表3提供了所有型号的完整分类。

Ettus USRP X440

图5. Ettus USRP X440使用直接采样收发器架构,每通道带宽高达1.6 GHz。

独立连接主机SDR选项

USRP被视为一种计算机外设,可将软件与电磁频谱相连。自第一个USRP问世以后,应用一直在发展,许多应用需要板载嵌入式处理器。如果您应用中的SDR分布在集中式控制系统之外或单独部署,则您可能需要此独立配置。

​如果独立是关键要求,请参阅表1,以帮助您确定是否需要功能强大的Intel® X86板载处理器,如图6所示。

无线电型号板载处理器

NI USRP N320、NI USRP N321、NI USRP N310

AMD Zynq 7100 MPSoC

NI USRP E320

AMD Zynq 7045 MPSoC

​NI Ettus USRP X410,NI Ettus USRP X420,NI Ettus USRP X440

​AMD Zynq UltraScale+™ RFSoC ZU28DR

NI USRP 2974

​Intel Core™ i7 6822EQ(2 GHz四核)

表1. 搭载板载处理器的独立式USRP型号


内置Intel Core i7的USRP 2974独立式SDR

图6. 内置Intel Core i7的USRP 2974独立式SDR

加固需求严苛环境

尽管许多USRP用于实验室,但一些应用需要在户外或更严苛的环境下操作。如果您的应用需要在更高的操作温度下运行,或者无法依靠气冷系统,您可以考虑为应用使用Ettus Research嵌入式系列。此外,在Ettus Research品牌下,可以选择配置USRP B206mini来适应更高的温度范围,并使用工业级铝制外壳组件,以实现低SWaP运行。另外,如果您需要面临极端环境的挑战,我们愿意为您引荐我们经验丰富的加固产品合作伙伴;请联系我们以探讨这些选项。

USRP E320

图7. 嵌入式系列USRP E320

通道同步

许多应用需要具有不同同步级别的多输入多输出(MIMO)配置。一些MIMO系统只需要共享时钟来用于ADC和DAC;而其他系统则需要每个通道被锁定到一个通用时钟和本地振荡器以实现全相位相干运行。

​常见的MIMO应用适用于使用空间多路复用的通信。因为这只需要时钟同步,大多数USRP有一个外部的10 MHz参考时钟就足够了。有一款这样的系统是由布里斯托大学和隆德大学合作打造的,他们使用基于SDR的大规模MIMO系统打破了无线频谱效率的世界纪录。在此应用中使用的系统是由使用板载FPGA的NI USRP软件无线电设备组成的。

USRP N320和N321

图8. 采用内置LO配电接口的USRP N320和N321

​当需要全相位相干运行时,您有两种可以考虑的选择。如果您需要最多四个通道的仅接收操作,具有两个TwinRX子板的Ettus Research USRP X310可以设置为共享LO并以相位相干的方式运行。 如用户要求高达1 GHz的带宽或高于6 GHz的频率覆盖,X420支持LO共享且可实现小于1度/平方根(RMS)的相位相干。X420具有2个RF通道,可用于构建更大的通道计数系统。 如果需要超过四个通道,则可以考虑一下图8中所示的Ettus Research USRP N320和N321或NI Ettus USRP X440。由于USRP X440使用直接采样中频(IF)架构构建,可通过在最多8个传输通道和8个接收通道之间共享采样时钟来实现同步。它适用于与外部提供参考时钟信号的多设备同步。

USRP N321配备了内置LO分布硬件,允许最高128 x 128相位相干运行:一个32 x 32的配置范例如图9所示。

Ettus Research USRP N321可帮助实现显示相位相干运行的结构框图图9。 USRP N320和N321多通道相位相干系统

分布无线同步

在一些应用中,无线电需要同步,但它们并不位于一处。在这些情况下,全相位相干运行是一项挑战;但是有了GPS驯服的振荡器(GPSDO),可以通过基于GPS的同步获取频率和相位稳定性。许多USRP型号出厂配备GPSDO。要了解更多信息,可查阅“利用NI USRP-293x软件无线电实现全局同步和时钟驯服”。

采用板载GPS驯服的振荡器的USRP X310

图10. 采用板载GPS驯服的振荡器的USRP X310

信号处理FPGA注意事项

​有些应用的处理要求最适合板载FPGA。这些应用通常有宽信号带宽或低/确定性延时需求。在这种情况下,挑选能够对FPGA进行编程的无线电很重要。许多USB和更低成本的USRP型号,如USRP B206mini,都是用更小的FPGA设备构建的,因此没有空间添加用户代码。许多更高端的无线电配备了Kintex™ 7类设备,一直到基于AMD Zynq UltraScale+ RFSoC的最先进的Ettus USRP X410、X420、和X440。基于AMD Zynq构建的设备包含其他内核,例如板载软判决前向纠错(SD-FEC)、multi-Arm® processor以及内置ADC和DAC。

USRP型号板载FPGA

USRP N320、USRP N321、USRP N310

​AMD Zynq 7100 MPSoC

USRP E320

​AMD Zynq 7045 MPSoC

​Ettus USRP X410,USRP X420,USRP X440

​AMD Zynq UltraScale+ RFSoC ZU28DR

USRP 2974、USRP X310

​AMD Kintex 7 410T

 

表2. 启用FPGA的USRP的比较

 

图11. 跨NI FPGA产品的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型号和配置可能不受支持;可以参见下面的图1。

使用具有NI-USRP驱动程序API的LabVIEW对Ettus Research USRP进行编程

图12. 具有NI-USRP驱动程序API的LabVIEW屏幕的结构框图

使用工作程:USRP硬件驱动程序(UHD)GNU Radio

​许多SDR用户更喜欢使用基于C/C++和Python构建的基于文本的开源工具流来为USRP硬件编程。所有NI和Ettus Research USRP型号均支持USRP硬件驱动程序(UHD),可轻松集成到开源社区开发的工具中,如GNU Radio,如图13所示。

GNU Radio是专为SDR开发人员打造的开源工具。虽然USRP不是GNU Radio支持的唯一无线电,但它是最受欢迎且经过测试的。要了解更多关于GNU Radio的信息,请访问gnuradio.org,要查看所有现有社区共享的GNU Radio的IP,请访问cgran.org

适用于SDR开发人员的开源软件截图

图13. GNU Radio配套流程图

使用MATLAB编程

如MATLAB是您编程的首选工具,MATLAB和MathWorks Simulink™软件可连接至USRP软件无线电系列,以提供无线电在环环境并通过不同的附加解决方案支持不同的USRP模型。

Wireless Testbench支持USRP N3xx、X3xx和X4xx,可为测试宽带无线系统和频谱监控提供支持,具有高速数据传输和捕捉功能。Wireless Testbench还允许用户将滤波器、同步器等自定义IP块与RF片上网络(RFNoC™)集成至USRP FPGA上的信号处理链(使用MathWorks HDL Coder™)。

MathWorks Communications Toolbox™支持USRP N2xx和B2xx设备,支持SDR系统设计和原型开发。该支持允许用户通过MATLAB和Simulink发送和接收无线信号,从而帮助收发器设计和启用波形测试。

Communications Toolbox提供USRP E310设备支持,方便SDR系统的原型设计和测试。该支持为E310启用HDL代码生成,从而在该无线电上部署无线系统。

FPGA注意事项

​许多USRP都配备了大型FPGA,有足够的空闲容量,允许用户嵌入特定于其应用程序的内联信号处理。如硬件部分所述,一些USRP配备了AMD Zynq SoC设备,一些则配备了传统的FPGA架构,如Kintex 7。可以通过两种方法访问USRP上的FPGA:LabVIEW FPGA(适用于部分USRP)和RF片上网络(RFNoC)框架。

与许多FPGA开发板或COTS FPGA板不同,USRP基于通用FPGA框架构建,提供更高级的抽象能力。这消除了从基本FPGA板卡支持包构建基于FPGA的系统时遇到的一些复杂性。

LabVIEW FPGA

LabVIEW FPGA是LabVIEW的附加软件,允许在NI USRP RIO设备上对FPGA进行图形化编程;一个简单的程序框图如图14所示。虽然用户必须熟悉FPGA的概念,如定点数学和时钟逻辑,但LabVIEW不仅可将硬件和数据接口抽象化,还可简化寄存器配置和数据移动。LabVIEW FPGA的优势是能够使用统一的开发工具链同时为主机和FPGA编程。

是否有想要利用的旧版IP?LabVIEW FPGA可以通过组件级IP(CLIP)节点导入外部VHDL或Verilog,允许导入非LabVIEW IP。此外,LabVIEW允许AMD Vivado项目导出,供专家用户直接在Vivado工具内使用。

如果LabVIEW FPGA是您选择用于主机编程的工具,请注意,它仅限于在基于Windows的操作系统中使用。许多Ettus Research设备在LabVIEW或LabVIEW FPGA下不受支持,例如USRP N300和USRP E300系列。完整的列表见表3。

FPGA结构框图的LabVIEW截图

图14. 简单LabVIEW FPGA程序框图

片上射频网络(RFNoC)框架

​对于开源USRP用户而言,首选的FPGA编程方法是使用RFNoC框架。 LabVIEW FPGA等RFNoC是一种数据接口兼命令抽象框架,可简化将IP添加到USRP中的流程,而无需重新构建整个FPGA板卡支持包。顾名思义,数据作为压缩报头网络包从无线电流经FPGA。RFNoC framework的核心是一个交叉开关矩阵接口,让用户只需将新IP插入交叉开关矩阵,即可将数据路由到其他IP块或让数据传入传出主机。如图15所示。 网络交叉开关矩阵设计降低了将数据和命令传入传出主机的复杂性。

​如果您偏爱使用Vivado和RFNoC来为USRP的FPGA编程,请考虑为您的应用使用USRP X300系列、USRP E300系列、USRP N300以及Ettus USRP X400系列。

​了解如何使用RFNoC、UHD和USRP N300设备进行原型设计多通道无线通信系统的详情。

显示RFNoC工作流的结构框图

图15. 与GNU Radio集成的RFNoC概念结构框图

片上射频网络(RFNoC)框架

使用Simulink工作流在NI USRP无线电的FPGA上部署自定义SDR算法。使用MATLAB对象和函数运行和验证设计。

USRP硬件软件概述

表3显示了不同USRP硬件和支持软件的矩阵图。

 

表3.USRP硬件和支持的软件

USRP选择关键要点

SDR是强大的无线研究、设计、原型验证和开发工具。由于存在许多选项,为应用挑选合适的无线电需要考虑很多因素。然而,只要仔细评估本白皮书中列出的各种软件和硬件因素,您一定能使用市场上最流行的开放式SDR。 

类型NI USRP型号NI Ettus USRP型号#Tx#Rx频率范围带宽LabVIEWLabVIEW FPGAOSS-UHDOSS-FPGAWireless Testbench
独立运行,支持FPGA,高性能USRP X4408830 MHz~4 GHz1.6 GHz   
USRP X4202210 MHz~20 GHz1 GHz   
USRP X410441 MHz~7.2 GHz400 MHz     
不适用USRP N320、USRP N321223 MHz~6 GHz200 MHz    
不适用USRP N3104410 MHz~6 GHz100 MHz    
USRP-2974N/A2210 MHz~6 GHz160 MHz    
主机连接,支持FPGA,高性能USRP-2944USRP X310 + UBX2230 MHz~6 GHz160 MHz     
USRP-2945USRP X310 + TwinRX0410 MHz~6 GHz80 MHz     
USRP-2954USRP X310 + UBX + GPSDO2230 MHz~6 GHz160 MHz     
USRP-2955USRP X310 + TwinRX + GPSDO0410 MHz~6 GHz80 MHz     
NAUSRP X310 + OBX2210 MHz~8.4 GHz160 MHz   
低SWAP,独立嵌入式不适用USRP E3202270 MHz~6 GHz56 MHz  
低SWAP,低成本,USB连接不适用USRP B206mini1170 MHz~6 GHz56 MHz  
USRP-2900USRP B2001170 MHz~6 GHz56 MHz  
USRP-2901USRP B2102270 MHz~6 GHz56 MHz