【发布时间】:2016-03-03 23:49:00
【问题描述】:
我有实时 GPS 数据,每秒更新 5 次。平均而言,80% 的数据相当准确;但大约 20% 的数据是生涩的。此外,有时我们还会得到一个异常值,即远离实际轨迹的错误数据点。
我正在寻找一种可以实现以下目标的算法:
- 平滑数据以消除抖动。
- 不是为了平滑异常数据,而是消除那些错误的数据点并用一些外推值替换。
为了提供一些背景信息,我首先在 stackoverflow.com 网站上搜索了一些类似的主题,并找到了以下链接:
我的软件工程师实现了上面链接中提供的 KalmanLatLong 例程;但是我们遇到了以下问题:
当算法生成外推值时,算法滞后于意义,更多 GPS 数据点到达(请记住数据是实时的)。
如果偶尔出现异常值,算法可以很好地平滑它。而我们的目标是消除这些异常值,因为它们是错误数据。
我正在寻找一种可以实时工作并以 5 Hz 处理 GPS 更新并在消除异常值的同时平滑数据的算法。
我们将非常感谢您的帮助。
【问题讨论】:
-
您链接的问题中的example implementation 怎么样?我不知道它处理异常值的效果如何,但我不敢相信该方法需要超过 200 毫秒才能运行。
-
这样的过滤只能使用应用程序特定的参数来完成。所以你必须决定哪个距离可以被接受为异常值。如果这通常是可以解决的,那么 GPS 芯片制造商就会实施它。 20% 的数据是生涩的?我不相信。贴一张显示坐标的图,你觉得生涩是什么?您的离群值距离预期位置有多少米。为什么需要 5Hz?每秒更多的位置并不意味着更好。
标签: algorithm gps curve-fitting kalman-filter extrapolation