Técnicas Digitales III - frsn.utn.edu.ar · En el siguiente ejemplo vemos la respuesta típica de...

22
Técnicas Digitales III Trabajo Práctico nro. 6 FILTROS con MATLAB Rev.2015 Universidad Tecnológica Nacional Facultad Regional San Nicolás

Transcript of Técnicas Digitales III - frsn.utn.edu.ar · En el siguiente ejemplo vemos la respuesta típica de...

Page 1: Técnicas Digitales III - frsn.utn.edu.ar · En el siguiente ejemplo vemos la respuesta típica de un filtro pasa bajos que diseñaremos a continuación: ... Familiarizarse con el

Técnicas Digitales III

Trabajo Práctico nro. 6FILTROS con MATLAB

Rev.2015

Universidad Tecnológica NacionalFacultad Regional San Nicolás

Page 2: Técnicas Digitales III - frsn.utn.edu.ar · En el siguiente ejemplo vemos la respuesta típica de un filtro pasa bajos que diseñaremos a continuación: ... Familiarizarse con el

Trabajo Práctico 6

OBJETIVO:

Conocer las herramientas que este software posee para el diseñode filtros tanto analógicos como digitales para afianzar losconocimientos vistos en clase.

Comparar entre distintos filtros digitales y a su vez con su paranalógico.

Determinar los parámetros de un filtro y observar como podríaayudarnos a encontrar los coeficientes que luego podremos usar alprogramar un microprocesor.

Page 3: Técnicas Digitales III - frsn.utn.edu.ar · En el siguiente ejemplo vemos la respuesta típica de un filtro pasa bajos que diseñaremos a continuación: ... Familiarizarse con el

Trabajo Práctico 6

ELEMENTOS:

MatLab y la guía suministrada por la cátedra.

Esta información está disponible en nuestra web, apartado “Prácticos”:

http://www.frsn.utn.edu.ar/tecnicas3/

Page 4: Técnicas Digitales III - frsn.utn.edu.ar · En el siguiente ejemplo vemos la respuesta típica de un filtro pasa bajos que diseñaremos a continuación: ... Familiarizarse con el

Trabajo Práctico 6

Page 5: Técnicas Digitales III - frsn.utn.edu.ar · En el siguiente ejemplo vemos la respuesta típica de un filtro pasa bajos que diseñaremos a continuación: ... Familiarizarse con el

DESARROLLO:

Reseña de utilización de MatLab : “Signal Processing Toolbox”

Page 6: Técnicas Digitales III - frsn.utn.edu.ar · En el siguiente ejemplo vemos la respuesta típica de un filtro pasa bajos que diseñaremos a continuación: ... Familiarizarse con el
Page 7: Técnicas Digitales III - frsn.utn.edu.ar · En el siguiente ejemplo vemos la respuesta típica de un filtro pasa bajos que diseñaremos a continuación: ... Familiarizarse con el

Método de ventanas para el diseño de filtros FIR

Page 8: Técnicas Digitales III - frsn.utn.edu.ar · En el siguiente ejemplo vemos la respuesta típica de un filtro pasa bajos que diseñaremos a continuación: ... Familiarizarse con el

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

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

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

Sección DISEÑO: FILTROS IIR con MATLAB

Funciones para determinar los coeficientes del filtro

Page 9: Técnicas Digitales III - frsn.utn.edu.ar · En el siguiente ejemplo vemos la respuesta típica de un filtro pasa bajos que diseñaremos a continuación: ... Familiarizarse con el

Función 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));

Función FIR2

>> B = fir2(N,F,M,window);Diseña un filtro FIR utilizando el método del muestreo frecuencial.Se pueden especificar más parámetros en esta función,

Función FIRLS

>> B = firls(N,F,M);

Sección DISEÑO: FILTROS FIR con MATLAB

Page 10: Técnicas Digitales III - frsn.utn.edu.ar · En el siguiente ejemplo vemos la respuesta típica de un filtro pasa bajos que diseñaremos a continuación: ... Familiarizarse con el

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

Devuelve el vector H de números complejos, que es la respuesta frecuencial al filtrocuya función de transferencia en z viene dada por B y A. La respuesta frecuencial seevalúa en los puntos especificados por el vector F en Hz, siendo la frecuencia demustreo Fs Hz. Más opciones en el Help de MATLAB.

Sección DISEÑO: Respuesta frecuencial del filtro y aplicación del mismo a la señal de prueba

Aplicación del filtro a la señal de prueba temporal:

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

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

Page 11: Técnicas Digitales III - frsn.utn.edu.ar · En el siguiente ejemplo vemos la respuesta típica de un filtro pasa bajos que diseñaremos a continuación: ... Familiarizarse con el

Diseño 1AEjemplo de Diseño de un Filtro de paso bajo usando las fórmulas anteriores:En el siguiente ejemplo vemos la respuesta típica de un filtro pasa bajos quediseñaremos a continuación:

Page 12: Técnicas Digitales III - frsn.utn.edu.ar · En el siguiente ejemplo vemos la respuesta típica de un filtro pasa bajos que diseñaremos a continuación: ... Familiarizarse con el

Se pretende diseñar un Filtro de paso bajo para extraer una señal de 1000Hz queha contaminado una señal de 1 Vpp de 2000 Hz. Las señales fueronmuestreadas con una fm=8KHz.

