精度和分辨率的区别与联系:科普指南

文章目录

  • 一、简介
  • 二、示例
  • 例1:某款钢直尺参数如下:
  • 例2:某款游标卡尺参数如下:
  • 例3: 某款温度表参数如下:
  • 例4:STM32F103自带ADC
  • 例5 TT80电感式位移传感器
  • 例6:SHT30温度传感器
  • 例7:TFmini-S激光测距模组
  • 三、推理
  • 现象1:精度总是大于分辨率
  • 问题1:精度为什么总是大于分辨率
  • 问题1延伸:精度是由什么决定的?
  • 结论1:精度由分辨率和系统误差决定
  • 结论1推论1:精度总是大于分辨率
  • 对反例的驳斥
  • 结论1推论2:分辨率高是精度高的必要条件
  • 参考资料
  • 一、简介

    精度和分辨率是传感器非常重要的两个参数,但这两个概念很容易混淆。

    精度是指传感器测量值与真实值之间的差值,又叫测量误差。

    分辨率是指传感器最小能读到的数值,即被测量变化多少才能引起传感器响应。

    二、示例

    例1:某款钢直尺参数如下:


    从中可以看出,其分辨率为1mm(通过刻度最小就能读到1mm,要它读0.1mm是不可能的),量程在500mm以下的的尺子精度为±0.15mm。

    注意:虽然通过估读能读到1mm以下,但这是依靠人的能力(可以称作系统外技能),尺子本身的能力只能到1mm。大部分传感器是不支持估读的,如温湿度传感器、ADC、姿态检测传感器、压力传感器等,都是将结果直接显示,没有估读的空间。

    不考虑估读,这把直尺读取结果只能是5mm,7mm,56mm这样的数字,即没有小数位。

    相应的,由于精度只有±0.15mm,所以真实值范围为:5±0.15mm,7±0.15mm,56±0.15mm。

    例2:某款游标卡尺参数如下:


    从中可以看出,其分辨率为0.02mm(最小就能读到0.02mm,要它读0.01mm或者0.001mm是不可能的),量程为0~150mm的尺子精度为±0.03mm。

    注意:游标卡尺就不支持估读

    也就是说这把游标卡尺读取结果只能是5.48mm,7.62mm,56.08mm这样的数字,即只能有两位小数,且最后一位小数只能为偶数(0也是偶数)。

    相应的,由于精度只有±0.03mm,所以真实值范围为:5.48±0.03mm,7.62±0.03mm,56.08±0.03mm。

    例3: 某款温度表参数如下:


    从中可以看出,其分辨率为0.1℃(最小就能读到0.1℃,要它读0.01℃是不可能的),精度为±1℃。

    注意:该温度表不支持估读

    也就是说这个温度表读取结果只能是25.1℃,34.5℃,19.0℃这样的数字,即只能有1位小数。

    相应的,由于精度只有±1℃,所以真实值范围为:25.1±1℃,34.5±1℃,19.0±1℃。

    例4:STM32F103自带ADC

    ADC其实是一个电压测量传感器。它可以将电压模拟量转化为数字量。

    STM32F103自带ADC,其分辨率为12位。

    注意:ADC有自己特有的分辨率与精度描述方式

    12位即将0-VREF分为2^12=4096份,如果VREF=3.3V,则该ADC的分辨率为3.3/4096=0.806mV。

    LSB (Least Significant Bit),意为最低有效位,是ADC描述精度的单位,这里LSB的值即为0.806mV。

    从下表可以看出该ADC的综合误差最大为±2,所以精度为±2*0.806mV=±1.61mV。

    可以看出,ADC是分辨率决定精度。

    例5 TT80电感式位移传感器

    TT80是瑞士TESA公司生产的高分辨率位移传感器。

    其分辨率可以达到10nm,精度如下图所示:

    精度是跟量程相关的。具体多少待研究,但应该比分辨率要大不少。

    例6:SHT30温度传感器

    从下图可以看出,精度为±0.2℃,分辨率为0.01℃。

    例7:TFmini-S激光测距模组

    从下图可知,该距离传感器分辨率为1cm,精度为±6cm。

    三、推理

    现象1:精度总是大于分辨率

    从上面的例子可以看出,除了例1,其余都是精度大于分辨率。

    问题1:精度为什么总是大于分辨率

    问题1延伸:精度是由什么决定的?

    要回答问题1,就必须搞清楚精度的决定因素。

    考虑一种实际情况方便分析:

    一把分辨率为1mm的普通直尺,用它测量一个真实值为5.57mm长度的物体。

    用这把尺子测量只能得到5mm的结果(这里不考虑估读,原因在例1中有解释),那么误差就有0.57mm,事实上处于[5mm,6mm)区间内的物体测量结果都是5mm,也就是说测量误差最多有1mm,刚好与分辨率相等,这也就是说传感器分辨率会导致误差。

    当是还得考虑尺子刻度本身精度的问题,尺子相邻刻度之间真的有1mm吗?它是有制造工艺以及环境因素决定的,温度变化导致的热胀冷缩,尺子受力弯曲导致的变形等等都会使精度变化。

    同样测量一个真实值为5.57mm长度的物体,由于工艺问题,测出来为4mm是完全有可能的,这时误差就达到1.57mm。考虑一种极限情况,将一把15cm的尺子拉长为15m,刻度间隔因此扩大了100倍,这时测量5.57mm的物体结果就是0mm(因为此时1mm刻度实际长100mm),这样的测量结果就很搞笑了,当然如果有人的参与就会发现这种荒谬的结果,尺子自己是不会有这种觉悟的。这也就是说制造工艺以及环境温度、机械应力等都会导致误差。

    因此我们得到了该问题的答案。

    精度由两种因素决定
    (1)分辨率;
    (2)系统误差,包括制造工艺以及环境因素。

    结论1:精度由分辨率和系统误差决定

    上面的例子也提醒我们,由分辨率导致的误差是有上限的(上面的情况下为1mm),而系统原因导致的误差是没有上限的。最终的精度取决于两种因素的叠加效果。

    正是因为没有上限,所以在标注精度的时候都得对环境条件进行限制,如温度控制在20℃等等。

    结论1推论1:精度总是大于分辨率

    想象一种极限情况,即一个传感器所能达到的极限状态是什么?

    是将分辨率完全利用,然后精度无限高?

    不对,真正的极限情况是分辨率完全得到利用,而测量误差仅由分辨率决定,没有系统误差。

    对于一把分辨率为1mm的尺子,上述条件可以描述为:刻度与刻度之间间距严格控制在1mm,温度恒定,没有机械应力导致变形,这时尺子的精度将完全取决于分辨率,这里精度就是1mm,不会更大了。

    在这种极限情况下,或者叫做理想情况下,分辨率为1mm,精度就是1mm,分辨率为1um,那精度就是1um,精度完全取决于分辨率。

    然而现实中没有这种理想情况,传感器总是要受环境影响,使精度在分辨率影响的基础上进一步降低。

    这就是为什么精度总是大于分辨率。

    对反例的驳斥

    上面例1中之所以精度小于分辨率,是因为它标明的精度是系统误差的一部分,即制造工艺带来的误差,没有考虑系统误差里的环境因素以及分辨率导致的误差。

    结论1推论2:分辨率高是精度高的必要条件

    只有分辨率高,精度才有可能高。分辨率低,精度高的情况是不可能发生的。而之所以不是充分条件是还得考虑系统误差。

    参考资料

    1、分辨率与精度的区别:https://blog.csdn.net/zmq5411/article/details/6700869#:~:text=%E2%80%9C%E7%B2%BE%E5%BA%A6%E2%80%9D%E6%98%AF%E7%94%A8%E6%9D%A5%E6%8F%8F%E8%BF%B0,%E5%8F%96%E7%9A%84%E6%9C%80%E5%B0%8F%E5%8F%98%E5%8C%96%E5%80%BC%E3%80%82

    2、准确的理解ADC中的LSB和MSB:
    https://wenku.baidu.com/view/2757a24e4bd7c1c708a1284ac850ad02de80070a.html

    物联沃分享整理
    物联沃-IOTWORD物联网 » 精度和分辨率的区别与联系:科普指南

    发表评论