Filtrelere Giriş¶
Filtreler, modern teknolojide kullanılan en yaygın araçlardan bazılarıdır ve hem sinyal işlemede hem de kontrollerde robotikte çok sayıda uygulama bulur. Bir filtre kavramını anlamak, WPILib tarafından sağlanan çeşitli filtre türlerinin faydasını anlamak için çok önemlidir.
Filtre Nedir?¶
Not
Bu makalenin iyiliği için, tüm verilerin tek boyutlu zaman serisi verileri olduğunu varsayacağız. Açıkçası, ilgili kavramlar bundan daha geneldir - ancak sinyallerin ve filtrelemenin tam / titiz bir tartışması bu belgenin kapsamı dışındadır.
Öyleyse, tam olarak filtre nedir ? Basitçe ifade etmek gerekirse, bir filtre, bir giriş akışından bir çıkış akışına eşlemedir. Diğer bir deyişle, bir filtreden (prensip olarak) çıkan değer, yalnızca girdinin mevcut değerine değil, aynı zamanda tüm geçmiş ve gelecekteki değerler kümesine (tabii ki pratikte filtreler, WPILib tarafından sağlananlar gerçek zamanlı olarak akış verilerinde uygulanabilir; buna göre, bunlar yalnızca girdinin geçmiş değerlerine bağlı olabilir ve gelecekteki değerlere bağlı değildir) bağlı olabilir. Bu önemli bir kavramdır, çünkü genellikle bir sinyalden istenmeyen dinamikleri kaldırmak / azaltmak için filtreler kullanırız. Bir sinyali filtrelediğimizde, sinyalin zaman içinde nasıl değiştiğini kontrol etmekle ilgileniyoruz.
Filtre Kullanmanın Etkileri¶
Gürültü Azaltma¶
Bir filtrenin en tipik kullanımlarından biri gürültüyü azaltmaktır. Gürültüyü azaltan bir filtreye alçak-geçiren filtre denir (çünkü yüksek frekansları bloke ederken düşük frekansların “geçmesine” izin verir). Şu anda WPILib’de bulunan filtrelerin çoğu, etkili bir şekilde alçak geçiren filtrelerdir.
Oran Sınırlama¶
Filtreler ayrıca bir sinyalin değişme hızını azaltmak için de yaygın olarak kullanılır. Bu, gürültünün azaltılmasıyla yakından ilgilidir ve gürültüyü azaltan filtreler de çıktılarının değişim oranını sınırlama eğilimindedir.
Kenar algılama¶
Alçak geçiren filtrenin karşılığı, yalnızca yüksek frekansların çıkışa geçmesine izin veren yüksek geçiren filtredir. Yüksek geçiren filtrelerin sezgileri oluşturmak için biraz zor olabilir, ancak yüksek geçiren bir filtrenin yaygın bir kullanımı kenar algılamadır - yüksek geçiren filtreler, daha yavaş değişiklikleri göz ardı ederken girdideki ani değişiklikleri yansıtacağından, sinyaldeki keskin süreksizliklerin yerini belirlemek için yararlıdırlar.
Faz gecikmesi¶
Gerçek zamanlı bir düşük geçiş filtresinin kaçınılmaz bir olumsuz etkisi, “faz gecikmesi” nin ortaya çıkmasıdır. Daha önce belirtildiği gibi, gerçek zamanlı bir filtre yalnızca sinyalin geçmiş değerlerine bağlı olabileceğinden (gelecekteki değerleri elde etmek için zamanda yolculuk yapamayız), filtrelenen değerin giriş değişmeye başladığında “yakalanması” biraz zaman alır. Gürültü azaltma ne kadar büyükse, eklenen gecikme o kadar büyük olur. Bu, birçok yönden, gerçek zamanlı filtrelemenin temel tan etkisidir ve filtre tasarımınızın birincil itici faktörü olmalıdır.
İlginç bir şekilde, yüksek geçişli filtreler, giriş değerindeki yerel değişiklikleri şiddetlendirdiklerinden, bir faz gecikmesinin aksine bir faz öncüsü sunar.