Сглаживание мультилатерации с использованием фильтра Калмана?

У меня есть следующая проблема, связанная с отслеживанием самолетов с помощью мультилатерации: нам удалось реализовать некоторые алгоритмы для расчета позиций самолетов на основе мультилатерации с использованием 3 или 4 приемников. Проблема в том, что трек выглядит довольно "шатко" (Пожалуйста, посмотрите на картинку по ссылке, извините, я не мог добавить ее сюда из-за репутации.)

GPS и Mlat Track

Зеленая линия — это истинный GPS-трек самолета на Земле, оранжевая — это трек, рассчитанный методом мультилатерации (разница во времени прибытия, примерно одна-две позиции в секунду). GPS-трек предназначен только для сравнения, он может быть недоступен в будущем.

Что может быть хорошим способом сгладить дорожку? Я наткнулся на фильтры Калмана. Я не математик и не имею никакого опыта в робототехнике или тому подобном. Математика на этом уровне для меня чрезвычайно сложна или непонятна (я рад, что справился с мультилатерацией вполне нормально). Трек вычисляется по алгоритму закрытой формы. Может быть, переход на итеративный алгоритм также может помочь?

Итак, имеет ли смысл реализовать фильтр Калмана для самой полученной позиции мультилатерации? Или, может быть, уже по значениям TDOA до фактического расчета позиции? Дрожащий вид приводит к незначительным ошибкам измерения в месте приема, поэтому может помочь сглаживание/фильтрация самих значений TDOA.

Но тогда все же мне нужна очень сложная модель обновления, так как самолет движется и значения TDOA зависят от одного истинного положения самолета. Я мог себе представить, что модель сглаживания дорожки и сглаживания самих значений TDOA очень похожа. если не то же самое.

Мы делаем все это на Java, так что, может быть, есть какая-то доступная библиотека, с которой мы могли бы начать, не выполняя всю математику снова?


person chrisdo    schedule 06.02.2013    source источник
comment
Не могли бы вы описать, что вы использовали в конце? Я изучаю аналогичную проблему и был бы заинтересован в вашем решении   -  person Matyas    schedule 16.10.2013


Ответы (2)


Это классическая задача отслеживания, по которой вы найдете тонны научной литературы с множеством различных подходов. Плохая новость заключается в том, что если вы не можете найти библиотеку, которая сделает всю работу за вас, вам придется заняться математикой.

Использование фильтра Калмана идет в правильном направлении, поскольку он может оценивать состояние (положение, скорость) по косвенным данным измерений. Поскольку ваши мультилитерации представляют собой нелинейное отображение данных измерений, вам нужна нелинейная оценка.

Моя стандартная рекомендация для таких проблем — фильтр Калмана без запаха из-за его (относительной) алгоритмической простоты и высокой надежности. Это также может позаботиться о вашей мультилитерации, потому что разрешено несколько разных измерений в течение одного временного шага. Что касается фильтра Калмана, вам также понадобится модель движения — простая (линейная) может подойти, поскольку я предполагаю, что вы отслеживаете обычные самолеты (а не высокоманевренные реактивные истребители). К сожалению, я не знаю какой-либо подходящей реализации - для получения инструкций по эффективной реализации прочитайте (математика, стоящая за ней, нетривиальна):

Мерве, Р. В. Д. и Ван, Э. А. Фильтр Калмана без запаха с квадратным корнем для оценки состояния и параметров на Международной конференции по акустике, речи и обработке сигналов, 2001 г., 3461-3464.

Для быстрого и грязного решения (с низкой точностью) реализуйте FIR Low-path Filter для каждого измерения. Вы найдете инструменты в Интернете (например, здесь), который может генерировать код для вас.

person Dietrich    schedule 07.02.2013
comment
Спасибо за ответ. Но правильно ли я предполагаю, что мне нужно использовать фильтр для окончательных результатов вычисления мультилатерации, вычисленной позиции? Поэтому мне нужно быть уверенным, что позиции максимально точны. - person chrisdo; 18.02.2013
comment
Для фильтров Low Path — да. Для оценщиков (фильтр Калмана и друзья) нет, они делают мультилитерацию, объединяя разные измерения вместе. - person Dietrich; 19.02.2013
comment
Я совсем забыл о своем открытом вопросе здесь :) Задача отслеживания была отложена на некоторое время. Я принимаю ваш ответ, он помогает нам двигаться в правильном направлении. Спасибо. - person chrisdo; 16.04.2013

После беглого просмотра статьи о фильтре Калмана в Википедии это кажется весьма многообещающим.

Вот еще одно предложение, которое вы можете рассмотреть:

Благодаря предыдущим измерениям вы можете оценить положение, скорость и направление самолета. Таким образом, для любого нового измерения вы можете рассчитать, являются ли силы, необходимые для перемещения плоскости в это положение, реалистичными. Таким образом можно отсортировать измерения с большой погрешностью.

person SpaceTrucker    schedule 06.02.2013