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

news2024/10/6 1:40:52

在这里插入图片描述

什么是 USRP

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

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

USRP 系列专为易操作性而设计,并且许多产品都是开源硬件。部分 USRP 型号的电路板、原理图、元器件的BOM表都是可以免费下载的;

所有USRP产品均由开源UHD驱动程序控制,该驱动程序是免费的而且是开源软件。USRP 通常与GNU Radio软件套件一起使用来创建复杂的软件定义无线电系统。

官网链接:
Ettus Research
National Instruments

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

USRP支持的开发工具链:

  • LabVIEW
  • MATLAB
  • Simulink
  • GNU Radio
  • Python
  • C & Cpp

USRP 可以用来做什么

  • 通信教学,大家学的调制解调,可以真实的收发信号。北邮、东南大学等高校的通信原理实验课都是用USRP上。
  • 通信科研,你研究新的通信方式,可以用它来实现。如果你研究一种新的编码方式,完全可以在真实的环境下进行测试。
  • 搭建2G基站,使用 OpenBTS这个开源软件,在Linux进行搭建。
  • 搭建4G、5G基站,使用 Eurecom OpenAirInterface (OAI),在Linux进行搭建。
  • 搭建GPS模拟器,使用 GNSS 软件,可以方便的模拟不同的卫星信号,可以轻易的欺骗掉手机的GPS定位信息,非常的有用。
  • 接收航天信号,使用ADS-B,可以看到本地的飞机轨迹和位置。
  • 私人电台,和你的朋友互相玩儿。
  • WiFi 模拟,可以模拟一个真实的WiFi来使用。
  • 人体姿态识别,可以用无线电信号来识别你的手势、走路的姿势、说话的嘴型、检测房间有没有人。

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.coloradmin.cn/o/957384.html

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

相关文章

创建聊天机器人:产品专属ChatGPT智能问答机器人,可添加任意网站

ChatGPT智能问答机器人可以广泛应用于各种SaaS产品,通过创建聊天机器人可以快速反馈用户,并且针对性的提供解决方案,非常高效的完成客户问答反馈。 聊天机器人是生活中常见的一种交互方式,机器人根据用户输入的关键字,…

怎么提取视频中的音乐保存到本地?其实方法很简单

当你想要使用视频中的音乐时,你可以考虑将它从视频中提取出来。这可以用于制作音频样本集,制作铃声或其他音频素材,或者向其他人展示视频的音乐部分而无需显示视频本身。如果你是一位音乐制作人员,你可能会需要一些特定类型的音效…

监听页面异常 + 监听页面跳转 +监听页面销毁 :监听并记录当前页面停留的时间

首先描述一下应用场景:播放视频,记录观看时长(移动端左划动,右滑动,页面跳转,页面销毁[页面销毁主要是指使用中控台直接销毁]) 说一下我的思路: 1.长链接 : 使用websocket来实现&…

鲁棒优化入门(7)—Matlab+Yalmip两阶段鲁棒优化通用编程指南(下)

0.引言 上一篇博客介绍了使用Yalmip工具箱求解单阶段鲁棒优化的方法。这篇文章将和大家一起继续研究如何使用Yalmip工具箱求解两阶段鲁棒优化(默认看到这篇博客时已经有一定的基础了,如果没有可以看看我专栏里的其他文章)。关于两阶段鲁棒优化与列与约束生成算法的原…

1654. 到家的最少跳跃次数

文章目录 Tag题目来源题目解读解题思路实现细节实现代码复杂度分析 写在最后 Tag 【广搜】【上限证明】【图论】 题目来源 1654. 到家的最少跳跃次数. 题目解读 找到从位置 0 跳跃到位置 x 的最小跳跃次数,跳跃规则如下: 前进方向跳 a 个位置&…

OJ练习第156题——带因子的二叉树

带因子的二叉树 力扣链接:823. 带因子的二叉树 题目描述 给出一个含有不重复整数元素的数组 arr ,每个整数 arr[i] 均大于 1。 用这些整数来构建二叉树,每个整数可以使用任意次数。其中:每个非叶结点的值应等于它的两个子结点…

LC315. 计算右侧小于当前元素的个数(归并排序 - java)

计算右侧小于当前元素的个数 题目描述归并排序代码演示: 上期经典 题目描述 难度 - 困难 原题链接 - 计算右侧小于当前元素的个数 给你一个整数数组 nums ,按要求返回一个新数组 counts 。数组 counts 有该性质: counts[i] 的值是 nums[i] 右侧小于 nums…

【OJ比赛日历】快周末了,不来一场比赛吗? #09.03-09.09 #12场

CompHub[1] 实时聚合多平台的数据类(Kaggle、天池…)和OJ类(Leetcode、牛客…)比赛。本账号会推送最新的比赛消息,欢迎关注! 以下信息仅供参考,以比赛官网为准 目录 2023-09-03(周日) #5场比赛2023-09-04…

