【ADC】噪声(1)噪声分类
概述
本文学习于TI 高精度实验室课程,总结 ADC 的噪声分类,并简要介绍量化噪声和热噪声。
文章目录
- 概述
- 一、ADC 中的噪声类型
- 二、量化噪声
- 三、热噪声
- 四、量化噪声与热噪声对比
一、ADC 中的噪声类型
ADC 固有噪声由两部分组成:第一部分是量化噪声,这实际上是由于需要将无限数量的可能模拟输入映射到有限数量的数字输出代码而产生的误差。该误差将平滑的正弦波输入转换为阶梯形输出,如下图所示。

第二种噪声是热噪声,它是由电导体的固有特性引起的。由于这种噪声不是模数转换过程的产物,因此即使没有输入信号,它仍然是存在的。上图右侧显示了 ADC 的输入短路至中间电源的情况。蓝色输出信号是时域热噪声信号。
二、量化噪声
所有 ADC 中都存在这两种类型的噪声,但通常其中一种噪声占主导地位,具体取决于 ADC 的分辨率。下图是 ADC 的理想传递函数。如果此处显示的图表上的绿线代表纯模拟信号,则红线代表量化输出,不受偏移或增益误差的影响。注意,此传递函数延伸到象限 1 和 3,假设 ADC 使用二进制补码编码格式。

如前所述,量化噪声源于将无限数量的模拟输入电压映射到有限数量的可用数字代码之一的过程。例如,假设这个 4 位 ADC 的满量程输入为 ±2.5 V,则输出代码 0100 可以对应 1.093 至 1.406V 之间的任何模拟输入电压。对于任何 ADC,这个步长称为最低有效位,LSB。1 LSB 的值是 ADC 理论上可以解析的最小信号,但实际限制通常使 ADC 无法真正解析到 1LSB 的水平。如屏幕上的公式所示,LSB 大小与 ADC 的参考电压成正比,与 ADC 的分辨率成反比。这种关系有助于解释为什么分辨率更高的 ADC 通常提供更好的噪声性能。更多可用代码会降低 LSB 大小,从而降低量化噪声。
下图显示的是绿色波形是通用正弦波输入。如果将上一张图片中的 4 位 ADC 传递函数应用于此正弦波,则输出将类似于右侧的量化结果。与 ADC 传递函数一样,红色显示的量化输出具有“阶梯”形状。每个阶梯代表一个 ADC 代码,每个代码与无限数量的可能模拟输入电压相关,这些电压受 ADC 的 LSB 大小限制。

从这些图中可以看出,量化输出不一定能很好地再现输入正弦波。由于我们在本例中使用的是 4 位 ADC,因此转换器没有足够的分辨率来精确复制输入信号。如前所述,更高分辨率的 ADC 会同时减小右侧图中“阶梯”的宽度和高度,从而产生更接近正弦波的量化输出。
下图显示的是组合图,红色量化输出叠加在绿色模拟正弦波输入上。此图下方是另一张图,绘制了模拟输入和量化输出之间的差异。此紫色图表表示组合图上每个点的量化噪声幅度,称为“锯齿”形误差。

如果放大 LSB 误差图的一部分,可以看到连续模拟输入和阶梯形输出之间的差异如何导致锯齿波形。注意,LSB 误差图在正负半个 LSB 之间变化。在一个 LSB 内,ADC 无法确定实际模拟输入电压的位置。直流信号也是如此,但没有频率分量,量化“噪声”实际上在 ADC 输出中表现为偏移误差,也称为量化误差。
三、热噪声
当量化直流信号(例如 2.5V)时,理想情况下期望没有量化误差,并输出单个代码,如下图顶部所示。然而,对于许多 ADC,即使没有信号,也能观察到噪声。例如,前文所述的热噪声框图将 ADC 的输入短路至中间电源。在这种情况下测量的噪声称为热噪声。与特定于模拟到数字或数字到模拟转换过程的量化噪声不同,由于电导体内电荷的随机运动,热噪声是所有电气元件所固有的。下图显示了热噪声在时域中的样子,以及 ADC 输出的可能分布代码。

热噪声很大程度上是 ADC 设计的结果,当 ADC 的 LSB 大小较小时,可以观察到热噪声,这通常仅在高分辨率 ADC 中出现。对于低分辨率 ADC,时域噪声图看起来更类似于理想情况,即具有单个输出代码且几乎没有量化噪声。其次,ADC 中的热噪声被认为是除量化噪声之外的所有其他内部噪声源的组合。在系统级,包括放大器和电压基准在内的其他组件可能会影响测量到的热噪声。最后,热噪声频率是具有高斯分布的宽带,因此总 ADC 噪声性能应使用平方和根将量化和热噪声相加。
四、量化噪声与热噪声对比
在频域中,量化噪声和热噪声在整个频率范围内通常看起来是均匀的,如下图的功率与频率图所示。热噪声通常具有宽频谱,显示为蓝色频率图。量化噪声也是宽带的,这是因为之前看到的“锯齿”形波形的频谱很宽,混叠回 0 Hz 至采样频率一半的频率范围。虽然热噪声显示低于量化噪声水平,但情况并非总是如此。对于许多 ADC,热噪声的幅度大于量化噪声。对于其他 ADC,热噪声和量化噪声可能大致相等。ADC 的分辨率通常决定了不同噪声水平的幅度。对于这个特定的频率图,可以得出结论这是一个低分辨率 ADC,因为量化噪声占主导地位。在这种情况下,与热噪声相比,ADC 具有相对较大的 LSB 大小。

