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