当前位置: 首页 > news >正文

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 简介,对于NI软件无线电你所需要了解的一切

什么是 USRP 通用软件无线电外设( USRP ) 是由 Ettus Research 及其母公司National Instruments设计和销售的一系列软件定义无线电。USRP 产品系列由Matt Ettus领导的团队开发,被研究实验室、大学和业余爱好者广泛使用。 大多数 USRP 通过以太网线连接到主机&…...

RTE_Driver驱动框架和Keil下开发需要支持的xxx_DFP软件包分析

1.RTE_Driver驱动框架 RTE_Driver代表"Run-Time Environment Driver",是Keil MDK(Microcontroller Development Kit)中的一个概念。Keil MDK是一种用于嵌入式系统开发的集成开发环境,提供了开发、编译、调试等一系列工具…...

ImportError: Cannot load dynamic library. Did you compile LSD?

1、问题描述 >>> import pylsd2 Traceback (most recent call last):File "<stdin>", line 1, in <module>File "/data/data/wangzy-p-wangzy-p3-volume-pvc-0fee40a7-7013-49b4-8cfb-b4ab0394165b/.conda/envs/paddle/lib/python3.8/sit…...

音频应用编程

目录 ALSA 概述alsa-lib 简介sound 设备节点alsa-lib 移植编写一个简单地alsa-lib 应用程序一些基本概念打开PCM 设备设置硬件参数读/写数据示例代码之PCM 播放示例代码值PCM 录音 使用异步方式PCM 播放示例-异步方式PCM 录音示例-异步方式 使用poll()函数使用poll I/O 多路复用…...

软件测试/测试开发丨Python 学习笔记 之 链表

点此获取更多相关资料 本文为霍格沃兹测试开发学社学员学习笔记分享 原文链接&#xff1a;https://ceshiren.com/t/topic/26458 链表与数组的区别 复杂度分析 时间复杂度数组链表插入删除O(n)O(1)随机访问O(1)O(n) 其他角度分析 内存连续&#xff0c;利用CPU的机制&#xff0…...

Matlab 使用经验分享(常用函数介绍;矩阵常见计算)

Matlab 使用经验分享 大家好&#xff01;最近有很多朋友询问我关于 Matlab 的使用&#xff0c;于是我决定写一篇博客来分享一下我的经验。对于数学和编程爱好者来说&#xff0c;Matlab 是一个非常有用的工具。我自己在数学实验和数学建模竞赛中也经常使用它。那么&#xff0c;…...

软件工程(十七) 行为型设计模式(三)

1、观察者模式 简要说明 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动更新 速记关键字 联动,广播消息 类图如下 基于上面的类图,我们来实现一个监听器。类图中的Subject对应我们的被观察对象接口(IObservable),…...

在抖音中使用语聚AI,实现自动回复用户视频评论、私信问答

您可以通过集简云数据流程&#xff0c;将语聚AI助手集成到抖音视频评论、抖音私信&#xff0c;实现自动回复用户视频评论、私信问答&#xff0c;大大提升账号互动与运营效率。 效果如下&#xff1a; 自动化流程&#xff1a; ● 抖音普通号评论对接语聚AI&#xff08;点击可一…...

pyqt5-快捷键QShortcut

import sys from PyQt5.QtWidgets import * from PyQt5.QtCore import * from PyQt5.QtGui import *""" 下面示例揭示了&#xff0c;当关键字绑定的控件出现的时候&#xff0c;快捷键才管用&#xff0c; 绑定的控件没有出现的时候快捷键无效 """…...

匿名函数( lambda 表达式)

在 C 中&#xff0c;匿名函数也被称为 lambda 表达式。C11 引入了 lambda 表达式&#xff0c;使得在需要函数对象&#xff08;函数符&#xff09;的地方可以使用匿名函数来代替。 lambda 表达式的基本语法如下&#xff1a; [capture list] (parameter list) -> return typ…...

基于SSM的汽车维修管理系统——LW模板

