使用 GPS 开发跟踪应用程序。 一切都很好,但有时由于封闭区域或恶劣天气,我得到的分数不准确。当您绘制它们时,它看起来不对,有很多跃点/跳跃。
我应该运行什么算法来过滤掉不良信号 对我来说,这看起来像是模糊算法的应用,但你怎么看?
最佳答案
有几个选项:
- 剔除异常值
- 过滤器
- 使用更好的 GPS
- 使用外部数据源(捕捉道路)
- 上述的组合
我喜欢使用滤波器 - 卡尔曼滤波器是典型的(通常也是最好的)解决方案 - 它使用一定量的预测平均,这比廉价的 IIR(无限脉冲响应)滤波器更好:
过滤值 = 过滤值 * 0.75 + 新值 * 0.25
您可以获得每秒 4-5 次定位的 GPS 模块,这将使您能够以合理的响应时间使用上述“廉价”过滤器。
您还可以简单地获得一个更好的 GPS(SiRF III 或更好),它没有那么嘈杂并且具有更好的室内接收(如果可能)。
消费者 GPS 装置尽可能“捕捉到道路”,因此消费者看不到偏离道路的错误,其他一些技术也是如此。
卡尔曼算法不易实现,但在没有外部数据集或传感器(例如道路速度)的情况下,它是最佳选择。查看http://www.google.com/search?q=open%20source%20kalman%20filter获取有关它的代码和教程。
-亚当
关于过滤/归一化不良信号的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/480543/