У меня есть следующая проблема, связанная с отслеживанием самолетов с помощью мультилатерации: нам удалось реализовать некоторые алгоритмы для расчета позиций самолетов на основе мультилатерации с использованием 3 или 4 приемников. Проблема в том, что трек выглядит довольно "шатко" (Пожалуйста, посмотрите на картинку по ссылке, извините, я не мог добавить ее сюда из-за репутации.)
Зеленая линия — это истинный GPS-трек самолета на Земле, оранжевая — это трек, рассчитанный методом мультилатерации (разница во времени прибытия, примерно одна-две позиции в секунду). GPS-трек предназначен только для сравнения, он может быть недоступен в будущем.
Что может быть хорошим способом сгладить дорожку? Я наткнулся на фильтры Калмана. Я не математик и не имею никакого опыта в робототехнике или тому подобном. Математика на этом уровне для меня чрезвычайно сложна или непонятна (я рад, что справился с мультилатерацией вполне нормально). Трек вычисляется по алгоритму закрытой формы. Может быть, переход на итеративный алгоритм также может помочь?
Итак, имеет ли смысл реализовать фильтр Калмана для самой полученной позиции мультилатерации? Или, может быть, уже по значениям TDOA до фактического расчета позиции? Дрожащий вид приводит к незначительным ошибкам измерения в месте приема, поэтому может помочь сглаживание/фильтрация самих значений TDOA.
Но тогда все же мне нужна очень сложная модель обновления, так как самолет движется и значения TDOA зависят от одного истинного положения самолета. Я мог себе представить, что модель сглаживания дорожки и сглаживания самих значений TDOA очень похожа. если не то же самое.
Мы делаем все это на Java, так что, может быть, есть какая-то доступная библиотека, с которой мы могли бы начать, не выполняя всю математику снова?