USRP 简介,对于NI软件无线电你所需要了解的一切

在这里插入图片描述

什么是 USRP

通用软件无线电外设( USRP ) 是由 Ettus Research 及其母公司National Instruments设计和销售的一系列软件定义无线电。USRP 产品系列由Matt Ettus领导的团队开发,被研究实验室、大学和业余爱好者广泛使用。
在这里插入图片描述

大多数 USRP 通过高速链路连接到主机,基于主机的软件使用该链路来控制 USRP 硬件并传输/接收数据。一些 USRP 型号还将主机的一般功能与嵌入式处理器集成在一起,允许 USRP 设备以独立方式运行。

USRP 系列专为可访问性而设计,并且许多产品都是开源硬件。部分 USRP 型号的电路板原理图可免费下载;所有USRP产品均由开源UHD驱动程序控制,该驱动程序是免费的开源软件。[2] USRP 通常与GNU Radio软件套件一起使用来创建复杂的软件定义无线电系统。

官网链接:
Ettus Research
National Instruments

软件无线电是RF收发仪,支持先进无线应用的快速原型验证和部署。SDR可用于无线通信、部署信号智能系统或作为多通道测试台的构建块。

USRP 可以用来做什么

  • 通信教学,大家学的调制解调,可以真实的收发信号。
  • 通信科研,你研究新的通信方式,可以用它来实现。
  • 搭建2G基站,使用 OpenBTS
  • 搭建4G、5G基站,使用 Eurecom OpenAirInterface (OAI)
  • 搭建GPS模拟器,使用 GNSS
  • 接收航天信号,使用ADS-B
  • 私人电台

USRP 全型号

提供软件定义的RF架构,可实现自定义信号处理,进而快速设计、原型化和部署无线系统。

USRP软件无线电设备是一种可重配置的RF设备,将基于主机的处理器、FPGA和RF前端集为一体。USRP软件无线电设备提供从具有固定FPGA功能的低成本选项到具有大型开放式FPGA和宽瞬时带宽的高端无线电等各种选项。这些设备可用于多输入多输出(MIMO)和LTE / WiFi测试台、信号情报和雷达系统等应用。

型号Part number价格RF频率范围RF收发仪瞬时带宽FPGA输入通道数量输出通道数量总线连接器GPSDO
Ettus USRP X410787272-01CNY 215550.01 MHz 至 7.2 GHz400 MHzZynq US+ RFSoC (ZU28DR)44以太网 PCI Express
Ettus USRP X440788670-01CNY 189000.030 MHz 至 4 GHz1.6 GHzZynq US+ RFSoC (ZU28DR)88以太网
USRP-2900784039-01CNY 13850.070 MHz 至 6 GHz56 MHz11USB 2.0 USB 3.0
USRP-2901784040-01CNY 20275.070 MHz 至 6 GHz56 MHz22USB 2.0 USB 3.0
USRP-2920781906-01CNY 44460.050 MHz 至 2.2 GHz20 MHz11以太网
USRP-2921781907-01CNY 41510.02.4 GHz 至 2.5 GHz 4.9 GHz 至 5.9 GHz20 MHz11以太网
USRP-2922781909-01CNY 44460.0400 MHz 至 4.4 GHz20 MHz11以太网
USRP-2930781910-01CNY 62470.050 MHz 至 2.2 GHz20 MHz11以太网
USRP-2932781911-01CNY 59505.0400 MHz 至 4.4 GHz20 MHz11以太网
USRP-2940783923-01CNY 105960.050 MHz 至 2.2 GHz120 MHzKintex-7 410T22MXIe 以太网
USRP-2940783146-01CNY —50 MHz 至 2.2 GHz40 MHzKintex-7 410T22MXIe 以太网
USRP-2942783147-01CNY 99815.0400 MHz 至 4.4 GHz40 MHzKintex-7 410T22MXIe 以太网
USRP-2942783924-01CNY 105960.0400 MHz 至 4.4 GHz120 MHzKintex-7 410T22MXIe 以太网
USRP-2943783148-01CNY 99815.01.2 GHz 至 6 GHz40 MHzKintex-7 410T22MXIe 以太网
USRP-2943783925-01CNY 105960.01.2 GHz 至 6 GHz120 MHzKintex-7 410T22MXIe 以太网
USRP-2944783149-01CNY 111830.010 MHz 至 6 GHz160 MHzKintex-7 410T22MXIe 以太网
USRP-2945785263-01CNY 154315.010 MHz 至 6 GHz80 MHzKintex-7 410T40MXIe 以太网
USRP-2950783150-01CNY 118065.050 MHz 至 2.2 GHz40 MHzKintex-7 410T22MXIe 以太网
USRP-2950783926-01CNY 126235.050 MHz 至 2.2 GHz120 MHzKintex-7 410T22MXIe 以太网
USRP-2952783151-01CNY 118065.0400 MHz 至 4.4 GHz40 MHzKintex-7 410T22MXIe 以太网
USRP-2952783927-01CNY 126235.0400 MHz 至 4.4 GHz120 MHzKintex-7 410T22MXIe 以太网
USRP-2953783152-01CNY 120425.01.2 GHz 至 6 GHz40 MHzKintex-7 410T22MXIe 以太网
USRP-2953783928-01CNY 126235.01.2 GHz 至 6 GHz120 MHzKintex-7 410T22MXIe 以太网
USRP-2954783153-01CNY 126915.010 MHz 至 6 GHz160 MHzKintex-7 410T22MXIe 以太网
USRP-2955785264-01CNY 171560.010 MHz 至 6 GHz80 MHzKintex-7 410T40MXIe 以太网

