exponenta event banner

constvel

Обновление состояния постоянной скорости

Описание

пример

updatedstate = constvel(state) возвращает обновленное состояние, stateмодели движения фильтра Калмана с постоянной скоростью после секундного временного шага.

пример

updatedstate = constvel(state,dt) задает временной шаг, dt.

updatedstate = constvel(state,w,dt) также указывает состояние шума, w.

Примеры

свернуть все

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

state = [1;1;2;1];
state = constvel(state)
state = 4×1

     2
     1
     3
     1

Обновление состояния двухмерного движения с постоянной скоростью в течение интервала времени 1,5 секунды.

state = [1;1;2;1];
state = constvel(state,1.5)
state = 4×1

    2.5000
    1.0000
    3.5000
    1.0000

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

свернуть все

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

Пространственные размерыСтруктура вектора состояния
1-D[x;vx]
2-D[x;vx;y;vy]
3-D[x;vx;y;vy;z;vz]

Например, x представляет координату x и vx представляет скорость в направлении X. Если модель движения 1-D, предполагается, что значения по осям y и z равны нулю. Если модель движения является 2-D, предполагается, что значения вдоль оси z равны нулю. Координаты положения находятся в метрах, а координаты скорости - в метрах/с.

Пример: [5;.1;0;-.2;-3;.05]

Типы данных: single | double

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

Пример: 0.5

Типы данных: single | double

Шум состояния, заданный как скалярная или вещественно-значимая матрица D-by-N. D - число размеров движения, а N - число векторов состояния. Например, D = 2 для 2-D движения. Если задано как скаляр, скалярное значение расширяется до матрицы D-by-N.

Типы данных: single | double

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

свернуть все

Обновленный вектор состояния, возвращаемый в виде вектора вещественного значения или матрицы вещественного значения с тем же количеством элементов и размерностей, что и входной вектор состояния.

Алгоритмы

Для двумерного процесса с постоянной скоростью матрица перехода состояния после временного шага T является блок-диагональной, как показано здесь.

[xk+1vx, k+1yk+1vy, k+1] = [1T000100001T0001] [xkvxkykvyk]

Блок для каждого пространственного размера:

[1T01]

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

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

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.
Представлен в R2021a