buttap

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

Синтаксис

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

Описание

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

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