另一方面,如果观察高分辨率 ADC 中的噪声水平,会看到量化噪声水平低于热噪声水平,如图所示。量化噪声水平较低是由于高分辨率 ADC 中的 LSB 大小要小得多。例如,使用5 伏参考电压且无增益的 24 位 delta-sigma ADC 的 LSB 大小小于 300 nV,远低于 ADC的热噪声水平。

ADC 的分辨率通常决定哪种类型的噪声占主导地位。对于较低分辨率的 ADC,LSB 大小较大,导致量化噪声水平高于热噪声水平,如下图左侧所示。相反,在较高分辨率的 ADC 中,我们可以观察到由于量化噪声水平相对较低而产生的热噪声,如右图所示。

热噪声是 ADC 的一个特性,用户无法改变。但是,由于量化噪声是 ADC 分辨率和参考电压的乘积,因此可以在此处进行更改以提高系统性能。例如,如果系统允许,可以在较低分辨率 ADC 中使用较小的参考电压来降低 LSB 大小和随后的量化噪声幅度,这可以降低 ADC 的总噪声。对于热噪声占主导地位的较高分辨率 ADC,实际上可以使用更大的参考电压来增加 ADC 的输入范围,同时确保将量化噪声水平保持在热噪声以下。假设其他系统没有变化,增加的参考电压可以实现更好的信噪比。
相关文章:
【ADC】噪声(1)噪声分类
概述 本文学习于TI 高精度实验室课程,总结 ADC 的噪声分类,并简要介绍量化噪声和热噪声。 文章目录 概述一、ADC 中的噪声类型二、量化噪声三、热噪声四、量化噪声与热噪声对比 一、ADC 中的噪声类型 ADC 固有噪声由两部分组成:第一部分是量…...
网络安全概述:从认知到实践
一、定义 网络安全,即致力于保护网络系统所涵盖的硬件、软件以及各类数据,切实保障其免遭破坏、泄露或者篡改等不良情形的发生。 二、重要性 个人层面:着重于守护个人隐私以及财产安全,为个人在网络世界中的各项活动提供坚实的保…...
Vue.js组件开发研究
摘要 随着前端技术的快速发展,Vue.js以其轻量级、高性能和组件化开发的优势,在前端开发领域占据了重要地位。本研究深入探讨了Vue.js组件开发的理论基础、开发方法以及实际应用。通过系统梳理Vue.js框架的核心特性、组件化思想及Vue.js组件的基本概念&am…...
OpenHarmony(鸿蒙南向开发)——轻量系统芯片移植案例(一)
往期知识点记录: 鸿蒙(HarmonyOS)应用层开发(北向)知识点汇总 鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~ 持续更新中…… 轻量带屏解决方案之恒玄芯片移植案例 本文章基于恒玄科技BES2600W…...
【Llamaindex RAG实践】
基础任务 (完成此任务即完成闯关) 任务要求:基于 LlamaIndex 构建自己的 RAG 知识库,寻找一个问题 A 在使用 LlamaIndex 之前InternLM2-Chat-1.8B模型不会回答,借助 LlamaIndex 后 InternLM2-Chat-1.8B 模型具备回答 A 的能力,截…...
[Linux]:线程(三)
✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:Linux学习 贝蒂的主页:Betty’s blog 1. POSIX 信号量 1.1 信号量的概念 为了解决多执行流访问临界区,…...
云原生(四十一) | 阿里云ECS服务器介绍
文章目录 阿里云ECS服务器介绍 一、云计算概述 二、什么是公有云 三、公有云优缺点 1、优点 2、缺点 四、公有云品牌 五、市场占有率 六、阿里云ECS概述 七、阿里云ECS特点 阿里云ECS服务器介绍 一、云计算概述 云计算是一种按使用量付费的模式,这种模式…...
qemu-system-aarch64开启user用户模式网络连接
一、问题 在使用qemu构建arm64的虚拟机时,虚拟机没有网络,桥接方式相对麻烦,我只是需要联网更新即可。与宿主机的通信我使用共享文件夹即可满足要求。 使用指令启动虚拟机时,网络部分的参数为 -net user,hostfwdtcp::10022-:22 …...
Android车载——VehicleHal初始化(Android 11)
1 概述 VehicleHal是AOSP中车辆服务相关的hal层服务。它主要定义了与汽车硬件交互的标准化接口和属性管理,是一个独立的进程。 2 进程启动 VehicleHal相关代码在源码树中的hardware/interfaces/automotive目录下 首先看下Android.bp文件: cc_binary …...
CTFshow 命令执行 web37-web40
目录 web37 方法一:php://input 方法二:data协议 web38 web39 web40 方法一:构造文件读取 方法二:构造数组rce web37 error_reporting(0); if(isset($_GET[c])){$c $_GET[c];if(!preg_match("/flag/i", $c)){incl…...
数据结构与算法篇((原/反/补)码 进制)
目录 讲解一:原/反/补)码 一、原码 二、反码 三、补码 四、有符号位整型 五、无符号位整型 六、Java中的整型 七、整数在底层存储形式 讲解二:进制 一、简介 二、常用的进制 十进制 二进制 八进制 十六进制 知识补充 三、进制转换 1. 二…...
Python画笔案例-077 绘制 颜色饱和度测试
1、绘制 颜色饱和度测试 通过 python 的turtle 库绘制 颜色饱和度测试,如下图: 2、实现代码 绘制 颜色饱和度测试,以下为实现代码: """饱和度渐变示例,本程序需要coloradd模块支持,请在cmd窗口,即命令提示符下输入pip install coloradd进行安装。本程序演…...
简历投递经验01
嵌入式简历制作指南与秋招求职建议 技术要求概览 在嵌入式领域求职时,技术能力是HR和面试官最关注的点之一。以下是一些关键技术点,以及它们在简历中的体现方式。 1. 编程语言与开发环境 掌握C/C语言。熟悉至少一种单片机或微处理器的开发环境。 2.…...
数据和算力共享
数据和算力共享 针对数字化应用实践中需要在不同的物理域和信息域中进行数据的访问交换以及共享计算等需求,本文分析了在数据平台、数据集成系统以及信息交换系统中存在的问题。 在基于联邦学习的基础上,提出一种跨域数据计算共享系统,能够同时共享数据和计算资源,并支持在线…...
SpringBoot 集成 Ehcache 实现本地缓存
目录 1、Ehcache 简介2、Ehcache 集群方式3、工作原理3.1、缓存写入3.2、缓存查找3.3、缓存过期和驱逐3.4、缓存持久化 4、入门案例 —— Ehcache 2.x 版本4.1、单独使用 Ehcache4.1.1、引入依赖4.1.2、配置 Ehcache4.1.2.1、XML 配置方式4.1.2.1.1、新建 ehcache.xml4.1.2.1.2…...
CSP-J 复赛真题 P9749 [CSP-J 2023] 公路
文章目录 前言[CSP-J 2023] 公路题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示 示例代码代码解析思考过程总结 总结 前言 在CSP-J 2023的复赛中,出现了一道引人注目的题目——“公路”。这道题目不仅考察了选手们对算法的理解和运用能力,…...
MeterSphere压测配置说明
在MeterSphere中,执行性能测试时的配置参数对测试结果有重要影响。以下是对MeterSphere压测配置中几个关键参数的解释: 执行方式:决定了测试的执行模式,例如可以按照持续时间或迭代次数来执行测试。 按持续时间:在这种…...
数据库软题6.1-关系模式-关系模式的各种键
关系模式的各种键 题1-由关系模式求候选键 1. 候选键唯一不冗余 对选项进行闭包运算,如果得到全部属性U,则为候选码 A:AC-ABC-ABCD B:AB-ABC-ABCD C:AE-ABE-ABCE -ABCDE-ABCDEH D:DE2. R的候选码可以从A1,A2,A3,A1A2,A1A3,A2A3,A1A2A3中选择ÿ…...
ulimit:资源限制
一、命令简介 ulimit 是一个用于资源管理的工具,对于确保系统资源的合理分配和安全使用至关重要。 使用场景: 系统管理:限制用户进程使用的资源,防止资源滥用,保证系统稳定。调试:调整核心文件大…...
解决Python使用Selenium 时遇到网页 <body> 划不动的问题
如果在使用 Selenium 时遇到网页的 <body> 划不动的问题,这通常是因为页面的滚动机制(例如,可能使用了一个具有固定高度的容器或自定义的滚动条)导致无法通过简单的 JavaScript 实现滚动。可以通过以下方法来解决该问题。 …...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...
【JavaEE】-- HTTP
1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...
Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...
企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...
【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...
C# 表达式和运算符(求值顺序)
求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如,已知表达式3*52,依照子表达式的求值顺序,有两种可能的结果,如图9-3所示。 如果乘法先执行,结果是17。如果5…...
Golang——9、反射和文件操作
反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...
MySQL:分区的基本使用
目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...
Rust 开发环境搭建
环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行: rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu 2、Hello World fn main() { println…...
