Когда фильтр Калмана «болеет»: диагностика KF, UKF и Particle Filter в условиях нелинейности и не-гауссовских шумов
Задача оценивания состояния динамической системы по неполным и зашумленным измерениям считается фундаментальной проблемой в теории управления, навигации, робототехнике и обработке сигналов. Рекурсивный фильтр Калмана обеспечил возможность аналитического решения для линейных систем с аддитивными гауссовскими шумами.
Однако практические системы редко удовлетворяют ограничениям линейности и гауссовости.
И если для учета нелинейности в инженерном сообществе в целом существует консенсус в пользу нелинейных фильтров, то с не‑гауссовскими шумами все сложнее.
Так, Википедия прямо отмечает: "Бытyет ошибочное мнение", что для правильной работы фильтра Калмана якобы требуется гауссовское распределение входных данных".
Аналогичная позиция отражена и в академической статье arXiv:2405.00058, 2024, где авторы называют требование строгой гауссовости одним из наиболее распространенных заблуждений и в качестве примера ссылаются на двенадцать "заблудившихся " публикаций.
В статье тезисам об ошибочных мнениях и заблуждениях противопоставляются три практических вопроса:
1. Снижается ли производительность линейного фильтра Калмана при различных типах не‑гауссовских шумов.
2. Как и чем измерить это снижение (если оно происходит).
3. Чем можно заменить линейный фильтр Калмана в этих условиях и какова цена такой замены.
Ответ на вопросы дается по результатам моделирования по схеме (линейность / нелинейность, гаусс / не-гаусс) для трех типов фильтров байесовского типа:
1.Линейного фильтра Калмана (KF).
2. Сигма-точечного нелинейного фильтра Калмана (UKF).
3. Фильтра частиц / Particle Filter (PF).
Для диагностики фильтров используется метрика общего вида RMSE и специализированная метрика согласованности фильтров NEES (Нормализованная квадратичная ошибка оценки / Normalized Estimated Error Squared).
Дополнительно на тех же результатах рассматривается метрика NIS (Нормализованный квадрат инноваций / Normalized Innovation Squared) - инструмент мониторинга качества фильтра на реальном объекте, без необходимости знания истинной траектории.
Ссылка на блокнот с кодом симулятора в конце статьи.
Читать далее