Есть несколько вариантов:
- выбросить выбросы
- Фильтр
- Используйте лучший GPS
- Использовать внешний источник данных (привязка к дороге)
- Сочетание вышеуказанного
Мне нравится использовать фильтры - фильтр Калмана является типичным (и часто лучшим) решением - он использует определенное усреднение, которое лучше, чем дешевый фильтр БИХ (бесконечный импульсный отклик):
FilteredValue = FilteredValue * 0,75 + NewValue * 0,25
Вы можете получить модули GPS, которые дают вам 4-5 исправлений в секунду, что позволит вам использовать вышеупомянутый «дешевый» фильтр с разумным временем отклика.
Вы также можете просто получить лучший GPS (SiRF III или лучше), который не такой шумный и имеет лучший прием в помещении (где это возможно).
Потребительские GPS-приемники «привязываются к дороге», где это возможно, поэтому ошибки на дороге не видны потребителю, как и некоторые другие методы.
Kalman нелегко реализовать, но без внешнего набора данных или датчика (например, скорости дороги) это лучший вариант. Проверьте http://www.google.com/search?q=open%20source%20kalman%20filter для кода и учебников по нему.
-Adam