clear all;%**********Diseño 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. Barridofigure(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 amplitudgridH = 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;%**********imulación del diseño*********%Definicion frec. de muestreo y barrido temporal para las señales a simularfm = 8000;tm = inv(fm);N = 8000;t = 0:tm:tm*(N-1);

Page 13: Técnicas Digitales III - frsn.utn.edu.ar · En el siguiente ejemplo vemos la respuesta típica de un filtro pasa bajos que diseñaremos a continuación: ... Familiarizarse con el

x=sin(2*pi*2000*t); % Crea la señal de entrada del tipo sinosoidal de 1000Hzxr=sin(2*pi*1000*t); % Crea la señal de entrada del tipo sinosoidal de 2000Hzy=x+xr; %Señal suma de senoides del problemasubplot(311)plot(t,y) %Dibuja Señal original

%Para Calculo FFTNFFT = 2^nextpow2(N); % Next power of 2 from length of yY = 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 señal de entradatitle('Espectro de Amplitud y(t)')xlabel('Frecuencia (Hz)')ylabel('|Y(f)|')

pause;

Continuación diseño ejemplo 1:

Page 14: Técnicas Digitales III - frsn.utn.edu.ar · En el siguiente ejemplo vemos la respuesta típica de un filtro pasa bajos que diseñaremos a continuación: ... Familiarizarse con el

figure(4);Sal=filter(num,den,y) %Aplica el filtro diseñado a la señal de prueba.plot(t,Sal) %Muestra la señal Filtrada en el tiempofigure(5)F = fft(Sal,NFFT)/N; %Muestra el contenido frecuencial de la señal Filtrada.plot(f,2*abs(F(1:NFFT/2+1))) xlabel('f (Hz)SALIDA');ylabel('Amplitud SALIDA');

Continuación diseño ejemplo 1:

Page 15: Técnicas Digitales III - frsn.utn.edu.ar · En el siguiente ejemplo vemos la respuesta típica de un filtro pasa bajos que diseñaremos a continuación: ... Familiarizarse con el

Salidas del ejemplo: Diseño del filtro

Page 16: Técnicas Digitales III - frsn.utn.edu.ar · En el siguiente ejemplo vemos la respuesta típica de un filtro pasa bajos que diseñaremos a continuación: ... Familiarizarse con el

Salidas del ejemplo: Señales de simulación

Page 17: Técnicas Digitales III - frsn.utn.edu.ar · En el siguiente ejemplo vemos la respuesta típica de un filtro pasa bajos que diseñaremos a continuación: ... Familiarizarse con el

Salidas del ejemplo: Aplicación del filtro diseñado a la señal de simulación.

Page 18: Técnicas Digitales III - frsn.utn.edu.ar · En el siguiente ejemplo vemos la respuesta típica de un filtro pasa bajos que diseñaremos a continuación: ... Familiarizarse con el

OBJETIVO:

Familiarizarse con el diseño de filtros digitales.

ELEMENTOS:Se utilizará Matlab y la guía suministrada por la cátedra.

DESARROLLO:

1) Explicación del ejemplo del diseño 1AA- Verificar el orden del filtro que necesitaríamos 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 fórmula en el caso analógico.

C- Encontrar el orden del filtro utilizando otros dos métodos de filtros IIR.

Enunciado Trabajo Práctico 6

Page 19: Técnicas Digitales III - frsn.utn.edu.ar · En el siguiente ejemplo vemos la respuesta típica de un filtro pasa bajos que diseñaremos a continuación: ... Familiarizarse con el

2) Corra el Diseño 1A.A- Cambie algunos parámetros de los coeficientes de la fórmula y vuelva a graficar.

B- Pruebe el mismo ejemplo pero a través 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. Barridofigure(1)Hl=freqz(f,1,w);plot(w/pi,abs(Hl)) % Graficamos la rta en frec.

O podremos hacerbfir1=fir1(N,0.02)H2=freqz(bfir1,1,w);plot(w/pi,abs(H2))Sal2=filter(bfir1,1,y);plot(t,Sal2)

Enunciado Trabajo Práctico 6

Page 20: Técnicas Digitales III - frsn.utn.edu.ar · En el siguiente ejemplo vemos la respuesta típica de un filtro pasa bajos que diseñaremos a continuación: ... Familiarizarse con el

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) Utilización de la función fir2Esta función 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','Diseño fir2')title('Comparación entre respuestas en frecuencia')

Utilice esta función para aplicarla al diseño 1. Grafique.

Enunciado Trabajo Práctico 6

Page 21: Técnicas Digitales III - frsn.utn.edu.ar · En el siguiente ejemplo vemos la respuesta típica de un filtro pasa bajos que diseñaremos a continuación: ... Familiarizarse con el

4) Un filtro pasabanda debe tener las siguientes especificaciones:Pasabanda: 5 KHz-8 KHzParabanda: 4 KHz-10 KHzRizado de Pasabanda: <1dBAtenuación de Pasabanda: >60dBFrecuencia de Muestreo 22 KHz

Diseñar un filtro digital por los siguientes métodos:a. Filtro IIR de Chebyshev I utilizando la transformación bilineal.b. Filtro FIR por el método de Parks-McClellan.c. Filtro FIR por el método de las series de Fourier, eligiendo la ventana

espectral más adecuada.

5) Diseñe un filtro pasa-banda de orden N=6 con frecuencia de paso de 300 y 500 Hz, suponiendo que la señal de entrada será muestrada a una frecuencia de 8192Hz..Represente H(w). Considere que la señal de entrada esta formada por la suma detres señales sinusoidales de frecuencia 100,400 y 600 Hz respectivamente. Usando lafunción filter compruebe que a la salida ha desaparecido la componente de 100 y de600 Hz.

Enunciado Trabajo Práctico 6

Page 22: Técnicas Digitales III - frsn.utn.edu.ar · En el siguiente ejemplo vemos la respuesta típica de un filtro pasa bajos que diseñaremos a continuación: ... Familiarizarse con el

Técnicas Digitales III

Fin de la presentaciónVisítenos en: http://www.frsn.utn.edu.ar/tecnicas3

Universidad Tecnológica NacionalFacultad Regional San Nicolás