constvel

Постоянное скоростное обновление состояния

Описание

пример

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

пример

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

Примеры

свернуть все

Обновите состояние двумерного движения постоянной скорости какое-то время интервал одной секунды.

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 с действительным знаком - вектор-столбец элемента, где N является количеством пространственных степеней свободы движения. Для каждой пространственной степени движения вектор состояния принимает форму, показанную в этой таблице.

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

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

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

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

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

Пример: 0.5

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

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

свернуть все

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

Алгоритмы

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

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

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

[1T01]

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

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

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

Введенный в R2018b