Title

过采样是什么意思啊???

1138次浏览

问题描述

头像

王丹·0.00

2016-08-25提问

分数   时间  

全部答案 3

2
已采纳

已采纳

很多应用场合需要使用模/数转换器ADC 进行参数测量,这些应用所需要的分辨率取决于信号的动态范围、必须测量的参数的最小变化和信噪比SNR。许多系统中既有很宽的动态范围又要求测量出参数的微小变化,因此就必须使用高分辨率的ADC。然而,高分辨率的ADC 器件价格昂贵,若使用价格相对低廉的具有较低分辨率的ADC 器件,通过一些技术也达到较高的分辨率,则在工程应用中是非常受欢迎的。过采样技术就可以提高模数转换的分辨率而实现该目的。

1 基本原理

ADC 转换时可能引入很多种噪声,例如热噪声、杂色噪声、电源电压变化、参考电压变化、由采样时钟抖动引起的相位噪声以及由量化误差引起的量化噪声。有很多技术可用于减小噪声,例如精心设计电路板和在参考电压信号线上加旁路电容等,但是ADC 总是存在量化噪声的,所以一个给定位数的数据转换器的最大SNR 由量化噪声定义。在一定条件下过采样和求均值会减小噪声和改善SNR,这将有效地提高测量分辨率。过采样指对某个待测参数,进行多次采样,得到一组样本,然后对这些样本累计求和并对这些样本进行均值滤波、减小噪声而得到一个采样结果。

由奈奎斯特定理知:采样频率fs 允许重建位于采样频率一半以内的有用信号,如果采样频率为40kHz,则频率低于20kHz 的信号可以被可靠地重建和分析。与输入信号一起,会有噪声信号混叠在有用的测量频带内(小于fs/2 的频率成分):

erms 是平均噪声功率,fs 是采样频率,E(f)是带内ESD。

方程1 说明信号频带内的噪声能量谱密度ESD或被采样噪声的噪声平面随采样频率的增加而降低。

方程2 相邻ADC 码之间的距离或LSB。

为了说明过采样对噪声的影响,先定义量化噪声为:两个相邻ADC 码之间的距离对应的电压值。因为ADC 会舍入到最近的量化水平或ADC 码,所以

N 是ADC 码的位数, Vref是参考电压。

量化误差为(eq):

方程3 ADC 量化噪声的功率

假设噪声近似为白噪声,代表噪声的随机变量在ADC 码之间分布的平均值为0,则方差为平均噪声功率

 方程4 过采样率定义。

用过采样率OSR 来表示采样频率与奈奎斯特频率之间关系:

fs 是采样频率,fm 是输入信号的最高频率。

方程5 带内噪声功率是OSR 的函数。

如果噪声为白噪声则低通滤波器(对样本求均值)输出带内噪声功率为:

n0 是滤波器的输出噪声功率。

方程5 说明,我们可以通过提高OSR 来减小带内噪声功率。由于过采样和求均值并不影响信号功率,即信号功率没有减小,而带内噪声功率却降低,显然信号的信噪比SNR就得到了提高,也就等效于ADC 的分辨率得到了提高。

方程6 噪声功率是OSR 和分辨率的函数。

可以从方程3、4 和5 得到下面这个反映噪声功率与过采样率和分辨率关系的表达式:

OSR 是过采样率,N 是ADC 的位数,Vref是参考电压。

反过来给定一个固定的噪声功率,可以计算所需要的位数,解方程6 求N,得到用给定的参考电压、带内噪声功率及过采样率来计算有效位数。

方程7 有效位数是参考电压带内噪声功率和过采样率的函数。

从方程7 可以注意到:采样频率每增加1 倍,带内噪声将减小3 dB,而测量分辨率将增加1/2 位。

2 提高ADC 测量分辨率的示例

在实际应用中将一个信号的带宽限制到小于fs/2,然后以某个过采样率OSR 对该信号采样,再对采样值求平均值得到结果输出数据。每增加一位分辨率或每减小6dB 的噪声,需要以4 倍的采样频率fs 进行过采样。

