predict

Предскажите ошибочную ковариацию оценки состояния и оценки состояния линейного Фильтра Калмана

Описание

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

Этот синтаксис применяется, когда вы устанавливаете ControlModel свойство filter к пустой матрице.

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

Этот синтаксис применяется, когда вы устанавливаете ControlModel свойство filter к непустой матрице.

[xpred,Ppred] = predict(filter,F) задает модель изменения состояния, F. Используйте этот синтаксис, чтобы изменить модель изменения состояния во время симуляции.

Этот синтаксис применяется, когда вы устанавливаете ControlModel свойство filter к пустой матрице.

[xpred,Ppred] = predict(filter,F,Q) задает модель изменения состояния, F, и ковариация шума процесса, Q. Используйте этот синтаксис, чтобы изменить модель изменения состояния и ковариацию шума процесса во время симуляции.

Этот синтаксис применяется, когда вы устанавливаете ControlModel свойство filter к пустой матрице.

[xpred,Ppred] = predict(filter,u,F,G) задает силу или вход управления, u, модель изменения состояния, F, и модель управления, G. Используйте этот синтаксис, чтобы изменить модель изменения состояния и модель управления во время симуляции.

Этот синтаксис применяется, когда вы устанавливаете ControlModel свойство filter к непустой матрице.

[xpred,Ppred] = predict(filter,u,F,G,Q) задает силу или вход управления, u, модель изменения состояния, F, модель управления, G, и ковариация шума процесса, Q. Используйте этот синтаксис, чтобы изменить модель изменения состояния, модель управления и ковариацию шума процесса во время симуляции.

Этот синтаксис применяется, когда вы устанавливаете ControlModel свойство filter к непустой матрице.

пример

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

Этот синтаксис применяется когда MotionModel свойство filter не установлен в 'Custom' и ControlModel свойство установлено в пустую матрицу.

[xpred,Ppred] = predict(filter,u,dt) также задает силу или вход управления, u.

Этот синтаксис применяется когда MotionModel свойство filter не установлен в 'Custom' и ControlModel свойство установлено в непустую матрицу.

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

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

Примеры

свернуть все

Создайте линейный Фильтр Калмана, который использует 2D Constant Velocity модель движения. Примите, что измерение состоит из x-y местоположения объекта.

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

x = 5.3;
y = 3.6;
initialState = [x;0;y;0];
KF = trackingKF('MotionModel','2D Constant Velocity','State',initialState);

Создайте измеренные положения из траектории постоянной скорости.

vx = 0.2;
vy = 0.1;
T  = 0.5;
pos = [0:vx*T:2;5:vy*T:6]';

Предскажите и откорректируйте состояние объекта.

for k = 1:size(pos,1)
    pstates(k,:) = predict(KF,T);
    cstates(k,:) = correct(KF,pos(k,:));
end

Постройте дорожки.

plot(pos(:,1),pos(:,2),'k.', pstates(:,1),pstates(:,3),'+', ...
    cstates(:,1),cstates(:,3),'o')
xlabel('x [m]')
ylabel('y [m]')
grid
xt  = [x-2 pos(1,1)+0.1 pos(end,1)+0.1];
yt = [y pos(1,2) pos(end,2)];
text(xt,yt,{'First measurement','First position','Last position'})
legend('Object position', 'Predicted position', 'Corrected position')

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

свернуть все

Линейный Фильтр Калмана для объектного отслеживания, заданного как trackingKF объект.

Вектор управления, заданный как L с действительным знаком - вектор элемента.

Модель изменения состояния, заданная как M с действительным знаком-by-M матрица, где M является размером вектора состояния.

Ковариационная матрица шума процесса, заданная как положительно-определенный, M с действительным знаком-by-M матрица, где M является длиной вектора состояния.

Модель управления, заданная как M с действительным знаком-by-L матрица. M является размером вектора состояния. L является количеством независимых средств управления.

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

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

свернуть все

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

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

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

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

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

| | | | | |

Введенный в R2017a