trackingMSCEKF

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

Описание

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

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

  • StateTransitionFcn - @constvelmsc

  • StateTransitionJacobianFcn - @constvelmscjac

  • MeasurementFcn - @cvmeasmsc

  • MeasurementJacobianFcn - @cvmeasmscjac

  • HasAdditiveProcessNoise - false

  • HasAdditiveMeasurementNoise - true

Создание

Синтаксис

mscekf = trackingMSCEKF
mscekf = trackingMSCEKF(Name,Value)

Описание

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

пример

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

Свойства

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

Состояние фильтра, заданное как M с действительным знаком - вектор элемента. M является или 4 для 2D отслеживания или 6 для 3-D отслеживания.

Пример: [az;azRate;1/r;rDot/r] для 2D отслеживания и [az;omega;el;elRate;1/r;rDot/r] для 3-D отслеживания

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

Ошибочная ковариация состояния, заданная как M-by-M матрица, где M является размером состояния фильтра. Скалярный вход расширен к M-by-M матрица. Ковариационная матрица представляет неуверенность в состоянии фильтра. M является или 4 для 2D отслеживания или 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 для 2D отслеживания или 6 для 3-D отслеживания. Чтобы задать маневр, дайте M - вектор элемента.

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

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

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

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

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

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

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

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

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

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

Задайте MeasurementNoise перед любым вызовом метода correct.

Пример: 0.2

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

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

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

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

Примеры

свернуть все

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

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

az = 0.1;
azRate = 0;
r = 1000;
rDot = 10;
el = 0.3;
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]; %degrees
correct(mscekf,meas);

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

| | | |

Введенный в R2018b