Как понять усиление Кальмана интуитивно?

30

Алгоритм фильтра Калмана работает следующим образом

Инициализируйте и .x^0|0P0|0

На каждой итерацииk=1,,n

прогнозировать

Прогнозируемая (априорная) оценка состояния Прогнозируемая (априори) ковариация оценки Обновление

x^k|k1=Fkx^k1|k1+Bkuk
Pk|k1=FkPk1|k1FkT+Qk

Остаток нововведения или измерения Нововведение (или остаточное) ковариация Оптимальное усиление Калмана Обновленная (апостериорная) оценка состояния Обновлено (апостериорная) оценка ковариации

y~k=zkHkx^k|k1
Sk=HkPk|k1HkT+Rk
Kk=Pk|k1HkTSk1
x^k|k=x^k|k1+Kky~k
Pk|k=(IKkHk)Pk|k1

Коэффициент Калмана отражает относительную важность ошибки относительно предварительной оценки .Kky~kx^k|k1

Интересно, как интуитивно понять формулу Кальмана для усиления ? Рассмотрим случай, когда состояния и выходы являются скалярными, почему усиление больше, когдаKk

  • Pk|k1 больше

  • Hk больше

  • Sk меньше?

Спасибо и всего наилучшего!

Тим
источник
Это сложный вопрос, чтобы правильно ответить. Я пытался, но не убедился в своем собственном ответе. По сути, коэффициент усиления определяет, насколько вы доверяете измерениям по сравнению с оценкой, но я не могу объяснить, как этот коэффициент соответствует.
Jav_Rock

Ответы:

18

Я нашел хороший способ мышления интуитивно Калмана усиления . Если вы напишите таким образомКKK

 Kk=PkHkT(HkPkHkT+Rk)1=PkHkTHkPkHkT+Rk

Вы поймете, что относительные величины матриц ( ) и ( ) управляют отношением между использованием фильтра прогнозируемой оценки состояния ( ) и измерением ( ).P k x k kRkPkxkk

 limRk0PkHkT HkPkHkT+Rk =Hk1

 limPk0PkHkT HkPkHkT+Rk =0

Подстановка первого предела в уравнение обновления измерений

 x^k=xk+Kk(y~kHkxk)

предполагает, что когда величина мала, а это означает, что измерения точны, оценка состояния зависит в основном от измерений.R

Когда состояние известно точно, тогда мало по сравнению с , и фильтр в основном игнорирует измерения, полагаясь вместо этого на прогноз, полученный из предыдущего состояния ( ).HPHTRxk

Jav_Rock
источник
2
Благодарность! Если я прав, не относительно . KkHk
Тим
12

Усиление Калмана говорит вам, насколько я хочу изменить свою оценку, учитывая измерение.

Sk - оценочная ковариационная матрица измерений . Это говорит нам об «изменчивости» наших измерений. Если он большой, значит, измерения «сильно меняются». Так что ваша уверенность в этих измерениях низкая. С другой стороны, если мало , изменчивость мала, наша уверенность в измерении возрастает. Когда мы были уверены в наших измерениях, были уверены, что полученная нами информация достаточно хороша для того, чтобы мы могли обновить / изменить наши оценки состояния. Таким образом, прибыль Калмана выше.zkSk

Pk - оценочная ковариационная матрица состояний. Это говорит нам об «изменчивости» состояния, . Если большое , это означает, что состояние, по оценкам, сильно изменится. Таким образом, вы должны иметь возможность изменить свои оценки с новыми измерениями. В результате выгода Калмана выше.xkPk

И наоборот, если мало, то вы знаете, что ваше состояние не так сильно меняется, поэтому вы не хотите слишком сильно изменять свои оценки в каждый момент времени. В ответе @ Jav_Rock говорится, что если , то . Другими словами, он подразумевал, что если вы думаете, что ваше состояние больше не меняется, вы больше не пытаетесь изменить свою оценку.PkPk0K0

ssk08
источник
2

Jav_Rock получил точку. На самом деле, если вы напишите такKk

 Kk=PkHkT(HkPkHkT+Rk)1=HkHkPkHkTHkPkHkT+Rk

числитель дроби обозначает неопределенность, полученную из модели, в то время как обозначает неопределенность измерения. Таким образом, значение дроби означает, насколько мы должны доверять измерению, как объяснено Jav_Rock.Rk

Что касается , он просто переводит наблюдение обратно в состояние, потому что это состояние, которое мы хотим обновить, а не наблюдение.Hk

В заключение, коэффициент усиления вычисляет, какую коррекцию мы должны извлечь из наблюдения, и преобразовываю коррекцию наблюдения обратно в коррекцию состояния, что приводит к обновлению оценки состояния:Kk

 x^k=xk+Kk(y~kHkxk)

Зичао Чжан
источник
-1

Я работаю над алгоритмом фильтра Калмана (KF). Я заметил, что коэффициент усиления Калмана связан со сходимостью алгоритма во времени, то есть с какой скоростью алгоритм корректирует и минимизирует остаток.

Подходя к уравнению, выберите начальное значение усиления Калмана и измените его от низкого до высокого, что может дать вам приблизительное значение.

Harsha
источник