NI和EttusResearchUSRP设备之间的区别

NI和EttusResearchUSRP设备之间的区别

概述

USRP(通用软件无线电外设)设备是业界领先的商软件定义无线电(SDR)。全球数以千计的工程师使用USRPSDR来快速设计、原型设计和部署无线系统。它们以两个不同的品牌进行营销和销售:NI和EttusResearch。让我们来探讨一下不同的NI USRP SDR,如USRP-2954和Ettus Research USRP,如USRPN320。

介绍

NI和Ettus Research USRP之间的主要区别如下图所示:

模块化硬件与预组装硬件

NI和Ettus Research的USRPSDR在硬件上有两个主要的区别:硬件的交付方式和哪些硬件选项可用。

NI编号

Ettus  Research号

不适用

B200迷你/B205迷你

USRP-2900型

B200型

USRP-2901型

B210型

USRP-2920型

N210和WBX

USRP-2921型

N210和XCVR2450

USRP-2922型

N210和SBX

USRP-2930型

N210和WBX以及GPSDO

USRP-2932型

N210、SBX和GPSDO

不适用

N310型

不适用

N320/N321型

USRP-2974型

USRP-2974型

USRP-2940型

X310和WBX

USRP-2942型

X310和SBX

USRP-2943型

X310和CBX

USRP-2944型

X310和UBX

USRP-2945型

X310和TwinRX

USRP-2950型

X310、WBX和GPSDO

USRP-2952型

X310、SBX和GPSDO

USRP-2953型

X310、CBX和GPSDO

USRP-2954型

X310和UBX以及GPSDO

USRP-2955型

X310和TwinRX以及GPSDO

不适用

E310/E311/E313/E320型

NIUSRP SDR是预装在机箱内的,而一些Ettus Research USRP则以模块形式出售,其射频子板和母板单独出售。例如,NI的USRP-2945与X310主板和两个TwinRX子板的硬件相同。

预组装USRPSDR的优点之一是,在发货之前,设备作为组装单元进行生产测试;但是,当它作为套件出售时,每个组件都经过单独测试。但是,单独购买主板和子板提供了更大的灵活性,因为某些组合不能作为单个预组装设备提供。一些以Ettus Research名义销售的最新、最先进的无线电设备(如USRPN310、USRPN320、USRPN321和新款NIEttusUSRPX410)仅作为预组装无线电出售。

两全其美:新的NI和Ettus Research无线电技术

NIEttus USRPX410是新系列中的首款结合了NI和EttusResearch的优势。该预装的无线电程序支持各种流行的开源工具流程,如USRP硬件驱动程序(UHD)和GNURadio以及LabVIEW。新款SDR基于XilinxZynqUltraScale+射频片上系统(RFSoC)构建,并配备了高性能RF发送器和接收机硬件,可提供NI迄今为止最强大的软件定义无线电。RFSoC为嵌入式处理器和可编程FPGA奠定了基础,并与数据转换器(模数转换器/数模转换器)集成。四核Arm®处理器有助于使用外部主机进行独立操作(嵌入式模式)或基于主机的模式来运行应用程序。

LabVIEW编程与开源软件的比较

虽然NI和Ettus Research的各种USRP模型都基于相同的无线电硬件,但软件支持和用户偏好也各不相同。NIUSRP设备主要被LabVIEW用户采用NI-USRP LabVIEW驱动程序。Ettus Research设备由通用的开源UHD支持。除了这两个选项之外,NI和EttusResearch无线电还可以选择利用强大的MATLAB®设计环境。

USRP LabVIEW工具流程的优势

抽象的LabVIEW设计环境可帮助加速无线系统设计,使没有HDL设计专业知识的人员也能够进行FPGA编程。如果您想要合并第三方IP,例如MathWorksMATLAB软件或VHSIC硬件描述语言(VHDL)代码,则可以直接从LabVIEW导入它,以提供更高层次的起点并加速您的应用程序设计。

USRP开源工具流程的优势

所有Ettus Research的USRPSDR和NI USRP SDR均受UHD支持UHD,UHD由NI根据开放源码许可协议发布。此驱动程序有助于在C/C++的USRP硬件上进行应用程序开发,并为多个行业标准开发环境和框架提供跨平台支持,例如射频片上网络(RFNoC)、GNURadio、HDLCoder以及MathWorksMATLAB和Simulink®软件。作为双重许可软件,UHD可在开源GNU通用公共许可证版本3下使用,并为部署Ettus Research硬件的批量OEM客户提供替代的、限制较少的许可证。

