distance

Расстояния между текущими и предсказанными измерениями отслеживания фильтра

Описание

dist = distance(filter,zmeas) вычисляет нормированные расстояния между одним или несколькими текущими объектными измерениями, zmeas, и соответствующие предсказанные измерения вычисляются входом filter. Используйте эту функцию, чтобы присвоить измерения дорожкам.

Этот расчет расстояния учитывает ковариацию предсказанного состояния и шума измерения.

dist = distance(filter,zmeas,measparams) задает дополнительные параметры, которые используются MeasurementFcn из фильтра.

Если filter trackingKF объект, затем вы не можете использовать этот синтаксис.

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

свернуть все

Отфильтруйте для объектного отслеживания, заданного как один из этих объектов:

  • trackingKF — Линейный Фильтр Калмана

  • trackingEKF — Расширенный Фильтр Калмана

  • trackingUKF — Сигма-точечный фильтр Калмана

Измерения отслеживаемых объектов, заданных как матрица. Каждая строка матрицы содержит вектор измерения.

Параметры для функции измерения, заданной как массив ячеек. Параметры передаются функции измерения, которая задана в MeasurementFcn свойство filter. Если filter trackingKF объект, затем вы не можете задать measparams.

Предположим, что вы устанавливаете MeasurementFcn свойство filter к @cameas, и затем установленный эти значения:

measurementParams = {frame,sensorpos,sensorpos}

distance функционируйте внутренне вызывает следующее:

cameas(state,frame,sensorpos,sensorvel)

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

свернуть все

Расстояния между измерениями, возвращенными как вектор-строка. Каждый элемент соответствует расстоянию между предсказанным измерением во входе filter и измерение, содержавшее подряд zmeas.

Алгоритмы

distance функция вычисляет нормированное расстояние между объектом фильтра и набором измерений. Этот расчет расстояния является вариантом расстояния Mahalanobis и учитывает невязку (различие между объектным измерением и значением, предсказанным фильтром), остаточная ковариация и шум измерения.

Считайте расширенный Фильтр Калмана с x состояния и измерением z. Уравнения использовались для расчета невязки, z res, и остаточная ковариация, S,

z res = zh (x),

S = R + HPHT,

где:

  • h является функцией, определяемой измерения в MeasurementFcn свойство фильтра.

  • R является ковариацией шума измерения, заданной в MeasurementNoise свойство фильтра.

  • H является якобианом функции, определяемой измерения в MeasurementJacobianFcn свойство фильтра.

Остаточное вычисление ковариации для других фильтров может варьироваться немного от один показанный, потому что отслеживающие фильтры имеют различные способы распространить ковариацию к пробелу измерения. Например, вместо того, чтобы использовать якобиан функции измерения, чтобы распространить ковариацию, сигма-точечные фильтры Калмана производят ковариацию, и затем распространяют произведенные точки.

Уравнение для расстояния Mahalanobis, d 2,

d 2 = z resTS–1z,

Функция расстояния вычисляет нормированное расстояние, d n, как

d n = d 2 + журнал (|S |),

где журнал (|S |) является логарифмом определителя остаточной ковариации S.

Журнал (|S |) термин составляет дорожки, которые являются coasted, означая, что они предсказаны, но не имели обновления в течение долгого времени. Дорожки в этом состоянии могут сделать S очень большим, приведя к меньшему расстоянию Mahalonobis относительно обновленных дорожек. Это различие в значениях расстояния может заставить курсировавшие дорожки неправильно брать обнаружения из обновленных дорожек. Журнал (|S |) термин компенсирует этот эффект путем наложения штрафа на такие дорожки, прогнозы которых очень сомнительны.

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

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

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

| | | | | |

Введенный в R2017a

Для просмотра документации необходимо авторизоваться на сайте