exponenta event banner

Рабочий процесс фильтра частиц

Фильтр частиц - рекурсивный, байесовский оценщик состояния, использующий дискретные частицы для аппроксимации заднего распределения оценочного состояния.

Алгоритм фильтра частиц вычисляет оценку состояния рекурсивно и включает два этапа:

  • Предсказание - алгоритм использует предыдущее состояние для предсказания текущего состояния на основе данной системной модели.

  • Коррекция - алгоритм использует текущее измерение датчика для коррекции оценки состояния.

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

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

Фильтр частиц можно применить к произвольным моделям нелинейных систем. Шум процесса и измерения может следовать за произвольными негауссовыми распределениями.

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

Следуйте этому базовому рабочему процессу для создания и использования фильтра частиц. На этой странице подробно описывается процесс оценки и показан пример запуска фильтра частиц в цикле для непрерывной оценки состояния.

Рабочий процесс оценки

При использовании фильтра частиц имеется необходимый набор шагов для создания фильтра частиц и оценки состояния. Этапы прогнозирования и коррекции являются основными этапами итерации для непрерывной оценки состояния.

Создать фильтр частиц

Создать stateEstimatorPF объект.

Установка параметров нелинейной системы

Изменение этих параметров stateEstimatorPF параметры, соответствующие конкретной системе или приложению:

  • StateTransitionFcn

  • MeasurementLikelihoodFcn

  • ResamplingPolicy

  • ResamplingMethod

  • StateEstimationMethod

Значения по умолчанию для этих параметров приведены для основной операции.

StateTransitionFcn и MeasurementLikelihoodFcn функции определяют поведение системы и интеграцию измерений. Они жизненно важны для точного отслеживания фильтра частиц. Дополнительные сведения см. в разделе Параметры фильтра частиц.

Инициализация частиц

Используйте initialize для задания количества частиц и начального состояния.

Образец частиц из распределения

Можно выполнить выборку исходных расположений частиц двумя способами:

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

  • Границы состояния (State bounds) - если начальное состояние неизвестно, можно указать возможные пределы для каждой переменной состояния. Частицы равномерно распределены по границам состояния для каждой переменной. Широко распределенные частицы не так эффективны в отслеживании, потому что меньше частиц находится вблизи фактического состояния. Использование границ состояний обычно требует большего количества частиц, времени вычисления и итераций для схождения с фактической оценкой состояния.

Предсказать

На основе заданной функции перехода состояния частицы эволюционируют для оценки следующего состояния. Использовать predict для выполнения функции перехода состояния, указанной в StateTransitionFcn собственность.

Получить измерение

Измерения, полученные от датчиков, используются на следующем этапе для коррекции текущего прогнозируемого состояния.

Правильный

Затем измерения используются для корректировки прогнозируемого состояния и коррекции оценки. Укажите измерения с помощью correct функция. correct использует MeasurementLikelihoodFcn для расчета вероятности сенсорных измерений для каждой частицы. Повторная выборка частиц необходима для обновления оценки по мере изменения состояния в последующих итерациях. Этот шаг запускает повторную выборку на основе ResamplingMethod и ResamplingPolicy свойства.

Извлечь оценку наилучшего состояния

После звонка correct, оценка наилучшего состояния автоматически извлекается на основе Weights каждой частицы и StateEstimationMethod свойство, указанное в объекте. Лучшее оцененное состояние и ковариация выводятся correct функция.

Повторная выборка частиц

Этот шаг не вызывается отдельно, а выполняется при вызове correct. Как только ваше состояние изменилось достаточно, выполните повторную выборку частиц на основе новейшей оценки. correct метод проверяет ResamplingPolicy для запуска повторной выборки частиц в соответствии с текущим распределением частиц и их весами. Если повторная выборка не запускается, то для следующей оценки используются те же самые частицы. Если ваше состояние не сильно варьируется или если ваш шаг времени низок, вы можете вызвать прогнозирующие и правильные методы без повторной выборки.

Непрерывно прогнозировать и исправлять

Повторите предыдущие шаги прогнозирования и коррекции, необходимые для оценки состояния. Этап коррекции определяет, требуется ли повторная выборка частиц. Несколько вызовов для predict или correct может потребоваться в следующих случаях:

  • Измерения недоступны, но управляющие входы и обновления времени происходят на высокой частоте. Используйте predict способ развития частиц для более частого получения обновленного предсказанного состояния.

  • Доступно несколько измерений. Использовать correct для интеграции нескольких показаний от одного или нескольких датчиков. Функция корректирует состояние на основе каждого набора собранной информации.

См. также

| | | |

Связанные примеры

Подробнее