过采样是使用远大于奈奎斯特采样频率的频率对输入信号进行采样。设数字音频系统原来的采样频率为fs,通常为44.1kHz或48kHz。若将采样频率提高到R×fs,R称为过采样比率,并且R>1。在这种采样的数字信号中,由于量化比特数没有改变,故总的量化噪声功率也不变,但这时量化噪声的频谱分布发生了变化,即将原来均匀分布在0 ~ fs/2 频带内的量化噪声分散到了0 ~ Rfs/2的频带上。右图表示的是过采样时的量化噪声 功率谱。
若R>>1,则Rfs/2就远大于 音频信号的最高频率fm,这使得量化噪声大部分分布在音频 频带之外的高频区域,而分布在音频频带之内的量化噪声就会相应的减少,于是,通过 低通滤波器滤掉fm以上的噪声分量,就可以提高系统的信噪比。这时,过采样系统的最大量化信噪比为公式如右图.
式中fm为音频信号的最高频率,Rfs为过采样频率,n为量化比特数。从上式可以看出,在过采样时,采样频率每提高一倍,则系统的信噪比提高3dB,换言之,相当于量化比特数增加了0.5个比特。由此可看出提高过采样比率可提高A/D转换器的精度。
但是单靠这种过采样方式来提高信噪比的效果并不明显,所以,还得结合噪声整形技术。
改变噪声的分布,减少噪声在有用信号的带宽内,然后在通过低通滤波器滤除
掉噪声,达到较好的 信噪比,一般用在sigma-deltaDAC 或者ADC里面。
1.提高时域分辨力从而获得更好的时域波形;
2.提高滤波器的处理增益,当在频域上滤波时,滤波器的设计变得更容易;
3.提高信噪比, 匹配滤波时更好地收集波形 能量;
4.抑制镜像,使上变频更容易,降低对后级DA转换的保持时间要求;
5.需要fractional sampling timing时是必需的.
过采样应用:D/A转换,但不一定非要过采样,过采样的技术一般用在低速(几十K到数M)高精度(如16bit 18bit .....)的情况。DA过采样可以用线性插值实现。
假定环境条件: 10位 ADC最小分辨电压1LSB 为 1mv 假定没有噪声引入的时候, ADC采样上的电压真实反映输入的电压, 那么小于1mv的话,如ADC在0.5mv是数据输出为0
我们现在用4倍过采样来, 提高1位的分辨率,
当我们引入较大 幅值的 白噪声: 1.2mv 振幅(大于1LSB), 并在白噪声的不断变化的情况下, 多次采样, 那么我们得到的 结果有
真实被测电压 | 白噪声叠加电压 | 叠加后电压 | ADC输出 |
0.5mv | 1.2mv | 1.7mv | 1mv |
0.5mv | 0.6mv | 1.1mv | 1mv |
0.5mv | -0.6mv | -0.1mv | 0mv |
0.5mv | -1.2mv | -0.7mv | 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
要记住, 这些采样次数, 还未包括我们要做的滑动滤波