ADC选型关注的参数

目前,用来量化ADC动态性能的六个技术指标分别为SINAD(信号与噪声失真比),ENOB(有效位数),SNR(信噪比),THD(总谐波失真),THD+N(总谐波失真+噪声),和SFDR(无杂散动态范围)。

针对上述六个技术指标,尽管大多数的ADC制造商采用相同的定义,但是仍有例外。通过这些技术指标能够比较不同ADC的性能,重要的是,不仅仅要准确地理解指标的定义,还要了解指标之间的关系。

量化ADC失真和噪声的方法有很多,这些方法都是利用基于FFT分析的测试装置,如图1所示。

在这里插入图片描述

图1 对ADC的输出信号进行FFT分析的测试装置

在频域范围内,FFT的频谱输出是M/2个点(M是FFT的大小,即存储在缓存中的样本数量)。各点之间的间隔为fs/M,整个频率覆盖范围为dc至fs/2,其中fs为采样率。利用Analog Devices 公司的ADIsimADC®程序对理想的12位ADC进行FFT分析后,其FFT输出如图2所示。

请注意,FFT的理论本底噪声等于理论信噪比加上FFT的过程增益,10*log(M/2)。重要的是要记住,在计算SNR时使用的噪声值是遍布整个Nyquist带宽的(dc至fs/2),但是FFT是作为一个窄带频谱分析仪对整个频谱进行扫描,其扫描带宽为fs/M。这样能够减少噪声,减少的量等于过程增益,缩小带宽的模拟频谱分析仪也能产生相同的效果。

图2中FFT的数据表示的是5个独立的FFT的平均值。请注意,对若干个FFT的数据进行平均并不会影响本底噪声的平均值,其只是用来“平滑”每个频率窗口中随机变化的振幅。

在这里插入图片描述

图2 理想的12位ADC的FFT输出,输入2.111MHz,fs=82MSPS,5个独立的FFT的平均值,M=8192

与模拟频谱分析仪一样,FFT的输出数据能够用来测量数字信号各种谐波和噪声分量的幅值。输入信号的谐波可以通过其在频谱中的位置与其他失真产物区别开来。一个7MHz的输入信号,采样频率为20MSPS,其前九阶谐波产生的位置如图3所示。通常在数据手册中要指明二次和三次谐波,因为它们往往是最大的,然而某些数据手册可能只给出最差的谐波值。

总谐波失真(THD)

谐波失真通常以dBc(相对于载波的分贝值)为单位,尽管在音频应用中其可能表示为百分比。它是信号的有效值与有关谐波的均方根的比值。谐波失真通常是以接近满量程的输入信号进行测量(通常会比满功率低0.5~1dB,避免削波),虽然它能在任何电平下进行测量。对于远低于满功率的输入信号,由于转换器的差分非线性(DNL)将产生其它失真产物,而不是直接谐波,可能限制转换器的性能。

在这里插入图片描述

图3 输入信号7MHz,采样频率20MSPS情况下,失真产物的位置

总谐波失真(THD)是基波信号的有效值与其谐波信号和的平方根的平均值的比值(通常,只有前5阶谐波是显著的)。ADC的THD通常也是以接近满量程的输入信号进行,虽然它能在任何电平下进行测量。

总谐波失真+噪声(THD+N)是基波信号的有效值与其谐波信号和的平方根的平均值加上所有噪声分量(包括dc分量)的比值。其中,必须指定被测量噪声的带宽。对于FFT,其带宽为dc至fs/2(如果测量带宽是dc至fs/2(Nyquist带宽),那么THD+N与SINAD相等,详见下文)。但是,需要注意的是,在音频应用中测量带宽不一定是Nyquist带宽。

无杂散动态范围(SFDR)

无杂散动态范围(SFDR)是输入信号的有效值与频谱中最差杂散信号的有效值的比值。最差的杂散信号有可能是原始信号的谐波。在通信系统中,SFDR是一个十分重要的指标,因为它代表了能从一个较大的干扰信号(阻塞器)中区分出的最小信号。SFDR可以相对于全量程(dBFS),或者相对于实际的信号振幅(dBc)进行说明。图4形象地表示了SFDR的定义。

在这里插入图片描述

图4 无杂散动态范围(SFDR)

Analog Devices公司的ADIsimADC® ADC建模程序能够在不同的工作频率、电平和采样率下,对各种高性能的ADC进行评估。这些模型能够准确地反映器件的实际性能,图5显示了AD9444,采样率为80MSPS的14位ADC的典型FFT输出。

注意到,其输入频率为95.111MHz,经过采样后,其信号频率失真回到15.111MHz。同时,图5也显示了前5阶谐波产生的位置。在这种情况下,所有的谐波都是失真的。同时,在左侧的数据栏中,该程序计算并列出了重要的性能指标。

在这里插入图片描述

图5 AD9444,采样率为80MSPS的14位ADC,fin=95.111MHz,fs=80MSPS,5个独立的FFT的平均值