虽然UHD原生支持NI USRP SDR,但您也可以为EttusResearch的USRPSDR提供等效的NI来使用LabVIEW工作流程。

尽管所有NI USRP SDR都支持原生UHD,但该单元附带的FPGA映像可能与最新版本的驱动程序不兼容。请检查每个设备的固件和FPGA映像,以确保UHD正常工作。

详细了解如何将此开源软件与Ettus软件定义无线电结合使用,以对多通道无线通信系统进行原型设计。

有关受支持软件的摘要,请参阅表3。

USRP硬件驱动程序

NI-USRP的

操作系统

Windows
、Linux、
  MacOS

Windows
  NILinux实时

编程语言―主机

GNURadio
  C/C++
  MATLAB
软件/Simulink
软件
  Python

LabVIEW2018及更高版本

编程语言―FPGA

VHDL
  Verilog
RFNoC(开源FPGA框架)

LabVIEW FPGA


3.NI和Ettus Research驱动软件支持比较

总结

尽管这两个品牌看起来截然不同,但Ettus Research品牌和NI品牌下的USRPSDR更像是相似之处,而不是不同之处。在这两种情况下,硬件是相同的,并且在大多数情况下,NI-USRP驱动程序和UHD都支持两组硬件。

这是LabVIEW的一个功能介绍,更多的使用方法与开发案例,欢迎登录官网,了解更多信息。有需要LabVIEW项目合作开发,请与我们联系。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/146004.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【电源专题】低功耗设备如何解决POE协议要求的PD最小功耗?

要让PD正常工作起来除了需要与PSE握手协商外,还要求PD有一个最小功耗输出。 其原因是如果PD没有在一定时间内给出一个最小功耗,那么PSE将会认为PD设备断开而自动关闭,将功率分配给其他网口。对于不同的类别PD,其要求也不一样。如下所示为Type 1/2/2/4最小电流的要求:如类…

力扣 225. 用队列实现栈(C语言实现)

目录 1.解题思路2.代码实现 1.解题思路 这道题如果使用C会好写的多,因为可以使用C提供的队列来实现,但如果使用C语言则必须手写一个队列来实现,在这里我用了我前面文章中实现好的队列来解答,首先因为队列是先进先出,而…

您的计算机已被Mallox勒索病毒感染?恢复您的数据的方法在这里!

尊敬的读者: 随着科技的迅速发展,网络安全问题日益凸显,其中勒索病毒是一种极具威胁性的恶意软件。在这些勒索病毒中,.mallox 勒索病毒尤为突出,它能够加密用户的数据文件,要求支付赎金才能解密。本文将介…

2021年03月 Scratch(一级)真题解析#中国电子学会#全国青少年软件编程等级考试

一、单选题(共25题,每题2分,共50分) 第1题 花花幼儿园有三个班。根据下面三句话,请你猜一猜,哪个班级人数最多? (1)中班比小班少 (2)中班比大班少 (3)大班比小班多 A:小班 B:中班 C:大班 D:三个班级一样多 答案:C 根据(1)(2)可以知道中班人数最少,根…

功能测试自动化测试流程

1概述 本流程是描述软件功能自动化测试过程中的步骤、内容与方法,明确各阶段的职责、活动与产出物。 2流程活动图 3活动说明 3.1测试计划(可选) 与以前的测试计划过程一致,只是在原来的测试计划中,添加对项目…

驾驭数据与人工智能是人才培养的时代命题

2023年11月11日全国近千名计算机教育工作者共聚“海南博鳌亚洲论坛大酒店”,以“产教融合,供需共赢”为主题,“服务国家创新驱动发展,顺应全球新一轮科技革命和产业变革的趋势,培养集学科、技术和产业需求相融合的IT新…

二十、泛型(7)

本章概要 动态类型安全泛型异常混型 C 中的混型与接口混合使用装饰器模式与动态代理混合 动态类型安全 因为可以向 Java 5 之前的代码传递泛型集合,所以旧式代码仍旧有可能会破坏你的集合。Java 5 的 java.util.Collections 中有一组便利工具,可以解…

前端NaN解决方案

// 2.3 函数表达式可以传递参数还可以有返回值,使用方法和前面具名函数类似let sum function (x, y) { // 形参xx||0yy||0return x y}let re sum() // 实参console.log(re) // 3 function sum(x 0, y 0) {return x y}console.log(sum()) // 0console.log(s…

队列与二值信号量

