Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Stosuje filtr Nieskończona odpowiedź impulsowa w serii.
Funkcja przyjmuje wyrażenie zawierające dynamiczną tablicę liczbową jako dane wejściowe i stosuje filtr Nieskończona odpowiedź impulsu. Określając współczynniki filtru, można użyć funkcji w celu:
- obliczanie skumulowanej sumy serii
- stosowanie operacji wygładzenia
- stosowanie różnych filtrów o wysokim poziomie, pasmowym i niskoprzepustowym
Funkcja przyjmuje jako dane wejściowe kolumnę zawierającą tablicę dynamiczną i dwie statyczne tablice dynamiczne mianowników i współczynników liczników filtru i stosuje filtr w kolumnie. Zwraca nową kolumnę tablicy dynamicznej zawierającą odfiltrowane dane wyjściowe.
Składnia
series_iir(mianowniki serii, , )
Dowiedz się więcej na temat konwencji składni.
Parametry
| Nazwisko | Type | Wymagania | opis |
|---|---|---|---|
| seria | dynamic |
✔️ | Tablica wartości liczbowych, zazwyczaj wynikowe dane wyjściowe operatorów make-series lub make_list . |
| liczniki | dynamic |
✔️ | Tablica wartości liczbowych zawierająca współczynniki liczbowe filtru. |
| mianowniki | dynamic |
✔️ | Tablica wartości liczbowych zawierająca współczynniki mianownika filtru. |
Ważne
Pierwszy element ( a czyli a[0]) nie może być zero, aby uniknąć dzielenia o 0. Zobacz następującą formułę.
Formuła cykliczna filtru
- Rozważmy tablicę wejściową X i współczynniki tablice a i b długości odpowiednio n_a i n_b. Funkcja transferu filtru, która wygeneruje tablicę wyjściową Y, jest definiowana przez:
Przykład
Oblicz sumę skumulowaną. Użyj filtru iir z mianownikami współczynników=[1,-1] i liczników=[1]:
let x = range(1.0, 10, 1);
print x=x, y = series_iir(x, dynamic([1]), dynamic([1,-1]))
| mv-expand x, y
Wyjście
| x | t |
|---|---|
| 1.0 | 1.0 |
| 2.0 | 3.0 |
| 3.0 | 6.0 |
| 4.0 | 10,0 |
Oto jak opakowować go w funkcji:
let vector_sum=(x: dynamic) {
let y=array_length(x) - 1;
todouble(series_iir(x, dynamic([1]), dynamic([1, -1]))[y])
};
print d=dynamic([0, 1, 2, 3, 4])
| extend dd=vector_sum(d)
Wyjście
| d | dd |
|---|---|
[0,1,2,3,4] |
10 |