Sei sulla pagina 1di 11

FILTROS ANALOGICOS

Matlab
Objetivo e Introduccin || Matlab || Simulink || Workbench || Conclusin y Referencia

1. MATLAB 1. Filtros analgicos Butterworth En Matlab podemos encontrar la instruccin Butter , este comando disea filtros Butterwoth pasa-bajas, pasa-altas, pasa-bandas y rechaza bandas tanto en forma digital como analgica. Este filtro se caracteriza por una respuesta plana en la banda de transicin. En el dominio analgico tenemos dos opciones:

La instruccin para generar un filtro del grado que el usuario desee, as como la manipulacin de la frecuencia de corte.(esta instruccin genera los polos y ceros necesarios) El comando para que a partir del grado, tipo y amortiguamiento, se obtengan los polos, zeros y ganancia que pueda tener el filtro. Ambas opciones generan los coeficientes de s de la funcin de transferencia:

A continuacin disearemos un filtro pasa altas de noveno orden que corte en 300Hz. [b,a]=butter(9,300/500,'high'); [b,a]=butter(n,Wn,'Tipo'), se establecen las caractersticas del filtro. Freqz(b,a,128,1000) Una vez establecido el filtro lo graficaremos

Figura 1.1.1 Grfica en decibeles y en fase de un filtro Butterworth de 9no grado.

En la figura 1.1.1 podemos observar que al llegar a 300Hz se encuentra el primer polo y se empieza a atenuar las frecuencias arriba de ste punto. De la misma forma en la grfica de fase se puede ver que tiene una respuesta lineal. A continuacin se graficar la respuesta a impulso de un filtro butterworth pasa bandas de 100 a 200 Hz de quinto orden. n=5;Wn=[100 200]/500; parmetros del filtro [b,a]=butter(n,Wn); comando para un filtro butterworth [y,t]=impz(b,a,101); cambio de dominio stem(t,y)

Figura 1.1.2 Respuesta a impulso de un BPF de quinto grado. En la grfica podemos observar el efecto del filtro, aunque aqu no a parecen las frecuencias, se puede ver que hay un rango en donde la seal puede pasar sin ser atenuada, este ejemplo nos ayuda a visualizar por donde se encuentra las frecuencias de corte y qu tipo de filtro es. Ahora bien diseemos un filtro butterworth pasa bajas de quinto orden que corte en 300Hz.

[b,a]=butter(5,300/500,'high'); Se establece los parmetros del filtro Freqz(b,a,128,1000); Grfica de la frecuencia en decibeles y defazamiento de ngulo.

Figura 1.1.3 LPF, butterworth de quinto grado con Fc=300Hz. En la figura se puede observar que a partir de 300 Hz la seal se empieza a atenuar por lo cual las frecuencias mayores a sta se filtrarn. Es importante notar que la banda de paso es lineal y plana caracterstica de un filtro butterworth. 1.2 Filtros analgicos Chebyshev Matlab tiene varias formas para generar filtros Chebyshev, a continuacin se vern cada una y se explicarn con un diseo prctico: 1.2.1.- [z,p,k]=cheb1ap(n,Rp) Esta instruccin regresa ceros, polos y ganancia de un filtro Chebyshev de n orden pasa bajas, donde Rp es la magnitud en decibeles del rizo. La funcin de transferencia que trabaja este filtro es la siguiente :

La frecuencia de corte est normalizada a W=1rad. Diseemos un filtro analgico pasa-bajas ideal de grado 5 y un rizo de 3 decibeles:

n=5;Rp=3; se establece los parmetros del filtro [z,p,k]=cheb1ap(n,Rp) A continuacin matlab regresar los polos y ganancia que pueden existir para tal filtro. z =[] p =-0.0549+ 0.9659i -0.1436+ 0.5970i -0.1775+ 0.0000i -0.1436- 0.5970i -0.0549- 0.9659i k =0.0626 1.2.2.- [z,p,k]=cheb2ap(n,Rs) Regresa los polos, ceros y ganancia de un filtro Chebyshev tipo II de n orden, donde Rs es la magnitud de amortiguamiento despus de la frecuencia de corte la cual est normalizada a 1, el inconveniente es que solo sirve para LPF. Este comando responde a la funcin de transferencia:

Diseemos un filtro pasa-bajas de quinto grado con una atenuacin de 3 decibeles para as poder comparar con el cheb1ap. n=5;Rp=3; se establece los parmetros del filtro [z,p,k]=cheb2ap(n,Rp) De forma inmediata matlab entrega los polos, ceros y ganancia posibles para el filtro establecido z = 0+ 1.0515i 0- 1.0515i 0+ 1.7013i 0- 1.7013i

