Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Применяет фильтр бесконечной импульсной характеристики к ряду.
Функция принимает выражение, содержащее динамический числовый массив в качестве входных данных, и применяет фильтр бесконечного импульсного отклика . Указав коэффициенты фильтра, можно использовать функцию для:
- вычисление совокупной суммы ряда
- применение операций сглаживания
- применение различных высокопроходных, полосовых и низкопроходных фильтров
Функция принимает в качестве входных данных столбец, содержащий динамический массив и два статических динамических массива знаменателей фильтра и коэффициентов числовых элементов, и применяет фильтр к столбцу. Она выводит новый столбец динамического массива, содержащий отфильтрованные результаты.
Синтаксис
series_iir(Знаменатели числовых рядов ,, )
Дополнительные сведения о соглашениях синтаксиса.
Параметры
| Имя (название) | Type | Обязательно | Описание |
|---|---|---|---|
| серия | dynamic |
✔️ | Массив числовых значений, как правило, результирующий результат операторов make-series или make_list . |
| числовые указатели | dynamic |
✔️ | Массив числовых значений, содержащий коэффициенты числового диктора фильтра. |
| Знаменателей | dynamic |
✔️ | Массив числовых значений, содержащий коэффициенты знаменателя фильтра. |
Внимание
Первый элемент a (то есть a[0]) не должен быть нулевым, чтобы избежать деления на 0. См. следующую формулу.
Рекурсивная формула фильтра
- Рассмотрим входной массив X и коэффициенты массивов длин n_a и n_b соответственно. Функция передачи фильтра, которая создаст выходной массив Y, определяется следующим образом:
Пример
Вычислите совокупную сумму. Используйте фильтр iir с коэффициентами знаменателями=[1,-1] и числителями=[1]:
let x = range(1.0, 10, 1);
print x=x, y = series_iir(x, dynamic([1]), dynamic([1,-1]))
| mv-expand x, y
Выходные данные
| x | г |
|---|---|
| 1.0 | 1.0 |
| 2.0 | 3.0 |
| 3.0 | 6,0 |
| 4.0 | 10.0 |
Вот как упаковать его в функцию:
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)
Выходные данные
| d | dd |
|---|---|
[0,1,2,3,4] |
10 |