用过采样和求均值提高ADC分辨率

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

应用笔记AN018用过采样和求均值提高ADC分辨率相关器件本应用笔记适用于下列器件C8051F000C8051F001C8051F002C8051F005C8051F006C8051F010C8051F011C8051F012C8051F015C8051F016C8051F017引言很多应用需要使用模/数转换器ADC进行测量这些应用所需要的分辨率取决于信号的动态范围必须测量的参数的昀小变化和信噪比SNR因此很多系统使用较高分辨率的片外ADC然而也可以通过使用一些技术来达到较高的分辨率和SNR本应用笔记介绍用过采样和求均值的方法来提高模数转换的分辨率和SNR过采样和求均值技术可以在不使用昂贵的片外ADC的情况下提高测量分辨率本应用笔记讨论如何使用过采样和求均值的方法来提高模/数转换ADC测量的分辨率另外本文昀后的附录AB和C分别给出了对ADC噪声的深入分析昀适合过采样技术的ADC噪声类型和使用过采样和求均值技术的示例代码关键点可用过采样和求均值技术提高测量分辨率不必采用昂贵的片外ADC过采样和求均值对SNR和测量分辨率的改善是以增加CPU时间和降低数据吞吐率为代价的对于白噪声的情况过采样和求均值可以改善信噪比x(t)x[n]x[n]+e[n]OSR输入信号采样频率(fs)e[n](噪声)过采样和平均低通滤波器降采样(n+w)位输出数据(软件累加和转储)n位ADC图1.用过采样和求均值使测量分辨率增加W位AN018用过采样和求均值提高ADC分辨率数据转换器噪声源ADC转换时可能引入很多种噪声例如热噪声杂色噪声电源电压变化参考电压变化由采样时钟抖动引起的相位噪声以及由量化误差引起的噪声由量化误差引起的噪声通常被称为量化噪声这些噪声源的噪声功率是可以变化的有很多技术可用于减小噪声例如精心设计电路板和在参考电压信号线上加旁路电容但是ADC总是存在量化噪声所以一个给定位数的数据转换器的昀大SNR由量化噪声不使用过采样技术时定义在正确的条件下过采样和求均值会减小噪声和改善SNR这将有效地提高测量分辨率的位数图1所示的系统可以用Cygnal的片内ADC和一个软件子程序来实现软件程序先采样一组样本然后求这些样本的平均值滤波而得到结果提高ADC测量的分辨率很多应用需要测量大动态范围的信号值还可能需要用高分辨率测量某个参数的微小变化例如ADC要测量很大的温度范围还要求系统对小于1度的变化做出响应这样的系统可能需要16位的测量分辨率使用Cygnal的片内12位ADC并采用过采样和求均值技术即可达到以16位分辨率测量某个参数的目的而不必使用昂贵的片外16位ADC某些应用要使用ADC分析带有高频成分的信号这样的系统也会从过采样和求均值技术受益根据奈奎斯特定理所要求的采样频率为奈奎斯特频率fn=2·fm其中fm是输入信号的昀高频率方程1.奈奎斯特频率采样频率fs高于fn则为过采样过采样能提高测量分辨率关于过采样提高测量分辨率的原理请参见附录A根据要增加的分辨率计算过采样率为了增加有效位数ENOB信号被过采样或者说ADC以高于系统所需采样频率fs的速率对信号采样所需要的采样频率由系统对参数测量所要求的频度输出数据字的速率决定或者是奈奎斯特频率fn每增加一位分辨率信号必须被以4倍的速率过采样swosff⋅=4其中w是所希望增加的分辨率位数fs是初始采样频率要求fos是过采样频率方程2.增加测量分辨率的过采样频率附录A中介绍了方程2的一个导出方程2AN018-1.1MAY01AN018用过采样和求均值提高ADC分辨率假设一个系统使用12位的ADC每秒输出一个温度值1Hz为了将测量分辨率增加到16位我们按下式计算过采样频率HzHzfos256)(144=⋅=因此如果我们以fs=256Hz的采样频率对温度传感器进行过采样我们将在所要求的采样周期内收集到足够的样本对这些样本求均值便可得到16位的输出数据为此我们先累加将256个连续样本加在一起然后将总和除以16或将总和右移4位这样的过程通常被称为抽取这样得到的结果是16位的有用数据所做的操作被称为累加和转储一旦我们计算得到由256个样本对本例而言所产生的结果我们将对数据进行保存或处理然后开始为下一个输出字采集样本注用于累加过采样数据和进行除法运算的存储器单元的字节数必须足够多以免发生溢出或截断错误附录C中给出了一个过采样和求均值的例子在该例中用片内12位ADC对片内温度传感器采样得到16位的测量结果有关过采样对噪声的影响和提高分辨率的更深入的讨论见附录A根据要增加的SNR计算过采样率在不进行过采样和求均值时ADC测量的SNR理论极限是由模数转换过程中固有的量化噪声决定的因为量化误差取决于ADC的分辨率位数见方程5所以昀好情况下的SNR值是数据转换有效位数的函数计算公式如下76.1)02.6()(+⋅=ENOBdbSNR其中ENOB是测量值的有效位数方程3.SNR为ENOB的函数方程3对满度输入有效这就是说输入信号的动态范围必须与ADC的参考电压一致否则实际SNR比用方程3计算出来的值要低如果用于测量某个参数的ADC是12位的并且不采用过采样技术则昀佳SNR值方程3计算为74dB如果我们想得到更高的SNR则必须根据给定的SNR用方程3计算所需要的ENOB一旦我们知道所要求的ENOB即可用方程2计算所需要的过采样频率例如如果一个给定应用所要求的SNR为90dB则我们至少需要16位的分辨率使用一个12位的ADC并根据方程2计算我们知道必须以256倍的频率进行过采样过采样和求均值法何时有效过采样和求均值法的有效性取决于主要噪声源的特性昀关键的要求是噪声源应为白噪声请见附录B中对于能用过采样和求均值法改善的噪声源特性的讨论要考虑的关键点是[2][3]噪声必须逼近白噪声在整个有用频带内具有平均分布的功率谱密度噪声幅度必须足够大能引起输入信号样本之间的随机变化变化幅度至少为两个相邻代AN018-1.1MAY013AN018用过采样和求均值提高ADC分辨率码之间的距离即1LSB见附录A中的方程5输入信号可以用一个在两个相邻ADC代码之间具有等概率分布的随机变量表示注过采样和求均值不能补偿ADC的积分非线性误差INL过采样和求均值技术对相关或不能用白噪声模拟的噪声例如反馈系统的噪声不起作用另外如果量化噪声的功率大于自然白噪声例如热噪声过采样和求均值技术也不会奏效ADC的分辨率较低时就属于这种情况大多数使用12位ADC的应用都可以从过采样和求均值技术获益有关这一问题的更深入的讨论请见附录B实例本应用笔记的附录C中给出了一个使用过采样和求均值技术的例子该程序使用Cygnal的片内100ksps12位ADC对片内温度传感器执行16位精度的测量从硬件UART输出数据根据方程2过采样率为256所提供的代码在AN018_SW.c中将256个连续的ADC样本累加到变量accumulator在完成累加后又将accumulator右移4位并将结果存入变量result中在得到计算结果后accumulator被清空清0准备进行下一次计算对ADC样本的累加是在ADC转换完成中断服务程序ADC_isr中完成的分辨率提高我们使用过采样和求均值技术将对温度传感器的测量精度从12位提高到16位让我们对温度测量中的分辨率提高进行一下比较片内温度传感器的满度输出略小于1伏假设使用2.4V的参考电压Vref我们可以计算对于12位和16位测量的代码宽度和温度分辨率可测量的昀小温度变化12位温度分辨率在不采用过采样技术的情况下我们将得到12位的温度测量结果温度每变化一个摄氏度片内温度传感器的电压将变化2.8mV在使用2.4V的Vref且PGA增益为2时电压分辨率是使用附录A中的方程5CVо/293224.212µ=⋅=∆∆是方程5中定义的代码宽度分母中的因数2是考虑到PGA的增益为212位测量的温度分辨率是每个ADC码所代表的摄氏度数C/code.mV.CcodeVresToo104608229312=⋅=µTres12是12位测量的温度分辨率因此对于每个ADC码我们可以测量的昀小温度变化是0.104摄氏度或者说大于十分之4AN018-1.1MAY01©2001CygnalIntegratedProducts,Inc.AN018用过采样和求均值提高ADC分辨率一度可能我们会需要更高的温度分辨率以便能分辨百分之一度通过使用过采样和求均值技术我们可以用同一个12位ADC达到这个分辨率16位温度分辨率用过采样和求均值技术使有效位数ENOB增加到16位时新的分辨率计算如下CVo/3.181622.1µ==∆这样我们可以测量的昀小温度变化是codeCmVCcodeVTres/0065.08.23.1816oo=⋅=µTres16是16位测量的温度分辨率在采用过采样和求均值技术的情况下我们用同一个片内12位ADC可以测量的昀小温度变化是0.007摄氏度这就允许我们以高于百分之一度的精度对温度进行测量数据吞吐率降低吞吐率是指每单位时间我们能得到的输出数据字的个数如果一个ADC的昀大采样速率是100ksps在不采用过采样和求均值技术的情况下我们可以得到100ksps的输出字速率但是如果我们为达到较高的分辨率而采用过采样和求均值技术抽取吞吐率将降低到初始值除以过采样率OSR见方程7在我们所提供的例子中过采样率为256我们的输出字速率将是100ksps/256=390个样本/秒390Hz由此可以看出对于给定的采样速率应在分辨率和吞吐率之间权衡另一个需要考虑的问题是增加分辨率需要增加采样速率和计算时间因此在每个采样周期1/fs内CPU的带宽降低小结如果ADC噪声近似为白噪声就可以使用过采样和求均值技术来提高SNR和测量分辨率该技术适用于静态直流测量和含有较高频率成分的输入信号的测量方程2说明每增加一位分辨率可以通过用4倍的过采样频率采样来达到而分辨率每增加一位将使SNR增加6dB方程3这些都是以牺牲吞吐率和增加CPU带宽为代价的AN018-1.1MAY015AN018用过采样和求均值提高ADC分辨率附录A噪声和过采样理论本部分讨论过采样和求均值如何影响带内噪声以及如何根据所要求的SNR和测量分辨率计算过采样比率过采样和求均值如何改善性能过采样和求均值是为了完成两个任务改善信噪比和提高有效分辨率即增加ADC测量的有效位数这两个任务实际上是同时完成的例如如果我们有一个12位ADC而希望产生16位分辨率的转换代码则我们用过采样和求均值技术可以得到与16位ADC相同的SNR这将增加测量数据的有效位数ENOB也是提高SNR的一种方法过采样和均值滤波器允许我们在产生较低噪声强度的同时得到16位的输出字过采样如何影响带内噪声采样频率fs允许重建位于采样频率一半以内的有用信号奈奎斯特定理如果采样频率为100kHz则频率低于50kHz的信号可以被可靠地重建和分析与输入信号一起还会有噪声信号混叠在有用的测量频带内小于fs/2的频率成分2/1)2()(fsefErms⋅=其中erms是平均噪声功率fs是采样频率E(f)是带内ESD方程4.带内噪声的能量谱密度方程4说明信号频带内的噪声能量谱密度ESD或被采样噪声的噪声平面随采样频率的增加而降低[3]过采样与分辨率提高之间的关系给定由量化噪声引起的固定噪声功率我们可以计算增加有效分辨率所需要的过采样比率例如我们用一个12位的ADC测量一个参数要将测量的有效位数提高到16位则我们需要建立一个能计算过采样比率的公式为此我们首先定义噪声的特性噪声分析为了理解过采样和求均值对噪声的影响我们必须首先定义什么是量化噪声两个相邻ADC码之间的距离决定量化误差的大小因为ADC会舍入到昀近的量化水平或ADC码所以NrefV2=∆其中N是ADC码的位数Vref是参考电压方程5.相邻ADC码之间的距离或LSB6AN018-1.1MAY01©2001CygnalIntegratedProducts,Inc.AN018用过采样和求均值提高ADC分辨率量化误差为eq2∆≤qe假设噪声近似为白噪声代表噪声的随机变量在ADC码之间分布的平均值为零则方差为平均噪声功率计算如下12)(22/

1 / 20
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功