摘要 随着人们生活水平的不断提高&#xff0c;私家车的数量正在逐年攀升。这带动了汽车维修行业的发展。越来越多的汽车维修厂如雨后春笋般涌现。同时&#xff0c;维修厂的业务操作产生了庞大的数据&#xff0c;这给汽车维修厂工作人员的数据管理提出了新的要求&#xff0c;他们…...

Ceph的纠删码特性 EC(Erasure Code)代码流程

从GitHub上Clone Ceph项目&#xff0c;我是基于(ceph version 12.2.11 luminous 版本)的代码来分析的 一、EC&#xff08;Erasure Code&#xff09;是什么&#xff1f; Ceph的纠删码特性EC&#xff1a;将写入的数据分成N份原始数据&#xff0c;通过这N份原始数据计算出M份效验…...

盘点那些国际知名黑客(上篇)

电影中的黑客仅靠一部电脑就可以窃取别人的信息&#xff0c;利用自己高超的技术让公司甚至国家都胆战心惊。“黑客”原指热心于计算机技术、水平高超的电脑高手&#xff0c;但逐渐区分为黑帽、白帽、灰帽。这些术语源自美国流行文化的老式西部电影&#xff0c;其中主角戴白色或…...

机器学习基础12-Pipeline实现自动化流程处理(基于印第安糖尿病Pima 数据集)

有一些标准的流程可以实现对机器学习问题的自动化处理&#xff0c;在 scikitlearn 中通过Pipeline来定义和自动化运行这些流程。本节就将介绍如何通过Pipeline实现自动化流程处理。 如何通过Pipeline来最小化数据缺失。如何构建数据准备和生成模型的Pipeline。如何构建特征选择…...

Ansible学习笔记15

1、roles&#xff1a;&#xff08;难点&#xff09; roles介绍&#xff1a; roles&#xff08;角色&#xff09;&#xff1a;就是通过分别将variables&#xff0c;tasks及handlers等放置于单独的目录中&#xff0c;并可以便捷地调用他们的一种机制。 假设我们要写一个playbo…...

圆圈加数字的css

