Median Filtresi

A graph with two peaks with the input closely following the target signal.

Güçlü bir alternatif moving-average filter median filtresi dir. Hareketli bir ortalama filtresinin, girdinin aritmetik ortalamasını hareketli bir örnek penceresi üzerinden aldığı durumlarda, bir median filtresi (ad başına) bunun yerine bir median alır.

Median filtresi, bir giriş akışından ara sıra aykırı değerleri kaldırmak için çok kullanışlıdır. Bu, ara sıra parazitlere eğilimli olan mesafe sensörlerinden gelen girdileri filtrelemek için özellikle uygun hale getirir. Hareketli bir ortalamanın aksine; median filtresi, ne kadar aşırı olursa olsun, az sayıdaki aykırı değerlerden tamamen etkilenmeyecektir.

Medyan filtresi, WPILib’de MedianFilter sınıfı (Java <https://first.wpi.edu/wpilib/allwpilib/docs/release/java/edu/wpi/first/wpilibj/MedianFilter.html> __, C ++ <https://first.wpi.edu/wpilib/allwpilib/docs/release/cpp/classfrc_1_1MedianFilter.html> __) aracılığıyla desteklenir.

MedianFilter Oluşturma

Not

C++ MedianFilter sınıfı, girdi için kullanılan veri türüne göre şablonlanır.

Not

Filtrelerin “belleği” olduğundan, her giriş akışı kendi filtre nesnesini gerektirir. Birden çok giriş akışı için aynı filtre nesnesini kullanmaya çalışmayın.

Bir MedianFilter oluşturmak basittir:

// Creates a MedianFilter with a window size of 5 samples
MedianFilter filter = new MedianFilter(5);

MedianFilter kullanma

Filtreniz oluşturulduktan sonra kullanımı kolaydır - filtrelenmiş çıktıyı elde etmek için en son girdiyle calculate() yöntemini çağırmanız yeterlidir:

// Calculates the next value of the output
filter.calculate(input);