来自不同传感器的数据同步

Synchronisation of data from different sensor

所以我们有一个检测人 activity 的系统,他身上有多个传感器(加速度计等),每个传感器都通过机器学习算法单独学习。因此传感器可以发送:例如,“我认为 80% 的人是站着的”。现在我们已经通过同步数据集实现了这一点,但在现实生活中,传感器是异步的并且在不同时间发送数据(每个传感器的时钟不同)。所以问题是我们如何从一个空数据的数据集中“同步”一个数据集。

示例(每行 50 毫秒):

那么我怎样才能用一个值填充空单元格以获得所有传感器的响应,因为我们有一个融合函数,它说当我们有一行数据时,activity 这个人正在做。

我希望你明白我在搜索什么。我认为我们需要一些数学函数来填充空单元格,例如线性函数或其他函数,但我需要确定并且我在网上找不到研究报告来证实或告诉我使用什么函数。

如我所见,这取决于你想要输出的频率。从您的 post 看来,您似乎想要 运行 处于最快的传感器时钟。

拥有多个传感器的目的是增加可用信息量。通过根据您已有的信息填写 "missing values",您很可能最终会为没有或几乎没有附加值的结果进行更多计算。

这是我能想到的两种解决方案,一种简单,另一种稍微复杂一些,具体取决于您的水平、您使用的平台以及平台上可用的库。

1。等待所有传感器

一个简单的解决方案是等待所有(或部分)传感器发送一个值,然后再启动融合处理。这提供了明确的结果,但是 "low" 帧速率

2。卡尔曼滤波器

如果您愿意更深入地获取这些值,获得更快的刷新率,并且不介意花费一些处理能力,您可以在每个传感器上使用一些预测滤波器,如卡尔曼滤波器在您尚未从真实传感器接收到值的时间 dt,根据其先前的演化来估计其值。仅当您估计的持续时间相对于它们的值的变化非常短时,这才有效。这也使您能够超越最快传感器的速度。 Here 是对卡尔曼滤波器初学者友好的解释。