如何​选择​合适​的​USRP

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

我​从​何处​入手?

​哪一​款​通用​软件​无线​电​外​设​(USRP)​适合​我?

​我​应该​使用​哪​种​软件​开发​工具?

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

软件​无线​电​简介

软件​无线​电​是​一种​无线​设备,​通常​用于​无线​研究​的​原型​验证​和​部署​应用​程序。​SDR​通常​用于​通信、​新一代​雷达、​电子​战​(EW)、​空​口​(OTA)​测试​和​5G​研究​等​领域。​大部分​SDR​具有​通用​的​硬件​架构,​其中​包括​不同​性能​的​通用​处理​器​(GPP)、​FPGA​以及​RF​前端。

图​1.SDR​的​标准​硬件​架构

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

  • LabVIEW
  • 使用​开​源​硬件​驱动​程序​的​C/​C​+​+或​Python
  • Redhawk​或​GNU Radio​等​开​源​SDR​框架
  • MathWorks MATLAB®软件
  • 软件​开发​工具​和​操作​系统​可以​帮助​确定​哪一​款​无线​电​最​适合​您​的​应用​程序。

    ​许多​应用​程序​需要​使用​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​可​了解​每​个​型号​的​细​分​情况。

    图​3: 基于​RFSOC​打造​的​Ettus USRP X410​是​一​款​高​频率​带​宽​SDR,​中心​频率​最高​可达​7.2 GHz。

    价格​和​性能​的​权衡

    在​选择​USRP​设备​时​需要​权衡​利弊,​特别​是​要​权衡​价格​和​性能。 如果​您​需要​高​性​价​比​的​无线​电,​并且​没有​高级​FPGA​或​高​带​宽​方面​的​需求,​那么​NI USRP 290x​或​Ettus Research B200mini​都是​不错​的​选择。​如果​您​需要​最高​的​带​宽,​高达​7.2 GHz​的​频率,​NI Ettus USRP X410​可能是​最​合适​的​选择。 介​于​这​两​款​例​举​的​型号​之间​还有​很多​选择。 下面​的​图​15​介绍​了​所有​型号​的​细​分​情况。

    图​4:​低​SWaP-​C​的​USRP B200​和​USRP B200mini SDR

    独立​的​或​已​连接​主机​的​SDR​选项

    USRP​被​视为​是​一种​计算​机​外​设,​可​将​软件​与​电磁​频​谱​相连。​自​第​一个​USRP​问世​以后,​应用​一直在​发展,​许多​应用​需要​板​载​嵌入式​处理​器。​如果​您​应用​中的​SDR​分布​在​集中​式​控制​系统​之外​或​单独​部署,​则​您​可能​需要​此​独立​配置。​如果​独立​配置​是​必要​的,​则​您​需要​决定​Xilinx Zynq​多​处理​器​片上​系统​(MPSOC)​或​射频​片上​系统​(RFSOC)​是否​足够,​或者​您​是否​需要​强大​的​板​载​Intel X86​处理​器。​图​1​介绍​了​各种​型号​及其​板​载​处理​器​的​细​分​情况,​可​参考​USRP​规格​文​档​了解​更多​信息。

    表​1:​搭载​板​载​处理​器​的​可​独立​式​USRP​型号

    图​5: 内​置​Intel Core i7​的​USRP 2974​独立​式​SDR

    有​加固​需求​的​严苛​环境

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

    图​6: 嵌入式​系列​USRP E320

    多​通道​同步

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

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

    图​7:​采用​内​置​LO​配​电​接口​的​USRP N320​和​N321

    当​需要​全​相位​相干​运行​时,​您​有​两​种​可以​考虑​的​选择。​如果​您​需要​最多​四​个​通道​的​仅​接收​操作,​具有​两​个​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​软件​无线​电​实现​全局​同步​和​时钟​驯服。”

    图​9:​采用​板​载​GPS​驯服​的​振荡​器​的​USRP X310

    内​嵌​信号​处理​和​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​的​比较

    图​10:​跨​NI FPGA​产品​的​FPGA​资源​的​比较

    软件​选项

    ​可​编​程​性​是​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。

    文章来源:NI官网

    最新文章

    最新文章