ADC深入——SNR、SFDR、ENOB等概念

news2025/5/17 16:35:50

目录

SNR(Spurious‑Free Dynamic Range 信噪比)

ENOB(Effective Number Of Bits 有效位)

SFDR(Spurious‑Free Dynamic Range)

感觉SNR和SFDR差不多?看看下图

输入带宽

混叠

带通采样/欠采样


SNR(Spurious‑Free Dynamic Range 信噪比)

        定义:理想情况下,当 ADC 把一个正弦波转换成数字信号时,除了基波之外,其他的“杂音”主要来自量化噪声(quantization noise)。SNR 就是基波信号功率和量化噪声功率之比(通常用 dB 表示)。

        手册上的SNR通常是用一个中等幅度的纯正弦波比如 10 MHz、30 MHz、70 MHz,用满量程的 0.5 dBFS(接近最大不失真输入)信号,用固定的采样率如100MSPS,计算出来的信噪比

        意义:SNR 越高,说明量化噪声越小,转换出来的波形越“纯净”。

ENOB(Effective Number Of Bits 有效位)

        定义:把实际测得的 SNR 换算成“等效”的理想分辨率。它表示:如果一个理想的 ADC 有 N​ 位,那它才能达到你这个 ADC 实测的 SNR。

        意义:虽然器件标称是 8 bit,但由于非线性、失真、电路噪声等原因,真正“有效”能用到的可能只有 7.5 bit、7.2 bit 甚至更低。ENOB 就是量化这个差距。

SFDR(Spurious‑Free Dynamic Range)

  • 定义:在一个输入频率的正弦波下,把它转换后的频谱里,除了基波那一条峰之外,找出“最高的杂散峰”(spurious tone)。SFDR 就是基波峰与该最大杂散峰之间的功率差(dBc)。

  • 意义:SFDR 越大,说明 ADC 的非线性失真(产生谐波、互调等杂散信号)越小。对于雷达、通信接收机等对小信号的“干净度”要求高的场景,SFDR 是比 SNR 更敏感、更重要的指标。

感觉SNR和SFDR差不多?看看下图

项目SNRSFDR
主要干扰随机噪声(量化噪声、电源、热噪声等)非随机干扰(谐波、杂散、非线性)
是否平均是,取整段能量平均否,只取最大一个副峰
单位dBdBc(相对于载波)
应用关注音频、测量、精度场景通信、无线、电磁兼容等频谱敏感场景

如果做 高精度测量 关注 SNR

如果做 通信/雷达/频谱分析 关注 SFDR

三个对比:

指标衡量对象单位越大/越小越好
SNR有用信号 vs 量化噪声dB越大越好
ENOB等效分辨率(bit)bit越大越好
SFDR基波 vs 最大杂散峰dBc越大越好

输入带宽

        一个真实的高频模拟信号在进入 ADC 的“模拟输入电路”时,会被衰减,而输入带宽一般指的是在输入信号达到某个频率之后被衰减-3dB的点,这个频率就是输入带宽

        这个衰减不是数字处理造成的,而是ADC 模拟前端电路(开关、采样电容、抗混叠滤波器)造成的模拟信号幅度损耗。

        “-3 dB” 指的是输入信号的电压幅度下降到原来的约 70.7%(≈1/√2​),对应的功率下降了一半(因为功率 ∝ 电压²)。

        如下图,输入带宽为300Mhz

混叠

        高频信号在低采样率下“看起来像”低频信号

当你用一个采样频率 fsf_sfs​ 去采一个模拟信号时:

        如果信号频率超过了 fs2\frac{f_s}{2}2fs​​,它的频谱会“折叠”回来,混叠到低频部分,你就看不清它原来的频率了。

这是奈奎斯特采样定理的核心:

带通采样/欠采样

        如果你知道你的信号在某个高频带(比如 150–160 MHz),你可以故意用低采样率去“折叠”这个频段下来采样。

        注意:ADC 的输入带宽需要够大,能让这个高频信号进来

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

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

相关文章

硬件厂商的MIB文档详解 | 如何查询OID? | MIB Browser实战指南-优雅草卓伊凡

硬件厂商的MIB文档详解 | 如何查询OID? | MIB Browser实战指南-优雅草卓伊凡 一、硬件厂商的MIB文档是什么? 1. MIB的本质:设备的”数据字典” MIB(Management Information Base) 是SNMP协议的核心数据库,定义了设备…

阿里开源通义万相 Wan2.1-VACE,开启视频创作新时代

0.前言 阿里巴巴于2025年5月14日正式开源了其最新的AI视频生成与编辑模型——通义万相Wan2.1-VACE。这一模型是业界功能最全面的视频生成与编辑工具,能够同时支持多种视频生成和编辑任务,包括文生视频、图像参考视频生成、视频重绘、局部编辑、背景延展…

小学数学题批量生成及检查工具

软件介绍 今天给大家介绍一款近期发现的小工具,它非常实用。 软件特点与出题功能 这款软件体积小巧,不足两兆,具备强大的功能,能够轻松实现批量出题。使用时,只需打开软件,输入最大数和最小数&#xff0c…

5.13/14 linux安装centos及一些操作命令随记

一、环境准备 VMware Workstation版本选择建议 CentOS 7 ISO镜像下载指引 虚拟机硬件配置建议(内存/处理器/磁盘空间) 二、系统基础命令 一、环境准备 1.VMware Workstation版本选择建议 版本选择依据 选择VMware Workstation的版本时&#xff0c…

