Фильтр Баттерворта имеет ненулевую, непостоянную фазу. Это то, что вы видите на графике. Обратите внимание, что фаза является гладкой функцией;«пульсация», которую вы видите, это просто обычный скачок с -pi
до pi
по мере уменьшения фазы. Вы можете использовать unwrap
для удаления этих скачков.
Если вы примените filtfilt
, вы фильтруете сигнал сначала вперед, а затем назад во времени. Это эквивалентно применению одного фильтра с нулевой фазой и с амплитудой, которая является квадратом исходного. Так что да, с filfilt
вы избегаете фазовых искажений.