Функции > Обработка сигналов > Цифровая фильтрация > Пример. Нуль-фазовая фильтрация
Пример. Нуль-фазовая фильтрация
Используйте функцию filtfilt для вычисления отклика фильтра при нулевой фазе с применением реверсивной модели фильтрации.
1. Используйте функцию butter, чтобы получить коэффициенты аналогового фильтра Butterworth порядка 2.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
2. Используйте функцию iirlow, чтобы получить коэффициенты для БИХ-фильтра нижних частот с частотой среза 0.25.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
3. Используйте функции gain и arg, чтобы определить величину и фазовый отклик фильтра.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
4. Определите повторно величину и фазовый отклик фильтра для всех значений f, но в термах p.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
5. Постройте график величины отклика, а затем с помощью маркеров покажите его значение для частоты среза.
Щелкните для копирования этого выражения
6. Постройте график фазового отклика, а затем с помощью маркеров покажите его значение для частоты среза.
Щелкните для копирования этого выражения
7. Определите и постройте график образца импульсного сигнала.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Входные данные состоят из импульса в средней точке сигнала.
8. Используйте функцию filtfilt, чтобы рассчитать нуль-фазовый выход.
Щелкните для копирования этого выражения
9. С помощью функции dft можно увидеть воздействие фильтра на сигнал путем вычисления преобразований Фурье для обоих сигналов и нанесения на график величины и фазы Y.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
10. Используйте mag функцию, чтобы показать, что функция передачи, задаваемая отношением величин X и Y, имеет ожидаемую форму обрезания Butterworth.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
11. Постройте график отклика величины вместе с функцией передачи.
Щелкните для копирования этого выражения
12. Используйте функцию arg, чтобы определить разность фаз между главными аргументами X и Y.
Щелкните для копирования этого выражения
13. Постройте график отклика величины и разности фаз между X и Y.
Щелкните для копирования этого выражения
Эффект функции filtfilt проявляется в двойной фильтрации величины сигнала, как это показано на графике, но сдвиг фазы нулевой, в отличие от нелинейной фазы исходного фильтра.
Интерпретируя график фазы, помните, что фазы -2π и 0 эквивалентны. Если величина Y очень мала, как в случае частот намного выше уровня обрезания, расчет фазы может оказаться невозможен, так как ее значение становится сопоставимым с точностью вычислений.
Было ли это полезно?