После того, как вы выполните оценку состояния нелинейной системы с помощью линейного, расширенный, или сигма-точечный фильтр Калмана или алгоритмы фильтра частиц, вы подтверждаете оценку прежде, чем развернуть код в вашем приложении. Если валидация указывает на низкую уверенность в оценке, проверяйте следующие свойства фильтра, которые вы задали:
Начальное состояние и значения ковариации состояния — Если вы находите, что измеренные и предполагаемые выходные параметры вашей системы отличаются в начале оценки состояния, проверяйте начальные значения, которые вы задали.
Изменение состояния и функции измерения — Проверяют, что функции, которые вы задаете, являются хорошим представлением нелинейной системы. Если истинная система является непрерывно-разовой, чтобы реализовать алгоритмы, вы дискретизируете уравнения изменения состояния и измерения и используете дискретизированные версии. Если результаты оценки состояния не являются удовлетворительными, считают уменьшение шага расчета используемым для дискретизации. Также попробуйте различный метод дискретизации. Для примера того, как дискретизировать непрерывно-разовую функцию изменения состояния, введите edit vdpStateFcn.m
в командной строке. Также смотрите, Нелинейная Оценка состояния Используя Сигма-точечный фильтр Калмана и Фильтр частиц.
Процесс и значения ковариации шума измерения — Если различие между предполагаемыми и измеренными выходными параметрами вашей системы является большим, попытайтесь задать различные значения для значений ковариации шума процесса и измерения.
Выбор алгоритма — Если вы используете расширенный алгоритм Фильтра Калмана, можно попробовать сигма-точечный фильтр Калмана или алгоритм фильтра частиц вместо этого. Сигма-точечный фильтр Калмана и фильтр частиц могут получить нелинейность в системе лучше.
Чтобы диагностировать оценку состояния, можно создать несколько версий фильтра с различными свойствами, выполнить оценку состояния и выбрать фильтр, который дает лучшие результаты валидации.
В командной строке, если вы хотите скопировать существующий объект фильтра и затем изменить свойства скопированного объекта, используют команду clone
. Не создавайте дополнительные объекты с помощью синтаксиса obj2 = obj
. Любые изменения, внесенные в свойства нового объекта, созданного таким образом (obj2
) также, изменяют свойства исходного объекта (obj
).