exponenta event banner

trackingMSCEKF

Расширенный фильтр Калмана для отслеживания объектов в измененных сферических координатах (MSC)

Описание

trackingMSCEKF объект представляет расширенный фильтр Калмана (EKF) для отслеживания объекта в измененных сферических координатах (MSC) с использованием измерений только под углом от одного наблюдателя. Используйте фильтр, чтобы предсказать будущее местоположение объекта в кадре MSC или связать несколько обнаруженных объектов с их дорожками. Можно указать маневр наблюдателя или ускорение, требуемое функциями перехода состояния (@constantvelmsc и @constantvelmscjac) с помощью ObserverInput собственность.

Следующие свойства являются фиксированными для trackingMSCEKF объект:

  • StateTransitionFcn - @constvelmsc

  • StateTransitionJacobianFcn - @constvelmscjac

  • MeasurementFcn - @cvmeasmsc

  • MeasurementJacobianFcn - @cvmeasmscjac

  • HasAdditiveProcessNoise - false

  • HasAdditiveMeasurementNoise - true

Создание

Описание

mscekf = trackingMSCEKF возвращает расширенный фильтр Калмана для использования функций изменения состояния MSC и измерения с объектными трекерами. Дефолт State При этом статическая цель находится на расстоянии 1 метра от наблюдателя на нулевом азимуте и высоте.

пример

mscekf = trackingMSCEKF(Name,Value) задает свойства фильтра с использованием одного или нескольких Name,Value аргументы пары. Все неопределенные свойства принимают значения по умолчанию.

Свойства

развернуть все

Состояние фильтра, указанное как вектор M-элемента с действительным значением.

  • Для отслеживания 2-D M равно четырем, а четырехмерное состояние: [az;azRate;1/r;rDot/r].

    Для отслеживания 3-D M равно шести, а шестимерное состояние: [az;azRate;el;elRate;1/r;rDot/r].

az и el - азимут и угол места в радианах. azRate и elRate - угловая скорость по азимуту и отметке в радианах в секунду. r - диапазон в метрах, и rDot - дальность в метрах в секунду.

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

Ковариация ошибок состояния, заданная как матрица M-by-M, где M - размер состояния фильтра. Скалярный вход расширяется до матрицы M-by-M. Ковариационная матрица представляет неопределенность в состоянии фильтра. M - это либо 4 для отслеживания 2-D или 6 для отслеживания 3-D.

Пример: eye(6)

Это свойство доступно только для чтения.

Функция перехода состояния, заданная как дескриптор функции. Эта функция вычисляет вектор состояния на временном шаге k из вектора состояния на временном шаге k-1. Для trackingMSCEKF объект, функция перехода зафиксирована на @constvelmsc.

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

Это свойство доступно только для чтения.

Якобиан функции перехода состояния, указанный как дескриптор функции. Эта функция имеет те же входные аргументы, что и функция перехода состояния. Для trackingMSCEKF объект, функция перехода Якобиан зафиксирована на @constvelmsc.

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

Ковариация шума процесса, заданная как матрица Q-by-Q. Q - это либо 2 или 3. Технологический шум представляет неопределенность в ускорении цели.

Определить ProcessNoise перед любым вызовом predict функция. В более поздних вызовах predict, можно дополнительно указать шум процесса как скаляр. В этом случае матрица шума процесса является кратной единичной матрице Q-на-Q.

Пример: [1.0 0.05; 0.05 2]

Ускорение или маневр наблюдателя, определяемый как трехэлементный вектор. Чтобы задать ускорение, используйте вектор M/2, где M равно 4 для отслеживания 2-D или 6 для отслеживания 3-D. Чтобы задать маневр, задайте вектор M-элемента.

Пример: [1;2;3]

Это свойство доступно только для чтения.

Модельный аддитивный технологический шум, указанный как false. Для trackingMSCEKF объект, это свойство фиксируется в false.

Это свойство доступно только для чтения.

Функция модели измерения, заданная как дескриптор функции, @cvmeasmsc. На входе в функцию находится вектор состояния М-элемента. Выходной сигнал представляет собой вектор измерения N-элементов. Для trackingMSCEKF объект, функция модели измерения фиксируется на @cvmeasmsc.

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

Это свойство доступно только для чтения.

Якобиан функции измерения, указанной как дескриптор функции. Функция имеет те же входные аргументы, что и функция измерения. Для trackingMSCEKF объект, якобиан функции измерения фиксируется на @cvmeasmscjac.

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

Ковариация шума измерения, заданная как положительная скалярная или положительно-определенная вещественно-значимая матрица. При задании в качестве скаляра матрица кратна единичной матрице N-на-N. N - размер вектора измерения.

Определить MeasurementNoise перед любым вызовом correct функция.

Пример: 0.2

Это свойство доступно только для чтения.

Модельный аддитивный технологический шум, указанный как true. Для trackingMSCEKF объект, это свойство фиксируется в true.

Включить сглаживание состояния, указанное как false или true. Установка для этого свойства значения true требуется лицензия Sensor Fusion and Tracking Toolbox™. Если указано как true, вы можете:

  • Используйте smooth функция, предоставляемая в панели инструментов Sensor Fusion и Tracking Toolbox, для сглаживания оценок состояния на предыдущих шагах. Внутри фильтра сохраняются результаты предыдущих шагов для обеспечения возможности обратного сглаживания.

  • Укажите максимальное количество шагов сглаживания с помощью MaxNumSmoothingSteps свойства фильтра отслеживания.

Максимальное количество шагов обратного сглаживания, указанное как положительное целое число.

Зависимости

Чтобы включить это свойство, установите значение EnableSmoothing свойство для true.

Функции объекта

predictКовариация состояния и ошибки оценки состояния фильтра слежения
correctКорректная ковариация ошибок оценки состояния и состояния с помощью фильтра слежения
correctjpdaПравильная ковариация ошибок оценки состояния и состояния с использованием фильтра отслеживания и JPDA
distanceРасстояния между текущими и прогнозируемыми измерениями фильтра слежения
likelihoodВероятность измерения от фильтра слежения
cloneСоздать повторяющийся фильтр отслеживания
residualИзмерение остаточного и остаточного шума от фильтра слежения
initializeИнициализация состояния и ковариации фильтра слежения
smoothОценки плавного состояния фильтра слежения в обратном направлении

Примеры

свернуть все

В этом примере показано, как создать расширенный фильтр Калмана (EKF) для отслеживания объектов в измененных сферических координатах (MSC). Создайте фильтр, спрогнозируйте состояние и исправьте оценку состояния с помощью измерений.

Создайте фильтр для 3-D модели движения. Укажите оценки состояния для кадра MSC.

az = 0.1; % in radians
azRate = 0;
r = 1000;
rDot = 10;
el = 0.3; % in radians
elRate = 0;
omega = azRate*cos(el);

mscekf = trackingMSCEKF('State',[az;omega;el;elRate;1/r;rDot/r]);

Спрогнозировать состояние фильтра с помощью постоянного ускорения наблюдателя.

mscekf.ObserverInput = [1;2;3];
predict(mscekf); % Default time 1 second.
predict(mscekf,0.1); % Predict using dt = 0.1 second.

Исправьте состояние фильтра с помощью измерения только под углом.

meas = [5;18]; % measured azimuth and elevation in degrees
correct(mscekf,meas);

Ссылки

[1] Айдала, В. и Хаммель, С., 1983. Использование измененных полярных координат для слежения только за подшипниками. Транзакции IEEE по автоматическому управлению, 28 (3), стр. 283-294.

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