SINAD,SNR,ENOB

SINAD和SNR值得特别关注,因为不同的ADC制造商对两者的确切含义仍有一定的差异。信号与噪声失真比(SINAD,或者S/(N+D))是信号振幅的均方根与所有其他频谱分量的和的平方根的平均值的比值。其他频谱分量包括谐波,但是不包括dc分量。

SINAD能够很好地反映一个ADC的整体动态性能,因为它包括构成噪声和失真的所有分量。SINAD通常是根据输入信号不同的振幅和频率绘制的。当给定输入信号的振幅和频率时,SINAD等于THD+N,前提是两者测量噪声的带宽是相同的,均为Nyquist带宽。AD9226,采样率为65MSPS的12位ADC的典型图如图6所示。

在这里插入图片描述

图6 AD9226,采样率为65MSPS的12位ADC的SINAD和ENOB曲线图,适用于各种全量程(范围)的输入

SINAD曲线图表明,由于高频率失真,ADC的交流性能随之下降,一般绘制远高于Nyquist频率的曲线图,从而可以评估器件在欠采样应用时的性能。像这样的SINAD曲线图对于评估ADC的动态性能十分有用。利用理想的N位ADC的理论SNR与有效位数(ENOB)的关系:

在这里插入图片描述

修正系数本质上是将ENOB的值相对于满功率的信号进行“归一化”,而不考虑实际信号的振幅。

信噪比(SNR,有时也称作无谐波的信噪比)也能通过FFT数据进行计算,与SINAD一样,只是在计算过程中不考虑信号谐波,只考虑信号噪声。实际上,只需将前5阶谐波排除在外,因为它们占谐波的主要部分。当输入信号的频率较高时,信噪比曲线会下降,但是一般不会像SINAD曲线一样下降得那么快,因为在计算的过程中不包含信号谐波。

某些ADC数据表笼统的将SINAD称作SNR,因此,当你使用这些参数时必须特别注意,应当准确理解制造商所表达的含义。

SINAD,SNR,和THD间的关系

SINAD,SNR,和THD之间存在相应的数学关系(假定,在所有的测量中,输入信号具有相同振幅和频率)。在接下来的方程中,SNR,THD,和SINAD的单位都是dB,并通过实际的数学比率S/N,S/D,和S/(N+D)计算得出,如下所示:
在这里插入图片描述

参考原文:《搞清ADC的性能,需要理解这几个指标》

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

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

相关文章

ChatGPT原理解析

文章目录Transformer模型结构构成组件整体流程GPT预训练微调模型GPT2GPT3局限性GPT4相关论文Transformer Transformer,这是一种仅依赖于注意力机制而不使用循环或卷积的简单模型,它简单而有效,并且在性能方面表现出色。 在时序模型中&#…

GPT-4 介绍

1 简介 本文根据openAI的2023年3月的《GPT-4 Technical Report 》翻译总结的。 原文地址:https://arxiv.org/pdf/2303.08774.pdf 原文确实没有GPT-4 具体的模型结构,openAI向盈利组织、非公开方向发展了。也没透露硬件、训练成本、训练数据、训练方法等…

原生获取DOM节点

目录 一、通过document顶层方法获取 1、获取html标签 2、获取head标签 3、获取body标签 二、getElementBy系列获取 1、ID获取 2、类名获取 3、name属性获取 4、标签名获取 三、query系列获取 1、通过query选择器获取一个元素 2、通过querry选择器获取一组元素 四、通过…

特斯拉的操作系统是用什么语言编写的?

总目录链接>> AutoSAR入门和实战系列总目录 文章目录特斯拉车辆操作系统特斯拉GitHub中使用的语言Ruby和GoPythonSwift 和 Objective CQt我们知道操作系统至少需要一些非常低级的代码,这些代码在系统首次启动时运行,必须使用接近硬件的语言编写。…

如何使用python删除一个文件?好用到上头.....

人生苦短,我用python 若想利用python删除windows里的文件, 这里需要使用os模块 那接下来就看看利用os模块是如何删除文件的吧~ 具体实现方法如下! 更多学习资料:点击此处跳转文末名片获取 os.remove(path) 删除文件 path. 如果path是一…

硬件语言Verilog HDL牛客刷题day02 组合逻辑部分

