使用具有不同采样率的多个传感器的粒子滤波器

时间:2013-05-06 17:59:33

标签: algorithm sensor sample-rate indoor-positioning-system particle-filter

现状:

我为室内定位系统实施了一个粒子滤波器。它使用磁场的指纹。粒子滤波器的实现非常简单:

  1. 我创造了均匀分布在整个区域的所有粒子
  2. 每个粒子获得一个速度(高斯分布的平均行走速度和正常行走速度)和一个方向(均匀分布在所有方向)
  3. 改变速度和方向(均为高斯分布)
  4. 通过速度乘以最后一次和当前测量的时间差来移动给定方向上的所有粒子
  5. 查找每个粒子最接近的指纹
  6. 通过比较最接近的指纹和给定的测量来计算每个粒子的新权重
  7. 规格化
  8. 重新取样
  9. 每次测量重复#3至#9
  10. 问题:

    现在我想做的基本相同但是在系统中添加另一个传感器(即WiFi测量)。如果测量结果同时出现则不会出现问题。然后我只计算第一个传感器的概率,并将其乘以第二个传感器在#6处获得粒子重量的概率。

    但磁场传感器具有非常高的采样率(约100 Hz),WiFi测量大约每秒钟出现一次。

    我不知道处理问题的最佳方法是什么。

    可能的解决方案:

    1. 我可以丢弃(或平均)所有磁场测量值,直到出现WiFi测量结果,并将最后的磁场测量值(或平均值)和WiFi信号一起使用。所以基本上我将magentic场传感器的采样率降低到WiFi传感器的速率
    2. 对于每个磁场测量,我使用最后看到的WiFi测量
    3. 我使用传感器分开。这意味着如果我测量一个传感器,我会执行所有步骤#3到#9而不使用其他传感器的任何测量数据
    4. 我还没想过的任何其他解决方案;)
    5. 我不确定哪种解决方案最好。所有解决方案似乎都不好。

      #1我会说我失去了信息。虽然我不确定对粒子滤波器使用大约100 Hz的采样率是否有意义。

      在#2,我必须假设WiFi信号没有机会很快,我无法证明。

      如果我单独使用传感器,磁场测量变得比WiFi测量更重要,因为所有步骤都会在磁数据下发生100次,直到出现一个WiFi测量值。

      你知道一篇好文章正在处理这个问题吗?

      是否已有标准解决方案如何在粒子滤波器中处理具有不同样本大小的多个传感器?

      样本大小为100 Hz是否有意义?或者,对于粒子滤波器的一个步骤,适当的时间差是多少?

      非常感谢您提供任何提示或解决方案:)

1 个答案:

答案 0 :(得分:1)

在#2中,而不是使用采样保持,您可以将滤波器延迟1秒,并在WiFi测量之间进行插值,以便进行上采样,这样您就可以获得100Hz的两个信号。

如果您对WiFi行为有更多了解,可以使用比线性插值更先进的东西来模拟更新之间的Wifi行为。 These folks使用更高级的异步保持来对较慢的传感器信号进行上采样,但类似卡尔曼滤波器的功能也可能有效。

关于更新速度,我认为100Hz对你的应用来说听起来很高(假设你正在做一个人在室内行走的定位),因为你可能会考虑很多噪音,降低采样频率是一种便宜的方式滤除高频噪声。