15.3.4. Полосовая фильтрация
В предыдущих разделах была рассмотрена фильтрация быстрых вариаций
сигнала (сглаживание) и его медленных вариаций (снятие тренда). Иногда требуется
выделить среднемасштабную составляющую сигнала, уменьшив как более быстрые,
так и более медленные его компоненты. Одна из возможностей решения этой задачи
связана с применением полосовой фильтрации на основе последовательного скользящего
усреднения.
Рис. 15.23. Результат полосовой фильтрации (листинг 15.19)
Алгоритм полосовой фильтрации приведен в листинге 15.19, а результат его применения показан на рис. 15.23 сплошной кривой. Алгоритм реализует такую последовательность операций:
- Приведение массива данных у к нулевому среднему значению
путем его вычитания из каждого элемента у (третья и четвертая строки листинга).
- Устранение из сигнала у высокочастотной составляющей, имеющее
целью получить сглаженный сигнал middle, например с помощью скользящего усреднения
с малым окном w (в листинге 15.19 w=3).
- Выделение из сигнала middle низкочастотной составляющей slow,
например, путем скользящего усреднения с большим окном w (в листинге 15.19
w=7) либо с помощью снятия тренда (см. разд. 15.3.3).
- Вычитание из сигнала middle тренда slow (последняя строка
листинга), тем самым выделяя среднемасштабную составляющую исходного сигнала
у.
Листинг 15.19. Полосовая фильтрация
Содержание раздела