constvelmscjac

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

Синтаксис

[jacobianState,jacobianNoise] = constvelmscjac(state,vNoise)
[jacobianState,jacobianNoise] = constvelmscjac(state,vNoise,dt)
[jacobianState,jacobianNoise] = constvelmscjac(state,vNoise,dt,u)

Описание

[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]

  • 3-D пробел – состояние равно [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 для состояния на 3-D пробеле.

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

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

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

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

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

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

Классы

Функции

Введенный в R2018b