Está en la página 1de 22

Universidad Tecnolgica Nacional

Facultad Regional San Nicols

Tcnicas Digitales III

Trabajo Prctico nro. 6


FILTROS con MATLAB
Rev.2015
Trabajo Prctico 6

OBJETIVO:

Conocer las herramientas que este software posee para el diseo


de filtros tanto analgicos como digitales para afianzar los
conocimientos vistos en clase.

Comparar entre distintos filtros digitales y a su vez con su par


analgico.

Determinar los parmetros de un filtro y observar como podra


ayudarnos a encontrar los coeficientes que luego podremos usar al
programar un microprocesor.
Trabajo Prctico 6

ELEMENTOS:

MatLab y la gua suministrada por la ctedra.

Esta informacin est disponible en nuestra web, apartado Prcticos:

http://www.frsn.utn.edu.ar/tecnicas3/
Trabajo Prctico 6
DESARROLLO:

Resea de utilizacin de MatLab : Signal Processing Toolbox


Mtodo de ventanas para el diseo de filtros FIR
Seccin DISEO: FILTROS IIR con MATLAB

Funciones para determinar los coeficientes del filtro

>>[N, Wn] = cheb1ord(Wp, Ws, Rp, Rs)

>>[B,A] = butter(N,Wn)

>>[B,A] = butter(N,[W1 W2],stop)


Seccin DISEO: FILTROS FIR con MATLAB

Funcin FIR1

>> B = fir1(N,Wn,type,window);

>> B = fir1(N,[W1 W2],'stop');

>> B = fir1(N,Wn,bartlett(N+1));

>> B = fir1(N,Wn,'high',chebwin(N+1,R));

Funcin FIR2

>> B = fir2(N,F,M,window);
Disea un filtro FIR utilizando el mtodo del muestreo frecuencial.
Se pueden especificar ms parmetros en esta funcin,

Funcin FIRLS

>> B = firls(N,F,M);
Seccin DISEO: Respuesta frecuencial del filtro y aplicacin del mismo a la
seal de prueba

>> H = freqz(B,A,F,Fs)

Devuelve el vector H de nmeros complejos, que es la respuesta frecuencial al filtro


cuya funcin de transferencia en z viene dada por B y A. La respuesta frecuencial se
evala en los puntos especificados por el vector F en Hz, siendo la frecuencia de
mustreo Fs Hz. Ms opciones en el Help de MATLAB.

Aplicacin del filtro a la seal de prueba temporal:

>> y = filter(B,A,x)

>> y = filtfilt(B,A,x)
Diseo 1A
Ejemplo de Diseo de un Filtro de paso bajo usando las frmulas anteriores:
En el siguiente ejemplo vemos la respuesta tpica de un filtro pasa bajos que
disearemos a continuacin:
Se pretende disear un Filtro de paso bajo para extraer una seal de 1000Hz que
ha contaminado una seal de 1 Vpp de 2000 Hz. Las seales fueron
muestreadas con una fm=8KHz.
clear all;
%**********Diseo del filtro**********
[N,Wn]=buttord(1500/(8000/2), 1700/(8000/2), 0.5, 60); %Nos d el orden y frec. De corte del filtro
%[num,den]=butter(12,1500/4000); %Calcula los coeficientes del numerador y denominador del filtro.
[num,den]=butter(N,Wn);
w=0:pi/255:pi; %Hacemos variar la frecuencia entre 0 y pi. Barrido
figure(1)
Hlp=freqz(num,den,w); %Calcula la respuesta en frecuencia del filtro para ls Fs elegida.
semilogy(w/pi,abs(Hlp)) %Escala logaritmica de amplitud
grid
H = 20*log10(abs(Hlp));
figure(2)
plot(w/pi,H)
axis([0 1 -60 5]);
ylabel('Ganancia en dB');
xlabel('Frecuencia normalizada: w/pi');
pause;
%**********imulacin del diseo*********
%Definicion frec. de muestreo y barrido temporal para las seales a simular
fm = 8000;
tm = inv(fm);
N = 8000;
t = 0:tm:tm*(N-1);
Continuacin diseo ejemplo 1:

x=sin(2*pi*2000*t); % Crea la seal de entrada del tipo sinosoidal de 1000Hz


xr=sin(2*pi*1000*t); % Crea la seal de entrada del tipo sinosoidal de 2000Hz
y=x+xr; %Seal suma de senoides del problema
subplot(311)
plot(t,y) %Dibuja Seal original

%Para Calculo FFT


NFFT = 2^nextpow2(N); % Next power of 2 from length of y
Y = fft(y,NFFT)/N;
f = fm/2*linspace(0,1,NFFT/2+1);

