Почему я получаю разные результаты при сравнении цифрового фильтра, разработанного с использованием функций МАСЛО и БИЛИНЕЙ, в Signal Processing Toolbox?
Используя следующие спецификации:
Fs = 172800; Fc = 70000;
где «Fs» представляет частоту дискретизации, а «Fc» — частоту среза, я создал цифровой фильтр двумя разными способами:
1. Использование функции МАСЛО.
[B ,A] = butter(4,Fc/(Fs/2));
2. Использование функции БИЛИНЕАР для преобразования аналогового фильтра, разработанного с помощью функции МАСЛО, в цифровой фильтр посредством билинейного преобразования.
[Bs,As] = butter(4,Fc*2*pi,'s'); [Bz,Az] = bilinear(Bs,As,Fs);
Затем я использовал функцию FVTOOL для вычисления отклика величины и сравнил два результата:
fvtool(B,A,Bz,Az);
Обратите внимание, что результаты двух откликов величины не совпадают, хотя я использую одни и те же спецификации.
ПРИМЕЧАНИЕ.
Matlabsolutions.com предоставляет последнюю Помощь по домашним заданиям MatLab, Помощь по заданию MatLab для студентов, инженеров и исследователей в различных отраслях, таких как ECE, EEE, CSE, Mechanical, Civil со 100% выходом. Код Matlab для BE, B.Tech ,ME,M.Tech, к.т.н. Ученые со 100% конфиденциальностью гарантированы. Получите проекты MATLAB с исходным кодом для обучения и исследований.
Это ожидаемое поведение для дискретизации фильтра в Signal Processing Toolbox. Приведенный выше пример иллюстрирует нелинейный характер билинейного преобразования. Чтобы противодействовать этой нелинейности, необходимо создать фильтры аналоговых доменов с предварительно деформированными краями полос, которые отображаются в правильных местах при билинейном преобразовании.
Если вы хотите спроектировать аналоговый фильтр, который будет эквивалентен дизайну с использованием опции «s» в функции BUTTER, вам необходимо выполнить предварительную деформацию частоты следующим образом:
Wc = tan(pi/2*Fc/(Fs/2)); % Analog prewarped freq. rad/second
Обратите внимание, что эта частота уже выражена в рад/секунду, поэтому аналоговая схема выглядит следующим образом:
[Bs,As] = butter(4,Wc,'s');
Теперь вопрос в том, какую частоту дискретизации (Fs) использовать с BILINEAR. В методе предварительной деформации, используемом для вычисления «Wc», мы неявно использовали билинейное преобразование, которое чаще всего встречается в литературе:
СМОТРИТЕ ПОЛНЫЙ ОТВЕТ НАЖМИТЕ НА ССЫЛКУ