USRP软件无线电独立式设备

使用板载FPGA和处理器为收发器提供确定性控制,以对高性能无线通信系统进行快速原型验证。

USRP软件无线电独立设备包括板载处理器、FPGA和RF前端。该设备可以使用LabVIEW通信系统设计套件或开源软件工作流进行编程,具体编程方法取决于所选择的操作系统。您可以使用NI Linux Real-Time、Linux Fedora或Linux Ubuntu实时操作系统配置该设备。USRP软件无线电独立设备适用于对一系列高级研究应用进行原型验证,其中包括独立的LTE或802.11设备仿真;介质访问控制(MAC)算法的开发;多输入多输出(MIMO);异构网络;LTE中继;射频压缩采样;频谱感测;认知无线电;波束形成和测向。注册商标Linux®的使用获得了Linus Torvalds专属授权商LMI的再授权,Linus Torvalds拥有Linux®注册商标在全球范围内的所有权。

型号Part number价格Description
USRP-2974785606-01CNY 169495.0USRP 2974高性能嵌入式SDR,10 MHz-6 GHz,160 MHz带宽

固件 UHD

USRP 硬件驱动程序 (UHD) 是一个用户空间库,运行在通用处理器 (GPP) 上,并与所有 USRP 设备系列进行通信并进行控制。B、N 和 X 系列 USRP 从主机发送和接收样本,如图 1 所示。由于我们的嵌入式系列 USRP 具有内部 GPP,因此您无需主机即可运行这些无线电(独立模式) 。

USRP 是收发器,这意味着它们既可以发送也可以接收 RF 信号。UHD 提供了必要的控制,用于将用户波形样本传输到 USRP 硬件以及从 USRP 硬件传输用户波形样本,以及控制无线电的各种参数(例如采样率、中心频率、增益等)。

