Вы находитесь на странице: 1из 5

UNIVERSIDAD NACIONAL DEL CALLAO

FACULTAD DE INGENIERIA ELECTRICA Y ELECTRONICA

UNIVERSIDAD NACIONAL DEL CALLAO

FACULTAD DE INGENIERIA ELECTRICA Y ELECTRONICA


DEPARTAMENTO ACADMICO DE INGENIERA ELECTRNICA

LABORATORIO N 05 FILTROS DIGITALES OBJETIVOS

Entender el uso de los filtros digitales

INSTRUMENTOS Y COMPONENTES Computadora Personal Programa MATLAB INTRODUCCIN Diseo de Filtros FIR usando funciones ventana
La funcin fir1 disea filtros RIF por el mtodo de ventanas. La funcin es llamada introduciendo, en el ambiente de trabajo de Matlab, la siguiente instruccin: B = fir1(N,Wn), donde el vector B, de longitud N+1, contendr los coeficientes de un filtro digital RIF pasabajas de orden N. La frecuencia de corte Wn debe estar entre 0 < Wn < 1.0, donde 1.0 corresponde a la mitad de la frecuencia de muestreo. El filtro resultante es real y tiene fase lineal, es decir, tiene simetra par en sus coeficientes obedeciendo la relacin: B(k) = B(N + 2 - k); en donde k = 1; 2; ,N + 1: Para tener un _ltro pasa-banda, Wn debe ser un vector de dos elementos, es decir, Wn = [W1 W2]. Para disear un filtro pasa-altas se usa B = fir1(N,Wn,'high'). Si empleamos B = fir1(N,Wn,'stop'), cuando Wn = [W1 W2], entonces B corresponde a un filtro de rechazo de banda (bandstop filter). Para filtros que tengan una banda de paso cercana a Fs=2, es decir, filtros pasa-altas y rechazo de banda, N debe ser par. Las ventanas pueden ser: Rectangular (Boxcar), Hamming, Hanning, Bartlett, Blackman, Kaiser, Chebwin

MSc Jos Daz Zegarra


ESCUELA PROFESIONAL DE INGENIERIA ELECTRONICA

UNIVERSIDAD NACIONAL DEL CALLAO

FACULTAD DE INGENIERIA ELECTRICA Y ELECTRONICA

Por omisin, Matlab ajusta la escala del filtro de modo que el centro de la primera banda de paso tenga magnitud exactamente uno despus de aplicar la ventana. SIMULACIN 1.- Disee un filtro FIR con las siguientes especificaciones: orden N = 40, frecuencia de corte de 2000 Hz, y frecuencia de muestreo de 48 kHz, con: B = fir1(40,2000/24000); [h,f] = freqz(B,1,200,Fs); semilogx(f,20*log10(abs(h))); title('Respuesta en Frecuencia'); ylabel('Magnitud [dB]'); xlabel('Frecuencia [Hz]'); grid; Ahora, repita el clculo de B para N = 60. Despus de eso introduzca lo siguiente: hold on Encuentre y trace la respuesta en frecuencia con: [h,f] = freqz(B,1,200,Fs); semilogx(f,20*log10(abs(h)),'r'); Observe cualquier diferencia entre ambas respuestas en frecuencia. Es la atenuacin del primer lbulo lateral significativamente mayor que cuando N era 40? 2.- Para aplicar una ventana rectangular introduzca lo siguiente: N = 40; fc = 2000; Fs = 48000; FN = Fs/2; B = fir1(N,fc/FN,Boxcar(N+1)); [h,f] = freqz(B,1,200,Fs); semilogx(f,20*log10(abs(h)), 'g'); Compare las tres curvas. Como puede observarse, la ventana rectangular da una respuesta en frecuencia diferente. Cunta atenuacin tenemos en el primer lbulo lateral cuando se emplea la ventana rectangular?, es la banda de transicin igual a las anteriores? 3.- Disee un filtro FIR con las mismas especificaciones de frecuencia pero empleando una ventana Blackman con: B = fir1(N,fc/FN,Blackman(N+1)); [h,f] = freqz(B,1,200,Fs); semilogx(f,20*log10(abs(h)), 'b'); a) Qu efecto se produce al incrementar N? b) Cual es el efecto al usar una funcin ventana diferente? c) Si tuviera que seleccionar la funcin ventana en el diseo del filtro, qu consideraciones tomara en cuenta para hacer esa seleccin? 4.- El primer mtodo es llamado Minimizacin del error cuadrtico mnimo" (Least-squares error minimization). La funcin es: firls. La funcin: MSc Jos Daz Zegarra
ESCUELA PROFESIONAL DE INGENIERIA ELECTRONICA

