打印

精度与分辨率的关系

[复制链接]
15834|63
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jiyiche|  楼主 | 2009-8-19 22:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
程序匠人| | 2009-8-19 22:41 | 只看该作者

分辨率不等于精度

以下为转帖:

分辨率不等于精度
最近做了一块板子,当然考虑到元器件的选型了,由于指标中要求精度比较高,所以对于AD的选型很慎重。

很多人对于精度和分辨率的概念不清楚,这里我做一下总结,希望大家不要混淆。

我们搞电子开发的,经常跟“精度”与“分辨率”打交道,这个问题不是三言两语能搞得清楚的,在这里只作抛砖引玉了。

简单点说,“精度”是用来描述物理量的准确程度的,而“分辨率”是用来描述刻度划分的。从定义上看,这两个量应该是风马牛不相及的。(是不是有朋友感到愕然^_^)。很多卖传感器的JS就是利用这一点来糊弄人的了。简单做个比喻:有这么一把常见的塑料尺(中学生用的那种),它的量程是10厘米,上面有100个刻度,最小能读出1毫米的有效值。那么我们就说这把尺子的分辨率是1毫米,或者量程的1%;而它的实际精度就不得而知了(算是0.1毫米吧)。当我们用火来烤一下它,并且把它拉长一段,然后再考察一下它。我们不难发现,它还有有100个刻度,它的“分辨率”还是1毫米,跟原来一样!然而,您还会认为它的精度还是原来的0.1毫米么?(这个例子是引用网上的,个人觉得比喻的很形象!)

回到电子技术上,我们考察一个常用的数字温度传感器:AD7416。供应商只是大肆宣扬它有10位的AD,分辨率是1/1024。那么,很多人就会这么欣喜:哇塞,如果测量温度0-100摄氏度,100/1024……约等于0.098摄氏度!这么高的精度,足够用了。但是我们去浏览一下AD7416的数据手册,居然发现里面赫然写着:测量精度0.25摄氏度!所以说分辨率跟精度完全是两回事,在这个温度传感器里,只要你愿意,你甚至可以用一个14位的AD,获得1/16384的分辨率,但是测量值的精度还是0.25摄氏度^_^

所以很多朋友一谈到精度,马上就和分辨率联系起来了,包括有些项目负责人,只会在那里说:这个系统精度要求很高啊,你们AD的位数至少要多少多少啊……

其实,仔细浏览一下AD的数据手册,会发现跟精度有关的有两个很重要的指标:DNL和INL。似乎知道这两个指标的朋友并不多,所以在这里很有必要解释一下。

DNL:Differencial NonLiner——微分非线性度

INL:Interger NonLiner——积分非线性度(精度主要用这个值来表示)

他表示了ADC器件在所有的数值点上对应的模拟值,和真实值之间误差最大的那一点的误差值。也就是,输出数值偏离线性最大的距离。单位是LSB(即最低位所表示的量)。

当然,像有的AD如△—∑系列的AD,也用Linearity error 来表示精度。

为什么有的AD很贵,就是因为INL很低。分辨率同为12bit的两个ADC,一个INL=±3LSB,而一个做到了±1.5LSB,那么他们的价格可能相差一倍。

使用特权

评论回复
板凳
杜专| | 2009-8-19 22:54 | 只看该作者
学习了

使用特权

评论回复
地板
huixuesen| | 2009-8-20 11:26 | 只看该作者
精辟!

使用特权

评论回复
5
yewuyi| | 2009-8-20 12:48 | 只看该作者
你说你一口能吃下十只饺子,但有个人给你做了一个饺子有脸盘那么大,你说你能吃的下,你能把他当10个吗?!


哈哈。。。。。。。。。。。。。。。。。

使用特权

评论回复
6
t.jm| | 2009-8-20 13:33 | 只看该作者
一般情况下精度不可能比分变率更高,这一点是成立的.
一些标准件的精度情况又不同,
国际米原器精度很高,但是它不能告诉你1mm是多少.

使用特权

