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

在这里插入图片描述

什么是 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(中频)模拟信号。

USRP 调制解调系列连载

【USRP】调制解调系列1:AM、FM解调
【USRP】调制解调系列2:2ASK、4ASK,基于labview的实现
【USRP】调制解调系列3:2FSK、4FSK、8FSK,基于labview的实现
【USRP】调制解调系列4:BPSK、QPSK、8PSK、OQPSK、Pi/4DQPSK,基于labview的实现
【USRP】调制解调系列5:16QAM、32QAM、64QAM、256QAM、1024QAM、基于labview的实现
【USRP】调制解调系列6:16APSK、32APSK 、基于labview的实现
【USRP】调制解调系列7:GMSK、MSK、基于labview的实现

USRP 仪器 连载系列

【USRP】集成化仪器系列1 :信号源,基于labview实现
【USRP】集成化仪器系列2 :示波器,基于labview实现
【USRP】集成化仪器系列3 :频谱仪,基于labview实现

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

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

相关文章

docker 04.更加重要的命令

之前的都是基础命令, 前台交互进程和后台守护进程: 重新进入容器: docker中的导入导出: docker中的拷贝到:

用python画一个柱状图可能用到的代码【完整版】

画柱状图 导入包 import torch as t import numpy as np import pandas as pd import matplotlib.pyplot as plt import joblib import matplotlib as mpl设置默认字体格式为"Times New Roman" font_name Times New Roman mpl.rcParams[font.family] font_name通…

uni-app 分不清的全局变量this, uni, $u, vm, uni.$u, this.$u

项目引入了uview,并将uview所有模块指给uniapp全局变量uni uni.$u$u 在登录页面,或者APP.vue打印以下变量: this, uni, $u, vm, uni.$u, this.$u // this,$u,vm,uni, this.$u, uni.$u全局变量说明console.log(">>th…

简单数学题:找出最大的可达成数字

来看一道简单的数学题:力扣2769. 找出最大的可达成数字 题目描述的花里胡哨,天花乱坠,但这道题目非常简单。我们最多执行t次操作,只需每次操作都让x-1,让num1,执行t次操作后,x就变为xt&#xff…

【JavaEE】Spring事务-事务的基本介绍-事务的实现-@Transactional基本介绍和使用

【JavaEE】Spring 事务(1) 文章目录 【JavaEE】Spring 事务(1)1. 为什么要使用事务2. Spring中事务的实现2.1 事务针对哪些操作2.2 MySQL 事务使用2.3 Spring 编程式事务(手动挡)2.4 Spring 声明式事务&…

视频汇聚/视频云存储/视频监控管理平台EasyCVR接入海康SDK协议后无法播放该如何解决?

开源EasyDarwin视频监控/安防监控/视频汇聚EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,在视频监控播放上,视频安防监控汇聚平台可支持1、4、9、16个画面窗口播放,可同时播放多路视频流&#…

java八股文面试[多线程]——线程池拒绝策略

四种线程池拒绝策略(handler) 当线程池的线程数达到最大线程数时,需要执行拒绝策略。拒绝策略需要实现 RejectedExecutionHandler 接口,并实现 rejectedExecution(Runnable r, ThreadPoolExecutor executor) 方法。不过…

矢量图片转换 Vector Magic for mac

Vector Magic会帮你进行自动识别和分析,转换过程中用户可选择相应的转换级别,从而达到自已所需的效果。 只需上传即可在线自动将 JPG、PNG、BMP 和 GIF 位图图像转换为真正的 SVG、Eps 和 PDF 矢量图像。真正的全彩描摹,无需安装软件&#xf…

智慧工厂解决方案:推动制造业转型升级的新引擎

随着信息技术的迅猛发展和制造业竞争的加剧,智慧工厂成为了推动制造业转型升级的重要引擎。智慧工厂解决方案通过整合物联网、人工智能、大数据分析等先进技术,实现生产过程的智能化、自动化和高效化,为企业提供了更加灵活、智能的生产模式和…

Linux之web服务器

目录 www简介 常见Web服务程序介绍 服务器主机 主要数据 浏览器 网址及HTTP简介 URL http请求方法 状态码 MIME(Multipurpose Internet Mail Extension) www服务器的类型 静态网站 动态网站 Apache服务的搭建 Apache的安装 准备工作 htt…

Android RecyclerView 之 列表宫格布局的切换

前言 RecyclerView 的使用我就不再多说,接下来的几篇文章主要说一下 RecyclerView 的实用小功能,包括 列表宫格的切换,吸顶效果,多布局效果等,今天这篇文章就来实现一下列表宫格的切换,效果如下 一、数据来…

大数据之Maven

一、Maven的作用 作用一:下载对应的jar包 避免jar包重复下载配置,保证多个工程共用一份jar包。Maven有一个本地仓库,可以通过pom.xml文件来记录jar所在的位置。Maven会自动从远程仓库下载jar包,并且会下载所依赖的其他jar包&…

uniapp项目实践总结(六)自定义顶部导航栏

本篇主要讲述如何自定义顶部导航栏,有时候默认导航栏不足以满足我们的需求,这时候就需要自定义导航栏来解决这个问题。 目录 默认导航修改配置自定义顶部默认导航 自带的默认顶部导航设置的内容有限,不容易扩展修改,因此如果有更加个性化的需求,则需要自定义顶部导航。 …

QT基础使用:组件和代码关联(信号和槽)

自动关联 ui文件在设计环境下,能看到的组件可以使用鼠标右键选择“转到槽”就是开始组件和动作关联。 在自动关联这个过程中软件自动动作的部分 需要对前面头文件进行保存,才能使得声明的函数能够使用。为了方便,自动关联时先对所有文件…

Windows如何部署Redis

一、简介 Redis (Remote Dictionary Server) 是一个由意大利人 Salvatore Sanfilippo 开发的 key-value 存储系统,具有极高的读写性能,读的速度可达 110000 次/s,写的速度可达 81000 次/s 。 二、下载 访问 https://github.com/tporadows…

IDEA集成Git相关操作知识(pull、push、clone)

一:集成git 1:初始化git(新版本默认初始化) 老版本若没有,点击VCS,选中import into Version Controller中的Create git Repository(创建git仓库),同理即可出现git符号。 也可查看源文件夹有没有…

Apifox-比postman更优秀的接口自动化测试平台

一、Apifox介绍 Apifox 是 API 文档、API 调试、API Mock、API 自动化测试一体化协作平台,定位 Postman Swagger Mock JMeter。通过一套系统、一份数据,解决多个系统之间的数据同步问题。只要定义好 API 文档,API 调试、API 数据 Mock、AP…

【Cortex-M3权威指南】学习笔记4 - 异常

目录 实现 CM3流水线CM3 详细框图CM3 总线接口总线连接模板 异常异常类型优先级定义优先级组 向量表中断输入于挂起NMI中断挂起 Fault 类异常总线 faults存储器管理 faults用法 faults SVC 与 PendSV 实现 CM3 流水线 CM3 处理器使用 3 级流水线,分别是:…

ERROR(IMPSP-365) innovus加endcap失败问题解析

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 ERROR(IMPSP-365):Design has inst with SITE (xx_site),but the floorplan has no rows defined for this site.Any location for such instance will …

jsch网页版ssh

使用依赖 implementation com.jcraft:jsch:0.1.55Server端代码 import com.jcraft.jsch.Channel; import com.jcraft.jsch.JSch; import com.jcraft.jsch.Session; import java.io.InputStream; import java.io.OutputStream; import java.util.concurrent.TimeUnit; import o…