0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

过采样4:提高ADC分辨率实例(终篇)

工程师看海 来源:硬件工程师看海 作者:硬件工程师看海 2021-04-14 09:14 次阅读

原文来自公众号:硬件工程师看海

公众号后台回复:过采样有更多资料

这应该是过采样系列的最后一篇文章,经常有同学在使用FPGA单片机或者DSP进行过采样时没有正确设计代码,导致结果异常,有些结果看似正常,而实际却没有意义。

这篇文章涉及到简单的整型数据和算术运算,希望能有所帮助,仅供参考。

举栗子,理想的8 bit ADC,编码范围是0-255,在参考电压是255mV的情况下,分辨率是1mV。

对一个理想的9.6mV直流电压进行采样,ADC无法分辨小数点后的0.6mV,采样结果会被编码为10,即10mV。

过采样有效是有前提条件的,在这里是对9.6mV的直流电压加随机噪声。

过采样

对叠加噪声后的信号进行4次采样,理论上应该得到[9.8, 9.6, 10.4, 9.6]4个离散的样本点,而受到ADC分辨率的限制,实际只能得到[10, 10, 10, 10]4个编码样本,所有样本点都只能分布在。。。8、9、10。。。整数上。

接下来就对这4个样本点详细介绍,直观的感受过采样的原理。

假设信号带宽为B,我们分别分析采样频率F为2B sps/S和8B sps/S两种情况。

当采样频率为2B时,过采样率OSR1=F/(2B)=1;

当采样频率为8B时,过采样率OSR4=F/(2B)=4;

OSR4/OSR1=4,即过采样率提高了4倍(注意:是提高了4倍),其分辨率应该会增加1bit。

过采样系列一:采样定理与过采样率

继续以上面采样9.6mV信号举栗子。

当以采样频率F=1采样时,采集的结果是[10, 10,10, 10]中的任意一个,对应二进制(0000 1010)。

当以采样频率F=4采样时,采集的结果是[10, 10,10, 10]4个序列。

下面对F=4的4个数据进行下抽处理(降采样),可以减少计算量增加分辨率。

抽取

ADC是8bit的分辨率,但是在过采样计算时,不能定义并初始化一个8bit的整形数据,如果初始化8bit的数据,计算过程会溢出,最终结果的位宽还是8bit,并没有增加分辨率,在这里我们定义一个16bit的数据,预留了足够的buffer。

对采样得到的4个8bit数据求和运算,需要计算最大位宽,求和后的最大位宽为8+2=10bit,相当于左移了2bit,变为10bit。

如果只是简单的求平均,求和后的结果再除以采样个数4的话,则数据其实是右移2bit,又变回原来的8bit位宽,并没有增加分辨率。

在这里我们选择下抽方法是求和后除以2,即右移1bit,则数据从10bit变为9bit,相比于原始的8bit,增加了1bit分辨率(过采样容易理解,更重要的是下抽)。

过采样系列二:量化误差与过采样率

过采样率为4时,采样的4个数据序列[10, 10,10, 10]求和后是40,对应二进制(00 0010 1000),右移1bit后变为20,对应二进制(0 0001 0100)

255mV参考电压下,原始的8bit ADC,分辨率为1mV,采集的数据是9(0000 1001),即9mV;

过采样率增加4倍后:

255mV参考电压下,9bit ADC,分辨率为0.5mV,采集的数据是20(0 0001 0100),即10.0(9.98)mV;

过采样率增加4倍的前提下,只提高了1bit分辨率,效果不是很明显,继续在9.6mV基础上添加随机噪声,这次过采样率再增加4倍,达到16倍,即采样速率F=16,对16个采样序列进行计算举例。

对采样得到的16个8bit数据求和运算,最大位宽是8+4=12bit。

求和:10*8+9*7+11=154,对应二进制是(0000 1001 1010),再右移2bit,则变为10bit的38(00 0010 0110),(再次强调,不能简单的求和然后求平均)。

9.6mV加噪信号:

1、255mV参考电压下,原始的8bit ADC,分辨率为1mV,采集的数据是9(0000 1001),即9mV

2、过采率为4后:

255mV参考电压下,9bit ADC,分辨率为0.5mV,采集的数据是20(0 0001 0100),即10.0(9.98)mV;

3、过采率为16后:

255mV参考电压下,10bit ADC,分辨率为0.25mV,采集的数据是38(00 0010 0110),即9.47mV;

从列举的例子可以看出,过采样率是可以提高分辨率的,但是提高采样速率来提高分辨率的代价是巨大的(牛顿第三定律:得到点东西时总要舍弃点什么^_^)。

感谢转发、赞赏、分享。

分享,让知识更简单。