代码随想录笔记--字符串篇

目录 1--反转字符串 2--反转字符串II 3--反转字符串中的单词 4--KMP算法 5--重复的子字符串 1--反转字符串 主要思路&#xff1a; 双指针算法&#xff0c;交换两个指针的字符&#xff1b; #include <iostream> #include <vector>class Solution { public:void…

Unity ShaderGraph教程——进阶shader

1.水面&#xff08;一&#xff09; 公式&#xff1a;场景深度 节点深度 — 屏幕空间位置的W向量 半透明物体与不透明物体的相交边缘 原理&#xff1a;场景深度 节点深度包含透明像素&#xff0c;屏幕空间w向量不包含透明像素。 注意&#xff1a;需要在UniversalRP-xxxQuali…

PHP旅游管理系统Dreamweaver开发mysql数据库web结构php编程计算机网页

一、源码特点 PHP 旅游管理系统是一套完善的web设计系统&#xff0c;对理解php编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。 PHP 旅游管理系统 源码下载地址&#xff1a; https://download.csdn.net/download/qq_41…

linux centos7 系统之编程:求水仙花数

在Python编程中&#xff0c;有列表、元组和字典三类变量可以使用&#xff0c;方便数据的存储与处理&#xff0c;而bash中仅有字符串变量、数组、函数可用&#xff0c;方法运用上受到限制&#xff0c;这与bash基于C语言&#xff0c;注重语法结构的严谨有关。而Python等高级语言更…

JS数组原理探究!

JavaScript 数组的 API 经常会被 JS 开发者频繁使用&#xff0c;在整个 JavaScript 的学习过程中尤为重要。 数组作为一个最基础的一维数据结构&#xff0c;在各种编程语言中都充当着至关重要的角色&#xff0c;你很难想象没有数组的编程语言会是什么模样。特别是 JavaScript&…

Stable Diffusion 提示词技巧

文章目录 背景介绍如何写好提示词提示词的语法正向提示词负向提示词 随着AI技术的不断发展&#xff0c;越来越多的新算法涌现出来&#xff0c;例如Stable Diffusion、Midjourney、Dall-E等。相较于传统算法如GAN和VAE&#xff0c;这些新算法在生成高分辨率、高质量的图片方面表…

可控生成:ControlNet原理

论文&#xff1a;Adding Conditional Control to Text-to-Image Diffusion Models 代码&#xff1a;lllyasviel/ControlNet 简单来说ControlNet希望通过输入额外条件来控制大型图像生成模型&#xff0c;使得图像生成模型根据可控。 1. 动机 当前文生图任务中会出现如下问题&…

【LeetCode】剑指 Offer Ⅱ 第5章:哈希表(6道题) -- Java Version

题库链接&#xff1a;https://leetcode.cn/problem-list/e8X3pBZi/ 类型题目解决方案哈希表的设计剑指 Offer II 030. 插入、删除和随机访问都是O(1) 的容器HashMap ArrayList ⭐剑指 Offer II 031. LRU 缓存HashMap 双向链表 ⭐哈希表的应用剑指 Offer II 032. 有效的变位…

pytorch中 nn.Conv2d的简单用法

torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride1, padding0, dilation1, groups1, biasTrue,padding_modezeros)参数介绍&#xff1a; in_channels&#xff1a;卷积层输入通道数 out_channels&#xff1a;卷积层输出通道数 kernel_size&#xff1a;卷积层的…

AZ900备考

文章目录 云服务的概念云服务模型云服务类型消费的模型云服务的好处可靠性和可预测性的优势云中的管理 Azure 体系结构和服务核心结构组件物理基础结构组件 Azure计算和网络服务Azure 存储服务身份认证AD身份认证 Azure 管理和治理成本管理治理合规性的功能和工具管理和部署Azu…

Java设计模式:四、行为型模式-05:备忘录模式

文章目录 一、定义&#xff1a;备忘录模式二、模拟场景&#xff1a;备忘录模式三、改善代码&#xff1a;备忘录模式3.1 工程结构3.2 备忘录模式模型结构图3.3 备忘录模式定义3.3.1 配置信息类3.3.2 备忘录类3.3.3 记录者类3.3.4 管理员类 3.4 单元测试 四、总结&#xff1a;备忘…

如何构建自己的技术博客

本文相关知识点&#xff1a; markdownVuepress/vitepressGitHub pages 托管服务 为什么建议搭建个人博客网站 拥有自己的技术博客&#xff0c;不仅可以提升自己的技术能力&#xff0c;还可以提升自己的影响力&#xff0c;未来也可能带来一些“睡后”收益。 对于我们职场新人…