首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >抵消测量数据与预期数据之间的差异

抵消测量数据与预期数据之间的差异
EN

Stack Overflow用户
提问于 2014-03-13 09:53:41
回答 3查看 859关注 0票数 1

我正在测试一个项目的温度传感器。我发现期望值和实测值之间存在差异。由于在e温度范围内的差异是非-linear的,所以我不能简单地添加偏移量。有什么方法可以对获取的数据做一种偏移吗?

UPDATE I有一个商用加热器元件,加热到设定的温度(我按预期命名了这个温度)。在另一边,我有一个温度传感器(我的proj),用来测量加热器的温度(这里我把它命名为测量值)。

我注意到了测量值和预期值之间的差异,我想对两者进行补偿,以便测量值接近预期值。

例如,如果我的传感器测量到了73.3,它应该是通过某种方式(无论是数学上的还是其他的)来处理的,这样它就会显示它接近70.25。

希望这能把事情弄清楚一点。

代码语言:javascript
复制
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

谢谢您抽时间见我。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-03-13 11:25:47

您感兴趣的是描述一个变量与另一个变量的偏差。你要找的是功能

代码语言:javascript
复制
g( x) = f( x) - x

它返回近似,一个预测,添加到x中的数字,以获得基于实际x输入的y数据。您需要根据观察到的x值(首先是f(x) )来预测y。这就是你从回归中可以得到的结果:

代码语言:javascript
复制
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

在一个变量的最简单情况下,您甚至不必为此包括特殊的工具。方程的系数等于:

代码语言:javascript
复制
alfa = covariance( MeasuredExpected, MeasuredReal) / variance( MeasuredExpected)
beta = average( MeasuredReal) - alfa * average( MeasuredExpected)

因此,对于每个预期测量的x,您现在可以声明,实际测量的最可能值是:

代码语言:javascript
复制
f( x) = MeasuredReal( expected) = alfa*x + beta  (under assumption that error
                                                 is normally distributed, iid)

所以你得加上

代码语言:javascript
复制
g( x) = f( x) - x = ( alfa -1)*x + beta

来解释你所观察到的你平时期望和测量的差别。

票数 2
EN

Stack Overflow用户

发布于 2014-03-13 09:57:23

也许您可以使用数据样本来对变化进行回归分析,并使用回归函数作为偏移函数。

分析

票数 0
EN

Stack Overflow用户

发布于 2014-03-13 13:20:44

您可以创建校准查表 (LUT)。

传感器读数中的误差在整个传感器范围内并不是线性的,但是可以将范围划分为若干个子范围,其中子范围内的误差几乎是线性的。然后,通过读取每个子量程并计算每个子量程的偏移误差来校准传感器。将每个子范围的偏移量存储在数组中,以创建校准查找表.

一旦知道了校准表,您就可以通过执行表查找来纠正测量结果。使用实际测量值来确定数组中的索引,从中获得适当的偏移量。

子范围不需要相同的大小,虽然这应该使计算适当的表索引为任何测量很容易。(如果子范围大小不相同,则可以使用多维数组(矩阵),不仅存储偏移量,而且存储每个子范围的起始点或结束点。然后扫描起始点,为任何测量确定适当的表索引。)

您可以通过将校正划分为较小的子范围和创建一个更大的校准查找表来使校正更精确。或者,您可以在两个表项之间进行插值,以获得更准确的偏移量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22374805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档