其中 o 是观察到的传感器值,i 是理想的传感器值(即参考标准)。为了计算 RMSE,我们对每个误差(与参考标准的偏差)进行平方,然后计算这些值的算术平均值,最后取平均值的平方根。
一旦你描述了传感器的准确性,你可以使用 RMSE 来决定是否有必要校准传感器。在某些情况下,RMSE 很小,对于您的应用程序完全可以接受,您可以合理地决定不需要进行校准。
例如,hih8121的结果令人印象深刻。RMSE 小于1% ,所有样本点的误差小于2% 。
另一方面,在某些情况下,您可能会发现传感器响应非常差和不规则,以至于您简单地决定您的应用程序需要另一个传感器。
校准的决定应该总是考虑到任务所需的精确度。然而,我们可以提高精度的传感器读数校准,为所有的传感器表。
传感器校正程序
为了校准一个传感器,我们首先需要从数学上确定将理想值与观测值联系起来的函数。一个线性回归程序可以用来确定这个功能。
回归过程名称中的“线性”一词并不意味着线性函数。相反,这个术语指的是一个线性组合的变量。得到的函数可以是线性或曲线性的。下面的三个多项式函数都代表线性回归。
- Y = ax + b (一次,线性)
- Y = ax2 + bx + c (二次,二次)
- Y = ax3 + bx2 + cx + d (三次方,立方)
在目前的项目中,我们使用四个参考标准(即,n = 4)计算传感器值。因此,三次多项式是我们可以计算的最高次多项式。通常情况下最高次多项式是 n-1,在这种情况下意味着3(4-1)。
最小二乘法通常用于线性回归。在此过程中,拟合一条直线,使每个基准点到直线的距离之和尽可能小。有许多程序使用最小二乘法来执行线性回归。你甚至可以使用 Excel (点击这里了解更多信息)。
还应该指出的是,我们并不一定要使用线性回归。我们可以用非线性回归。非线性回归的例子可以得到幂函数或者傅里叶函数。然而,线性回归非常适合我们项目的数据,而且,软件校正(校准)也很容易实现。事实上,在这个项目中,我不相信你会得到任何东西,通过使用非线性回归。
选择多项式
理论上,我们希望使用最适合数据的多项式。也就是说,产生最小确定系数的多项式表示 R2(或 R2,读作“ r 平方”)。R2越接近1,越适合。在最小二乘估计中,多项式的次数越高,拟合效果越好。
然而,你不必自动地使用最高次多项式。由于校准工作将在软件中进行,在某些情况下,使用低次多项式可能代表速度和/或记忆方面的优势,特别是如果使用高次多项式所能获得的准确度很小的话
下面,我们将演示使用不同次数的多项式对 hih6030传感器进行校准的程序,在此过程中,我们将演示适用于您选择使用的任何次数的多项式的一般程序。
利用前面表格中的数据,我们首先执行最小二乘回归程序来确定每个多项式的系数。这些值将来自所使用的回归软件包。结果如下,包括 r2值。
- 直线型: y = ax + b; a = 1.0022287,b =-8.9105659,r2 = 0.9996498
- 平方: y = ax2 + bx + c; a =-0.0012638,b = 1.1484601,c =-12.0009745,r2 = 0.999944
- 立方: y = ax3 + bx2 + cx + d; a = 0.0000076,b =-2.4906103,c = 1.2061971,d =-12.7681425,r 2 = 0.999999
现在可以使用计算函数修改观察值。也就是说,传感器读数可以按下表所示进行校准(注意 OBS、纠正和 ERR 值四舍五入到小数点后两位)。
| 格式 | | 1st Degree | | 2nd Degree | | 3rd Degree | |
Ref RH | OBS | ERR | Corrected | ERR | Corrected | ERR | Corrected | ERR |
11.3 | 20.79 | 9.49 | 11.93 | 0.63 | 11.36 | 0.06 | 11.3 | 0 |
32.78 | 40.77 | 7.99 | 31.95 | -0.83 | 32.83 | 0.05 | 32.78 | 0 |
75.29 | 83.83 | 8.54 | 75.11 | -0.18 | 75.85 | 0.55 | 75.29 | 0 |
84.34 | 93.43 | 9.09 | 84.73 | 0.39 | 84.83 | 0.49 | 84.34 | 0 |
| | | | | | | | |
RMSE Rmrse | | 8.795736 | | 0.562146 | | 0.371478 | | 0.00212 |
可以看出,所有三个多项式产生了一个明显的 RMSE 降低,相比观察的措施,这就是为什么你校准。下面的图表说明了使用一次多项式的改进。注意如何校准(纠正)数据点现在位于附近的理想对角线。
Hih6030传感器输出散点图
软件校正
一旦我们运行的校准和选择的多项式,我们可以修改软件,以纳入修正到传感器数据。使用 HIH6030.c 示例,我们可以修改程序代码如下:
最初计算的变量是 RH。在上面的代码行中,我们创建了三个代表校准的新变量(RHCal1,RHCal2,RHCal3)。为了说明,我们使用三个多项式中的每一个创建了新的变量,而实际上,您可能只使用选择的多项式来校准传感器值。
例子摘要
为了总结检查和校准湿度传感器的步骤,给出了最后一个例子,使用的数据来自的 DHT-22(# 2)传感器进行了评估。
这是使用盐在微环境中产生与已知相对湿度大气。数据被收集并出现在先前提供的一个表格中。我们可以使用 RMSE 术语来描述传感器的精度,这也出现在表中。根据第一步的结果,我们可以决定是否进行传感器标定。如果是这样,那么继续进行第二步和第三步。
- 第二步是执行一个线性回归来确定一个函数,将理想的 RH 值(来自标准)与来自传感器读数的观测值联系起来。
本文选择一个三次多项式(y = ax3 + bx2 + cx + d,其中 y 为校准值,x 为传感器读数) ,确定系数 a = 0.000091367,b =-0.01452993,c = 1.77623089,d =-14.17403758。
修改(校准)在软件中实现,并将传感器读数转换为其校准的等价物。
下图说明了这些步骤的结果。绘图包括由校准多项式得出的观测值和校准值(用于所收集的数据)。
Dht-22传感器输出散点图
最后的想法
在这个项目中,我们演示了一种评估常用湿度传感器精度的方法。也就是说,通过利用化学特性来制定参考标准,我们可以将传感器读数与标准值进行比较,并独立地确定传感器的准确性。此外,我们演示了一个校准传感器读数的软件程序,从而产生更准确的相对湿度。
传感器评估和校准是与任何使用传感器的地方相关的程序。在湿度传感器的情况下,这个项目演示了相对便宜和简单的方法来增加它们的价值。