constvelmscjac

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

Описание

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

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

  • Трехмерное пространство - государство равно [<reservedrangesplaceholder6> <reservedrangesplaceholder5> <reservedrangesplaceholder4> <reservedrangesplaceholder3> 1 / <reservedrangesplaceholder2> <reservedrangesplaceholder1> / 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 для состояния в трехмерном пространстве.

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

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

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

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

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

.

См. также

Объекты

Функции

Введенный в R2018b