Baklib加速企业AI数据智理转型

Baklib智理AI数据资产 在AI技术深度渗透业务场景的背景下,Baklib通过构建企业级知识中台架构,重塑了数据资产的治理范式。该平台采用智能分类引擎与语义分析模型,将分散在邮件、文档、数据库中的非结构化数据转化为标准化的知识单元&#xf…

基于协同过滤的文学推荐系统设计【源码+文档+部署】

基于协同过滤的文学推荐系统设计 摘要 随着信息技术的飞速发展和文学阅读需求的日益多样化,构建一个高效、精准的文学推荐系统变得尤为重要。本文采用Spring Boot框架,结合协同过滤算法,设计并实现了一个基于用户借阅行为和社交论坛互动的文学…

数据结构与算法——单链表(续)

单链表(续) 查找在指定位置之前插入结点在指定位置之后插入结点删除pos位置的结点删除pos位置之后的结点销毁 查找 遍历:pcur指向头结点,循环,当pucr不为空进入循环,pucr里面指向的数据为要查找的值的时候…

全面且深度学习c++类和对象(上)

文章目录 过程和对象类的引入,类的定义类的访问限定符及封装类的访问限定符封装 类的实例化类大小内存对齐规则: this指针this特性 过程和对象 C语言面向过程设计,c面向对象设计, 举例:洗衣服 C语言:放衣服…

开源情报如何成为信息攻防的关键资源

相比于传统情报,开源情报具有情报数量大、情报质量好、情报成本低、情报可用性强等优势。这是开源情报能够成为信息攻防关键资源的主要原因。 海量信息让开源情报具有更大潜力。一是开源情报体量巨大。信息化时代是信息爆炸的时代,网络上发布的各种信息…

【风控】用户特征画像体系

一、体系架构概述 1.1 核心价值定位 风控特征画像体系是通过多维度数据融合分析,构建客户风险全景视图的智能化工具。其核心价值体现在: 全周期覆盖:贯穿客户生命周期的营销、贷前、贷中、贷后四大场景立体化刻画:整合基础数据…

Unity:场景管理系统 —— SceneManagement 模块

目录 🎬 什么是 Scene(场景)? Unity 项目中的 Scene 通常负责什么? 🌍 一个 Scene 包含哪些元素? Scene 的切换与管理 📁 如何创建与管理 Scenes? 什么是Scene Man…

SZU 编译原理

总结自 深圳大学《编译原理》课程所学相关知识。 文章目录 文法语法分析自顶向下的语法分析递归下降分析LL(1) 预测分析法FIRST 集合FOLLOW 集合 文法 乔姆斯基形式语言理论: 表达能力:0型文法 > 1型文法 > 2型文法 > 3型文法。 0 型文法&am…

【程序员AI入门:模型】19.开源模型工程化全攻略:从选型部署到高效集成,LangChain与One-API双剑合璧

一、模型选型与验证:精准匹配业务需求 (一)多维度评估体系 通过量化指标权重实现科学选型,示例代码计算模型综合得分: # 评估指标权重与模型得分 requirements {"accuracy": 0.4, "latency": …

ARM Cortex-M3内核详解

目录 一、ARM Cortex-M3内核基本介绍 (一)基本介绍 (二)主要组成部分 (三)调试系统 二、ARM Cortex-M3内核的内核架构 三、ARM Cortex-M3内核的寄存器 四、ARM Cortex-M3内核的存储结构 五、ARM Co…

ThinkStation图形工作站进入BIOS方法

首先视频线需要接在独立显卡上,重新开机,持续按F1,或者显示器出来lenovo的logo的时候按F1,这样就进到bios里了。联*想*坑,戴尔贵。靠。

go 集成base64Captcha 支持多种验证码

base64Captcha 是一个基于 Go 语言开发的验证码生成库,主要用于在 Web 应用中集成验证码功能,以增强系统的安全性。以下是其主要特点和简介: base64Captcha主要功能 验证码类型丰富:支持生成多种类型的验证码,包括纯…

【C语言字符函数和字符串函数(一)】--字符分类函数,字符转换函数,strlen,strcpy,strcat函数的使用和模拟实现

目录 一.字符分类函数 1.1--字符分类函数的理解 1.2--字符分类函数的使用 二.字符转换函数 2.1--字符转换函数的理解 2.2--字符转换函数的使用 三.strlen的使用和模拟实现 3.1--strlen的使用演示 3.2--strlen的返回值 3.3--strlen的模拟实现 四.strcpy的使用和模拟实现…

大模型基础之量化

概述 量化,Quantization,机器学习和深度学习领域是一种用于降低计算复杂度、减少内存占用、加速推理的优化方法。定义:将模型中的数据从高精度表示转换为低精度表示。主要目的是为了减少模型的存储需求和计算复杂度,同时尽量减少…

游戏引擎学习第286天:开始解耦实体行为

回顾并为今天的内容定下基调 我们目前正在进入实体系统的一个新阶段,之前我们已经让实体的移动系统变得更加灵活,现在我们想把这个思路继续延伸到实体系统的更深层次。今天的重点,是重新审视我们处理实体类型(entity type&#x…

win10-django项目与mysql的基本增删改查

以下都是在win10系统下,django项目的orm框架对本地mysql的表的操作 models.py----->即表对应的类所在的位置 在表里新增数据 1.引入表对应的在models.py中的类class 2.在views.py中使用函数:类名.objects.create(字段名值,字段名"值"。。。…