cvmeasmsc

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

Описание

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

  • Трехмерное пространство – состояние равно [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 находится в трехмерном пространстве, false если state находится на 2D пробеле.

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

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

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

свернуть все

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

  • Вектор с одним элементом – Когда HasElevation установлен в false, вектор содержит азимут как единственное измерение.

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

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

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

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

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

Объекты

Функции

Введенный в R2018b