使用过采样(Oversampling)提升ADC分辨率

Posted Naisu Xu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用过采样(Oversampling)提升ADC分辨率相关的知识,希望对你有一定的参考价值。

文章目录

前言

ADC是经常用到的一种元件,用于采集信号电压。

ADC有一个重要的参数——分辨率,该参数决定ADC能够分辨的最小电压刻度。比如如果ADC能够采集电压范围为 0 ~ 1.024V ,同时它的分辨率为 10位(即1024),那么它最小能够分辨的电压近似为 0.001V。

通常分辨率越高的ADC越贵,为了节省成本在某些情况下可以通过 过采样(Oversampling) 方式提升采样数据的分辨率,这篇文章将对此进行介绍。

方法

这个方法的理论前提是信号电压值会受到外界干扰而导致引起ADC采样最小分辨率以上的变化。 比如某个1V的信号电压在环境中一直呈现出1.001、0.999、0.998、1.000、1.002……等变化的状态,从而导致ADC采样时数据会变化。

通常环境中都会有随机摆动变化的白噪声干扰,只要这个干扰上述条件的话就可以使用下面的方法来提升分辨率:

为了提升p位分辨率,连续采样 4p 个数据求和,对求和的结果右移p位(即除以2p)得到数据就是最终提升了分辨率后的采样数据。

提升1位分辨率,需要连续采样4个数据求和,然后对求和的结果右移1位;
提升2位分辨率,需要连续采样16个数据求和,然后对求和的结果右移2位;
提升3位分辨率,需要连续采样64个数据求和,然后对求和的结果右移3位;
……

这个方法的副作用是ADC的采样速率变相的大大下降了。

后记

上面只是简单介绍了可以使用该方法的条件和使用方式,具体的介绍论证与扩展等可以参考下面文章:
《AN2668 - Application note - Improving STM32F1 Series, STM32F3 Series and STM32Lx Series ADC resolution by oversampling》

以上是关于使用过采样(Oversampling)提升ADC分辨率的主要内容,如果未能解决你的问题,请参考以下文章

过采样的原理

解决正负样本数据不平衡

如何在词嵌入层之前应用 SMOTE 技术(过采样)

spark实现smote近邻采样

STM32H7 ADC 过采样对精度的影响效果

CH559L单片机ADC介绍以及ADC采样案例