Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

freqs

Respuesta en frecuencia de filtros analógicos

Descripción

ejemplo

h = freqs(b,a,w) devuelve la respuesta en frecuencia compleja del filtro analógico que especifican los vectores de coeficiente b y a, evaluados en las frecuencias angulares w.

ejemplo

[h,wout] = freqs(b,a,n) utiliza n puntos de frecuencia para calcular h y devuelve las frecuencias angulares correspondientes en wout.

ejemplo

freqs(___) sin argumentos de salida representa las respuestas de magnitud y fase como funciones de frecuencia angular en la ventana de figura actual. Puede utilizar esta sintaxis con cualquiera de las sintaxis de entrada anteriores.

Ejemplos

contraer todo

Encuentre y represente la respuesta en frecuencia de la función de transferencia

H(s)=0.2s2+0.3s+1s2+0.4s+1.

a = [1 0.4 1];
b = [0.2 0.3 1];
w = logspace(-1,1);

h = freqs(b,a,w);
mag = abs(h);
phase = angle(h);
phasedeg = phase*180/pi;

subplot(2,1,1)
loglog(w,mag)
grid on
xlabel('Frequency (rad/s)')
ylabel('Magnitude')

subplot(2,1,2)
semilogx(w,phasedeg)
grid on
xlabel('Frequency (rad/s)')
ylabel('Phase (degrees)')

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

También puede generar las gráficas llamando a freqs sin argumentos de salida.

figure
freqs(b,a,w)

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.

Diseñe un filtro analógico Butterworth paso bajo de 5.º orden con una frecuencia de corte de 2 GHz. Multiplique por 2π para convertir la frecuencia en radianes por segundo. Calcule la respuesta en frecuencia del filtro en 4096 puntos.

n = 5;
fc = 2e9;

[zb,pb,kb] = butter(n,2*pi*fc,"s");
[bb,ab] = zp2tf(zb,pb,kb);
[hb,wb] = freqs(bb,ab,4096);

Diseñe un filtro Chebyshev Tipo I de 5.º orden con la misma frecuencia de borde y 3 dB de ondulación de banda de paso. Calcule su respuesta en frecuencia.

[z1,p1,k1] = cheby1(n,3,2*pi*fc,"s");
[b1,a1] = zp2tf(z1,p1,k1);
[h1,w1] = freqs(b1,a1,4096);

Diseñe un filtro Chebyshev Tipo II de 5.º orden con la misma frecuencia de borde y 30 dB de atenuación de la banda de parada. Calcule su respuesta en frecuencia.

[z2,p2,k2] = cheby2(n,30,2*pi*fc,"s");
[b2,a2] = zp2tf(z2,p2,k2);
[h2,w2] = freqs(b2,a2,4096);

Diseñe un filtro elíptico de 5.º orden con la misma frecuencia de borde, 3 dB de ondulación de banda de paso y 30 dB de atenuación de banda de parada. Calcule su respuesta en frecuencia.

[ze,pe,ke] = ellip(n,3,30,2*pi*fc,"s");
[be,ae] = zp2tf(ze,pe,ke);
[he,we] = freqs(be,ae,4096);

Diseñe un filtro de Bessel de 5.º orden con la misma frecuencia de borde. Calcule su respuesta en frecuencia.

[zf,pf,kf] = besself(n,2*pi*fc);
[bf,af] = zp2tf(zf,pf,kf);
[hf,wf] = freqs(bf,af,4096);

Represente la atenuación en decibelios. Exprese la frecuencia en gigahercios. Compare los filtros.

plot([wb w1 w2 we wf]/(2e9*pi), ...
    mag2db(abs([hb h1 h2 he hf])))
axis([0 5 -45 5])
grid
xlabel("Frequency (GHz)")
ylabel("Attenuation (dB)")
legend(["butter" "cheby1" "cheby2" "ellip" "besself"])

Figure contains an axes object. The axes object with xlabel Frequency (GHz), ylabel Attenuation (dB) contains 5 objects of type line. These objects represent butter, cheby1, cheby2, ellip, besself.

Los filtros Butterworth y Chebyshev Tipo II tienen bandas de paso planas y bandas de transición anchas. Los filtros Chebyshev de tipo I y elíptico se desinflan más rápido pero tienen ondulaciones en la banda de paso. La entrada de frecuencia a la función de diseño Chebyshev Tipo II establece el comienzo de la banda de parada en lugar del final de la banda de paso. El filtro de Bessel tiene un retardo de grupo aproximadamente constante a lo largo de la banda de paso.

Diseñe un filtro analógico de Bessel de paso bajo de quinto orden con un retardo de grupo casi constante hasta 104 rad/s. Represente la respuesta en frecuencia del filtro utilizando freqs.

[b,a] = besself(5,10000);   % Bessel analog filter design
freqs(b,a)                  % Plot frequency response

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

Coeficientes de la función de transferencia, especificados como vectores.

Ejemplo: [b,a] = butter(5,50,'s') especifica un filtro Butterworth de quinto orden con una frecuencia de corte de 50 rad/s.

Tipos de datos: single | double

Frecuencias angulares, especificadas como vector real positivo expresado en rad/s.

Ejemplo: 2*pi*logspace(6,9) especifica 50 frecuencias angulares espaciadas de forma logarítmica de 1 MHz (2π × 106 rad/s) a 1 GHz (2π × 109 rad/s).

Tipos de datos: single | double

Número de puntos de evaluación, especificado como escalar entero positivo.

Tipos de datos: single | double

Argumentos de salida

contraer todo

Respuesta de frecuencia, devuelta como un vector.

Frecuencias angulares en las que se calcula h, devueltas como vector.

Algoritmos

freqs devuelve la respuesta en frecuencia compleja de un filtro analógico que especifican b y a. La función evalúa la relación de polinomios de transformadas de Laplace

H(s)=B(s)A(s)=b(1)sn+b(2)sn1++b(n+1)a(1)sm+a(2)sm1++a(m+1)

a lo largo del eje imaginario en los puntos de frecuencia s = :

s = 1j*w;
h = polyval(b,s)./polyval(a,s);

Historial de versiones

Introducido antes de R2006a

Consulte también

| | | | |