wouterbulten / kalmanjs

Javascript based Kalman filter for 1D data

Home Page:https://www.wouterbulten.nl/blog/tech/lightweight-javascript-library-for-noise-filtering/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GPS data

RobertSmart opened this issue · comments

Hi I'm new to kalman filters so thought I would ask. Is it possible to use this on smoothing out gps signals where the location is jumping around a bit. I know this is a common use for kalman filters, but I'm a little confused on how to weight the filter by the accuracy of the gps fix. is it possible to use the accuracy as a weight for filtering GPS data?

Thanks

Hi!

Did you by any chance read my blog articles on this subject?

https://wouterbulten.nl/blog/tech/lightweight-javascript-library-for-noise-filtering/
https://wouterbulten.nl/blog/tech/kalman-filters-explained-removing-noise-from-rssi-signals/

Maybe that can be a good starting point. Let me know if you need more info!

I have read both those articles, and they are very good. I was just unsure about how to use the accuracy figure as a weighting for the coordinates?

Also i understand there is a motion value that can be applied. Can this be changed dynamically as the feature stops and starts moving, or is it set once at initialisation?

If your state is a 3D position vector (which I'll guess it is) you will need a multi-dimensional Kalman filter. You then have a covariance matrix instead of a scalar value for the uncertainty. This library is only suitable for 1D data so that will only help you if you want to predicted traveled distance (or any other scalar).

Yes, motion can be dynamic :) You will have a transition function that calculates a new state based on the previous state and some control vectors. In my article these are A and B. In robotics these are often used to process motion commands (e.g. "forward for 10 seconds"):

xt=At_xt−1+Bt_ut+ϵ

I'm closing the issue for now as it is more of a "kalman filter question" then something directly related to this lib. Feel free to add a comment to any of my articles if you need any additional information, I'm glad to help. There are also some comments from other users/researchers that have similar problems as you! 😀

Thanks very much for the information.