视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
过采样技术提升ADC采样精度
2025-09-30 19:45:02 责编:小OO
文档

过采样技术提升ADC采样精度

 
其实原理很简单, 很容易明白, 怎样实现提高分辨率? 

假定环境条件: 10位ADC最小分辨电压1LSB 为 1mv 

假定没有噪声引入的时候, ADC采样上的电压真实反映输入的电压, 那么小于1mv的话,如ADC在0.5mv是数据输出为0 

我们现在用4倍过采样来, 提高1位的分辨率, 

当我们引入较大幅值的白噪声: 1.2mv振幅(大于1LSB), 并在白噪声的不断变化的情况下, 多次采样, 那么我们得到的结果有 

真实被测电压     白噪声叠加电压     叠加后电压     ADC输出     ADC代表电压 

    0.5mv              1.2mv                 1.7mv             1                1mv 

    0.5mv              0.6mv                 1.1mv             1                1mv 

    0.5mv             -0.6mv                -0.1mv             0                0mv 

    0.5mv             -1.2mv                -0.7mv             0                0mv 

ADC的和为2mv, 那么平均值为: 2mv/4=0.5mv!!!   0.5mv就是我们想要得到的 

这里请留意, 我们平时做滤波的时候, 也是一样的操作喔!   那么为什么没有提高分辨率? 

是因为, 我们做滑动滤波的时候, 把有用的小数部分扔掉了, 因为超出了字长啊, 那么0.5取整后就是 0 了, 结果和没有过采样的时候一样是 0 , 

而过采样的方法时候是需要保留小数部分的, 所以用4个样本的值, 但最后除的不是4, 而是2!   那么就保留了部分小数部分, 而提高了分辨率! 

从另一角度来说, 变相把ADC的结果放大了2倍(0.5*2=1mv), 并用更长的字长表示新的ADC值, 

这时候, 1LSB(ADC输出的位0)就不是表示1mv了, 而是表示0.5mv, 而(ADC输出的位1)才是原来表示1mv的数据位, 

下面来看看一下数据的变化: 

ADC值相应位                     9 8 7 6 5 4 3 2 1 0 

0.5mv测量值                     0 0 0 0 0 0 0 0 0 0    0mv(10位ADC的分辨率1mv,小于1mv无法分辨,所以输出值为0)            

叠加白噪声的4次过采样值的和     0 0 0 0 0 0 0 0 1 0    2mv 

滑动平均滤波2mv/4次             0 0 0 0 0 0 0 0 0 0    0mv(平均数, 对改善分辨率没作用) 

过采样插值2mv/2               0 0 0 0 0 0 0 0 0 0 1    2mv/2=0.5mv, 将这个数作为11位ADC值, 那么代表就是0.5mv 

                                                      这里我们提高了1位的ADC分辨率 

这样说应该就很简单明白了吧, 其实多出来的位上的数据, 是通过统计输入量的分布, 计算出来的, 

而不是硬件真正分辨率出来的, 引入噪声并大于1LSB, 目的就是要使微小的输入信号叠加到ADC能识别的程度(原ADC最小分辨率). 

理论来说, 如果ADC速度够快, 可以无限提高ADC的分辨率, 这是概率和统计的结果 

但是ADC的采样速度, 过采样令到最后能被采样的信号频率越来越低, 

就拿stm32的ADC来说, 12ADC, 过采样带来的提高和局限 

分辨率    采样次数    每秒采样次数 

12ADC        1             1M 

13ADC        4             250K 

14ADC        16            62.5K 

15ADC                    15.6K 

16ADC        256           3.9K 

17DC         1024          976 

18ADC        4096          244 

19ADC        16384         61 

20ADC        65536         15 

要记住, 这些采样次数, 还未包括我们 要做的 滑动滤波, 

下载本文
显示全文
专题