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

ADC重要的信噪比公式是怎么来的?

本文来自看海原创视频教程:《运放秘籍》运算放大器基础精讲及应用第一部*开天

微信公众号:工程师看海

 【淘宝】https://m.tb.cn/h.5PAjLi7?tk=vmMLW43KO7q CZ3457 「运放秘籍_运算放大器Multisim仿真视频教程第一部开天_工程师看海」

点击链接直接打开 或者 淘宝搜索直接打开

大家好,我是工程师看海,原创文章欢迎点赞分享

做过数据采集或者模拟电路的同学很可能知道下面这个关于ADC信噪比的著名公式:

图片

其中N是ADC的位数,比如对于一个10bit的ADC,N=10,当ADC采集一个满量程的正弦波时,那么信噪比SNR=6.02*10+1.76=61.96dB,那么这个公式是怎么来的呢?

ADC量化噪声

下图是理想ADC的量化噪声示意图,从下图可以看到,对于一个线性输入的模拟信号,ADC会产生台阶式的输出,这个输入和输出的误差波形近似于一个峰峰值q=1LSB的锯齿波,它的有效值RMS计算过程见公式(2)(q=1LSB),LSB计算过程见公式(3),其中FS是ADC的输入电压范围,。

图片

图片

SNR

以前的文章介绍过SNR计算过程,信噪比是信号的有效值(RMS)除以噪声的有效值(RMS),

图片

对于一个满量程输入的正弦信号见公式(5),根据公式(5)可以求得公式(6),

图片

对于满量程ADC而言,其输入范围是0-FS,那么输入的正弦信号的幅度范围就是0-Fs/2,见下图示意图,因此公式(5)中的分母是2

图片

ADC信噪比SNR与位数N

那么到目前为止,我们知道了信号的有效值(RMS),即公式(6),也知道了ADC量化噪声的有效值(RMS),即公式(2)。把公式(6)和公式(2)带入公式(4)得到公式(7):

图片

公式(7)不够简化,我们继续化简(高中学的指数运算规则),可以得到公式(8),

图片

由此我们就推导出了ADC位数N与信噪比SNR的关系,是不是和公式(1)一模一样?

多说几句

上式的成立条件是信号带宽比较高。

如果信号带宽(或者说频率)很低,低于奈奎斯特采样频率fs/2,那么这会导致信号带宽范围内的噪声减小,进而使得SNR增加。

这就是常说的过采样,详细内容后面后机会在介绍。

另一点值得说明的是,在评估噪声时,常用到频谱分析,频谱的本底噪声值与采样点数量有关。

如果采样点多,那么本底噪声就会低,如果采样点数量减小,那么本底噪声就会增加,这被称为FFT增益

因此在噪声分析时,最好要自始至终使用相同数量的采样点进行分析,避免被不正确的评估方法误导。

如果看到这里,请点赞、收藏、分享三连!

限时免费扫码进群,交流更多行业技术

图片

相关文章:

  • Python自动连接SSH
  • Redis入门三(主从复制、Redis哨兵、Redis集群、缓存更新策略、缓存穿透、缓存击穿、缓存雪崩)
  • 算法学习——LeetCode力扣动态规划篇8
  • MATLAB 自定义生成直线点云(详细介绍) (47)
  • JSQLParserException异常
  • OpenHarmony无人机MAVSDK开源库适配方案分享
  • Mac 装 虚拟机 vmware、centos7等
  • phpspreadsheet导出Excel报错问题汇总
  • 运筹学基础(二):求解整数规划的分支定界法(branch and bound)
  • 快速上手Spring Cloud 九:服务间通信与消息队列
  • Docker Stack(堆栈) 部署多服务集群,多服务编排
  • python电商结合双轨制
  • 推特Twitter有直播功能吗?如何用Twitter直播?
  • Windows 电脑麦克风 自动启用/禁用 小玩具!
  • rust - 使用文件锁防止应用多开
  • __proto__ 和 prototype的关系
  • 【剑指offer】让抽象问题具体化
  • ES6 学习笔记(一)let,const和解构赋值
  • mongodb--安装和初步使用教程
  • MQ框架的比较
  • mysql 5.6 原生Online DDL解析
  • nginx 配置多 域名 + 多 https
  • React+TypeScript入门
  • React-flux杂记
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • webpack4 一点通
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 笨办法学C 练习34:动态数组
  • 离散点最小(凸)包围边界查找
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • Python 之网络式编程
  • ​水经微图Web1.5.0版即将上线
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (pojstep1.1.2)2654(直叙式模拟)
  • (Python第六天)文件处理
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (搬运以学习)flask 上下文的实现
  • (附源码)spring boot智能服药提醒app 毕业设计 102151
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐
  • (四)汇编语言——简单程序
  • (学习日记)2024.02.29:UCOSIII第二节
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • (转)用.Net的File控件上传文件的解决方案
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • 、写入Shellcode到注册表上线
  • .mysql secret在哪_MySQL如何使用索引
  • .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
  • .Net Redis的秒杀Dome和异步执行
  • .net开源工作流引擎ccflow表单数据返回值Pop分组模式和表格模式对比
  • .Net中wcf服务生成及调用
  • [ NOI 2001 ] 食物链