一、队列简介:队列也称为消息队列,是一种用于消息间进行通信的数据结构,队列可以用于任务与任务之间、中断与任务之间传递消息,队列通常采用先进先出(FIFO)的数据缓冲机制。 二、队列常见的API函数 1.创建…

软磁直流测试系统全自动测量软件

软磁直流测试系统软件能够运行于 Windows 系统下作界面全中文提示,操作直观简捷。全自动控制与计算,智能化判断,最大限度消除人工操作所带来的误差。自动测量:Bm、Br、Hc、μi、μm 等静态磁特性参数;并绘制磁滞回线、…

让公有云服务“宁安如梦”的“定心丸”在哪里?

电视剧《宁安如梦》正在热播中,该剧讲述了主人公在经历人生的重大风险后,重获新生再活一遍,以确定性的方式抵御和化解原有的重大风险。然而,在现实的生活中,却没有这样的重来机会。 2023年11月13日,Gartne…

Unity中Shader雾效的实现方法三

文章目录 前言一、声明雾效所需要的内置变体二、在 v2f 中,定义 float4 worldPos :TEXCOORD1三、在顶点着色器中添加,会自动取o.worldPos.w裁剪空间下的坐标z值.在这里插入图片描述 四、在片元着色器,添加以下两句话1、UNITY_EXTR…

算法笔记-其他高效的技巧与算法(未处理完)

算法笔记-其他高效的技巧与算法 前缀和 前缀和 #include <cstdio> #include <vector> using namespace std; const int MAXN 10000; int n, a[MAXN]; int sum[MAXN] { 0 };int main() {scanf("%d", &n);for (int i 0; i < n; i) {scanf("…

社区牛奶直供站:创新供应链,满足消费者需求

社区牛奶直供站&#xff1a;创新供应链&#xff0c;满足消费者需求 社区牛奶直供站模式彻底改变了传统的多级经销链条和流通加价环节&#xff0c;通过削减中间环节&#xff0c;以相对低价直接供应牛奶给消费者。这样做实现了从奶企源头直接供应到社区家庭的目标&#xff0c;精准…

记录第一次

1.看接口 看控制台 报错吗&#xff1f; 控制台 空指针报错 前端控制台 2.找报错 看哪里报的错误&#xff0c;控制台的错误&#xff08;空指针报错&#xff09; 错误问题&#xff1a; 3.分析业务 业务问题 一定要问&#xff0c; 4. 找到出错点

以阿里云全球故障为例,聊聊如何保障 Auth 服务的 SLA

在刚刚过去的“双十一”购物狂欢季&#xff0c;阿里云经历了一次大规模故障&#xff0c;导致阿里系产品集体中断服务。据报道&#xff0c;11 月 12 日&#xff0c;淘宝、钉钉、闲鱼、阿里云盘等阿里系产品出现无法使用的问题&#xff0c; “阿里全系产品崩了” 的话题迅速引发众…

【仙逆】藤化元嗜杀王林族人,白发暴怒加持,王林觉醒极境杀戮

Hello,小伙伴们&#xff0c;我是小郑继续为大家深度解析国漫资讯。 深度爆料&#xff0c;《仙逆》第十话最新剧情解析&#xff0c;藤化元因王林杀死藤厉并夺取其修为而大怒&#xff0c;他发誓要追杀王林到天涯海角&#xff0c;将其千刀万剐。他召集了门人弟子&#xff0c;下达了…

Nacos漏洞复现合集

本文主要复现nacos的一些经典漏洞&#xff0c;既是分享也是为了记录自己的成长&#xff0c;近期会持续更新。 1. QVD-2023-6271 Nacos身份绕过漏洞 1.1 漏洞级别 &#xff1a;高危 1.2 漏洞描述&#xff1a;低版本的Nacos存在默认的scertkey在未更换的情况下可以生成任意的可…

Duplicate keys detected: ‘0‘. This may cause an update error

Duplicate keys detected: ‘0’. This may cause an update error.当遇到该节点内容更新时&#xff0c;会因为重复的key导致无法更新。 该错误&#xff0c;是因为同级节点下存在两个由0开始的key&#xff0c;当遇到该节点内容更新时&#xff0c;会因为重复的key导致无法更新。…

C语言--每日五道选择题--Day12

第一题 1、如下程序的功能是&#xff08; &#xff09; #include <stdio.h> int main() {char ch[80] "123abcdEFG*&";int j;puts(ch);for(j 0; ch[j] ! \0; j){if(ch[j] > A && ch[j] < Z){ch[j] ch[j] e - E;}}puts(ch);return 0; } A…