kalman

Проект фильтра Калмана, Оценка состояния фильтра Калмана

Синтаксис

[kest,L,P] = kalman(sys,Qn,Rn,Nn)
[kest,L,P] = kalman(sys,Qn,Rn,Nn,sensors,known)
[kest,L,P,M,Z] = kalman(sys,Qn,Rn,...,type)

Описание

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

Непрерывно-разовая оценка

Учитывая непрерывный объект

x˙=Ax+Bu+Gw(state equation)y=Cx+Du+Hw+v(measurement equation)

с известными входными параметрами u, белый шум процесса w и белый шум измерения удовлетворение v

E(w)=E(v)=0,E(wwT)=Q,E(vvT)=R,E(wvT)=N

создайте оценку состояния x^(t) это минимизирует установившуюся ошибочную ковариацию
    P=lim tE({xx^}{xx^}T)

Оптимальным решением является Фильтр Калмана с уравнениями

x^˙=Ax^+Bu+L(yCx^Du)[y^x^]=[CI]x^+[D0]u

Усиление фильтра L определяется путем решения алгебраического уравнения Riccati, чтобы быть

L=(PCT+N¯)R¯1

где

R¯=R+HN+NTHT+HQHTN¯=G(QHT+N)

и P решает соответствующее алгебраическое уравнение Riccati.

Средство оценки использует известные входные параметры u и измерения y, чтобы сгенерировать вывод и оценки состояния y^ и x^. Обратите внимание на то, что y^ оценивает истинный объект вывод

y=Cx+Du+Hw+v

Оценка дискретного времени

Учитывая дискретный объект

x[n+1]=Ax[n]+Bu[n]+Gw[n]y[n]=Cx[n]+Du[n]+Hw[n]+v[n]

и шумовые данные о ковариации

E(w[n]w[n]T)=Q,E(v[n]v[n]T)=R,E(w[n]v[n]T)=N

Средство оценки имеет следующее уравнение состояния:

x^[n+1|n]=Ax^[n|n1]+Bu[n]+L(y[n]Cx^[n|n1]Du[n])

Матрица усиления L выведена путем решения дискретного уравнения Riccati, чтобы быть

L=(APCT+N¯)(CPCT+R¯)1

где

R¯=R+HN+NTHT+HQHTN¯=G(QHT+N)

Существует два варианта Оценок состояния фильтра Калмана дискретного времени:

  • Текущее средство оценки генерирует выходные оценки y^[n|n] и оценки состояния x^[n|n] использование всех доступных измерений до y[n]. Это средство оценки имеет выходное уравнение

    [y^[n|n]x^[n|n]]=[(IMy)CIMxC]x^[n|n1]+[(IMy)DMyMxDMx][u[n]y[n]],

    где инновации получают Mx, и My заданы как:

    Mx=PCT(CPCT+R¯)1,My=(CPCT+HQHT+HN)(CPCT+R¯)1.

    Mx обновляет прогноз x^[n|n1] использование нового измерения y[n].

    x^[n|n]=x^[n|n1]+Mx(y[n]Cx^[n|n1]Du[n])innovation.

    Когда H = 0, My=CMx и y[n|n]=Cx[n|n]+Du[n].

  • Задержанное средство оценки генерирует выходные оценки y^[n|n1] и оценки состояния x^[n|n1] использование измерений только до yv [n –1]. Это средство оценки легче реализовать внутренние циклы управления и имеет выходное уравнение

    [y^[n|n1]x^[n|n1]]=[CI]x^[n|n1]+[D000][u[n]y[n]]

[kest,L,P] = kalman(sys,Qn,Rn,Nn) создает модель в пространстве состояний kest Оценки состояния фильтра Калмана, учитывая модель объекта управления sys и шумовые данные о ковариации Qn, Rn, Nn (матрицы Q, R, N, описанный в Описании). sys должен быть моделью в пространстве состояний с матрицами A,[BG],C,[DH].

Получившееся средство оценки kest имеет входные параметры [u;y] и выходные параметры [y^;x^] (или их дубликаты дискретного времени). Можно не использовать последний входной параметр Nn когда N = 0.

Функциональный kalman решает и непрерывные и дискретные проблемы и производит непрерывное средство оценки, когда sys непрерывен и дискретное средство оценки в противном случае. В непрерывное время также возвращается kalman, Кальман получают L и установившуюся ошибочную ковариационную матрицу P. P решает связанное уравнение Riccati.

[kest,L,P] = kalman(sys,Qn,Rn,Nn,sensors,known) обрабатывает более общую ситуацию когда

  • Не все выходные параметры sys измеряются.

  • Входные параметры воздействия w не являются последними входными параметрами sys.

Индексные векторы, которые задают sensors и known, который измеряются выходные параметры y sys и который вводит u, известны (детерминированные). Все другие входные параметры sys приняты стохастические.

[kest,L,P,M,Z] = kalman(sys,Qn,Rn,...,type) задает тип средства оценки для объектов дискретного времени sys. Аргументом type является или 'current' (значение по умолчанию) или 'delayed'. Для объектов дискретного времени kalman возвращает средство оценки, и инновации получают L и M и установившиеся ошибочные ковариации

P=lim nE(e[n|n1]e[n|n1]T),e[n|n1]=x[n]x[n|n1]Z=lim nE(e[n|n]e[n|n]T),e[n|n]=x[n]x[n|n]

Примеры

См. Проект LQG для оси X и Кальмана Филтеринга для примеров, которые используют функцию kalman.

Ограничения

Объект и шумовые данные должны удовлетворить:

  • (C, A) обнаруживаемый

  • R¯>0 и Q¯N¯R¯1N¯T0

  • (AN¯R¯1C,Q¯N¯R¯1N¯T) не имеет никакого неконтролируемого режима на мнимой оси (или модульный круг в дискретное время) с обозначением

    Q¯=GQGTR¯=R+HN+NTHT+HQHTN¯=G(QHT+N)

Ссылки

[1] Франклин, G.F., степень доктора юридических наук Пауэлл и M.L. Рабочий, цифровое управление динамических систем, второго выпуска, Аддисона-Уэсли, 1990.

[2] Льюис, F., оптимальная оценка, John Wiley & Sons, Inc, 1986.

[3] Deshpande, A.S., "Устраняя Разрыв в Прикладном Кальмане Филтеринге: Оценка Выводит, Когда Измерения Коррелируются с Шумом Процесса". Журнал Систем управления IEEE, Издание 37, Номер 3, 2017, стр 87–93.

Представлено до R2006a