Main Content

buttap

Prototipo de filtros Butterworth

Descripción

ejemplo

[z,p,k] = buttap(n) devuelve los polos y la ganancia de un prototipo de filtro analógico Butterworth paso bajo de orden n.

Ejemplos

contraer todo

Diseñe un filtro analógico Butterworth paso bajo de noveno orden. Muestre sus respuestas de magnitud y fase.

[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

Figure contains 2 axes objects. Axes object 1 with xlabel Frequency (rad/s), ylabel Phase (degrees) contains an object of type line. Axes object 2 with xlabel Frequency (rad/s), ylabel Magnitude contains an object of type line.

Argumentos de entrada

contraer todo

Orden del filtro Butterworth, especificado como un escalar entero positivo.

Argumentos de salida

contraer todo

Ceros del sistema, devueltos como matriz. z contiene los ceros del numerador en sus columnas. z es una matriz vacía porque no hay ceros.

Polos del sistema, devueltos como vector columna. p contiene las ubicaciones de los polos de los coeficientes del denominador de la función de transferencia.

Ganancias del sistema, devueltas como un escalar. k contiene las ganancias de cada función de transferencia del numerador.

Algoritmos

La función buttap devuelve los polos en el vector columna p de longitud n y la ganancia en el escalar k. z es una matriz vacía porque no hay ceros. La función de transferencia es

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

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

Nota

La función buttap devuelve ceros, polos y ganancia (z, p, and k) en MATLAB®. Sin embargo, el código C/C++ generado para buttap devuelve solo los polos p y la ganancia k, ya que los ceros z son siempre una matriz vacía.

Los filtros Butterworth se caracterizan por tener una respuesta en magnitud que es lo más plana posible en la banda de paso y monótona en general. En el caso de paso bajo, las primeras 2n-1 derivadas de la respuesta en magnitud al cuadrado son cero en ω = 0. La función de respuesta en magnitud al cuadrado es

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

y corresponde a una función de transferencia con polos igualmente espaciados alrededor de un círculo en el semiplano izquierdo. La respuesta en magnitud en la frecuencia angular de corte ω0 es siempre 1/2 independientemente del orden del filtro. buttap establece ω0 en 1 para obtener un resultado normalizado.

Referencias

[1] Parks, T. W., and C. S. Burrus. Digital Filter Design. New York: John Wiley & Sons, 1987.

Capacidades ampliadas

Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.

Historial de versiones

Introducido antes de R2006a

Consulte también

| | | |