Функции > Обработка сигналов > Цифровая фильтрация > Пример. Временной отклик цифровых фильтров
Пример. Временной отклик цифровых фильтров
Используйте функции response и fftfilt для вычисления выходных данных фильтра с импульсной характеристикой конечной длительности или фильтра с импульсной характеристикой бесконечной длительности путем непосредственной оценки свертки. Функция возвращает комплексный вектор выходных данных длиной n.
Метод, применяемый в этих функциях, прочно обоснован и документально доказан в большинстве учебников по обработке сигналов. См., например, A.V. Oppenheim and R. W. Schafer, Discrete-Time Signal Processing (Обработка дискретных сигналов), стр. 556-558, 1989.
Порядок низкочастотного фильтра с бесконечными импульсными характеристиками
1. Определите входной сигнал с высокочастотными и низкочастотными компонентами.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
2. Вычислите первые 100 шагов отклика низкочастотного фильтра Баттерворта второго порядка с частотой среза f.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Значение среза должно находиться в диапазоне от 0 до 0.5, как указано в описании функции.
3. Используйте функцию iirlow для получения коэффициентов передаточной функции.
Щелкните для копирования этого выражения
4. Используйте функцию response для получения отклика фильтра.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Отклик сигнала YA по сравнению с сигналом x более гладкий, с меньшей амплитудой и с небольшим смещением по времени.
5. Укажите низкочастотный фильтр Баттерворта шестого порядка с той же частотой среза f. Функция response передает выходные данные первой секции во вторую секцию, выходные данные из второй — в третью и так далее.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Фильтр более высокого порядка обеспечивает более гладкий отклик, более применим в фильтрации высоких частот, дает большее смещение по времени и обеспечивает более резкий переход частоты среза.
Полосовой фильтр с импульсной характеристикой конечной длительности
1. Конструкция полосового фильтра F с импульсной характеристикой конечной длительности для передачи более высокой из двух частот сигналов определена выше.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
2. Вычислите коэффициенты для полосового фильтра длиной 51, с полосой пропускания между приведенными выше низкой и высокой частотами, и используйте сужение Блэкмена (последний аргумент из 6).
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
3. Рассчитайте задержку, вызываемую фильтром.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
4. Примените функцию response для вычисления первых 100 шагов.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Хотя фильтр не выполняет передачу немедленно после инициирования, он выбирает высокую частоту (f2 = 0.2, T = 5) очень точно.
Полосовой фильтр с импульсной характеристикой конечной длительности 2
Покажите, что низкочастотный фильтр с импульсной характеристикой конечной длительности имеет нулевое смещение фазы для нескольких частот в его полосе пропускания.
1. Определите два входных сигнала.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
2. Определите частоту среза для фильтра с импульсной характеристикой конечной длительности и количество коэффициентов.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
3. Вычислите коэффициенты, суженные с помощью окна Хенинга.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
4. Рассчитайте задержку, вызываемую фильтром.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
5. Определите два задержанных входных сигнала.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
6. Нанесите на график первый задержанный входной сигнал x1d и отклик фильтра к x1.
Щелкните для копирования этого выражения
Два сигнала идентичны и имеют нулевой сдвиг фазы.
7. Нанесите на график второй задержанный входной сигнал x2d и отклик фильтра к x2.
Щелкните для копирования этого выражения
Два сигнала идентичны и имеют нулевой сдвиг фазы.
Использование отклика для свертки
Если в массиве фильтра присутствует один столбец, функция отклика выполнит свертку. Таким образом, эта функция альтернативна функции на основе быстрого преобразования Фурье (FFT) convolve. Отклик будет намного быстрее для малых начальных частей свертки, полученной из двух длинных последовательностей.
1. Определите диапазон и два массива, заполненные случайными положительными числами от 0 до 1.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
2. Примените функцию convolve к этим двум массивам.
Щелкните для копирования этого выражения
3. Используйте функцию response, чтобы получить первые 8 шагов отклика.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Эти два массива идентичны.
Сравнение выходных данных отклика и функций fftfilt (дискретной фильтрации с использованием прямого преобразования Фурье).
Покажите, что результаты, полученные при выполнении функций response и fftfilt, эквивалентны.
1. Определите диапазон и две частоты.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
2. Определите входной сигнал в терминах f1 и f2.
Щелкните для копирования этого выражения
3. Создайте низкочастотный фильтр с импульсной характеристикой конечной длительности, с частотой среза f и суженный с помощью окна Хенинга.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
4. Вычислите отклик фильтра к входному сигналу.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
5. Примените функцию fftfilt к входному сигналу и получите первые 64 шага.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
* 
y_f является вектором комплексных элементов.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
6. Нанесите на график результат свертки входного сигнала с передаточной функцией фильтра вместе с сигналом отклика. Две кривые полностью перекрываются.
Щелкните для копирования этого выражения
Было ли это полезно?