predict

Предсказать состояние и ковариацию ошибки расчета состояния отслеживающего фильтра

Описание

пример

[xpred,Ppred] = predict(filter) возвращает предсказанное состояние, xpred, и предсказанное состояние ошибки расчета ковариации, Ppredдля следующего временного шага входного фильтра отслеживания. Предсказанные значения перезаписывают внутреннее состояние и ковариацию ошибки расчета состояния filter.

[xpred,Ppred] = predict(filter,dt) задает временной шаг как положительная скалярная величина в секундах и возвращает один или несколько выходы из предыдущих синтаксисов.

[xpred,Ppred] = predict(filter,predparams) задает дополнительные параметры предсказания, используемые функцией перехода состояния. Функция перехода к состоянию задана в StateTransitionFcn свойство filter.

[xpred,Ppred,zpred] = predict(filter) также возвращает предсказанное измерение на следующем временном шаге.

Использовать этот синтаксис можно только при filter является trackingABF объект.

[xpred,Ppred,zpred] = predict(filter,dt) возвращает предсказанное состояние, ковариацию ошибки расчета состояния и измерение в заданный временной шаг.

Использовать этот синтаксис можно только при filter является trackingABF объект.

predict(filter,___) обновлений filter с предсказанным состоянием и состоянием ошибки расчета ковариацией без возврата предсказанных значений. Задайте фильтр отслеживания и любую из комбинаций входных аргументов из предыдущих синтаксисов.

xpred = predict(filter,___) обновлений filter с предсказанным состоянием и состоянием ошибки расчета ковариацией, но возвраты только предсказанным состоянием, xpred.

Примеры

свернуть все

Создайте двумерное trackingEKF объект и используйте пары "имя-значение", чтобы задать StateTransitionJacobianFcn и MeasurementJacobianFcn свойства. Используйте предопределенные модели движения и измерения постоянной скорости и их якобианы.

EKF = trackingEKF(@constvel,@cvmeas,[0;0;0;0], ...
    'StateTransitionJacobianFcn',@constveljac, ...
    'MeasurementJacobianFcn',@cvmeasjac);

Запустите фильтр. Используйте predict и correct функции для распространения состояния. Вы можете позвонить predict и correct в любом порядке и столько раз, сколько вы хотите. Задайте измерения в Декартовых координатах.

measurement = [1;1;0];
[xpred, Ppred] = predict(EKF);
[xcorr, Pcorr] = correct(EKF,measurement);
[xpred, Ppred] = predict(EKF);
[xpred, Ppred] = predict(EKF)
xpred = 4×1

    1.2500
    0.2500
    1.2500
    0.2500

Ppred = 4×4

   11.7500    4.7500         0         0
    4.7500    3.7500         0         0
         0         0   11.7500    4.7500
         0         0    4.7500    3.7500

Входные параметры

свернуть все

Фильтр для отслеживания объектов, заданный как один из следующих объектов:

  • trackingEKF - Расширенный фильтр Калмана

  • trackingUKF - Сигма-точечный фильтр Калмана

  • trackingABF - Альфа-бета фильтр

Как использовать predict функция со trackingKF линейный фильтр Калмана, см. predict (trackingKF).

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

Параметры предсказания, используемые функцией перехода состояния, заданные как разделенный списками , разделенными запятыми аргументов. Эти аргументы являются теми же аргументами, которые передаются в функцию перехода состояния, заданную StateTransitionFcn свойство входного filter.

Предположим, вы установите StateTransitionFcn свойство к @constacc и затем вызовите predict функция:

[xpred,Ppred] = predict(filter,dt)
predict функция внутренне вызывает следующее:
state = constacc(state,dt)

Выходные аргументы

свернуть все

Предсказанное состояние фильтра, заданное как вектор или матрица. The State свойство входного filter перезаписывается этим значением.

Предсказанная ковариация состояния фильтра, заданная в виде вектора или матрицы. The StateCovariance свойство входного filter перезаписывается этим значением.

Предсказанное измерение, заданное в виде вектора или матрицы. Можно вернуться zpred только когда filter является trackingABF объект.

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.
Введенный в R2021a