降采样:2048HZ对信号来说是过采样了,事实上只要信号不混叠就好(满足尼奎斯特采样定理),所以可以对过采样的信号作抽取,即是所谓的“降采样”。
“采样频率从2048HZ到32HZ每隔64个样本,“??意思呢?降采样的频率怎么是变化的啊?我对降采样的原理不太熟悉。
把过采样的数据,再间隔一定数再采一次的意思。过采样了,频谱分辨率比较低。
那为什么还过采样啊,别使用2048HZ ,直接采样频率取为300HZ,不就免了降采样了吗?呵呵,这样问是不是很幼稚啊,我了解的少,见笑了:L
在现场中采样往往受具体条件的限止,或者不存在300HZ的采样率,或调试非常困难等等。若R>>1,则Rfs/2就远大于的最高频率fm,这使得量化噪声大部分分布在音频频带之外的高频区域,而分布在音频频带之内的量化噪声就会相应的减少,于是,通过低通滤波器滤掉fm以上的噪声分量,就可以提高系统的信噪比。
原采样频率为2048HZ,这时信号允许的最高频率是1024HZ(满足尼奎斯特采样定理),但当通过滤波器后使信号的最高频率为16HZ,这时采样频率就可以用到32HZ(满足尼奎斯特采样定理,最低为32HZ,比32HZ高都可以)。从2048HZ降到32HZ,便是每隔64个样本取1个样本。这种把采样频率降下来,就是降采样(downsample)。这样做的好处是减少数据样点,也就是减少运算时间,在实时处理时常采用的方法。
过采样:
过采样概述
过采样是使用远大于奈奎斯特采样频率的频率对输入信号进行采样。设数字音频系统原来的采样频率为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转换器的精度。
但是单靠这种过采样方式来提高信噪比的效果并不明显,所以,还得结合噪声整形技术。
过采样技术原理介绍
假定环境条件: 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分辨率。
这样说应该就很简单明白了吧,其实多出来的位上的数据,是通过统计输入量的分布,计算出来的,
而不是硬件真正分辨率出