buttap

Прототип фильтра Баттерворта

Синтаксис

[z,p,k] = buttap(n)

Описание

[z,p,k] = buttap(n) возвращает полюса и усиление порядка n аналог Баттерворта lowpass прототип фильтра. Функция возвращает полюса в длине вектор-столбец n p и усиление в скалярном k. z является пустой матрицей, потому что нет никаких нулей. Передаточная функция

H(s)=z(s)p(s)=k(sp(1))(sp(2))(sp(n))

Фильтры Баттерворта характеризуются ответом значения, который является максимально плоским в полосе пропускания и монотонным в целом. В lowpass случае первые 2n-1 производные ответа значения в квадрате являются нулем в ω = 0. Функция отклика значения в квадрате

|H(ω)|2=11+(ω/ω0)2n

соответствие передаточной функции с полюсами, равномерно распределенными вокруг круга в левой полуплоскости. Ответ значения при сокращении угловая частота ω0 всегда 1/2 независимо от порядка фильтра. buttap устанавливает ω0 на 1 для нормированного результата.

Примечание

Функциональный buttap возвращает нули, полюса и усиление (z, p, and k) в MATLAB®. Однако сгенерированный код C/C++ для buttap возвращается, только подпирает шестами p и усиление k начиная с нулей, z всегда является пустой матрицей.

Примеры

свернуть все

Разработайте 9-й порядок аналог Баттерворта lowpass фильтр. Отобразите его значение и фазовые отклики.

[z,p,k] = buttap(9);          % Butterworth filter prototype
[num,den] = zp2tf(z,p,k);     % Convert to transfer function form
freqs(num,den)                % Frequency response of analog filter

Алгоритмы

z = [];
p = exp(sqrt(-1)*(pi*(1:2:2*n-1)/(2*n)+pi/2)).';
k = real(prod(-p));

Ссылки

[1] Парки, T. W. и К. С. Беррус. Создание цифровых фильтров. Нью-Йорк: John Wiley & Sons, 1987, парень. 7.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Смотрите также

| | | |

Представлено до R2006a