Clear Filters
Clear Filters

Best way to smooth GPS data

35 views (last 30 days)
T on 4 May 2017
Hi, I have a GPS signal sampled at 1Hz. It is too noisy, so I want to smooth the signal. I tried using a moving average, but it is not good enough. Any other good ways to smooth it? What would be a good filter method? Thanks!
  1 Comment
John D'Errico
John D'Errico on 4 May 2017
Edited: John D'Errico on 4 May 2017
There is no "best" way to smooth some general signal. Not good enough can mean a variety of things, since of course we always want a perfectly smooth result. But we can't always get what we want.
Arguably, you need to do some reading, perhaps take a course in signal processing. Unfortunately, the answer to your question is an entire course in signal processing. For example, you might use a conv based smoother. You might use a smoothing spline. You might use Savitsy-Golay methods. You might use time series methods, to identify what is happening in your signal, smoothing it.
But the best way is surely dependent on what you know (so what you will understand to be able to then use) and the signal itself.

Sign in to comment.

Answers (3)

Sachin Kumar
Sachin Kumar on 9 May 2017
Check these different smoothing methods:
Use a method according to your kind of signal.

Walter Roberson
Walter Roberson on 9 May 2017
"For example, GPS-enabled smartphones are typically accurate to within a 4.9 m (16 ft.) radius under open sky (view source at However, their accuracy worsens near buildings, bridges, and trees."
So... if you need GPS signals that are not noisy, you should either be using professional dual-frequency systems, or you should be using GPS augmentation systems, such as by establishing at least one terrestrial GPS transmitter at a location known to high accuracy.
Noisy GPS is just how the technology works.
You could wait at each waypoint for long enough that any local atmospheric conditions would change (e.g., sit at each location for half a day while it stopped raining -- or until it started raining again), taking many readings at the same location, and doing statistical averaging. Waiting only a few seconds or a small number of minutes at each location would not be enough to be sure that atmospheric distortion had been averaged away.

Anurag Raghuvanshi
Anurag Raghuvanshi on 1 Dec 2017
Best way to smooth the data would be to use a hatch filter, it is known as carrier smoothed code, basically what it does is smooths out the multipath and receiver noise on the code with the help of low noise on carrier.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!