[分享] 小智科普丨精度和分辨率的差异居然这么大,别再混为一谈了!

NGI123   2022-5-12 15:01 楼主

分辨率和精度—即Resolution和Accuracy。这是两个不同的参数,却经常被混用。并且ADC制造商在数据手册中定义ADC性能的方式也令人困惑,可能会让大家在应用开发中导致错误的推断。但事实上,分辨率并不能代表精确度,反之亦然。

 

本文小智提出并解释了ADC“分辨率“和“精度”所存在的差异问题,希望能对您有所帮助。

 

丨分辨率和精度

 

首先带大家了解一下“分辨率“和“精度”两者的基本释义。

1.分辨率

分辨率(Resolution)是指ADC能够分辨量化的最小信号的能力,用二进制位数表示。

比如:一个10位的ADC,其所能分辨的最小量化电平为参考电平(满量程)的2的10次方分之一。即分辨率越高,就可以将满量程里的电平分出更多份数,得到的结果就越精确,得到的数字信号再用DAC转换回去后就越接近原来输入的模拟值。

所以,对于给定的一个具体ADC器件,其分辨率值是固定的。

2.精度

精度(Precision)是指对于给定模拟输入,实际数字输出与理论预期数字输出之间的接近度(误差值是多少)。换而言之,转换器的精度决定了数字输出代码中有多少个比特表示有关输入信号的有用信息。

有些ADC器件的datasheet中,会注明精度值或精度范围。

对于给定的一个具体ADC器件,其精度值可能会受外界环境(温度、干扰等)的影响而变化。

ADC的动态范围精确度和分辨率


大家了解了“分辨率“和“精度”两者的基本释义后,接下来小智来跟大家讲讲它们与动态范围、噪声层的关系等。
动态范围被定义为系统可测量到的最小和最大信号的比例。

最大信号可为峰间值,零到峰(Zero-to-Peak)值或均方根(RMS)满量程。其中任何一个都会给出不同值。例如,对于一个1V正弦波来说: 峰间(满量程)值=2V 零到峰值=1V

RMS满量程=0.707×峰值振幅=0.707×1V=0.707V

最小信号通常为RMS噪声,这是在未应用信号时测量的信号的均方根值。测量得到的RMS噪声级别将取决于测量时使用的带宽。每当带宽翻倍,记录的噪声将增长1.41或3dB。

因此,一定要注意动态范围数字始终与某个带宽相关,而后者通常未被指定,这使记录的值变得没有意义。 器件的信噪比(SNR)和动态范围多数时候被定义为同一个值,即:动态范围 =SNR=RMS满量程/RMS噪声 并且经常使用dB作为单位,即动态范围(dB) = SNR(dB) = 20*Log10 (RMS满量程/RMS噪声)

与使用RMS满量程相反,一些制造商为了使图表看上去更漂亮,引用零到峰或峰间值,这使得最终的动态范围或SNR增加了3dB或9dB,因此我们需要仔细研究规范以避免误解。

ADC分辨率由数字化输入信号时所使用的比特数决定。对于16位器件,总电压范围被表示为(216 =65536)个独立的数字值或输出代码。因此,系统可以测量的绝对最小电平表示为1比特,或ADC电压范围的1/65536。

如前所述,对于16位ADC分辨率,由于出现内部或外部误差源,实际的精确度可能远小于分辨率。因此,举例而言,一个给定的16位ADC可能只能提供12位的精确度。对于这种情况,4LSb(最低有效位)表示ADC中生成的随机噪声。ADC动态范围和ADC精确度通常指相同的内容。

 
1.png

理想ADC生成一个数字输出代码,是关于模拟信号电压和电压参考输入的方程,其中 输出代码 = 满量程电压 × [VIN+ - VIN-] / [VREF+ - VREF-] = 满量程电压 × [VIN /VREF]

每个数字输出代码表示参考电压的一个小数值。

必须注意,ADC动态范围应当匹配将要转换的信号的最大振幅,这样才能使ADC转换精度最大化。 现在假设将要转换的信号在0V到2.5V间变化,而VREF等于3.3V。

2.png

 

16位ADC将包括216 65536个步骤或转换,且最低有效位(LSB)=VREF/65536=3.3V/65536=50.35uV。对于理想的ADC,所有代码都具有1LSB的相同宽度。

如果ADC的最大信号值为2.5V,那么意味着总共有49652次转换(2.5V/1LSB)。对于这种情况,将有15884次转换未被使用(65536-49652=15884)。这反应了转换后的信号精确度损失或ENOB(有效位数)损失(损失0.4位)。 如果ADC参考(VREF)和ADC最大信号电平之间的差异增加,那么ENOB损失或精确度损失将加剧。例如,如果ADC最大信号电平为1.2V且VREF=3.3V,那么ENOB损失将为1.5位。因此ADC动态范围一定要匹配最大信号振幅,以获得最高精确度。

模数转换器(ADC)宣称具有“n”位分辨率,这常常被误解为精确度。分辨率和精确度完全是两个概念,两者不能混用。应该由具体的应用来确定是否允许丢失代码以及所需ADC精确度。

丨总结

分辨率和精度,不要拿在一起混为一谈,其中“精度”是用来描述物理量的准确程度的,而“分辨率”是用来描述刻度划分的。

其实,对于ADC来说,这两样都是非常重要的参数,往往也决定了芯片价格,显然,我们都清楚同一个系列,16位AD一般比12位AD价格贵,但同样是12位AD,不同厂商间又以什么参数区分性能呢?性能往往决定价格,那么什么参数对价格影响较大呢?此时就要用精度来衡量。

引用一个别人的比喻:有这么一把常见的塑料尺,它的量程是10厘米,上面有100个刻度,最小能读出1毫米的有效值。那么我们就说这把尺子的分辨率是1毫米,或者量程的1%;而它的实际精度就不得而知了(假设是0.1毫米)。

当我们用火来烤一下它,并且把它拉长一段,然后再考察一下它。我们不难发现,它还有有100个刻度,它的“分辨率”还是1毫米,跟原来一样!然而,您还会认为它的精度还是原来的0.1毫米么?

*本文章部分资料、图片来源于网络,版权归原作者所有,如有侵权,请与我联系删除,谢谢!

回复评论 (2)

nice,非常实用的分析和分享,最后的比喻太贴切了

干货满满,一下子讲清楚了精度,分辨率,动态范围等概念

PS:有一点不是很清楚的是ENOB的计算原理,文中直接给出的结果让人费解

 

 

点赞  2022-5-13 10:38

解說很詳細,感謝分享

点赞  2022-5-25 23:55
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复