工作上一个跟踪应用中使用全球定位系统。它是好的,但有时由于封闭区域或恶劣的天气,我获得的不准确点。当你的阴谋,它只是看起来并不正确的,有很多跳/跳跃。

什么样的算法我应该运行的过滤掉不好的信号 它看起来像一个应用程序的一个模糊的算法我,但是你怎么想?

有帮助吗?

解决方案

有几个选择:

  1. 扔出去的异常点
  2. 过滤器
  3. 使用更好的GPS
  4. 使用外部数据源(单元时)
  5. 上述的组合

我喜欢使用的过滤器-卡尔曼滤器的典型(而且常常最好的)解决方案,它使用量的预测平均,这是比一个更好的便宜IIR(Infinite Impulse Response)筛选:

FilteredValue=FilteredValue*0.75+NewValue*0.25

你可以得到的GPS模块给你4-5修复每第二,这将允许使用上述'廉价的过滤器与合理的反应时间。

你也可以简单地得到一个更好的GPS(我们三或更好的),不作为嘈杂和具有更好的接待室内(尽可能).

消费者GPS单位"捕捉到路"在可能的,因此错误,关闭的道路是没有看到过的消费者,以及一些其他的技术。

卡尔曼不是容易实现,但没有一个外部数据集或传感器(例如道路的速度),这是最好的选择。检查了 http://www.google.com/search?q=open%20source%20kalman%20filter 代码和教程。

-亚当

其他提示

重新: -

在 “砰砰” 噪声的存在滤波

一的我发现做到这一点,最简单的方法是:

delta = newValue - filteredValue;
delta = delta > LARGEST_SANE_DELTA ? LARGEST_SANE_DELTA
     : (delta < -LARGEST_SANE_DELTA ? -LARGEST_SANE_DELTA : delta);
filteredValue += alpha*delta;

其中alpha = 1 / tau蛋白和tau是有问题的低通滤波器的时间常数,表示在上述代码的迭代之间的时间的倍数。值LARGEST_SANE_DELTA表示输入在newValue和剪辑过大的变化大的可能的改变。有可能拒绝这种类型的噪音的更好的方法,但他们更复杂,我提到了一个很简单的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top