我正在测试一个项目的温度传感器。我发现期望值和实测值之间存在差异。由于在e温度范围内的差异是非-linear的,所以我不能简单地添加偏移量。有什么方法可以对获取的数据做一种偏移吗?
UPDATE I有一个商用加热器元件,加热到设定的温度(我按预期命名了这个温度)。在另一边,我有一个温度传感器(我的proj),用来测量加热器的温度(这里我把它命名为测量值)。
我注意到了测量值和预期值之间的差异,我想对两者进行补偿,以便测量值接近预期值。
例如,如果我的传感器测量到了73.3,它应该是通过某种方式(无论是数学上的还是其他的)来处理的,这样它就会显示它接近70.25。
希望这能把事情弄清楚一点。
Measured Expected
30.5 30.15
41.4 40.29
52.2 50.31
62.8 60.79
73.3 70.28
83 79.7
94 90.39
104.3 99.97
114.8 109.81谢谢您抽时间见我。
发布于 2014-03-13 11:25:47
您感兴趣的是描述一个变量与另一个变量的偏差。你要找的是功能
g( x) = f( x) - x它返回近似,一个预测,添加到x中的数字,以获得基于实际x输入的y数据。您需要根据观察到的x值(首先是f(x) )来预测y。这就是你从回归中可以得到的结果:
x = MeasuredExpected ( what you have estimated, and I assume
you will know this value)
y = MeasuredReal ( what have been actually observed instead of x)
f( x) = MeasuredReal( estimated) = alfa*x + beta + e在一个变量的最简单情况下,您甚至不必为此包括特殊的工具。方程的系数等于:
alfa = covariance( MeasuredExpected, MeasuredReal) / variance( MeasuredExpected)
beta = average( MeasuredReal) - alfa * average( MeasuredExpected)因此,对于每个预期测量的x,您现在可以声明,实际测量的最可能值是:
f( x) = MeasuredReal( expected) = alfa*x + beta (under assumption that error
is normally distributed, iid)所以你得加上
g( x) = f( x) - x = ( alfa -1)*x + beta来解释你所观察到的你平时期望和测量的差别。
发布于 2014-03-13 09:57:23
也许您可以使用数据样本来对变化进行回归分析,并使用回归函数作为偏移函数。
分析
发布于 2014-03-13 13:20:44
您可以创建校准查表 (LUT)。
传感器读数中的误差在整个传感器范围内并不是线性的,但是可以将范围划分为若干个子范围,其中子范围内的误差几乎是线性的。然后,通过读取每个子量程并计算每个子量程的偏移误差来校准传感器。将每个子范围的偏移量存储在数组中,以创建校准查找表.
一旦知道了校准表,您就可以通过执行表查找来纠正测量结果。使用实际测量值来确定数组中的索引,从中获得适当的偏移量。
子范围不需要相同的大小,虽然这应该使计算适当的表索引为任何测量很容易。(如果子范围大小不相同,则可以使用多维数组(矩阵),不仅存储偏移量,而且存储每个子范围的起始点或结束点。然后扫描起始点,为任何测量确定适当的表索引。)
您可以通过将校正划分为较小的子范围和创建一个更大的校准查找表来使校正更精确。或者,您可以在两个表项之间进行插值,以获得更准确的偏移量。
https://stackoverflow.com/questions/22374805
复制相似问题