There are several options:
- Throw emissions
- Filter
- Use the best GPS
- Using an external data source (road binding)
- Combination of the above
I like to use filters. The Kalman filter is a typical (and often best) solution - it uses the amount of predictive averaging that is better than the cheap IIR (Infinite Impulse Response) filter:
FilteredValue = FilteredValue * 0.75 + NewValue * 0.25
You can get GPS modules that give you 4-5 corrections per second, which allows you to use the aforementioned “cheap” filter with a reasonable response time.
You can also just get the best GPS (SiRF III or better), which is not so noisy and has better internal reception (where possible).
Consumer GPS devices are “road-bound” where possible, so road errors are not visible to the consumer, as well as some other methods.
Kalman is not easy to implement, but without an external data set or sensor (for example, speed) is the best option. Check out http://www.google.com/search?q=open%20source%20kalman%20filter for code and tutorials on it.
-Adam
Adam davis
source share