500 khz'de örneklediğim bir sinyal var. Gelen verilerdeki yükselişi, düşüşü ve zirveyi tespit etmeye çalışıyorum. Zirvenin tabanı 250 usec veya 2.5msn olabilir, genlik gürültü zemininin üstünde 6db veya 15db olabilir. Ne yazık ki iyi snr yok. Sinyalin dc seviyesi sabit değildir, ancak ac bileşeninden çok daha yavaş hareket eder.
Karar noktasında, yükseliş ve düşüşün eğimini bilmem gerekiyor. Bu zor bir gerçek zamanlı sistemdir ve aşağı eğim dc seviyesine ulaştıktan sonra 100usec'de gerçekten bir karar vermeliyim.
Nasıl verimli bir algoritma verimli bir şekilde uygulamak için öneriler arıyorum.
Şu anda bir koşu ortalama (son 25 veri noktası birlikte eklendi) yapmak ve eğilim tespit etmeye çalışın. Eğilimi tespit ettikten sonra eğilimi azaltmaya başladım ve bunu yaptıktan sonra belki başka bir 50 örnek daha toplayıp hesaplamaya başladım.
Gürültü artık bu algoritmayı kolayca vidalıyor, dolayısıyla soru.
Güncelleme
Başkalarının yararı için, Hareketli Ortalama ve ardından entegratör uyguladım. Son 64 veriyi ortalama olarak hareket ettirmek yeterince yumuşattı, ancak yükselişi bir dereceye kadar kaybetti. Tamam, büyük değil ama Tamam çalışıyor.