Uygulamada Kalman filtresi


17

Kalman filtresinin açıklamasını okudum, ancak pratikte nasıl bir araya geldiği konusunda net değilim. Doğrusal durum geçişleri istediği ve aynı nedenden ötürü anormal durum tespiti veya durum geçişlerini bulmak için kullanışlı olmadığı için (doğrusal durum geçişleri istiyor), öncelikle mekanik veya elektrik sistemlerini hedefliyor gibi görünüyor, doğru mu? Uygulamada, bir Kalman filtresi kullanmak için önceden bilinmesi beklenen bileşenleri tipik olarak nasıl bulur? Bileşenleri listeledim, önceden bilinmesi gerekenler hakkındaki anlayışım yanlışsa lütfen beni düzeltin.

Bunların "önceden" bilinmesi gerekmediğine inanıyorum:

  • İşlem gürültüsüw
  • Gözlem gürültüsüv
  • Gerçek durum (Kalman filtresinin tahmin etmeye çalıştığı şey budur)x

Kalman filtresi kullanmak için bunların "önceden" bilinmesi gerektiğine inanıyorum:

  • için uyguladığımız doğrusal durum geçiş modeli (bunu önceden bilmemiz gerekir, bu nedenle eyaletlerimiz bilinen yasalarla yönetilmelidir, yani Kalman filtresi, bir durumdan diğerine geçiş iyi olduğunda ölçümleri düzeltmek için yararlıdır biraz gürültüye kadar anlaşılır ve deterministiktir - bir anomali bulucu veya rastgele durum değişiklikleri bulmak için bir araç değildir)x
  • Kontrol vektörüu
  • Vector kontrol etmek için uygulanan kontrol giriş modeli (bunu önceden bilmemiz gerekir, bu yüzden bir Kalman filtresi kullanmak için kontrol değerlerimizin modeli nasıl etkilediğini önceden bilmemiz gerekir, en fazla bazı gauss gürültüsüne kadar, ve etkinin doğrusal olması gerekir)u
  • Kovaryans S süreç gürültüsünün (wikipedia makalesinde bağımlı zaman gibi görünen, zaman bağlıdır yani k ) - biz önceden ve zaman içinde bu bilmemiz gerekir görünür, idmanda varsayalım o varlık sabiti olarak alınır ?
  • A (doğrusal) gözlem modeli 'H
  • Kovaryans R, (wikipedia makalesinde de zamana bağlı gibi görünüyor) - Q ile benzer sorunlarS

PS Ve evet bunların çoğunun zamana bağlı olduğunu biliyorum, sadece tüm alt simge dağınıklığını düşürdüm. İsterseniz her değişken adından sağa ve aşağıya küçük harfi hayal edin .k


Yanıtlar:


18

Bir bağlam için, Kalman Filtre denklemlerine geri dönelim:

.x(k+1)=F(k)x(k)+G(k)u(k)+w(k)z(k)=H(k)x(k)+v(k)

Kısacası, düz bir vanilya KF için:

tam olarak tanımlanmalıdır. Bu doğrudan sistemin diferansiyel denklemlerinden gelir. Değilse,ikili bir tahmin sorununuz vardır(yani hem durumu hem de sistem modelini tahmin edin). Sistemin diferansiyel denklemleri yoksa, KF sizin için değil!F(k)

tanım gereği bilinemez. Sonuçta, bilseydiniz, bu bir tahmin sorunu olmaz!x(k)

Kontrol vektörü tam olarak tanımlanmalıdır. İlave sistem modellemesi olmadan, kontrol vektörü üzerindeki tek belirsizlik proses gürültüsüne dahil edilebilen AWGN olabilir. Bilinen G ( k ) matrisi , kontrol girdisini durumlarla ilişkilendirir - örneğin, kanatçık hareketinin bir uçağın silindirini nasıl etkilediği. Bu, KF gelişiminin bir parçası olarak matematiksel olarak modellenmiştir.u(k)G(k)

w(k)Q(k)Q

H(k)z(k)

v(k)R(k)

Sade bir vanilya KF'deki kısıtlamalar üzerinde çalışmak için yapılabilecek çok sayıda "numara" var, ancak bunlar bu sorunun kapsamının çok ötesinde.


afterthought:

"Kalman Filter" için googling yapmak bir milyon isabetle sonuçlanırken, bakmaya değer olduğunu düşündüğüm birkaç şey var. Wikipedia sayfası bir çok etkili bir öğrenmeye darmadağın olduğu :(

On AVR Freaks , ben gerçek kullanılır nerede tanıtmak denemek için bir süre önce yazdığı Kalman Filtresi intro bir "serbest denklem" var.

Matematikten korkmuyorsanız, yüksek lisans / erken lisans düzeyinde okumaya değer birkaç kitap vardır. Tüm teoriyi ve birçok örnek sistemi içeren Brown ve Hwang'ı deneyin . Tavsiye edilen geliyor ama okumadım diğer ucuz olma avantajı olan Gelb olduğunu !


1
AVR Freaks bağlantısı için +1! Çok iyi yapmışsın. Muhtemelen sınıfta kullanacak. :-)
Peter K.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.