UHD GPP 驱动程序和固件代码采用 C/C++ 编写,而为 FPGA(现场可编程门阵列)开发的代码则采用 Verilog 编写。有一个 C/C++ API 可以与其他软件框架连接,例如 GNU Radio,或者用户可以直接在 UHD C/C++ API 之上简单地构建自定义信号处理应用程序。图 2 说明了这个概念:
在这里插入图片描述
由于UHD的开源特性,整个开发过程也是开放的,可以通过我们的Git版本控制系统来跟踪UHD的开发情况。用户可以选择是否喜欢最新的开发代码(功能最丰富但有时不稳定),或者更全面地测试但不包含最新开发的代码。版本化版本(例如,UHD 版本 3.9.2)大约每两个月发布一次,并且通常仅包含与先前版本相比的错误修复(例如,UHD 3.9.2 具有与 3.9.1 相同的功能集,但更稳定)。这些错误修复版本是在 maint 分支上完成的,这是所有错误修复开发发生的地方。

新功能的开发是在主分支上完成的。即使我们使用持续集成系统来监控其状态,该分支也不应该被认为是稳定的。但是,主分支上的 API 或依赖项要求可能会发生变化。

在功能开发周期结束时,主分支被冻结,并且只有错误修复才会被接受到主分支中。一旦 master 分支被认为是稳定的,maint 分支将重置为 master,并且从之前的 master 分支生成新版本的版本。这通过主版本号跳跃来指示(例如,从 3.8.3 到 3.9.0)。主要版本每年发布 1-2 次,通常伴随新产品发布。

除了 maint 和 master 分支之外,有时还会(临时)发布新功能分支,以深入了解即将推出的功能,并尽早访问新开发。

UHD 软件 API 支持所有 USRP SDR 产品上的应用程序开发。使用通用软件接口至关重要,可以实现代码可移植性,并在开发需求扩展或新系统可用时允许应用程序无缝过渡到其他 USRP SDR 系统。因此,它允许您保留和重用遗留代码,从而显着减少开发工作。UHD 可以安装在 Linux、Windows 或 Mac 上。可以在此处找到这些平台的安装包以及从源代码构建的说明。

Python

兼容Python 2.7及以上版本(支持Python 3)。注意 构建需要 Python,并且 UHD 附带的一些实用程序是用 Python 编写的。一般来说,运行 UHD 应用程序不需要它。

Linux笔记

这取决于您使用的发行版,但大多数(如果不是全部)依赖项应该在您的包管理器的包存储库中可用。有关详细信息, 请参阅Linux 构建说明。

Mac OS X 注释

安装 Xcode 应用程序以获取构建工具(GCC 和 Make)。使用 MacPorts 获取 Boost 和 Mako 依赖项。其他依赖项可以作为 DMG 安装程序从 Web 下载或通过 MacPorts 安装。有关更多信息, 请参阅UHD OS X 构建说明。

Windows 笔记

可以通过可安装的 EXE 文件获取依赖项。通常,Windows 安装程序可以在项目的网站上找到。某些项目不托管 Windows 安装程序,如果是这种情况,请按照 Windows 安装程序的辅助下载 URL(如下)进行操作。有关详细信息, 请参阅Windws 构建说明。

git

需要检查存储库(如果从 tarball 构建则不需要)。

在 Windows 上,安装支持 Git 的 Cygwin 以签出存储库或从http://code.google.com/p/msysgit/downloads/list安装 msysGit 。

构建依赖关系

UHD VersionGCCClangMS Visual C++CMakeBoostLibUSBMakoDoxygenPythonXilinx Vivado
3.9.X>= 4.4>= 3.3>= 2012 (11.0)>= 2.8>= 1.46>= 1.0>= 0.5.0>= 1.8 (recommended)>= 2.7== 2014.4
3.10.X>= 4.8>= 3.3>= 2012 (11.0)>= 2.8>= 1.53>= 1.0>= 0.5.0>= 1.8 (recommended)>= 2.7== 2015.4

