constvelmscjac

Якобиан модели движения постоянной скорости (CV) в системе координат MSC

Описание

[jacobianState,jacobianNoise] = constvelmscjac(state,vNoise) вычисляет якобиевскую матрицу модели движения относительно вектора состояния и шума. Вход state задает текущее состояние и vNoise задает целевой ускоряющий шум в Декартовой системе координат наблюдателя. Функция принимает временной интервал, dt, из одного второго, и нулевого ускорения наблюдателя во всех размерностях.

trackingEKF объект позволяет вам задавать StateTransitionJacobianFcn свойство. Функция может использоваться в качестве StateTransitionJacobianFcn когда HasAdditiveProcessNoise установлен в false.

[jacobianState,jacobianNoise] = constvelmscjac(state,vNoise,dt) задает временной интервал, dt. Функция принимает нулевое ускорение наблюдателя во всех размерностях.

пример

[jacobianState,jacobianNoise] = constvelmscjac(state,vNoise,dt,u) задает вход наблюдателя, u, во время временного интервала, dt.

Примеры

свернуть все

Задайте вектор состояния для 2D MSC.

state = [0.5;0.01;0.001;0.01];

Вычислите якобиевскую матрицу, принимающую dt = 1 секунда, никакой маневр наблюдателя, и обнулите целевой ускоряющий шум.

[jacobianState,jacobianNoise] = constvelmscjac(state,zeros(2,1)) %#ok
jacobianState = 4×4

    1.0000    0.9900   -0.0000   -0.0098
   -0.0000    0.9800   -0.0000   -0.0194
    0.0000   -0.0000    0.9901   -0.0010
   -0.0000    0.0194   -0.0000    0.9800

jacobianNoise = 4×2
10-3 ×

   -0.2416    0.4321
   -0.4851    0.8574
   -0.0004   -0.0002
    0.8574    0.4851

Вычислите якобиевскую матрицу, данную dt = 0,1 секунды, никакой маневр наблюдателя и модульный целевой ускоряющий шум стандартного отклонения.

[jacobianState,jacobianNoise] = constvelmscjac(state,randn(2,1),0.1) %#ok
jacobianState = 4×4

    1.0000    0.0999    0.0067   -0.0001
   -0.0001    0.9980    0.1348   -0.0020
   -0.0000   -0.0000    0.9990   -0.0001
    0.0001    0.0020    0.1351    0.9980

jacobianNoise = 4×2
10-4 ×

   -0.0240    0.0438
   -0.4800    0.8755
   -0.0000   -0.0000
    0.8755    0.4800

Вычислите якобиевскую матрицу, данную dt = 0,1 секунды и ускорение наблюдателя = [0.1 0.3] в Декартовых координатах 2D наблюдателя.

[jacobianState,jacobianNoise] = constvelmscjac(state,randn(2,1),0.1,[0.1;0.3])
jacobianState = 4×4

    1.0000    0.0999    0.0081   -0.0001
    0.0002    0.9980    0.1625   -0.0020
   -0.0000   -0.0000    0.9990   -0.0001
    0.0002    0.0020   -0.1795    0.9980

jacobianNoise = 4×2
10-4 ×

   -0.0240    0.0438
   -0.4800    0.8756
   -0.0000   -0.0000
    0.8756    0.4800

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

свернуть все

Состояние, которое задано относительно наблюдателя в модифицированных сферических координатах в виде вектора. Например, если существует постоянное скоростное целевое состояние, xT, и постоянное скоростное состояние наблюдателя, xO, то state задан как xT - xO, преобразованный в модифицированные сферические координаты.

Двумерная версия модифицированных сферических координат (MSC) также упоминается как модифицированные полярные координаты (MPC).

В случае, если движение находится в:

  • 2D пробел – состояние равно [az azRate 1/r vr/r]

  • Трехмерное пространство – состояние равно [az omega el elRate 1/r vr/r]

Переменные, используемые в соглашении:

  • az – Угол азимута (рад)

  • el – Угол возвышения (рад)

  • azRate – Уровень азимута (rad/s)

  • elRate – Уровень вертикального изменения (rad/s)

  • \omega azRate × because(el) (rad/s)

  • 1/r – 1/область значений (1/м)

  • vr/r – range-rate/range или инверсия time-go (1/с)

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

Целевой ускоряющий шум в сценарии в виде вектора из 2 или 3 элементов.

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

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

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

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

  • Когда число элементов в u равняется числу элементов в state, вход u принят, чтобы быть маневром, выполняемым наблюдателем во время временного интервала, dt. Маневр задан как движение наблюдателя выше, чем первый порядок (или постоянная скорость).

  • Когда число элементов в u равняется половине числа элементов в state, вход u принятое постоянным ускорение наблюдателя, заданного в системе координат сценария во время временного интервала, dt.

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

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

свернуть все

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

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

Якобиан предсказанного состояния относительно шумовых элементов, возвращенных как n-by-m матрица. Переменная n является количеством состояний в векторе состояния, и переменная m является количеством шумовых частей процесса. Таким образом, m = 2 для состояния на 2D пробеле и m = 3 для состояния в трехмерном пространстве.

Например, если вектор состояния 4 1 вектор на 2D пробеле, vNoise должен быть 2 1 вектор и jacobianNoise 4 2 матрица.

Если вектор состояния 6 1 вектор в трехмерном пространстве, vNoise должен быть вектор 3 на 1 и jacobianNoise 6 3 матрица.

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

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

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

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

Объекты

Функции

Введенный в R2018b