series_fir()
Seriye Sonlu Dürtü Yanıtı (FIR) filtresi uygular.
işlevi, giriş olarak dinamik bir sayısal dizi içeren bir ifade alır ve Sonlu Dürtü Yanıtı filtresi uygular. Katsayıları belirterek filter
hareketli ortalama, düzeltme, değişiklik algılama ve daha birçok kullanım örneğini hesaplamak için kullanılabilir. işlevi, giriş olarak filtrenin katsayılarının dinamik dizisini ve statik dinamik dizisini içeren sütunu alır ve filtreyi sütuna uygular. Filtrelenmiş çıkışı içeren yeni bir dinamik dizi sütunu verir.
Syntax
series_fir(
Serisi,
filter [,
normalize[,
center]])
Söz dizimi kuralları hakkında daha fazla bilgi edinin.
Parametreler
Ad | Tür | Gerekli | Açıklama |
---|---|---|---|
Serisi | dynamic |
✔️ | Sayısal değerler dizisi. |
Filtre | dynamic |
✔️ | Filtrenin katsayılarını içeren sayısal değerler dizisi. |
Normalleştirmek | bool |
Filtrenin normalleştirilip normalleştirilmeyeceğini gösterir. Yani katsayıların toplamına bölünür. Filtre negatif değerler içeriyorsa normalleştirme olarak belirtilmelidir false , aksi takdirde sonuç olur null . Belirtilmezse, filtredeki negatif değerlerin varlığına bağlı olarak varsayılan değeri true varsayılır. Filtre en az bir negatif değer içeriyorsa normalleştirmenin olduğu false varsayılır. |
|
Merkezi | bool |
Filtrenin geçerli noktadan önceki ve sonraki bir zaman penceresine mi yoksa geçerli noktadan geriye doğru bir zaman penceresine mi simetrik olarak uygulandığını gösterir. Varsayılan olarak center, filtreyi yalnızca geçerli ve eski noktalara uygulayabilmemiz için akış verileri senaryosuna uyan değeridir false . Ancak geçici işleme için zaman serisiyle eşitlenmiş olarak ayarlayabilirsiniz true . Aşağıdaki örneklere bakın. Bu parametre filtrenin grup gecikmesini denetler. |
İpucu
Normalleştirme, katsayıların toplamının 1 olduğundan emin olmak için kullanışlı bir yoldur. normalleştirildiğindetrue
, filtre seriyi yükseltmez veya hafifletemez. Örneğin, dört bölmenin hareketli ortalaması filter=[1,1;1,1] ile belirtilebilir ve normalleştirilebilir=true
; bu da [0,25,0,25.0,25,0,25] yazmaktan daha basittir.
Döndürülenler
Filtrelenmiş çıkışı içeren yeni bir dinamik dizi sütunu.
Örnekler
- Filter=[1,1;1;1,1] ayarını yaparak ve normalleştirerek=
true
(varsayılan) beş noktanın hareketli ortalaması hesaplanır. Ortala=false
(varsayılan) ile karşılaştırmasının etkisinetrue
dikkat edin:
range t from bin(now(), 1h) - 23h to bin(now(), 1h) step 1h
| summarize t=make_list(t)
| project
id='TS',
val=dynamic([0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 20, 40, 100, 40, 20, 10, 0, 0, 0, 0, 0, 0, 0, 0]),
t
| extend
5h_MovingAvg=series_fir(val, dynamic([1, 1, 1, 1, 1])),
5h_MovingAvg_centered=series_fir(val, dynamic([1, 1, 1, 1, 1]), true, true)
| render timechart
Bu sorgu şunu döndürür:
5h_MovingAvg: Beş puan hareketli ortalama filtre. Ani artış düzeltilir ve tepe noktası (5-1)/2 = 2 saat kaydırılır.
5h_MovingAvg_centered: Aynı, ancak ayarıyla center=true
tepe özgün konumunda kalır.
- Bir nokta ile önceki nokta arasındaki farkı hesaplamak için filter=[1,-1] değerini ayarlayın.
range t from bin(now(), 1h) - 11h to bin(now(), 1h) step 1h
| summarize t=make_list(t)
| project id='TS', t, value=dynamic([0, 0, 0, 0, 2, 2, 2, 2, 3, 3, 3, 3])
| extend diff=series_fir(value, dynamic([1, -1]), false, false)
| render timechart
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin