GPS位置抖动消除的算法/理论

我正在尝试在Android上编写GPS跟踪(类似于慢跑应用程序),并且GPS位置抖动的问题已经让它变得丑陋。 当精度为FINE且精度在5米以内时,位置抖动为每秒1-n米。 如何确定或过滤掉合法运动中的抖动?

Sporypal等应用程序显然有一些方法可以过滤掉这种噪音。

有什么想法吗?

你能通过低通滤波器运行这些位置吗?

一些订单

x(n) = (1-K)*x(n-1) + K*S(n) 

哪里

S是您的噪声样本,x是低通滤波的样本。 K是0到1之间的常数,您可能需要进行实验以获得最佳性能。

根据TK的建议:

我的伪代码看起来很像C:

  float noisy_lat[128], noisy_long[128]; float smoothed_lat[128], smoothed_lon[128]; float lat_delay=0., lon_delay=0.; float smooth(float in[], float out[], int n, float K, float delay) { int i; for (i=0; i 

简而言之,这是一个简单的反馈积分器,具有单样本延迟。 如果您的输入在所需信号之上具有低频白噪声,则该积分器将随时间平均输入信号,从而使噪声分量平均接近零,从而为您提供所需信号。

它的工作效果将取决于你的信号有多少噪声和滤波器反馈系数K.正如我之前所说,你必须玩一下这个值,看看哪个值产生最干净,最理想的结果。