我正在构建自定义的HVAC控制器。除其他事项外,它将在多个位置安装温度传感器。问题在于,在任何给定的瞬间,传感器对当前的空气温度都有不同的看法。
例如,现在,我得到以下读数(所有传感器都在同一位置):
一旦我在各个位置(例如,在冰箱内,冰箱内,在空调房的桌子上以及在阴凉的室外)用这些传感器收集了几套同时读数,以了解如何在测量(或多或少)相同的周围空气温度时,他们的个人意见有所不同,我需要以某种方式提出一种算法,以将他们的个人读数标准化为某个合理一致的共识温度。
在这种情况下,“实际”温度是“所有共识温度似乎在所有传感器中具有最佳线性一致性的温度”。
现在,有个大问题……我该怎么做?
我将使用C ++实现此功能(在Arduino上,但这时纯粹是“ C ++和算法”问题,而不是硬件问题)。
答案 0 :(得分:1)
原谅我吹牛角。我在论文Array.prototype.forEach()
中研究了这个问题和相关问题。参见第6章,尤其是第6.5节。
本文不包含Sec中传感器模型的公式。 6.5,但如果有兴趣,我想可以为您生成它们。或者,当然,您也可以派生它们。
答案 1 :(得分:0)
有几种方法可以找到“共识”
最简单的2:
有关更多信息,请查看https://en.wikipedia.org/wiki/Median#Other_median-related_concepts
对于您所说的“最佳线性一致” =>这只是简单的平均值。但我建议使用中位数-根据我的经验,这通常是更好的选择,因为它对异常值更具弹性。