软件无线电(SDR)的架构及相关术语
今天简要介绍实现无线电系统调制和解调的主要方法,这在软件定义无线电(SDR)的背景下很重要。
外差和超外差
无线电发射机有两种主要架构——一种是从基带频率直接调制到射频频率(称为外差),而第二种超外差是通过两个调制阶段来实现这种转换:第一个是从基带到中频(IF),第二个是从中频到射频(RF)。
图1展示了外差方案中的调制和解调。在这种情况下,单级调制用于将信号从基带转换到RF频率,而单级解调状态则进行相反的转换,从RF回到基带。
超外差方案如图2所示,显示了发生的频移。特别要注意的是,中频信号通常被调制到几十到几百MHz的频率范围内,而最终的射频频段可能要高得多——高达数十GHz。
采样率的影响
SDR中数字处理元件可以实现的采样率,特别是无线电的ADC和DAC的采样率,决定了无线电的实现方式——特别是哪些部分可以实现数字,哪些部分需要模拟电路。这是因为数字处理只能在满足奈奎斯特准则的情况下使用,换句话说,当采样率大于信号中存在的最大频率分量的两倍时,根据用于传输信号的射频频带,有可能实现所有调制和解调的数字化,具体而言,如果满足下面条件:

其中,fs是ADC和DAC的采样率,frfmax是RF调制信号中存在的最大频率。如果满足上述条件,那么所有的模拟信号处理都可以在数字域中完成,从而实现所谓的直接射频(Direct-RF)或几乎全数字(Almost-All-Digital)无线电架构。
如果不能满足上式的条件,另一种选择是在数字域中实现基带和中频(IF)之间的调制和解调阶段,而IF和RF之间的转换则通过模拟电路来处理。在这种情况下,ADC位于IF频段,所需的采样率可能从几十MHz到几百MHz不等。
现在,可以继续考虑三种不同的无线电架构,它们是基于DAC和ADC的位置而产生的。请注意,所有这些模型都是简化的表示,省略了一些所需的滤波阶段。
直接RF(几乎全数字)SDR
通过这些不同的无线电架构,我们可以看到,随着ADC和DAC技术的进步,特别是采样率的提高,越来越多的频带可以实现几乎全数字的无线电。这种几乎全数字的无线电需要非常少的模拟处理——主要包括天线、前端滤波器和放大器。从SDR的角度来看,几乎所有功能都通过数字实现是非常重要的,这意味着无线电的操作可以通过软件来控制,如图3所示。
中频采样SDR
对于射频(RF)频率高于可用的DAC和ADC采样率的情况,可以使用超外差变频架构,基带与中频(IF)之间的调制/解调在无线电的数字部分完成,而IF与RF之间的转换则使用模拟电路处理。即便如此,通常仍然可以通过软件对模拟混频阶段施加控制。当ADC位于IF频率时,所需的采样率可能从几十兆赫兹(MHz)到几百兆赫兹(MHz)不等。这种类型的SDR架构如图4所示。
基带采样SDR
另一类SDR,如图5所示,具有基带处理速率的ADC,所有调制和解调都在模拟域中执行,无论是使用单级还是两级。从历史上看,这种方法在DAC和ADC技术(特别是可实现的采样率)的限制下被使用,因为这是A/D接口唯一可行的位置。这种“基带采样”架构也可能被用在低成本、低数据速率的设备中,以最小化对数字处理器的要求,或者在应用中采用最先进的多GSPS数据转换器,用于发射和接收极宽频带的信号。
数字化实施的优势
比较图3~图5可以清楚地看出,ADC使用的采样率越高,可以进行数字处理的量就越大。
使用数字实现进行调制和解调有几个优点,包括更高的操作精度,减少组件公差的影响和更强的抗老化效应,更小的物理尺寸和简化的物料清单,功耗也可能更低。
在SDR的背景下也有额外的好处,特别是由于软件控制无线电操作的范围增加,以及由此带来的灵活性。在使用FPGA或Soc的情况下,还可以提供硬件处理的可重编程性,从而实现更基础的升级和功能变化。
关键无线电术语和参数
在继续后面的章节之前,有必要定义一些关键术语和概念,这些术语和概念将在讨论SDR以及一般无线电系统的背景下频繁出现。这些在图6中进行了说明,并在后面进行了描述。
射频(RF)带宽(收发器)
RF带宽这个术语描述了无线电收发器能够产生或捕获的频率范围。在SDR(以及一般数字无线电)的背景下,这与ADC和DAC采样率有关。
如图6所示,RF带宽是ADC和DAC使用的采样频率的一半。这假设使用的是单个ADC和DAC,代表的是实信号(与复信号相对)。如果使用复输入/输出,则RF带宽可以翻倍至完整的采样频率,但这需要一对ADC和DAC。复信号的主题将在第7章中介绍。
信号带宽
当提到无线电信号时,带宽是指在传输信号中存在的频率范围。注意图6中绿色信号频谱标注的信号带宽。
当使用SDR时,信号的带宽是实现设计的一个特征(可以在软件中定义)。例如,设计的发射机可能产生带宽为10kHz或100MHz的信号,具体取决于其配置。一般来说,更大带宽的信号可以以更快的速率传输数据。
最大信号带宽受限于SDR的射频带宽,这是实现SDR所使用的物理硬件设备的属性。
相关文章:
软件无线电(SDR)的架构及相关术语
今天简要介绍实现无线电系统调制和解调的主要方法,这在软件定义无线电(SDR)的背景下很重要。 外差和超外差 无线电发射机有两种主要架构——一种是从基带频率直接调制到射频频率(称为外差),而第二种超外差是通过两个调制阶段来实…...
Python将Excel文件转换为JSON文件
工作过程中,需要从 Excel 文件中读取数据,然后交给 Python 程序处理数据,中间需要把 Excel 文件读取出来转为 json 格式,再进行下一步数据处理。 这里我们使用pandas库,这是一个强大的数据分析工具,能够方便地读取和处理各种数据格式。需要注意的是还需要引入openpyxl库,…...
排序算法之选择排序篇
思想: 每次从未排序的部分找出最小的元素,将其放到已排序部分的末尾 从数据结构中找到最小值,放到第一位,放到最前面,之后再从剩下的元素中找出第二小的值放到第二位,以此类推。 实现思路: 遍…...
sizeof和strlen区分,(好多例子)
sizeof算字节大小 带\0 strlen算字符串长度 \0之前...
A050-基于spring boot物流管理系统设计与实现
🙊作者简介:在校研究生,拥有计算机专业的研究生开发团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹 赠送计算机毕业设计600…...
[自然语言处理] NLP-RNN及其变体-干货
一、认识RNN模型 1 什么是RNN模型 RNN(Recurrent Neural Network), 中文称作循环神经网络, 它一般以序列数据为输入, 通过网络内部的结构设计有效捕捉序列之间的关系特征, 一般也是以序列形式进行输出. 一般单层神经网络结构: RNN单层网络结构: 以时间步对RNN进行展开后的单层…...
Elasticsearch ILM 索引生命周期管理讲解与实战
ES ILM 索引生命周期管理讲解与实战 Elasticsearch ILM索引生命周期管理:深度解析与实战演练1. 引言1.1 背景介绍1.2 研究意义2. ILM核心概念2.1 ILM的四个阶段2.1.1 Hot阶段2.1.2 Warm阶段2.1.3 Cold阶段2.1.4 Delete阶段3. ILM实战指南3.1 定义ILM策略3.1.1 创建ILM策略3.1.…...
重塑视频新语言,让每一帧都焕发新生——Video-Retalking,开启数字人沉浸式交流新纪元!
模型简介 Video-Retalking 模型是一种基于深度学习的视频再谈话技术,它通过分析视频中的音频和图像信息,实现视频角色口型、表情乃至肢体动作的精准控制与合成。这一技术的实现依赖于强大的技术架构和核心算法,特别是生成对抗网络࿰…...
联想Lenovo SR650服务器硬件监控指标解读
随着企业IT架构的复杂性和业务需求的增长,服务器的稳定运行变得至关重要。联想Lenovo SR650服务器以其高性能和稳定性,在各类应用场景中发挥着关键作用。为了保障服务器的稳定运行,监控易作为一款专业的IT基础设施监控软件,为联想…...
二十一、QT C++
1.1QT介绍 1.1.1 QT简介 Qt 是一个跨平台的应用程序和用户界面框架,用于开发图形用户界面(GUI)应用程序以及命令行工具。它最初由挪威的 Trolltech (奇趣科技)公司开发,现在由 Qt Company 维护ÿ…...
微服务上下线动态感知实现的技术解析
序言 随着微服务架构的广泛应用,服务的动态管理和监控变得尤为重要。在微服务架构中,服务的上下线是一个常见的操作,如何实时感知这些变化,确保系统的稳定性和可靠性,成为了一个关键技术挑战。本文将深入探讨微服务上…...
指针与引用错题汇总
int *p[3]; // 定义一个包含 3 个指向 int 的指针的数组int a 10, b 20, c 30; p[0] &a; // p[0] 指向 a p[1] &b; // p[1] 指向 b p[2] &c; // p[2] 指向 c // 访问指针所指向的值 printf("%d %d %d\n", *p[0], *p[1], *p[2]); // 输出: 10 20 30…...
短视频账号矩阵系统源码--独立saas技术部署
短视频矩阵系统通过多账号在多个平台上发布内容,形成一种网络效应。对于抖音平台而言,技术公司需具备特定接口权限方能进行开发工作。然而,视频发布及企业号评论与回复等功能的接口权限往往难以获取。通过构建抖音账号矩阵,利用多…...
leaflet 介绍
目录 一、leaflet 官网 二、leaflet 在项目中的引用 1、在head中引入 2、在main.js中引入 leaflet目前版本是1.9.4,在leaflet插件库中,很多插件因长时间未更新,适配的是1.7版本的,在选用插件的时候要查看版本适配。 leaflet详…...
总结贴:Servlet过滤器、MVC拦截器
一:Servlet过滤器 1.1解析 Filter 即为过滤,用于请求到达Servlet之前(Request),以及再Servlet方法执行完之后返回客户端进行后处理(HttpServletResponse)。简单说就是对请求进行预处理,对响应进行后处理 在请求到达Servlet之前,可以经过多个Filt…...
鸿蒙开发:自定义一个任意位置弹出的Dialog
前言 鸿蒙开发中,一直有个问题困扰着自己,想必也困扰着大多数开发者,那就是,系统提供的dialog自定义弹窗,无法实现在任意位置进行弹出,仅限于CustomDialog和Component struct的成员变量,这就导致…...
在Windows下编译支持https的wsdl2h
下载源码 在官网下载源码 安装Openssl 下载OpenSSL并安装,安装完成后需要将OpenSSL的路径添加到环境变量中 配置VS 1、打开工程 2、因为前面安装的OpenSLL是64位的,因此需要创建一个X64的配置 打开配置管理器,然后选择新建࿰…...
PHP和GD库如何根据像素绘制图形
使用PHP和GD库,你可以根据像素绘制各种图形,比如点、线、矩形、圆形等。GD库是PHP的一个扩展,它提供了一系列用于创建和处理图像的函数。以下是一个简单的示例,展示如何使用GD库根据像素绘制图形。 安装GD库 首先,确…...
webpack(react)基本构建
文章目录 概要整体架构流程技术名词解释技术细节小结 概要 Webpack 是一个现代 JavaScript 应用程序的静态模块打包工具。它的主要功能是将各种资源(如 JavaScript、CSS、图片等)视为模块,并将它们打包成一个或多个输出文件,以便…...
《Opencv》基础操作<1>
目录 一、Opencv简介 主要特点: 应用领域: 二、基础操作 1、模块导入 2、图片的读取和显示 (1)、读取 (2)、显示 3、 图片的保存 4、获取图像的基本属性 5、图像转灰度图 6、图像的截取 7、图…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...
企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...
