Диагностируйте онлайновую оценку состояния

После того, как вы выполните оценку состояния нелинейной системы с помощью линейного, расширенный, или сигма-точечный фильтр Калмана или алгоритмы фильтра частиц, вы подтверждаете оценку прежде, чем развернуть код в вашем приложении. Если валидация указывает на низкое доверие к оценке, проверяйте следующие свойства фильтра, которые вы задали:

  • Начальное состояние и значения ковариации состояния — Если вы находите, что измеренные и предполагаемые выходные параметры вашей системы отличаются в начале оценки состояния, проверяйте начальные значения, которые вы задали.

  • Изменение состояния и функции измерения — Проверяют, что функции, которые вы задаете, являются хорошим представлением нелинейной системы. Если истинная система является непрерывным временем, чтобы реализовать алгоритмы, вы дискретизируете уравнения изменения состояния и измерения и используете дискретизированные версии. Если результаты оценки состояния не являются удовлетворительными, считают уменьшение шага расчета используемым для дискретизации. В качестве альтернативы попробуйте различный метод дискретизации. Для примера того, как дискретизировать функцию изменения состояния непрерывного времени, введите edit vdpStateFcn.m в командной строке. Также смотрите, Нелинейная Оценка состояния Используя Сигма-точечный фильтр Калмана и Фильтр частиц.

  • Процесс и значения ковариации шума измерения — Если различие между предполагаемыми и измеренными выходными параметрами вашей системы является большим, попытайтесь задать различные значения для значений ковариации шума процесса и измерения.

  • Выбор алгоритма — Если вы используете расширенный алгоритм Фильтра Калмана, можно попробовать сигма-точечный фильтр Калмана или алгоритм фильтра частиц вместо этого. Сигма-точечный фильтр Калмана и фильтр частиц могут получить нелинейность в системе лучше.

Чтобы диагностировать оценку состояния, можно создать несколько версий фильтра с различными свойствами, выполнить оценку состояния и выбрать фильтр, который дает лучшие результаты валидации.

В командной строке, если вы хотите скопировать существующий объект фильтра и затем изменить свойства скопированного объекта, использование clone команда. Не создавайте дополнительные объекты с помощью синтаксиса obj2 = obj. Любые изменения, внесенные в свойства нового объекта, созданного таким образом (obj2) также измените свойства исходного объекта (obj).

Смотрите также

Функции

Блоки

Похожие темы