Yazılım · Şubat 8, 2012 0

Unutulan Geçmiş

    Tarihe Kayıt Düşmesi açısından, saygıdeğer Melih Karakelle tarafından bir forum sitesinde (www.pistbasi.com) önerdiği bir yöntemi aktarmak istiyorum. Yöntem KALMAN filtresi ile alakalı bir fikir alışverişi sonrasında vermiştir. Birkaç yerde kullandığım başarılı bir yöntemdir.
Benim yöntem çok basit, bilgisayar programcısının can simididir unutulan değişken filtresi, hayat boyu binlerce yerde kullanmışımdır heralde. 
Yöntem şöyle; 

 

Böylece her değişkeni bir alta taşıdık (bunun daha farklı yolu da var ama bu anlatılması en kolayı) 
X[0] = yeniX ; // böylece ilk değer son sensör verisi oldu
 
OrtalamaX = SUM(X) / 10; // tüm X değerlerini toplayıp 10 a bölüyoruz.
 
ve elimizde en son 10 değerin ortalaması ile elde edilmiş OrtalamaX değeri kalıyor
 
Yöntem bukadar basit, bu yöntemin en büyük avantajı işlemci yükünün minimum olmasında, yukarıdaki halinden daha fazla optimize etmek de mümkün ve bu hali ile saniyede binlerce kez ölçüm alıp işlemeni mümkün kıldığı için en önemli sorun olan sensör parazitlerini ve titreşimi de gidermek çok kolay oluyor.
 
Ayrıca sensör çıkışında lowpass filtre kullanırsan bu tip yazılımsal taklaları daha da azaltman mümkün. Ben çıkışlarda 100kOhm direnç ve 100nF kondansatör kullanıyorum, çıkış sinyalini oldukça iyi yumşatıyor (30hz civarında) , eğer daha yavaş ve yumuşak sinyaller istersen 1 megaohm direnç kullan.
Hiçbir yazılımsal filtre gerçek bir kondansatör ve dirençten daha güzel sinyal yumşatamaz, bu yüzden analog sensörler hala dijitallerden daha kullanışlı.
Ziyaretci : 1191