Используйте функции
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. Нанесите на график результат свертки входного сигнала с передаточной функцией фильтра вместе с сигналом отклика. Две кривые полностью перекрываются.