p =-0.0584- 1.0321i -0.3797- 1.5843i -5.6546- 0.0000i -0.3797+ 1.5843i -0.0584+ 1.0321i k = 5.0119 1.2.3.- [n,Wn]=cheb1ord(Wp,Ws,Rp,Rs,'s') y [b,a]=cheby1(n,Rs,Wn) Esta instruccin es similar a las anteriores solo que la nica diferencia es que es vez de regresar polos,ceros y ganancia, regresa el grado mnimo y frecuencia que puede tener el filtro con ciertas caractersticas deseadas. Significado de las iniciales: Wp = Frecuencia de corte, sta debe estar entre 0 y 1 donde .5 sera la frecuencia de muestreo (teorema de Nyquist). Ws = Frecuencia de paro, esta es donde la seal es atenuada casi por completo, est en las mismas unidades de Wp, y est entre 0 y 1. Rp = Atenuacin del rizo. Rs = Atenuacin de las frecuencias no deseadas. Diseemos un filtro BPF con 3dB de atenuacin de 100 a 200 Hz y 30 dB hasta los 50Hz . Wp=[100 200]/500;Ws=[50 250]/500; Rp=3;Rs=30; [n,Wn]=cheb1ord(Wp,Ws,Rp,Rs) n =4 Wn =0.2000 0.4000 El programa regresa que el grado mnimo para tener dicha atenuacin debe de ser de 4 y la frecuencia de corte ideal debe de variar en un .2 .4. Ahora grafiquemos el filtro

[b,a]=cheby1(n,Rs,Wn); como ya se calcularon Wn y n ya no es necesario establecerlas. Freqz(b,a,512,1000) graficamos el filtro

Figura 1.2.3.1 PBF, tipo chebyshev tipo I de grado 4.

En esta grfica podemos observar que en la banda de paso tiene risos con un amplitud de 3 dB y que no es lineal el defasamiento del filtro.

1.2.4 [n,Wn]=cheb2ord(Wp,Ws,Rp,Rs,'s') y [b,a]=cheby2(n,Rs,Wn) Regresa el grado mnimo y frecuencia que puede tener el filtro con ciertas caractersticas deseadas. Significado de las iniciales: Wp= Frecuencia de corte, sta debe estar entre 0 y 1 donde .5 sera la frecuencia de muestreo (teorema de Nyquist).

Ws= Frecuencia de paro, esta es donde la seal es atenuada casi por completo, est en las mismas unidades de Wp, y est entre 0 y 1. Rp= Atenuacin del riso. Rs=Atenuacin de las frecuencias no deseadas. Haremos el mismo filtro que en el punto 1.2.3 para comparar la diferencia entre ambos mtodos: Hacer un filtro BPF con 3dB de atenuacin de 100 a 200 Hz y 30 dB hasta los 50Hz . Wp=[100 200]/500;Ws=[50 250]/500; Rp=3;Rs=30; [n,Wn]=cheb2ord(Wp,Ws,Rp,Rs) n=4 Wn = 1633. 0.4665

El programa regresa que el grado mnimo para tener dicha atenuacin debe de ser de 4 y la frecuencia de corte ideal debe de variar en un .1633 .4665 Ahora grafiquemos el filtro [b,a]=cheby2(n,Rs,Wn); como ya se calcularon Wn y n ya no es necesario establecerlas. freqz(b,a,512,1000) graficamos el filtro

Figura 1.2.4.1 BPF, Chebyshev tipo II, grado 4.

En la figra se puede observar que se aumenta los ceros en la ventana de tal forma que se atena ms perdiendo as los risos del filtro y denotando ms los polos, de igual manera se puede ver cambios muy herrticos en la respuesta de fase del filtro (comparado con el ejercicio anterior). 1.3 Filtros ellipticos [b,a]=ellip(n,Rp,Rs,Wn,'s') En Matlab se pueden disear filtros elpticos pasa-bajas,pasa-altas ,pasa-bandas, etc.. La caracteristica principal es que la pendiente de corte es ms abrupta que los filtros Chebyshev y Butterworth, sin embargo presenta un rizo marcado cerca de la frecuencia de corte. Estos filtros responden a la siguiente funcin de transferencia:

A continuacin diseemos un filtro pasa bandas de 100 a 200 hez de grado 10, con una atenuacin de banda de .5dB y -20dB en la banda de corte. n=10;Rp=0.5;Rs=20; Wn=[100 200]/500; [b,a]=ellip(n,Rp,Rs,Wn);

podemos ver que su corte es ms firme llegando casi a un filtro ideal. Ahora grafiquemos su respuesta a impulso

[y,t]=impz(b,a,101) stem(t,y)

De inmediato se desplegar la respuesta a impulso donde podemos ver que el cambio de magnitud es muy notable lo que quiere decir que corta muy bien. En s con este ltimo filtro acabamos la seccin de matlab.

Potrebbero piacerti anche