Arduino kalman filtresi - Filtre yazılımı


   Kalman filtresi belirli matematiksel hesaplar sonrasında sistemdeki paraziti alınan sensör hatası veya hesaplama hatasına göre 2 değerin değiştirilmesi ile filtreleme işlemi yapılmaktadır. Genellikle NTC, basınç sensörü (bmp180-gy63), accelometre, gyroscope gibi sensörlerin filtrelemesinde sıklıkla kullanılmaktadır.

Kodumuz;

int kalman_old,cov_old;
int kalman_filter_su_sic (float input)
{
    
  float kalman_new = kalman_old; // eski değer alınır
  float cov_new = cov_old + 0.50; //yeni kovaryans değeri belirlenir. Q=0.50 alınmıştır
  
  float kalman_gain = cov_new / (cov_new + 2); //kalman kazancı hesaplanır. R=0.9 alınmıştır
  float kalman_calculated = kalman_new + (kalman_gain * (input - kalman_new)); //kalman değeri hesaplanır
  
  cov_new = (1 - kalman_gain) * cov_old; //yeni kovaryans değeri hesaplanır
  cov_old = cov_new; //yeni değerler bir sonraki döngüde kullanılmak üzere kaydedilir
  
  kalman_old = kalman_calculated;
 
  return kalman_calculated; //hesaplanan kalman değeri çıktı olarak verilir
}

Matematiksel modelleme: Matematiksel modeli, bir fonksiyon olarak düşünebiliriz. Fonksiyonların, parametreleri (input) ve geri dönüş değerleri (output) vardır. Matematiksel modeli oluşturmak kimi zaman çok zor olabilir. Linear bir sistem için, kimi zaman kolay olsa da, Non-linear bir sistemi modellemek çok zordur.
Gerçek sistemi matematiksel bir model olarak tam anlamıyla/birebir yansıtamazsınız. Gerçek sisteme en yakın, matematiksel modeli oluşturmaya çalışmalısınız. Çünkü, elde ettiğimiz veriler gürültülü ve kesin olmayan veriler olacaktır. Gerçek hayatta sistemimize etki eden ve bizim farkında olamayacağımız etkenler olabilir. Ve tüm bu etkenlerin hepsini modellemek zor ve karışıklığı da yanında getirecektir. 

Kalman Filter State Observation: State Observation; Direkt olarak göremeyeceğin, ölçümünü yapamayacağın verileri tahmin etmede yardımcı olur.





Ziyaretçi, yorum yapılsın mı?
İsim:*
E-Mail:


[not-allow-comm]
[/not-allow-comm]

Dikkat!

Aşağıdaki bağlantıdaki makaleye göz atın.

Site Kuralları ve Engellenme Sonrası
İstatistik
File engine/modules/zpstats.php not found.
Sıkça Sorulan Sorular
Video Trafiği
Etiketlere göre ara