UHD 通过使用以太网、USB 和 PCI-Express 等标准接口方法来处理传输 I 和 Q 样本的控制(有关 I 和 Q 样本的信息,请参阅此处)。样本可以以连续流的形式发送,如图 4a 所示,也可以以突发的形式发送,如图 4b 所示。此外,用户还可以使用内置的突发和定时命令来指定何时接收或传输样本。在这里插入图片描述
USRP RF 前端可能支持无法满足所有或许多用户要求的特定频率步长。因此,UHD 在 FPGA 中包含数字上变频 (DUC) 和数字下变频 (DDC) DSP 模块,用于微调 RF 频率(请参阅此处)。这允许用户:

具有亚赫兹射频频率步长
缓解直接转换(零中频)硬件上存在的直流问题(请参阅此处)。
在可用带宽内快速调整

在这里插入图片描述
不同的 SDR 配置、波形和应用需要不同的采样率。例如,用户可能希望监控 100 MHz 的瞬时 RF 带宽,但他们的主机 PC 可能只能分析 20 MHz 的实时带宽。对于这种情况和其他情况,UHD 允许用户设置各种采样率以满足他们的自定义应用程序。在 FPGA 内,UHD 包括抽取和插值模块,以便执行这些采样率转换。

所有直接变频(零中频)射频架构所固有的就是 IQ 不平衡的影响。此处的标题为“正交损伤对 802.11ac EVM 的影响”的视频演示了此属性。在此查找更多信息。总之,使用直接转换架构的设备上的任何给定信号都有两条用于 TX 的路径和两条用于 RX 的路径。一条路径是同相或“I”,另一条路径是正交“Q”,也称为实数和虚数。

在这里插入图片描述
由于组件、温度和其他因素的差异导致了细微的差异,I 和 Q 信号路径会受到不同条件的影响,从而改变初始捕获时存在的原始信号。当 I 或 Q 的相位或幅度发生改变时,结果显示为原始信号中实际不存在的信号。例如,请注意在 GNU Radio Companion 中创建的 GNU Radio Flowgraph 中的以下 IQ 损伤模拟。
在这里插入图片描述
通过使用“HW Impairments”模块,您可以模拟 I 和 Q 信号路径中断时发生的情况。在图 8a 中,没有添加任何损伤。然而,当 I 路径的幅度稍微增加时,您会得到如图 8b 所示的伪影

在这里插入图片描述
在数字领域减轻一些不良影响是可能的。UHD 包含 FPGA 内的功能块,以补偿 IQ 损伤;这些块在图 1 中显示为 IQC 块。用户可以根据经验测量自定义这些模块的参数,或者允许 UHD 执行自动分析并根据内置 IQ 校正算法提供参数。有关详细信息, 请参阅UHD 手册中的以下功能:

uhd_cal_rx_iq_balance:- 最大限度地减少 RX IQ 不平衡与 LO 频率的关系
uhd_cal_tx_dc_offset:- 最大限度地减少 TX DC 偏移与 LO 频率的关系
uhd_cal_tx_iq_balance:- 最大限度地减少 TX IQ 与 LO 频率的不平衡

多个 USRP

UHD 将 USRP 系统上的所有通道视为一个复合设备,从而简化了通道数量的扩展,请参见下图 9。对于 X300/X310,当在此多 USRP 配置中使用 USRP 时,用户可以使用外部时钟源(具有 10 MHz 时钟参考和 PPS 信号)来同步所有设备。

在这里插入图片描述
例如,在 8 通道接收系统中,GNU Radio Companion 中的“USRP Source”块将如下图 10 所示
在这里插入图片描述
通用输入输出 (GPIO) 引脚可以通过 UHD 手动控制,也可以从 UHD 设置为在发生 TX 或 RX 等事件时自动触发。在何处或如何使用此自动触发的示例:当用户将射频放大器连接到 USRP 的 TX 或 RX 端口时,只有当 USRP 正在发射时才能打开放大器。您可以在此处了解有关 E3x0/X3x0 上的辅助 GPIO 的更多信息。

