cvmeasmsc

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

Синтаксис

measurement = cvmeasmsc(state)
measurement = cvmeasmsc(state,frame)
measurement = cvmeasmsc(state,frame,laxes)
measurement = cvmeasmsc(state,measurementParameters)

Описание

measurement = cvmeasmsc(state) обеспечивает угловое измерение (азимут и повышение) состояния в кадре датчика, описанном state.

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

пример

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

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

пример

measurement = cvmeasmsc(state,measurementParameters) задает параметры измерения как скалярный struct или массив struct.

Примеры

свернуть все

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

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

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

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

   28.6479
   17.1887

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

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

cvmeasmsc(mscState,'rectangular')
ans = 3×1

  838.3866
  458.0127
  295.5202

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

cvmeasmsc(mscState,struct('Frame','rectangular'))
ans = 3×1

  838.3866
  458.0127
  295.5202

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

свернуть все

Состояние, которое задано относительно наблюдателя в измененных сферических координатах, задало как вектор или 2D матрица. Например, если существует постоянное скоростное целевое состояние, 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/с)

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

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

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

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

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

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

Параметры измерения, заданные как скалярный struct или массив 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, вектор, содержит азимут как единственное измерение.

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

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

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

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

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

Объекты

Функции

Введенный в R2018b