UNIVERSIDAD NACIONAL DEL CALLAO

FACULTAD DE INGENIERIA ELECTRICA Y ELECTRONICA

B=firls(N,F,A) Entrega un filtro real con fase lineal en un vector B de longitud N+1 (con coeficientes reales simtricos). El filtro dar la mejor aproximacin a la respuesta en frecuencia deseada descrita por F y A en un sentido de mnimos cuadrados. F es un vector de pares de bandas de frecuencia, en orden ascendente, entre 0 y 1. En el vector F, 1 corresponde a la frecuencia de Nyquist, o sea la mitad de la frecuencia de muestreo, Fs/2. A es un vector real del mismo tamao que F, el cual especifica la amplitud de la respuesta en frecuencia deseada en B. 5.- Disee un filtro con las siguientes especificaciones, note los espacios en la definicin del vector de frecuencias FV y del vector de amplitudes FA. Introduzca las siguientes lneas: hold off fp = 6000; % extremo de la banda de paso fr = 7000; % extremo de la banda de rechazo FN = 24000; % Frecuencia de Nyquist FV = [0 fp/FN fr/FN 1]; % vector de Frecuencias kp = 1; % ganancia en la banda de paso kr = 0.001; % ganancia en la banda de rechazo AV = [kp kp kr kr]; % vector de Amplitudes %Obtenga los coeficientes del filtro con: B = firls(40,FV,AV); % Ahora encuentre y trace la respuesta en frecuencia con: [h,f] = freqz(B,1,200,Fs); semilogx(f,20*log10(abs(h)),'k'); grid; Observe la respuesta en frecuencia obtenida cuando se emplea el mtodo de mnimos cuadrados. >> F=0:10:5000; >> Hfir1=abs(freqz(Bfir1,1,F,Fs); >> Hfir2=abs(freqz(Bfir2,1,F,Fs); >> Hfirls=abs(freqz(Bfirls,1,F,Fs); >> Hremez=abs(freqz(Bremez,1,F,Fs); >> semilogy(F,Hfir1,'r',F,Hfir2,'g',F,Hfirls,'y',F,Hremez,'m');

PROBLEMAS Diseo de filtros digitales. Filtrado de acordes mediante un filtro de butterworth

Las notas musicales son seales senoidales donde la frecuencia de la onda determina el sonido de la escala musical que queremos reproducir. La nota DO en la escala primaria se genera como una senoide con una frecuencia de 65,4064 Hz. En Matlab se genera como, DOl = sin(2 * pi * freq DO1 * t). Esta seal la podemos escuchar en la tarjeta de sonido del ordenador usando la funcin de Matlab sound(seal,fm), donde seal es la seal que queremos escuchar y fm, la frecuencia de muestreo de la seal. NOTA: La frecuencia de muestreo que usa por defecto Matlab para reproducir los sonidos es de fm = 8192 Hz, y es la frecuencia de muestreo que usaremos en todo el ejercicio; el periodo de muestreo T ser por tanto su inversa. 1.- Representa grficamente la seal correspondiente a la nota DO en un intervalo
MSc Jos Daz Zegarra
ESCUELA PROFESIONAL DE INGENIERIA ELECTRONICA

UNIVERSIDAD NACIONAL DEL CALLAO

FACULTAD DE INGENIERIA ELECTRICA Y ELECTRONICA

de tiempos entre [0 . . . 6]s. 2.- Escucha la nota DO usando la funcin sound de Matlab. Un acorde musical est compuesto de varias notas que suenan al mismo tiempo. Desde el punto de vista de seales lo podemos ver como la suma de distintas senoides a distintas frecuencias, donde cada frecuencia se corresponde con una nota de la escala musical.
3.- Sabiendo las frecuencias de las siguientes notas musicales:

DO (escala primaria): DO1 = 65.4064 Hz FA (escala secundaria): FA2 = 174.6141 Hz LA (escala terciaria): LA3 = 440.0000 Hz DO (escala cuaternaria): D04 = 523.2521 Hz

genera el acorde (DOl ,FA2,LA3,D04), represntalo grficamente en un intervalo de tiempos entre [0 . . . 5]s y escucha como suena el acorde. NOTA: Recuerda que la funcin sound requiere que la seal que le pasamos, como variable seal, est normalizada entre [-1, . . . ,1]. Consultar en la ayuda de Matlab los parmetros de dicha funcin. 4.- Si queremos escuchar slo los sonidos de un determinado acorde que posean una frecuencia inferior a una frecuencia determinada debemos filtrar el acorde original mediante un filtro pasa- baja. Para disear un filtro digital de Butterworth pasa-baja usando la transformacin bilineal (ver la figura 1) tenemos que realizar los siguientes pasos: I Convertir las especificaciones dadas en el dominio digital () a especificiones analgicas ().

II Determinar el orden n del filtro a partir de las caractersticas especificadas, III Disear el filtro en continuo. IV Discretizar la funcin de transferencia en continuo.

Disearemos un filtro de Butterworth , con las siguientes especificaciones digitales:


MSc Jos Daz Zegarra
ESCUELA PROFESIONAL DE INGENIERIA ELECTRONICA

UNIVERSIDAD NACIONAL DEL CALLAO

FACULTAD DE INGENIERIA ELECTRICA Y ELECTRONICA

Frecuencias de paso y de rechazo : Wp=0,1912 rad/s Ws=0,2669 rad/s, Tolerancias de las bandas de paso y de rechazo : Rp=1 dB Rs=6dB
5.- Determinar el orden del filtro. 6.- Diseo del filtro en continuo.

Utilizar la funcin de MATLAB [n,Wn]=buttord(Wp,Ws,Rp,Rs,s) Utilizar la funcin de MATLAB [num,den]=butter(n,Wn,s)


7.- Discretizacin del filtro continuo.

Usar la Transformacin Bilinear de Tustin. Esta transformacin est implementada en Matlab mediante la funcin [numd, dend]= bilinear(num,den,fm) 8.- Comprueba que el filtro digital que has diseado se comporta como un filtro pasa-baja. Para ello dibuja el Diagrama de Bode del filtro analgico y digital, para el digital. Matlab posee la funcin dbode(numd, dend, T). 9.- Filtrado de la seal. Filtra el acorde original con el filtro digital que acabas de disear Para filtrar la seal usa la funcin de Matlab [sfilt]= filter(numd, dend, signal), donde signal es la seal que queremos filtrar. La seal filtrada nos la devuelve la funcin en sfilt. 10.- Comprobacin del filtrado. Podemos comprobar que el filtrado se realizado correctamente de tres formas: has a .- Auditivamente: enva primero la seal filtrada mediante el filtro que diseado a la tarjeta de sonido, y a continuacin enva la seal filtrada que se deseara obtener, la cual se generara (sabiendo que la frecuencia de corte del filtro que ha diseado es aproximadamente de 300Hz). b.- Grficamente: representa grficamente la seal filtrada mediante el filtro diseado, y la seal filtrada real. c.- Representa los espectros de frecuencias de todas las seales (fft).

CONCLUSIONES Presentar principales conclusiones de la convolucin No usar folder, slo colocar caratula No copiar la descripcin del laboratorio Adjuntar archivo de los programas en medio magntico El informe debe contener: Teora, mximo 1 pgina Procedimiento Problemas resueltos en forma matemtica Resultados Conclusiones.

MSc Jos Daz Zegarra


ESCUELA PROFESIONAL DE INGENIERIA ELECTRONICA

Вам также может понравиться