exponenta event banner

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.

Примеры

свернуть все

Определите вектор состояния для 2-D 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] в декартовых координатах 2-D наблюдателя.

[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).

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

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

  • 3-D пробел -- состояние равно [az omega el elRate 1/r vr/r ]

В соглашении используются следующие переменные:

  • az -- Азимутальный угол (рад)

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

  • azRate -- азимутальная скорость (рад/с)

  • elRate -- Скорость подъема (рад/с)

  • omega -- azRate × cos (el) (рад/с)

  • 1/r -- 1/диапазон (1/м)

  • vr/r -- дальность/дальность или обратное время перехода (1/с)

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

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

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

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

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

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

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

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

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

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

свернуть все

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

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

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

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

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

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

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

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

.

См. также

Объекты

Функции

Представлен в R2018b