方式一 .circle { width: 50px; height: 50px; border-radius: 50%; background-color: #f00; color: #fff; text-align: center; line-height: 50px; } .circle::before { content: attr(data-number); display: block; } <div class"circle" data-number"…...

YOLOV5/YOLOV7/YOLOV8改进:用于低分辨率图像和小物体的新 CNN 模块SPD-Conv

1.该文章属于YOLOV5/YOLOV7/YOLOV8改进专栏,包含大量的改进方式,主要以2023年的最新文章和2022年的文章提出改进方式。 2.提供更加详细的改进方法,如将注意力机制添加到网络的不同位置,便于做实验,也可以当做论文的创新点。 3.涨点效果:SPD-Conv提升小目标识别,实现有效…...

Docker数据管理(数据卷与数据卷容器)

目录 一、数据卷&#xff08;Data Volumes&#xff09; 1、概述 2、原理 3、作用 4、示例&#xff1a;宿主机目录 /var/test 挂载同步到容器中的 /data1 二、数据卷容器&#xff08;DataVolumes Containers&#xff09; 1、概述 2、作用 3、示例&#xff1a;创建并使用…...

大量TCP连接滞留TIME_WAIT、SYN_SENT、CLOSE_WAIT状态的分析

文章目录 一、统计各类状态的tcp连接数量二、TIME_WAIT应用服务器上&#xff0c;来自反向代理的连接反向代理上&#xff0c;访问应用服务的连接反向代理上&#xff0c;来自用户的连接 三、SYN_SENT反向代理上&#xff0c;访问位于防火墙另一侧的目标反向代理上&#xff0c;访问…...

kotlin怎么定义类

在Kotlin中&#xff0c;你可以使用class关键字来定义一个类。以下是一个简单的例子&#xff1a; class MyClass {// class body} 这个例子定义了一个名为MyClass的类。你可以在类体中定义属性和方法。 如果你想定义一个带有属性的类&#xff0c;你可以这样做&#xff1a; cla…...

如何查看数据集下载后保存的绝对路径?

1.问题 当我们下载torchvision.datasets里面的数据集时&#xff0c;有时候会遇到找不到数据集保存路径的问题。 2.解决 引入os库 import os调用如下方法 os.path.abspath(数据集对象.root)以下面代码为例 import os import torchvision.datasets as datasets# 指定数据集…...

使用php实现微信登录其实并不难,可以简单地分为三步进行

使用php实现微信登录其实并不难&#xff0c;可以简单地分为三步进行。 第一步&#xff1a;用户同意授权&#xff0c;获取code //微信登录public function wxlogin(){$appid "";$secret "";$str"http://***.***.com/getToken";$redirect_uriu…...

【LeetCode-中等题】24. 两两交换链表中的节点

文章目录 题目方法一&#xff1a;递归方法二&#xff1a;三指针迭代 题目 方法一&#xff1a;递归 图解&#xff1a; 详细版 public ListNode swapPairs(ListNode head) {/*递归法:宗旨就是紧紧抓住原来的函数究竟返回的是什么?作用是什么即可其余的细枝末节不要细究,编译器…...

5.10 汇编语言:汇编过程与结构

过程的实现离不开堆栈的应用&#xff0c;堆栈是一种后进先出(LIFO)的数据结构&#xff0c;最后压入栈的值总是最先被弹出&#xff0c;而新数值在执行压栈时总是被压入到栈的最顶端&#xff0c;栈主要功能是暂时存放数据和地址&#xff0c;通常用来保护断点和现场。 栈是由CPU管…...

【每日一题Day304】LC1267统计参与通信的服务器 | 哈希表

统计参与通信的服务器【LC1267】 这里有一幅服务器分布图&#xff0c;服务器的位置标识在 m * n 的整数矩阵网格 grid 中&#xff0c;1 表示单元格上有服务器&#xff0c;0 表示没有。 如果两台服务器位于同一行或者同一列&#xff0c;我们就认为它们之间可以进行通信。 请你统…...

深度解读零信任身份安全—— 全面身份化:零信任安全的基石

事实上&#xff0c;无论是零信任安全在数据中心的实践&#xff0c;还是通用的零信任安全架构实践&#xff0c;全面身份化都是至关重要的&#xff0c;是“企业边界正在瓦解&#xff0c;基于边界的安全防护体系正在失效”这一大背景下&#xff0c;构筑全新的零信任身份安全架构的…...

音视频 ffmpeg命令提取音视频数据

保留封装格式 ffmpeg -i test.mp4 -acodec copy -vn audio.mp4 ffmpeg -i test.mp4 -vcodec copy -an video.mp4提取视频 保留编码格式&#xff1a;ffmpeg -i test.mp4 -vcodec copy -an test_copy.h264 强制格式&#xff1a;ffmpeg -i test.mp4 -vcodec libx264 -an test.h2…...

vscode 配置

vscode 配置 安装插件 Better C SyntaxC/CCMake、CMake Tools 、CMake Language SupportDoxygen Documentation GeneratorGit Graphhighlight-wordsPythonvscode-iconsClang-Format和clangdtyporahex editor .vscode 中的文件 在 VS Code 中&#xff0c;.vscode​ 文件夹是用于…...

企业数字化管控平台及信息化治理体系建设方案(附300份方案)

本资料来源公开网络&#xff0c;仅供个人学习&#xff0c;请勿商用&#xff0c;如有侵权请联系删除&#xff0c;更多浏览公众号&#xff1a;智慧方案文库 数字化校园整体解决方案.doc150页6万字数字化智能工厂信息化系统集成整合规划建设方案.docx2022年采购数字化市场研究报告…...

ABB PCD231B通信输入/输出模块

多通道输入和输出&#xff1a; PCD231B 模块通常配备多个输入通道和输出通道&#xff0c;用于连接传感器、执行器和其他设备。 通信接口&#xff1a; 这种模块通常支持各种通信接口&#xff0c;如以太网、串口&#xff08;RS-232、RS-485&#xff09;、Profibus、CAN 等&#…...