---------------------分割线---------------------

公众号往期干货:

华为海思软硬件开发资料

电感参数有哪些?怎么选择电感?

工程师必须知道的LDO工作原理

怎么选择BUCK降压电源的电感?

电源模块可以并联使用吗?!

你知道电感和磁珠的6大区别吗?

一文理解电荷泵电源原理

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • dsp
    dsp
    +关注

    关注

    544

    文章

    7670

    浏览量

    344228
  • adc
    adc
    +关注

    关注

    95

    文章

    5643

    浏览量

    539291
  • 分辨率
    +关注

    关注

    2

    文章

    988

    浏览量

    41549
  • 采样
    +关注

    关注

    1

    文章

    109

    浏览量

    25368
收藏 人收藏

    评论

    相关推荐

    ADC的噪声、ENOB及有效分辨率

    噪声计数。同样,采用相同的无噪声分辨率值,该例可得218.9,合489178个无噪声计数。  Δ-ΣADC采样  Δ-Σ ADC采用一种
    发表于 11-26 16:48

    ADC分辨率可以通过采样的方式提高吗?

    ADC分辨率是16位,用过采样的方式将分辨率提高到20位。ADC最大的
    发表于 11-30 10:33

    请问ADC采样频率和分辨率有什么关系吗?

    看了一些ADC的芯片,是不是有采样频率越高分辨率越小的关系啊?比如ADS1265就是这样
    发表于 01-18 06:36

    请问有采样率250MHz, 分辨率8位/12位的ADC推荐吗?

    您好, 请问有采样率250MHz左右 分辨率为12位,管脚兼容8位分辨率adc吗? 谢谢!
    发表于 02-22 11:53

    提高ADC分辨率并降低噪声的方法

    问题。图3:设计不佳的ADC和/或布局布线、接地、去耦不当的接地输入端直方图 提高ADC分辨率并降低噪声?折合到输入端噪声的影响可以通过数字均值方法降低。假设一个16位
    发表于 02-26 07:48

    示波器的垂直分辨率相关知识分享

    可以通过软件提高分辨率。我们将ADC转换成的离散数字信号称为采样点,相邻采样点之间的时间称为采样时间间隔,几个
    发表于 12-16 11:38

    ADC信噪比要怎么分析?高速高分辨率ADC电路要怎么实现?

    在雷达、导航等军事领域中,由于信号带宽宽(有时可能高于10MHz),要求ADC采样率高于30MSPS,分辨率大于10位。目前高速高分辨率ADC
    发表于 04-14 06:16

    如何设计高速高分辨率ADC电路?

    影响ADC信噪比因素有哪些?如何设计高速高分辨率ADC电路?基于AD6644AST一65的高速高分辨率ADC电路设计
    发表于 04-23 06:01

    怎样通过单片机ADC采样来提升采样分辨率

    什么是采样呢?怎么利用过采样实现更高的分辨率呢?怎样通过单片机ADC
    发表于 02-28 09:12

    如何实现STM32 MCU的16位ADC分辨率

    STM32 MCU 具有 12 位 ADC 分辨率,但一些 MCU 声称“高达 16 位硬件采样”。当我在 STMCubeMX 中设置 ADC
    发表于 12-01 06:11

    深度剖析模数转换器(ADC)的解密分辨率采样率

      分辨率采样速率是选择模数转换器(ADC)时要考虑的两个重要因素。为了充分理解这些,必须在一定程度上理解量子化和奈奎斯特准则等概念。  分辨率
    发表于 02-16 18:10

    请问ADC采样频率和分辨率有什么关系吗?

    ADC采样频率和分辨率有什么关系吗?
    发表于 10-15 08:24

    请问有采样率250MHz左右、分辨率为12位,管脚兼容8位分辨率adc吗?

    您好, 请问有采样率250MHz左右 分辨率为12位,管脚兼容8位分辨率adc吗? 谢谢!
    发表于 11-21 06:46

    通过过采样提高SOC单片机片内A_D分辨率

    叙述了基于过采样技术,使用软件方法提高单片机片内A/ D 分辨率的基本原理及实现方法。给出了一个实现示例,将C8051F040 片内12 位分辨率A
    发表于 03-20 14:07 18次下载

    利用过采样技术提高ADC测量分辨率

    提出了用过采样技术使在有用的测量频带内的信噪比得到改善, 从而提高ADC 测量的分辨率。并利用Matlab 对其结论进行仿真, 且在TMS320L F2407 DSP 上予以实现,结果
    发表于 03-20 14:09 41次下载
    利用过<b class='flag-5'>采样</b>技术<b class='flag-5'>提高</b><b class='flag-5'>ADC</b>测量<b class='flag-5'>分辨率</b>