1.VL11 4位数值比较器电路 1.题目: 某4位数值比较器的功能表如下。请用Verilog语言采用门级描述方式,实现此4位数值比较器。 2.解题代码: timescale 1ns/1nsmodule comparator_4(input [3:0] A ,input [3:0] B ,output …

Cortex-A7常用汇编指令

Cortex-A7常用汇编指令 本节我们将介绍一些常用的 Cortex-A7汇编指令,如果想系统的了解 Cortex-A7的所有汇 编指令请参考《 ARM ArchitectureReference Manual ARMv7-A and ARMv7-R edition.pdf》的 A4章节。 处理器内部数据传输指令 使用处理器做的最多事情就是…

黑马点评笔记(自用)

1.优惠卷秒杀 (1)全局唯一ID 订单如果用自增,容易被猜到交易量,且数据量大的话分成多个表,都是自增,容易出现重复。所以用全局ID生成器,Redis独立自增不会重复,但安全性不保证&#…

Vue Nginx 配置跨域

1、方案1:Nginx配置跨域,Vue不用配置vite代理 1.nginx 配置SSL证书 listen *:443;server_name gitlab.xxxxxx.com;server_tokens off; ## Dont show the nginx version number, a security best practicessl on;ssl_certificate /etc/gitlab/xxxxxx.c…

俺的面试qwq

1.JavaScript的基本数据类型都有什么? 布尔型、数值型、字符串、数组、null、undefined、object、symbol 2.数组方法pop()push() unshift() shift()的作用? pop()删除最后一个元素、push()在数组最后增加元素、unshift()在数组最前面增加元素、shift()删除第一个元素 3.box-s…

【ChatGPTAIGC研讨社】“iPhone时刻”:未来已来

文章目录前言一、ChaGPT&AIGC研讨社简介二、ChatGPT&AIGC研讨社的优势1.丰富充实的资料库Github开源:[ChatGPT_Project](https://github.com/shawshany/ChatGPT_Project)飞书资料库2.重量级嘉宾3.工作机会4.投资资源总结前言 去年年末,ChatGPT以…

Linux编译器-gcc/g++ 使用

在介绍gcc/g的使用前我们先了解一下两者的不同 gcc时主要编译c语言,而g主要编译c的,但是两者的选项是相同的,因此我们以gcc和c语言为例来讲解。背景知识 gcc和g都是编译器其核心作用将文本类文件翻译成二进制可执行 那么其过程是怎样的&…

dolphinscheduler 2.0.6 资源中心改造方案二:通过NFS挂载共享目录

目录调度资源中心存储概要安装NFS服务器客户端调度验证关闭SFTP开关(可忽略)重新上传资源文件worker执行任务验证服务器woker客户端worker其它nfs共享目录的配置文件/etc/exports说明调度资源中心存储概要 针对现有的单机存储可以做哪些扩展?…

免费1年服务器,部署个ChatGPT专属网页版

作者:小傅哥 博客:https://bugstack.cn 沉淀、分享、成长,让自己和他人都能有所收获!😄 白皮袄个免费1年服务器,部署个ChatGPT专属网页版! api.openai.com port 443: Connection timed out 你是…

【统计学习】25个必须掌握的数据分析基础概念

16个必须掌握的数据分析基础概念1. 描述性统计2. 假设性检验2.1 参数检验2.2 非参数检验3. 置信度分析4. 列联表分析5. 相关分析6. 方差分析7. 回归分析8. 聚类分析9. 判别分析10. 主成分分析11. 因子分析12. 时间序列分析13. 生存分析14. 典型相关分析15. ROC分析16. 偏差-方差…

MATLAB中quiver函数用法

目录 语法 说明 示例 创建箭头图 禁用自动缩放 绘制梯度和等高线 指定箭头颜色 指定箭头图的坐标区 在创建后修改箭头图 quiver函数的功能是绘制箭头图或向量图。 语法 quiver(X,Y,U,V) quiver(U,V) quiver(___,scale) quiver(___,LineSpec) quiver(___,LineSpec,fi…

List和list迭代器的模拟实现

list的使用 我们list表示带头双向循环链表。 我们再找我们的list中每个数据的位置&#xff0c;就不可以再用我们的下标[]了。 我们就必须用迭代器。 void test_list1() {list<int> lt;lt.push_back(1);lt.push_back(2);lt.push_back(3);lt.push_back(4);list<int>:…

MySQL基础-视图

文章目录MySQL基础-视图一、数据库对象二、视图概念三、视图的使用1、创建视图2、查看视图3、修改视图4、修改/删除视图四、总结MySQL基础-视图 一、数据库对象 对象描述表(TABLE)表是存储数据的逻辑单元&#xff0c;以行和列的形式存在&#xff0c;列就是字段&#xff0c;行…

STM32输出PWM波控制电机转速,红外循迹避障智能车+L298N的详细使用手册、接线方法及工作原理,有代码

智能循迹红外避障小车 本设计的完整的系统主要包括STM32单片机最小系统、L298n电机驱动&#xff0c;超声波 &#xff0c;舵机 &#xff0c;红外模块等。寻迹小车相信大家都已经耳熟能祥了。 我们在这里主要讲一下L298N驱动电机和单片机输出PWM控制电机转速。 本设计软件系统采…

这个时候了,你还不会不知道JavaMail API吧

一、概述 1.1 简述 JavaMail API 顾名思义&#xff0c;提供给开发者处理电子邮件相关的编程接口&#xff0c;它是Sun发布的用来处理email的API&#xff0c;其提供独立于平台且与协议无关的框架来构建邮件和消息传递应用。JavaMail API 提供了一组抽象类&#xff0c;用于定义组…