在这里插入图片描述
虽然 USRP 主要是硬件功能,但它可以与第三方的不同 RF 前端连接。通过使用 BasicRX 和 BasicTX 子板,用户可以向第 3 方前端发送或接收基带或 IF(中频)模拟信号。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Lnmp架构

关闭防火墙 安装依赖包 yum -y install pcre-devel zlib-devel gcc gcc-c make 创建运行用户、组 编译安装Nginx 让系统识别nginx的操作命令 添加Nginx系统服务 vim /lib/systemd/system/nginx.service 编译安装mysql 安装Mysql环境依赖包 创建运行用户 编译安装 cd /opt …

无涯教程-机器学习 - Jupyter Notebook函数

Jupyter笔记本基本上为开发基于Python的数据科学应用程序提供了一个交互式计算环境。它们以前称为ipython笔记本。以下是Jupyter笔记本的一些功能,使其成为Python ML生态系统的最佳组件之一- Jupyter笔记本可以逐步排列代码,图像,文本,输出等内容,从而逐步说明分析过程。 它有…

Java课题笔记~ 综合案例

3.综合案例 3.1 功能介绍 以上是我们在综合案例要实现的功能。除了对数据的增删改查功能外,还有一些复杂的功能,如 批量删除、分页查询、条件查询 等功能 批量删除 功能:每条数据前都有复选框,当我选中多条数据并点击 批量删除 按…

设计模式--装饰者模式(Decorator Pattern)

一、什么是装饰者模式(Decorator Pattern) 装饰者模式(Decorator Pattern)是一种结构型设计模式,它允许你在不修改现有对象的情况下,动态地将新功能附加到对象上。这种模式通过创建一个包装类,…

新手小白想要做好跨境电商独立站,需要考虑哪些要素?

对于不少中小卖家而言,利用独立站出海已然成为下一个跨境热潮。但是采用独立站模式做出海生意前,卖家需要考虑哪些要素? 产品选择 对于国内的卖家来说,依托于国内强大的供应链优势,只要能把握住消费者心态&#xff0…

docker安装及使用-Linux

前提 确保docker支持当前系统版本,docker支持centos 7及以上版本,要求Linux内核版本不低于3.10 cat /etc/redhat-release #查看系统版本 查看内核版本三种方式 cat /proc/version uname -a uname -r 一、安装docker 0、卸载docker(根…

SpringBootWeb案例 Part 5

4. 配置文件 员工管理的增删改查功能我们已开发完成,但在我们所开发的程序中还一些小问题,下面我们就来分析一下当前案例中存在的问题以及如何优化解决。 4.1 参数配置化 在我们之前编写的程序中进行文件上传时,需要调用AliOSSUtils工具类&…

【Linux系列】使用虚拟机安装Linux系统

首发博客地址 首发博客地址[1] 系列文章地址[2] 下载虚拟机 请从官网下载: https://customerconnect.vmware.com/en/downloads/info/slug/desktop_end_user_computing/vmware_workstation_player/17_0 如需不限速下载,请关注【程序员朱永胜】并回复 1018…

【sgTransfer】自定义组件:带有翻页、页码、分页器的穿梭框组件,支持大批量数据的穿梭显示。

特性&#xff1a; 表格宽度可以自定义翻页器显示控件可以自定义列配置项可以设置显示字段列名称、宽度、字段名可以配置搜索框提示文本&#xff0c;支持搜索过滤穿梭框顶部标题可以自定义左右箭头按钮文本可以设置 sgTransfer源码 <template><div :class"$opti…

Http 1.0 1.1 2.0 3.0 版本差别

Http 1.0 发布年份&#xff1a;1996 非官方标准 短链接&#xff1a;每一次请求都对应一次TCP的连接与释放 开销大&#xff1a;每次请求都要TCP的连接与释放队头阻塞&#xff1a;每次请求都必须等上一次请求获得响应之后&#xff0c;才可以发送&#xff1b;效率低下 缓存&…

flutter自定义按钮-文本按钮

