您的位置:首页 > 其它

AD分辨率到底是1/(2^n-1), 还是1/2^n

2014-10-28 15:39 218 查看
网上看到两种说法:如下:

《1》支持1/(2^n-1)

大家看一下下面的例子:

(1) 在总长度为5米的范围里,平均分布6棵树(或说6个元素),算出每科树(或说每个元素)的间隔?

解:每棵树(或说每个元素)应该这样分布:

在开头0米处种第1棵(记为0号树)

在1米处种第2棵(记为1号树);

在2米处种第3棵(记为2号树);

在第5米(即终点)处种第6棵(记为5号树)

所以,每棵树的间隔(或分辨率)的算法是:总长度/(长度内总元素-1) 即:5米/(6-1)棵=1米/棵

每隔1米有1棵树,这个道理大家都很清楚,应该没有人说分辨率=总长度/长度内总元素=5/6=0.83米

打个比喻,你用两位,就只有00、01、10和11,00为0V,11为12V,请问01是多少V,所以应该是12/(2的2次方减1),V=X*5/4095

《2》支持1/2^n

注意每个数有1LSB的范围

当你的读数是0时,实际电压值可能是0<= V < 1/4096

当你的读数是1时,实际电压值可能是REF*1/4096<= V < REF*2/4096

当你的读数是0x0FFF时,实际电压值可能是REF*4095/4096<= V < REF

假如你用两位,就有00、01、10和11共4种状态,那么就设定0~3V,3~6V为01,6~9V为10,9~12V为11,这样才能把整个量程分为均匀的4段,

也只有这样分4个数每一个的范围才是一致的

我们可以看出,数字化后每一个数都是一个范围,范围内的是无法区分的,明显会丢失精度,丢失的精度是1个最小位1LSB,因此数字万用表都标1LSB的误差

实际上这是在完美线性下才能达到的

如此看来第二种说法更正确些。第一种用树做比喻不恰当的地方在于树是固定位置的,而对于数字表示AD是有一定的动态范围,这意味着树的位置是有一定范围的,第1米的树就不见得就在1米处,可能在0.5米到1.5米之间飘忽不定,呵呵~

问:为什么您一直提到“接近”满量程?

答:放大器和DAC可以在零值和满量程时进行调整。对于DAC而言,全1时———最大的数字输入———对应产生低于“满量程”1LSB的输出,其中,“满量程”为基准电压的一定常数倍数;由于DAC的输出为基准电压与数字输入的归一化乘积,自然就得到上述结论。ADC不在零值和FS处进行调整。理想ADC的输出均经量化处理,第一个输出转换(从00...00至00...01)发生于全“0”以上1/2LSB时。此后,模拟输入每增加1LSB,就转换一次,直到最终转换发生于比FS低1个1/2LSB时。非理想ADC的调整方法是,将其输入设为目标转换的标称值,然后进行调整,直到ADC输出在两个值之间均衡闪烁时。可见,ADC的失调是通过对应于第一个转换的输入进行调整的(即,比零值或负FS高1/2LSB时,“接近”零或“接近”负FS);增益则是在最后一个转换时进行调整的(即比负FS低1个1/2LSB,“接近”正FS)。在失调调整过程中,以上程序会导致增益和失调误差相互影响,但可忽略不计。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: