Линейные фильтры Калмана

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

Уравнения состояния

Для большинства типов объектов, прослеженных в тулбоксе, вектор состояния состоит из одного - 2D или 3D положения и скорости.

Начните с уравнений Newton для объекта, перемещающегося в x - направление на постоянном ускорении, и преобразуйте эти уравнения в форму состояния пробелом.

mx¨=fx¨=fm=a

Если вы задаете состояние как

x1=xx2=x˙,

можно написать закон Ньютона в форме пространства состояний.

ddt[x1x2]=[0100][x1x2]+[01]a

Вы используете линейную динамическую модель, когда вы уверены, что объект следует за этим типом движения. Иногда модель включает process noise, чтобы отразить неопределенность в модели движения. В этом случае уравнения Ньютона имеют дополнительное условие.

ddt[x1x2]=[0100][x1x2]+[01]a+[01]vk

vk является неизвестными шумовыми возмущениями ускорения. Только статистические данные шума известны. Это принято, чтобы быть нулевым средним Гауссовым белым шумом.

Можно расширить этот тип уравнения больше чем к одной размерности. В двух измерениях уравнение имеет форму

ddt[x1x2y1y2]=[0100000000010000][x1x2y1y2]+[0ax0ay]+[0vx0vy]

Матрицей 4 на 4 на правой стороне является state transition model matrix. Для независимого x- и движений y-, эта матрица является диагональю блока.

Когда вы переходите к дискретному времени, вы интегрируете уравнения движения по длине временного интервала. В дискретной форме, для демонстрационного интервала T, представление состояния становится

[x1,k+1x2,k+1]=[1T01][x1,kx2,k]+[0T]a+[01]v˜

Количество xk+1 является состоянием в дискретное время k+1 и xk, является состоянием в более раннее дискретное время, k. Если вы включаете шум, уравнение становится более сложным, потому что интегрирование шума не является прямым.

Уравнение состояния может быть обобщено к

xk+1=Fkxk+Gkuk+vk

Fk является матрицей переходов, и Gk является матрицей управления. Матрица управления учитывает любые известные силы, действующие на объект. Обе из этих матриц даны. Последний срок представляет подобные шуму случайные возмущения динамической модели. Шум принят, чтобы быть нулевым средним Гауссовым белым шумом.

Системы непрерывного времени с входным шумом описаны линейными стохастическими дифференциальными уравнениями. Системы дискретного времени с входным шумом описаны линейными стохастическими дифференциальными уравнениями. Представление пространства состояний является математической моделью физической системы, где входные параметры, выходные параметры и переменные состояния связаны связанными уравнениями первого порядка.

Модели измерения

Measurements - то, что вы наблюдаете о своей системе. Измерения зависят от вектора состояния, но являются не всегда тем же самым как вектором состояния. Например, в радиолокационной системе, измерения могут быть сферическими координатами, такими как область значений, азимут и вертикальное изменение, в то время как вектор состояния является Декартовым положением и скоростью. Для линейного Фильтра Калмана измерения всегда являются линейными функциями вектора состояния, исключая сферические координаты. Чтобы использовать сферические координаты, используйте расширенный Фильтр Калмана.

Модель измерения принимает, что фактическое измерение в любое время связано с текущим состоянием

zk=Hkxk+wk

wk представляет шум измерения на шаге текущего времени. Шум измерения является также нулевым средним белым Гауссовым шумом с ковариационной матрицей Q, описанный Qk = E[nknkT].

Линейные уравнения фильтра Калмана

Без шума динамические уравнения

xk+1=Fkxk+Gkuk.

Аналогично, модель измерения не имеет никакого вклада шума измерения. В каждом экземпляре не известны шумы процесса и измерения. Только шумовые статистические данные известны.

zk=Hkxk

Можно поместить эти уравнения в рекурсивный цикл, чтобы оценить, как состояние развивается и также как неопределенность в компонентах состояния развивается.

Отфильтруйте цикл

Начните с наилучшей оценки состояния, x0/0, и ковариации состояния, P0/0. Фильтр выполняет эти шаги в непрерывном цикле.

  1. Распространите состояние к следующему шагу с помощью уравнений движения.

    xk+1|k=Fkxk|k+Gkuk.

    Распространите ковариационную матрицу также.

    Pk+1|k=FkPk|kFkT+Qk.

    k+1|k обозначения индекса указывает, что количество является оптимальной оценкой на шаге k+1, распространенном от шага k. Эта оценка часто называется априорной оценкой.

    Затем предскажите измерение в обновленное время.

    zk+1|k=Hk+1xk+1|k

  2. Используйте различие между фактическим измерением и предсказанным измерением, чтобы откорректировать состояние в обновленное время. Коррекция требует вычисления усиления Кальмана. Для этого сначала вычислите ковариацию предсказания измерения (инновации)

    Sk+1=Hk+1Pk+1|kHk+1T+Rk+1

    Затем усиление Кальмана

    Kk+1=Pk+1|kHk+1TSk+11

    и выведен из использования условия оптимальности.

  3. Откорректируйте предсказанную оценку измерением. Примите, что оценка является линейной комбинацией предсказанного состояния и измерения. Оценка после коррекции использует обозначение индекса, k+1|k+1. вычисляется из

    xk+1|k+1=xk+1|k+Kk+1(zk+1zk+1|k)

    где Kk+1 является усилением Кальмана. Откорректированное состояние часто называется по опыту оценка состояния, потому что это выведено после того, как измерение включено.

    Откорректируйте ковариационную матрицу состояния

    Pk+1|k+1=Pk+1|kKk+1Sk+1Kk+1

    Наконец, можно вычислить измерение, основанное на откорректированном состоянии. Это не коррекция к измерению, но является наилучшей оценкой того, что измерение было бы основано на наилучшей оценке состояния. Сравнение этого к фактическому измерению дает вам индикацию относительно эффективности фильтра.

Этот рисунок обобщает операции цикла Кальмана.

Постоянная скоростная модель

Линейный Фильтр Калмана содержит встроенную линейную модель движения постоянной скорости. В качестве альтернативы можно задать матрицу перехода для линейного движения. Обновление состояния на следующем временном шаге является линейной функцией состояния в настоящее время. В этом фильтре измерения являются также линейными функциями состояния, описанного матрицей измерения. Для объекта, перемещающегося в трехмерное пространство, состояние описано положением и скоростью в x - y - и z - координаты. Модель изменения состояния для движения постоянной скорости

[xk+1vx,k+1yk+1vy,k+1zk+1vz,k+1]=[1T0000010000001T0000010000001T000001][xkvx,kykvy,kzkvz,k]

Модель измерения является линейной функцией вектора состояния. Самый простой случай является тем, где измерения являются компонентами положения состояния.

[mx,kmy,kmz,k]=[100000001000000010][xkvx,kykvy,kzkvz,k]

Постоянная ускоряющая модель

Линейный Фильтр Калмана содержит встроенную линейную модель движения постоянного ускорения. В качестве альтернативы можно задать матрицу перехода для постоянного ускорения линейное движение. Модель перехода для линейного ускорения

[xk+1vx,k+1ax,k+1yk+1vy,k+1ay,k+1zk+1vz,k+1az,k+1]=[1T12T200000001T0000000010000000001T12T200000001T0000000010000000001T12T200000001T000000001][xkvx,kax,kykvy,kay,kzkvz,kaz,k]

Самый простой случай является тем, где измерения являются компонентами положения состояния.

[mx,kmy,kmz,k]=[100000000000100000000000100][xkvx,kax,kykvy,kay,kzkvz,kay,k]

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

Объекты