我有一个电磁传感器,可以报告它在太空中读取到的电磁场强度。 我还有一个发射电磁场的装置。它占地 1 米。
所以我想使用其读数来预测传感器的位置。 但传感器受金属影响,导致位置预测出现漂移。
这就像如果读数为 1,并将其放在金属附近,则会得到 2。 类似的事情。这不仅仅是噪音,而是永久的漂移。除非您移除金属,否则读数始终为 2。
为了恢复从 2 中读取 1,我需要学习哪些技巧或主题? 假设金属固定在太空中的某个地方,我可以先将传感器放在金属附近来校准传感器。
您可以提出任何有关消除一般漂移的建议。另请考虑我可以在某个地方放置另一个发射器,这样我应该能够更轻松地恢复真实读数。
最佳答案
我建议您将传感器输出视为两个因素的组合:
sensor_output = emitter_effect + environment_effect
并且您希望在不添加environment_effect
的情况下获得emitter_effect
。所以,你当然需要减去:
emitter_effect = sensor_output - environment_effect
减去环境对传感器的影响通常称为补偿。为了进行补偿,您需要能够模拟或预测环境(周围漂浮的额外金属)对传感器的影响。环境效果模型的形式可以非常简单,也可以非常复杂。
简单的方法通常使用单独的传感器来估计environment_effect
。我不确定您的具体情况是什么,但您也许可以选择一个传感器来独立测量您的设置中的干扰(金属)量。
更复杂的方法可以执行补偿,而无需引用独立的传感器来测量干扰。例如,如果您预计距离平均为 10.0,只有偶尔的偏差,则可以使用该事实来估计存在多少干扰。根据我的经验,这种方法不太可靠;具有独立传感器来测量干扰的系统更加可预测和可靠。
如果您对基于模型的估计感兴趣,您可以开始阅读有关卡尔曼滤波的内容:
https://en.wikipedia.org/wiki/Kalman_filter
这是一个复杂的主题,因此您应该有一个陡峭的学习曲线。卡尔曼滤波(以及相关的贝叶斯估计方法)是从“不良传感器读数”转换为“校正传感器读数”的正式方法。
关于machine-learning - 如何纠正传感器因外部环境而产生的漂移?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54031594/