评论回复
7
cool_coder| | 2009-8-20 13:47 | 只看该作者
"米原器"在数据采集里的角色应该和"电压基准"作类比, 而不是可变的测量值. 作为基准只要提供高精度和高稳定度等特性即可, 没有分辨率的概念.

使用特权

评论回复
8
jiyiche|  楼主 | 2009-8-20 14:22 | 只看该作者
谢谢楼上各位。再问一下,比如分辨率0.0625°的数字温度传感器ds18b20,精度却只有0.5°,那怎么才能让它精度达到0.1°呢?硬件上或者软件上要怎么实现?

使用特权

评论回复
9
gtw| | 2009-8-20 20:51 | 只看该作者
本帖最后由 gtw 于 2009-8-20 20:53 编辑

回楼上,如果**用ds18b20,还要0.1摄氏度的精度的话,有以下方法:
1、筛选,从千千万万的18b20中挑选一个根正苗红的;
2、造假1,找一个精度能达到0.1摄氏度的,贴上ds18b20的标签;
3、造假2,焊上18b20但不用,再放个精度能到0.1摄氏度的用。
4、对dallas做思想工作,提高一下18b20的精度;
5、对18b20做思想工作,提高一下思想觉悟,人有多大胆,地有多大产,爷求你了,你就给我报个0.1摄氏度的精度吧。

使用特权

评论回复
10
holle| | 2009-8-20 20:56 | 只看该作者
真值达不到0.1

使用特权

评论回复
11
jiyiche|  楼主 | 2009-8-21 00:11 | 只看该作者
呵呵,建议楼上的看看下面这个**。
http://www.dz3w.com/articlescn/sensor/0073696.html
我也是刚刚找到的。

使用特权

评论回复
12
因特网用户| | 2009-8-21 00:36 | 只看该作者
mark

使用特权

评论回复
13
czdo| | 2009-8-21 09:21 | 只看该作者
mark

使用特权

评论回复
14
zq1987731| | 2009-8-21 10:23 | 只看该作者
mark

使用特权

评论回复
15
LLLLWWWW| | 2009-8-21 10:48 | 只看该作者
这个好比电视机的分辨率和清晰度(精度)了,
有的电视分辨率很高,但是图象还是不怎么清晰,就是精度不够!
还有的分辨率不是很高,但是图象质量相对来说还行,就是把精度调上去了!
总之一条,要想提高清晰度(精度),先提高分辨率是首要条件!

使用特权

评论回复
16
winhi| | 2009-8-21 11:04 | 只看该作者
精度就是为物理量描述的准确度
分辨率是对物理量描述的最小分割量.

精度和分辨率用手表,或者钟比喻比较恰当.

一块表的精度,可能每天差一秒,也可能是一分钟.
但是它的最小刻度是一秒,分辨率是一秒

精度很高(每月只差一秒),但也只能显示到秒,因为分辨率的原因不能显示的更精确
精度很差(每天可差一小时),但也能显示到秒.只是不准确而已.

使用特权

评论回复
17
张允| | 2009-8-21 11:33 | 只看该作者
学习了

使用特权

评论回复
18
zzh3632| | 2009-8-21 11:38 | 只看该作者
钟表的例子很是精辟,精度和分辨率是有联系的但是他们不是一回事。18B20的精度是制造商需要解决的问题不是软件很硬件可以解决的。要达到要求的精度可以另选片子。

使用特权

评论回复
19
t.jm| | 2009-8-21 12:46 | 只看该作者
钟表的例子有盗用概念的嫌疑:
1:钟表的误差是累积的,就算你的误差是1PPM,今天也于12:00:00对时了,一年后12:00:00到来时这个钟表显示为12:00:00+/-1PPM?
2:我要如何用这个表去定时10.5S?
所以钟表就算很准不能说它很精.
比如一个10V指针电压表,即使它的整数位置(0V,1V..10V)很准,没有误差,它的精度还是受最小刻度影响的.

使用特权

评论回复
20
gtw| | 2009-8-21 12:52 | 只看该作者
如果学过《电测》这门课程的话,就不应对这两名词有疑问。

使用特权

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

本版积分规则

176

主题

484

帖子

0

粉丝