subplot(312)
plot(f,2*abs(Y(1:NFFT/2+1))) % Muestra la FFT de la seal de entrada
title('Espectro de Amplitud y(t)')
xlabel('Frecuencia (Hz)')
ylabel('|Y(f)|')

pause;
Continuacin diseo ejemplo 1:

figure(4);
Sal=filter(num,den,y) %Aplica el filtro diseado a la seal de prueba.
plot(t,Sal) %Muestra la seal Filtrada en el tiempo
figure(5)
F = fft(Sal,NFFT)/N; %Muestra el contenido frecuencial de la seal Filtrada.
plot(f,2*abs(F(1:NFFT/2+1)))
xlabel('f (Hz)SALIDA');
ylabel('Amplitud SALIDA');
Salidas del ejemplo: Diseo del filtro
Salidas del ejemplo: Seales de simulacin
Salidas del ejemplo: Aplicacin del filtro diseado a la seal de simulacin.
Enunciado Trabajo Prctico 6

OBJETIVO:

Familiarizarse con el diseo de filtros digitales.

ELEMENTOS:
Se utilizar Matlab y la gua suministrada por la ctedra.

DESARROLLO:

1) Explicacin del ejemplo del diseo 1A


A- Verificar el orden del filtro que necesitaramos en caso de usar un filtro FIR:

[N, f, m, wgt] = remezord([1500 1700], [1 0], [0.001 0.02], 8000)

B- Comprobar el orden utilizando la frmula en el caso analgico.

C- Encontrar el orden del filtro utilizando otros dos mtodos de filtros IIR.
Enunciado Trabajo Prctico 6
2) Corra el Diseo 1A.
A- Cambie algunos parmetros de los coeficientes de la frmula y vuelva a graficar.

B- Pruebe el mismo ejemplo pero a travs de un FIR , use el calculado en el item1-A.

%Calculamos los coeficientes del filtro,


f=remez(N,f,m)
w=0:pi/255:pi; %Hacemos variar la frecuencia entre 0 y pi. Barrido
figure(1)
Hl=freqz(f,1,w);
plot(w/pi,abs(Hl)) % Graficamos la rta en frec.

O podremos hacer
bfir1=fir1(N,0.02)
H2=freqz(bfir1,1,w);
plot(w/pi,abs(H2))
Sal2=filter(bfir1,1,y);
plot(t,Sal2)
Enunciado Trabajo Prctico 6
C- Aumente el orden del filtro FIR y grafique las salidas nuevamente. Observe
como cambia la salida del filtro.

D- Pruebe conseguir un resultado similar con los IIR.

E- Elabore conclusiones de acuerdo a los resultados hallados.

3) Utilizacin de la funcin fir2


Esta funcin nos permite seleccionar la respuesta frecuencial del filtro.
Ejemplo, filtro pasa bajo:

f = [0 0.6 0.6 1]; m = [1 1 0 0];


b = fir2(30,f,m);
[h,w] = freqz(b,1,128);
plot(f,m,w/pi,abs(h))
legend('Ideal','Diseo fir2')
title('Comparacin entre respuestas en frecuencia')

Utilice esta funcin para aplicarla al diseo 1. Grafique.


Enunciado Trabajo Prctico 6
4) Un filtro pasabanda debe tener las siguientes especificaciones:
Pasabanda: 5 KHz-8 KHz
Parabanda: 4 KHz-10 KHz
Rizado de Pasabanda: <1dB
Atenuacin de Pasabanda: >60dB
Frecuencia de Muestreo 22 KHz
Disear un filtro digital por los siguientes mtodos:
a. Filtro IIR de Chebyshev I utilizando la transformacin bilineal.
b. Filtro FIR por el mtodo de Parks-McClellan.
c. Filtro FIR por el mtodo de las series de Fourier, eligiendo la ventana
espectral ms adecuada.

5) Disee un filtro pasa-banda de orden N=6 con frecuencia de paso de 300 y 500 Hz
, suponiendo que la seal de entrada ser muestrada a una frecuencia de 8192
Hz..Represente H(w). Considere que la seal de entrada esta formada por la suma de
tres seales sinusoidales de frecuencia 100,400 y 600 Hz respectivamente. Usando la
funcin filter compruebe que a la salida ha desaparecido la componente de 100 y de
600 Hz.
Universidad Tecnolgica Nacional
Facultad Regional San Nicols

Tcnicas Digitales III

Fin de la presentacin
Vistenos en: http://www.frsn.utn.edu.ar/tecnicas3

También podría gustarte