本帖最后由 qbwww 于 2022-6-24 19:13 编辑
传感器的标定
在工控行业,我们会使用检测各种物理量的不同传感器;
这些传感器也有不同的输出接口,有些是0-10V/5V电压,4-20mA电流的模拟量输出;
有些是通过RS485总线的MODBUS协议的数字量输出;
有些传感器通过数字量输出的数据就已经是真实物理量的数值,与其对接的控制器读到之后可直接当作物理量使用;
而传感器输出的模块量,由与其对接的控制器通过A/D转换成数字量之后,还需要进于由A/D转换数传换算成真实物理量数值,这一从测量传转换为真实值的过程我们称之为标定。
假设A/D值为x,真实值为y,存在函数关系式y=f(x);
标定就是根据A/D和从标准测量仪器读到的数值找到该函数关系式;
如果该函数关系式为一次函数,即真实值y=k*x+b(k为斜率、b为截距),
则称模拟量或者对应的A/D值与真实值呈线性关系,如果我们在二维坐标上绘制函数关系图,可以看到x-y的曲线是一条直线;
否则,称模拟量或者对应的A/D值与真实值呈非线性关系;
为了简化标定步骤,我们希望传感器在整个量程内都是呈线性关系;
这样,转换得到的A/D值通过一组k、b数值,按照k*A/D值+b就可以得到物理量的测量值,而且该测量与物理量的真实值相比,精度能达到标称的要求;
但是往往可能在某一些数值范围内,转换得到的测量值与真实值存在较大的偏差;
线性度的衡量
为了衡量传感器的输出是否线性,我们需要引入一些数学公式;
需要使用最小二乘法、方差、协方差、相关系数等数学公式进行评估;
假设y与x是线性的关系,则y可以和x表示为y=a*x+b。
对于物理量的标定,x为传感器输出的模拟量数值,y为标准仪器测得的真实值。
对于每一组的xi,yi,则都可以求出经过标定之后的测量值与真实值之间的误差为:
ei=a*xi+b-yi, 而最准确的a,b取值对应的所有测量值的误差的平方和最小。
记有N组测量,
, 为了使e最小,需要有e以a,b为自变量的梯度为0,即:
梯度为0
求得:
a,b求值公式
上式即为最小二乘法公式;
式中x的平均值
,y的平均值
,x、y的方差分别为:
方差
x,y的协方差为:
协方差
定义相关系数:
相关系数
将上述定义代入到min(e),得到:
。 从上面推导的公式可以看出来,
当r=0时,min(e)最大,可以说y完全不能用a*x+b表示,所以说完全不相关,
当r^2=1时,min(e)为零,可以说y完全可以用a*x+b表示,所以说完全相关.
当r<0时,a<0,所以就叫负相关.
当r>0时,a>0,所以就叫正相关.
可以相关系数不仅与a有关,而且与b也有关系。
一个示例
某传感器得到的测量值和真实值
采用最小二乘法公式,算出a=1.164, b=-0.05197;
相关系数r为0.99986,与1相差4个数量级,是一个线性度非常好的传感器;
另外,通过excel的函数slope,intercept可以采用最小二乘法算出a,b;
通过函数correl可以算出相关系数;
|