cvmeasmscjac

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

Синтаксис

jacobian = cvmeasmscjac(state)
jacobian = cvmeasmscjac(state,frame)
jacobian = cvmeasmscjac(state,frame,laxes)
jacobian = cvmeasmscjac(state,measurementParameters)

Описание

jacobian = cvmeasmscjac(state) вычисляет якобиан относительно углового измерения (азимут и повышение) состояния в кадре датчика. Движение может быть или на 2D или 3-D пробеле. Если модель движения находится на 2D пробеле, значения, соответствующие повышению, приняты, чтобы быть нулем.

trackingEKF и фильтры trackingMSCEKF требуют определения свойства MeasurementJacobianFcn. Функция cvmeasmscjac может использоваться в качестве MeasurementJacobianFcn. Чтобы использовать этот MeasurementFcn с trackerGNN и trackerTOMHT, можно использовать фильтр trackingMSCEKF.

пример

jacobian = cvmeasmscjac(state,frame) обеспечивает якобиевское измерение в заданном кадре. Позволенными значениями для кадра является 'rectangular' и 'spherical'.

jacobian = cvmeasmscjac(state,frame,laxes) задает оси системы координат датчика. Вход laxes является 3х3 матрицей с каждым столбцом, задающим направление локального x, y и осей z в системе координат датчика. Значение по умолчанию для laxes [1 0 0;0 1 0;0 0 1].

пример

jacobian = cvmeasmscjac(state,measurementParameters) задает параметры измерения как struct.

Примеры

свернуть все

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

Сферический кадр

Получите якобиан азимута и измерений повышения от состояния MSC.

mscState = [0.5;0;0.3;0;1e-3;1e-2];
cvmeasmscjac(mscState)
ans = 2×6

   57.2958         0         0         0         0         0
         0         0   57.2958         0         0         0

Прямоугольный кадр

Получите якобиан измерения положения от состояния MSC. Задайте кадр как второй вход.

cvmeasmscjac(mscState,'rectangular')
ans = 3×6
105 ×

   -0.0046         0   -0.0026         0   -8.3839         0
    0.0084         0   -0.0014         0   -4.5801         0
         0         0    0.0096         0   -2.9552         0

Также можно задать кадр с помощью measurementParameters.

cvmeasmscjac(mscState,struct('Frame','rectangular'))
ans = 3×6
105 ×

   -0.0046         0   -0.0026         0   -8.3839         0
    0.0084         0   -0.0014         0   -4.5801         0
         0         0    0.0096         0   -2.9552         0

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

свернуть все

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

2D версия измененных сферических координат (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/с)

Если модель движения находится на 2D пробеле, значения, соответствующие повышению, приняты, чтобы быть нулем, если повышение требуют как вывод.

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

Кадр измерения, заданный как 'spherical' или 'rectangular'. При использовании кадра 'rectangular' эти три строки, существующие в jacobian, представляют якобиан измерений относительно x, y и положения z цели в Декартовом кадре датчика. При использовании кадра 'spherical' эти две строки, существующие в jacobian, представляют якобиан азимута и измерения повышения цели. Если не заданный, функция обеспечивает якобиан измерений в кадре 'spherical'.

Направление локального x, y и осей z в сценарии, заданном как 3х3 матрица. Каждый столбец матрицы задает направление локального x, y и осей z в системе координат датчика. Если не заданный, laxes равен [1 0 0;0 1 0;0 0 1].

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

Параметры измерения, заданные как struct. Структура должна иметь следующие поля (или подмножество их):

  • Frame – Или 'rectangular' или 'spherical' или перечисление с теми же значениями. Значение по умолчанию: 'spherical'.

  • Orientation – 3х3 матрица laxes.

  • HasElevation – Логический скаляр, true, если повышение измеряется. Значение по умолчанию: true, если state находится на 3-D пробеле, false, если state находится на 2D пробеле.

  • IsParentToChild – Логический скаляр, true, если ориентация дана как родительский элемент к дочернему вращению кадра.

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

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

свернуть все

Целевое измерение в кадре MSC, возвращенном как a:

  • Матрица, состоящая из одной строки, – Когда HasElevation установлен в false.

  • Матрица 2D строки – Когда frame установлен в 'spherical', функция, измеряет азимут и измерения повышения от состояния MSC.

  • Матрица с тремя строками – Когда frame установлен в 'rectangular', функция, измеряет измерение положения от состояния MSC.

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

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

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

Объекты

Функции

Введенный в R2018b