trackingMSCEKF

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

Описание

The 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 -by 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. Вход функции является вектором состояния M-element. Выходы - N вектор измерения -элемент. Для trackingMSCEKF объект, функция модели измерения фиксирована на @cvmeasmsc.

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

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

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

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

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

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

Пример: 0.2

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

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

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

  • Используйте smooth функция, предусмотренная в Sensor Fusion and 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] Aidala, V. and Hammel, S., 1983. Использование измененных полярных координат только для отслеживания подшипников. Транзакции IEEE по автоматическому управлению, 28 (3), стр. 283-294.

Введенный в R2018b