搜索
bottom↓
回复: 16

关于过采样原理的分析问题

[复制链接]

出0入0汤圆

发表于 2017-3-24 15:32:47 | 显示全部楼层 |阅读模式
    不知道对不对,过采样的原理其实就是采样多次就平均值,理论上采样4次相加球平均计算后可以增加一位分辨率。但是计算量是原来的四倍还要多。 比如STM32是12位的ADC 采样频率最大1M 那就是12位的分辨率    如果是采样1M 得到250K的采样频率(每四次做一次平均值)。那分辨率就达到13位。     (ps:这里都是理想的ADC 不管噪声等)。          请问这样分析有问题吗?

阿莫论坛20周年了!感谢大家的支持与爱护!!

如果想吃一顿饺子,就得从冰箱里取出肉,剁馅儿,倒面粉、揉面、醒面,擀成皮儿,下锅……
一整个繁琐流程,就是为了出锅时那一嘴滚烫流油的热饺子。

如果这个过程,禁不住饿,零食下肚了,饺子出锅时也就不香了……《非诚勿扰3》

出0入0汤圆

 楼主| 发表于 2017-3-24 15:35:16 | 显示全部楼层
根据奈奎斯特定理,Fs>2Fm  就可以还原原信号

出0入0汤圆

发表于 2017-3-24 15:54:20 | 显示全部楼层
不对,真的不对

出0入0汤圆

 楼主| 发表于 2017-3-24 15:55:48 | 显示全部楼层
minier 发表于 2017-3-24 15:54
不对,真的不对

那对的是怎么样的

出50入58汤圆

发表于 2017-3-24 16:59:01 | 显示全部楼层
好像没这么简单,信号前面要加入白噪声

出50入58汤圆

发表于 2017-3-24 17:05:50 | 显示全部楼层
网上摘抄的,大概就这么个意思
假定环境条件: 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       64           15.6K
16ADC       256          3.9K
17DC        1024         976
18ADC       4096         244
19ADC       16384        61
20ADC       65536        15
要记住, 这些采样次数, 还未包括我们 要做的 滑动滤波,  

出5入10汤圆

发表于 2017-3-24 17:06:59 来自手机 | 显示全部楼层
我跟楼主理解一样,坐等大神解惑

出0入8汤圆

发表于 2017-3-24 17:15:50 来自手机 | 显示全部楼层
本帖最后由 canspider 于 2017-3-24 17:22 编辑

反过来用一位超快的ADC也能得到很多位的结果

比如∑-Δ ADC

出0入0汤圆

发表于 2017-3-24 17:27:52 | 显示全部楼层
不管噪声就不可能增加分辨率……

出0入0汤圆

发表于 2017-3-24 18:09:43 | 显示全部楼层
鲜衣怒马 发表于 2017-3-24 17:05
网上摘抄的,大概就这么个意思
假定环境条件: 10位ADC最小分辨电压1LSB 为 1mv

现在才明白是这么回事。要加入白噪声才有用啊!

出0入0汤圆

 楼主| 发表于 2017-3-24 19:15:30 | 显示全部楼层
鲜衣怒马 发表于 2017-3-24 17:05
网上摘抄的,大概就这么个意思
假定环境条件: 10位ADC最小分辨电压1LSB 为 1mv

对啊 他是用来分析为什么可以得到高一位的分辨率 ,  不是说需要加入白噪声。白噪声是不好。要去掉的  他这样就是为了减少白噪声的影响

出0入0汤圆

发表于 2017-3-24 19:19:05 | 显示全部楼层
12->14.........

出0入0汤圆

发表于 2017-3-24 19:47:46 来自手机 | 显示全部楼层
这方面adi的技术文章有比较详细阐述,过采样 欠采样 混叠等等,先明确概念;snr=6.02N+1.76 描述adc位数与信噪比关系,一般以量化噪声为主(量化误差引起,分布在无限个奈奎斯特区,通过混叠体现在结果中)一般的,认为量化噪声随机分布在first nyquist zone(0-fs/2),以4倍过采样同时通过LPF滤掉1/8fs以上信号,那么噪声能量减少3/4,SNR提高6dB,即提高了有效分辨率;

出0入0汤圆

发表于 2017-3-25 09:22:13 | 显示全部楼层
一天的蓝 发表于 2017-3-24 19:47
这方面adi的技术文章有比较详细阐述,过采样 欠采样 混叠等等,先明确概念;snr=6.02N+1.76 描述adc位数与 ...

有具体的连接吗,这方面知识也需要补一下

出0入0汤圆

发表于 2017-3-25 09:35:40 | 显示全部楼层
鲜衣怒马 发表于 2017-3-24 17:05
网上摘抄的,大概就这么个意思
假定环境条件: 10位ADC最小分辨电压1LSB 为 1mv

还是不太明白,其中的白噪声是如果产生的,还有你最小面多少位adc对应的采样次数什么意思啊,帮忙解释一下,可以举个工程应用的例子吗?

出0入0汤圆

发表于 2017-3-25 09:49:23 | 显示全部楼层
大神们继续,这方面知识也需要补一下

出0入0汤圆

发表于 2017-3-25 10:29:42 | 显示全部楼层
本帖最后由 RAMILE 于 2017-3-25 10:55 编辑

看看ADC结果的LSB怎么产生的,就知道过采样累加平均就能增加采样有效位的原因

ADC的细胞就是比较器,生成LSB最低位的比较器如果非常稳定,那么输入直流信号小于0.5LSB的是0,大于0.5LSB对的是1,最终总是有0.5LSB的不确定度,,我说的是理想情况,别抬扛

这时候给输入的直流信号加上一个

峰峰值 = 1 LSB    的交流信号,最好是稳定的三角波,如果有各个电平点分布均匀的噪声信号就更好了

输入是0.7123LSB,在一个三角波周期采样10次,输出结果是{0,0,1,1,1,1,1,1,1,1},奇迹出现了,累加平均后是0.7
输入是0.7123LSB,在一个三角波周期采样100次,输出结果是{0,0,....,1,1,1,1,1,1,1,1},奇迹出现了,累加平均后是0.71
输入是0.7123LSB,在一个三角波周期采样1000次,输出结果是{0,0,....,1,1,1,1,1,1,1,1},奇迹出现了,累加平均后是0.712
输入是0.7123LSB,在一个三角波周期采样10000次,输出结果是{0,0,....,1,1,1,1,1,1,1,1},奇迹出现了,累加平均后是0.7123

实际上在1LSB,一般都在mV的电平上,芯片内部的电压信号非常嘈杂,各种热噪声,感应耦合的噪声,所以安捷伦的34401之类的表都使用非常高的refence电压,比如+-10V,这样的话LSB的比较电平不至于太低

更常见的就是把这个噪声和信号全部采样,由于噪声一般是平均分布在各个频谱上,用低频的滤波器把直流信号过滤出来就OK了,这就是软件常用的多次采样求平均值方法

sigma-delta是怎么来的我不知道,我说的和sigma-delta没有任何关系,我认为sd就是个压控振荡器
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-28 21:28

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表