distance

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

Описание

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

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

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

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

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

свернуть все

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

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

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

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

  • trackingABF — Фильтр альфы - беты

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

Параметры для измерения функционируют в виде массива ячеек. Параметры передаются функции измерения, которая задана в MeasurementFcn свойство filter. Если filter trackingKF или trackingABF объект, затем вы не можете задать 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 очень большим, приведя к меньшему расстоянию Mahalanobis относительно обновленных дорожек. Это различие в значениях расстояния может заставить курсировавшие дорожки неправильно брать обнаружения из обновленных дорожек. Журнал (|S |) термин компенсирует этот эффект путем наложения штрафа на такие дорожки, предсказания которых очень сомнительны.

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

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

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

| | | | | |

Введенный в R2017a