[牛人杂谈]

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

[复制链接]
792|6
手机看帖
扫描二维码
随时随地手机跟帖
wahahaheihei|  楼主 | 2017-3-14 19:51 | 显示全部楼层 |阅读模式

网上看到两种说法:如下:

《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


wahahaheihei|  楼主 | 2017-3-14 19:52 | 显示全部楼层

《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的误差
实际上这是在完美线性下才能达到的


使用特权

评论回复
wahahaheihei|  楼主 | 2017-3-14 19:52 | 显示全部楼层
如此看来第二种说法更正确些。第一种用树做比喻不恰当的地方在于树是固定位置的,而对于数字表示AD是有一定的动态范围,这意味着树的位置是有一定范围的,第1米的树就不见得就在1米处,可能在0.5米到1.5米之间飘忽不定,呵呵~

使用特权

评论回复
wahahaheihei|  楼主 | 2017-3-14 19:53 | 显示全部楼层
问:为什么您一直提到“接近”满量程?
答:放大器和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)。在失调调整过程中,以上程序会导致增益和失调误差相互影响,但可忽略不计。

使用特权

评论回复
598330983| | 2017-3-14 20:38 | 显示全部楼层
如果细分的话,你可以看0123,这个是2^2,你画出来,刚好是4个点三段,也就是三等分,所以是2^n  - 1

使用特权

评论回复
mintspring| | 2017-3-14 20:52 | 显示全部楼层
1/(2^n-1)

使用特权

评论回复
wahahaheihei|  楼主 | 2017-3-14 21:00 | 显示全部楼层

仔细扣,就是这样。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

197

主题

2969

帖子

12

粉丝