fos=4w*fs

w 是希望增加的分辨率位数,fs 是初始采样频率要求,fos是过采样频率。

方程8 增加测量分辨率的过采样频率

假设一个系统使用12 位的ADC,每秒输出一个温度值(1Hz),为了将测量分辨率增加到16 位,按下式计算过采样频率: fos=44*1(Hz)=256(Hz)。

因此,如果以fos=256Hz 的采样频率对温度传感器进行过采样,在所要求的采样周期内收集到足够的样本,对这些样本求均值便可得到16 位的输出数据。为此,先累加将256个连续样本加在一起,然后将总和除以256,这样的过程通常被称为抽取。

假设某温度传感器的满度输出为10V,使用10V 的参考电压Vref ,温度的变化范围为500℃。可以计算对于12 位和16 位测量的代码宽度和温度分辨率(可测量的最小温度变化)。

在未使用过采样技术的情况下,可得到12 位的温度测量结果,其每码字对应的温度为:

500/4096=0.1221℃/code;

使用过采样技术的情况下,可得到16 位测量结果,其每码字对应的温度为:

500/(4096*16)=0.0076℃/code。

因此对于每个ADC 码,没采用过采样技术时,测量的最小温度变化是0.1221℃。当需要更高的温度分辨率,以便能分辨1%℃时,可以使用过采样和求均值技术,用同一个12 位ADC 达到这个分辨率,测量的最小温度变化是0.0076℃,这就允许以高于1%℃的精度对温度进行测量。

得到上述较好结果,是以牺牲CPU 的运行时间和占用内存资源为代价的,同时较低ADC 转换芯片也必须具有较高的转换速度,其转换速度必须满足过采样率OSR 的要求。否则,上述效果是得不到的。如果一个ADC 的最大采样速率是40ksps,在不采用过采样和求均值技术的情况下,可以得到40ksps 的输出字速率。但是,如果为达到较高的分辨率而采用过采样和求均值技术抽取,吞吐率将降低到初始值除以过采样率OSR。在我们所提供的例子中,过采样率OSR为256,输出字速率将是40ksps/256=156 个样本,即每秒钟有156 个采样值。由此可以看出:对于给定的采样速率,应在分辨率和吞吐率之间权衡。另一个需要考虑的问题是增加分辨率需要增加计算时间。

3 使用过采样技术对应用的要求

过采样技术并不是对任何需要提高分辨率的应用都有效,它对应用有如下要求:

噪声必须逼近白噪声,在整个有用频带内具有平均分布的功率谱密度。 

噪声幅度必须足够大,能引起输入信号样本之间的随机变化,变化幅度至少为两个相邻代码之间的距离。 

要求输入信号可以用一个在两个相邻ADC 代码之间具有等概率分布的随机变量表示(即过采样技术不能补偿ADC 的积分非线性误差INL)。 

过采样技术对相关或不能用白噪声模拟的噪声例如反馈系统的噪声不起作用;另外,如果量化噪声的功率大于自然白噪声例如热噪声,过采样和求均值技术也不会有效,ADC 的分辨率较低时,就属于这种情况。大多数使用12 位ADC 的应用都可以从过采样和求均值技术获益。

评论 (0)条评论
头像555

  吴斌·250.00

2016-08-29回答

3
已采纳

已采纳

过采样技术原理介绍

假定环境条件: 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 

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

评论 (0)条评论
头像555

  李宁·170.00

2016-08-27回答

3

过采样是使用大于奈奎斯特采样频率的频率对输入信号进行采样。设数字音频系统原来的采样频率为fs,通常为44.1kHz或48kHz。若将采样频率提高到R×fs,R称为过采样比率,并且R>1。

评论 (0)条评论
头像555

  无敌三脚喵·880.00

2016-08-26回答

3 条记录 1/1 页

撰写答案

Document