目录 前言 需求 实现 前言 最近闲着无聊学习了flutter的一下知识&#xff0c;发现flutter和安卓之间&#xff0c;页面开发的方式还是有较大的差异的&#xff0c;众所周知&#xff0c;android的页面开发都是写在xml文件中的&#xff0c;而flutter直接写在代码里&#xff08;da…

Unity 之利用 localEulerAngle与EulerAngle 控制物体旋转

文章目录 概念讲解localEulerAngle与EulerAngle的区别 概念讲解 欧拉角&#xff08;Euler Angles&#xff09;是一种常用于描述物体在三维空间中旋转的方法。它使用三个角度来表示旋转&#xff0c;分别绕物体的三个坐标轴&#xff08;通常是X、Y和Z轴&#xff09;进行旋转。这…

数据分享|R语言用lme4多层次(混合效应)广义线性模型(GLM),逻辑回归分析教育留级调查数据...

全文链接:http://tecdat.cn/?p22813 本教程为读者提供了使用频率学派的广义线性模型&#xff08;GLM&#xff09;的基本介绍。具体来说&#xff0c;本教程重点介绍逻辑回归在二元结果和计数/比例结果情况下的使用&#xff0c;以及模型评估的方法&#xff08;点击文末“阅读原文…

Vue3 学习 组合式API setup语法糖 响应式 指令 DIFF(一)

文章目录 前言一、Composition Api二、setup语法糖三、响应式refreactive 四、其他一些关键点v-prev-oncev-memov-cloak 五、虚拟Dom五、diff算法 前言 本文用于记录学习Vue3的过程 一、Composition Api 我觉得首先VUE3最大的改变就是对于代码书写的改变&#xff0c;从原来选择…

Kafka3.0.0版本——Follower故障处理细节原理

目录 一、服务器信息二、服务器基本信息及相关概念2.1、服务器基本信息2.2、LEO的概念2.3、HW的概念 三、Follower故障处理细节 一、服务器信息 三台服务器 原始服务器名称原始服务器ip节点centos7虚拟机1192.168.136.27broker0centos7虚拟机2192.168.136.28broker1centos7虚拟…

怎样做一个知识库网站

经济和信息技术的蓬勃发展&#xff0c;知识资源成为了企业非常重要的无形资产。 当前&#xff0c;企业的核心竞争力不仅取决于硬件设备、财务实力、资源多寡、人员数量等生产因素&#xff0c;更加取决于企业对于知识的掌握、运用、传承和创新。 制作企业知识库&#xff0c;传…

IDEA快速设置全局JDK

出bug 了 JDK 不识别了&#xff0c;才想起来要设置jdk &#xff0c;现在一般查到的都是setting 设置全局的idea设置。但是老玩家的我怎么会不知道有一个设置全局jdk 的一个设置 setings 设置是对idea 的基础设置。 但是还有一个隐藏页面快捷键【CtrlAltShiftS】 接下来自己研究…

JVM内存管理、内存分区:堆、方法区、虚拟机栈、本地方法栈、程序计数器

内存管理 内存分区 线程共享 堆 存放实例&#xff0c;字符串常量&#xff08;直接引用&#xff09;&#xff0c;静态变量&#xff0c;线程分配缓冲区&#xff08;TLAB线程私有&#xff09;。垃圾收集器管理的区域 方法区 非堆&#xff0c;和堆相对的概念。存储已被虚拟机加载的…

Qt 解析XML文件 QXmlStreamReader

如何使用QXmlStreamReader来解析格式良好的XML&#xff0c;Qt的文档中指出&#xff0c;它是一种更快、更方便的Qt自己的SAX解析器&#xff08;QXmlSimpleReader&#xff09;的替代&#xff0c;它也较快&#xff0c;在某种情况下&#xff0c;比DOM&#xff08;QDomDocument&…

【MySQL系列】-ORDER BY……HAVING详解及limit

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;个人主页 &#xff1a;阿然成长日记 …