Происходит ли искажение фазы, если я использую фильтфильт? - PullRequest
0 голосов
/ 07 октября 2019

У меня есть теоретический вопрос о фильтре. У меня есть сигнал, отобранный на частоте 500 Гц, и я должен пропустить его (0-30 Гц). Я использую фильтр Баттерворта, и график усиления и фазы введите описание изображения здесь

КакВы можете видеть, что амплитуда фазы показывает пульсацию на высоких частотах (почти 200 Гц). У меня есть два вопроса 1) Происходит ли пульсация фазы, потому что ширина полосы должна сужаться? 2) Поскольку я удаляю все частоты выше 30 Гц, влияет ли пульсация на мои данные? (Даже если я использую filfilt?) Заранее спасибо

1 Ответ

1 голос
/ 08 октября 2019

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

Если вы примените filtfilt, вы фильтруете сигнал сначала вперед, а затем назад во времени. Это эквивалентно применению одного фильтра с нулевой фазой и с амплитудой, которая является квадратом исходного. Так что да, с filfilt вы избегаете фазовых искажений.

...