Bagaimana cara memahami Kalman secara intuitif?

30

The algoritma Kalman Filter bekerja sebagai berikut

Inisialisasi dan .x^0|0P0|0

Pada setiap iterasik=1,,n

Meramalkan

Perkiraan status prediksi (a priori) Prediksi (a priori) perkiraan kovarians Pembaruan

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

Sisa inovasi atau pengukuran Inovasi (atau residual) kovarians Optimal Kalman gain Perkiraan keadaan diperbarui (a posteriori) Diperbarui (a posteriori) memperkirakan kovarians

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

Keuntungan Kalman mewakili kepentingan relatif dari kesalahan sehubungan dengan estimasi sebelumnya .Kky~kx^k|k1

Saya ingin tahu bagaimana memahami formula untuk mendapatkan secara intuitif ? Pertimbangkan kasus ketika negara bagian dan keluaran menjadi skalar, mengapa keuntungannya lebih besar, kapanKk

  • Pk|k1 lebih besar

  • Hk lebih besar

  • Sk lebih kecil?

Terima kasih dan salam!

Tim
sumber
Ini pertanyaan sulit untuk dijawab dengan benar. Saya mencoba, tetapi tidak yakin dengan jawaban saya sendiri. Pada dasarnya gain mengontrol seberapa besar Anda mempercayai pengukuran atas estimasi, tapi saya tidak bisa menjelaskan bagaimana kenaikan ini sesuai.
Jav_Rock

Jawaban:

18

Saya menemukan cara yang baik untuk berpikir secara intuitif dari Kalman Gain . Jika Anda menulis dengan cara iniKK

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

Anda akan menyadari bahwa besaran relatif dari matriks ( ) dan ( ) mengontrol hubungan antara penggunaan filter perkiraan negara yang diprediksi ( ) dan pengukuran ( ).RkPkxkk

 limRk0PkHkT HkPkHkT+Rk =Hk1

 limPk0PkHkT HkPkHkT+Rk =0

Mengganti batas pertama ke dalam persamaan pembaruan pengukuran

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

menunjukkan bahwa ketika besarnya kecil, yang berarti bahwa pengukurannya akurat, estimasi keadaan sebagian besar tergantung pada pengukuran.R

Ketika keadaan diketahui secara akurat, maka kecil dibandingkan dengan , dan sebagian besar filter mengabaikan pengukuran dengan mengandalkan prediksi yang berasal dari kondisi sebelumnya ( ).HPHTRxk

Jav_Rock
sumber
2
Terima kasih! Jika saya benar, tidak monoton sehubungan dengan . KkHk
Tim
12

Keuntungan Kalman memberi tahu Anda betapa saya ingin mengubah taksiran saya dengan memberikan pengukuran.

Sk adalah matriks kovariansi estimasi dari pengukuran . Ini memberitahu kita "variabilitas" dalam pengukuran kita. Jika besar, itu berarti bahwa pengukuran "banyak" berubah. Jadi kepercayaan Anda pada pengukuran ini rendah. Di sisi lain, jika kecil , variabilitas rendah, kepercayaan kami pada pengukuran meningkat. Ketika kami yakin tentang pengukuran kami, yakin bahwa informasi yang kami peroleh cukup baik bagi kami untuk memperbarui / mengubah perkiraan keadaan kami. Jadi keuntungan Kalman lebih tinggi.zkSk

Pk adalah matriks kovariansi keadaan yang diestimasi. Ini memberitahu kita "variabilitas" negara, . Jika besar , itu berarti bahwa keadaan diperkirakan banyak berubah. Jadi, Anda harus dapat mengubah taksiran dengan pengukuran baru. Akibatnya, keuntungan Kalman lebih tinggi.xkPk

Sebaliknya, jika kecil, maka Anda tahu bahwa keadaan Anda tidak banyak berubah, jadi Anda tidak ingin mengubah perkiraan terlalu banyak setiap saat. Jawaban @ Jav_Rock mengatakan bahwa jika , maka . Dengan kata lain, dia menyiratkan bahwa jika Anda berpikir bahwa keadaan Anda tidak berbeda lagi, Anda tidak mencoba mengubah perkiraan Anda lagi.PkPk0K0

ssk08
sumber
2

Jav_Rock mengerti maksudnya. Sebenarnya jika Anda menulis seperti iniKk

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

pembilang dari pecahan mewakili ketidakpastian yang disebarkan dari model sementara mewakili ketidakpastian dari pengukuran. Jadi nilai pecahan berarti seberapa besar kita harus mempercayai pengukuran, seperti yang dijelaskan oleh Jav_Rock.Rk

Adapun , itu hanya mengubah pengamatan kembali ke keadaan, karena itu adalah keadaan yang ingin kita perbarui, bukan pengamatan.Hk

Untuk menyelesaikannya, keuntungan menghitung berapa banyak koreksi yang harus kita ambil dari pengamatan dan mengubah koreksi pengamatan kembali ke koreksi keadaan, yang mengarah pada pembaruan estimasi negara:Kk

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

Zichao Zhang
sumber
-1

Saya sedang mengerjakan algoritma Kalman Filter (KF). Saya mengamati bahwa gain kalman berkaitan dengan konvergensi algoritma dengan waktu, yaitu, seberapa cepat algoritma memperbaiki dan meminimalkan residu.

Datang ke persamaan memilih nilai gain kalman awal dan bervariasi dari rendah ke tinggi, yang dapat memberi Anda yang diperkirakan.

Harsha
sumber