Está en la página 1de 6

12

Laboratorio 6 Diseo de Filtros Digitales RIF en n Matlab


El juego de herramientas para procesamiento de seales (Signal Procesn sing Toolbox) de Matlab contiene funciones propias para el diseo de ltros n digitales con respuesta al impulso nita (RIF) y algunas de estas funciones sern empleadas durante esta prctica. Posteriormente, se implantarn esa a a tos ltros en el DSP56002/DSP56303 para mostrar su funcionamiento en tiempo real. En la implantacin de los ltros RIF, se hace uso de los macros o y rutinas de inicializacin con el permiso de Freescale Semicondutors, Inc. o Adems, en esta prctica se har uso de un conjunto de archivos M que a a a fueron diseados con el propsito de hacer la tarea de diseo e implantacin n o n o de estos ltros en forma ms amigable. Este juego de archivos forma parte del a paquete denominado FDI, se ejecutan bajo el ambiente Matlab y tienen la capacidad de generar en forma automtica el cdigo en lenguaje ensamblador a o para su ensamblado y generacin del archivo .cld, el cual puede ser cargado o y ejecutado en el procesador DSP56002/DSP56303.

12.1.

Dise o de ltros RIF usando funciones venn tana

La funcin fir1 disea ltros RIF por el mtodo de ventanas. La funcin o n e o es llamada introduciendo, en el ambiente de trabajo de Matlab, la siguiente instruccin: o 221

22212.1. DISENO DE FILTROS RIF USANDO FUNCIONES VENTANA B = fir1(N,Wn), donde el vector B, de longitud N+1, contendr los coecientes de un ltro a digital RIF pasa-bajas 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 ltro resultante es real y tiene fase lineal, es decir, tiene simetr par en sus coecientes a obedeciendo la relacin: o 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 ltro pasa-altas se usa n B = fir1(N,Wn,high). Si empleamos B = fir1(N,Wn,stop), cuando Wn = [W1 W2], entonces B corresponde a un ltro de rechazo de banda (bandstop lter). Para ltros que tengan una banda de paso cercana a F s/2, es decir, ltros pasa-altas y rechazo de banda, N debe ser par. Las ventanas pueden ser: Rectangular (Boxcar), Hamming, Hanning, Bartlett, Blackman, Kaiser, Chebwin. Por omisin, Matlab ajusta la escala del ltro de modo que el centro o de la primera banda de paso tenga magnitud exactamente uno despus de e aplicar la ventana. Ejercicio 12.1 Disee un ltro RIF con las siguientes especicaciones: orn den N = 40, frecuencia de corte de 2000 Hz, y frecuencia de muestreo de 48 kHz, con: B = fir1(40,2000/24000);
G. Miramontes, ISBN 968-5923-15-9 Prcticas de Laboratorio a

12.1. DISENO DE FILTROS RIF USANDO FUNCIONES VENTANA223 luego introduzca y ejecute las siguientes instrucciones: [h,f] = freqz(B,1,200,Fs); semilogx(f,20*log10(abs(h))); title(Respuesta en Frecuencia); ylabel(Magnitud [dB]); xlabel(Frecuencia [Hz]); grid; Observe la diferencia en dB entre la atenuacin del primer lbulo lateral o o y la atenuacin en la banda de paso. Qu funcin ventana se aplica por o e o omisin? o Ejercicio 12.2 Ahora, repita el clculo de B para N = 60. Despus de eso a e 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 signicativamente mayor que cuando N o o era 40? Ejercicio 12.3 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)); Ahora introduzca: [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 a o primer lbulo lateral cuando se emplea la ventana rectangular?, es la banda o de transicin igual a las anteriores? o Ejercicio 12.4 Finalmente, disee un ltro RIF con las mismas especican ciones de frecuencia pero empleando una ventana Blackman con:
G. Miramontes, ISBN 968-5923-15-9 Prcticas de Laboratorio a

12.2. OTROS METODOS DE DISENO: M INIMOS CUADRADOS Y 224 EQUIRIZO B = fir1(N,fc/FN,Blackman(N+1)); seguido de [h,f] = freqz(B,1,200,Fs); semilogx(f,20*log10(abs(h)), b); a) Qu efecto se produce al incrementar N? e b) Cul es el efecto al usar una funcin ventana diferente? a o c) Si tuviera que seleccionar la funcin ventana en el diseo del ltro, o n qu consideraciones tomar en cuenta para hacer esa seleccin? e a o

12.2.

Otros mtodos de dise o: M e n nimos cuadrados y Equirizo

Resulta util introducir otros dos mtodos de diseo que no estn restrin e n a gidos o limitados al diseo clsico con especicaciones pasa-bajas, pasa-altas, n a y de ms. Estos mtodos son m a e nimos cuadrados (least-squares) y equirizo (equiripple).

12.2.1.

M nimos cuadrados

El primer mtodo es llamado Minimizacin del error cuadrtico m e o a nimo (Least-squares error minimization). La funcin es: firls. o La funcin o B=firls(N,F,A) entrega un ltro real con fase lineal en un vector B de longitud N+1 (con coecientes reales simtricos). e El ltro dar la mejor aproximacin a la respuesta en frecuencia deseada a o descrita por F y A en un sentido de m nimos 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 n especica la amplitud de la respuesta en frecuencia deseada en B. Ejercicio 12.5 Disee un ltro con las siguientes especicaciones, note los n espacios en la denicin del vector de frecuencias FV y del vector de amplio tudes FA. Introduzca las siguientes l neas: hold fp = fr = FN = FV = off 6000; % extremo de la banda de paso 7000; % extremo de la banda de rechazo 24000; % Frecuencia de Nyquist [0 fp/FN fr/FN 1]; % vector de Frequencias
Prcticas de Laboratorio a

G. Miramontes, ISBN 968-5923-15-9

12.3. FDI Y FILTROS RIF EN EL DSP56002/DSP56303 kp = 1; kr = 0.001; AV = [kp kp kr kr]; % ganancia en la banda de paso % ganancia en la banda de rechazo % vector de Amplitudes

225

Obtenga los coecientes del ltro 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 e m nimos cuadrados.

12.2.2.

Parks-McClellan o equirizo

El segundo mtodo es llamado el mtodo de Parks-McClellan o de diseo e e n optimo equirizo, tambin es conocido como el mtodo de Remez porque e e emplea el algoritmo de intercambio de Remez. Este mtodo se incluye en el e paquete FDI.

12.3.

FDI y ltros RIF en el DSP56002/DSP56303

Con el n de mostrar las diferencias entre los ltros RIF obtenidos por varios mtodos, se har uso del paquete FDI en los siguientes ejercicios (para e a una descripcin del paquete FDI vanse cap o e tulos anteriores. Ejercicio 12.6 Ejecute Matlab e introduzca la siguiente orden: >>chdir c:\fdi2k2 para la versin DSP56002EVM o o >>chdir c:\fdi563x para la versin DSP56303EVM. Enseguida introduzca mainfdi. o Seleccione el diseo de ltros RIF (FIR. Despus Lowpass seguido de n e Windows). Seleccione una ventana Rectangular. Enseguida, introduzca las especicaciones del ltro: fp fs kp ks Fs = = = = = & & & & & 8000\\ 10000\\ 1\\ 30\\ 48000
Prcticas de Laboratorio a

G. Miramontes, ISBN 968-5923-15-9

226

BIBLIOGRAF IA

Ejercicio 12.7 Seleccione Plot Freq. Response. Observe la atenuacin o obtenida en el primer lbulo lateral (debe ser de alrededor de 21dB). Tome o nota de estos valores para su comparacin con la respuesta medida en tiempo o real. Ejercicio 12.8 Seleccione la opcin para regresar al men principal. Ahoo u ra seleccione un diseo Lowpass con una ventana de Hanning. Emplee las n mismas especicaciones de frecuencia que en el diseo anterior. Trace la n respuesta en frecuencia y comprela con el diseo que emple la ventana a n o rectangular. Mida la atenuacin del primer lbulo lateral y comprelo a la o o a atenuacin del lbulo principal. o o Ejercicio 12.9 Repita el los pasos necesarios para aplicar una ventana Blackman y mida la atenuacin del primer lbulo lateral. o o Ejercicio 12.10 Utilice FDI para disear un ltro por el mtodo de m n e nimos cuadrados con las siguientes especicaciones: fp fs kp ks Fs = = = = = 8000 10000 0.5 40 48000

Ejercicio 12.11 Finalmente, aplique el mtodo de Parks-McClellan para e obtener un ltro RIF pasa bajas con las especicaciones dadas en el ejercicio anterior. Compare la respuesta en frecuencia con las obtenidas en los ejercicios anteriores. Ejercicio 12.12 Usando los coecientes encontrados en las secciones anteriores, un conjunto de archivos y macros en lenguaje ensamblador, y el juego de archivos M del paquete FDI, se puede mostrar la operacin de o ltros digitales en tiempo real. Ejecute los pasos necesarios para generar el cdigo del ltro. Una vez o que se cuente con los archivos necesarios, se emplear el programa ensama blador para obtener el archivo .cld, y nalmente bajo el ambiente de Domain Technologies se ejecutar el ltro en el procesador DSP56002/DSP56303. a Si es necesario, pida al instructor que al nal de la prctica muestre la a operacin del ltro en tiempo real. Observe y mida la respuesta en frecuencia o del ltro. Compare la respuesta en frecuencia observada en tiempo real con la que se obtuvo bajo el ambiente de Matlab.

Bibliograf a
[1] The Student Edition of Matlab, Version 5 Users Guide. The MathWorks, Inc., Prentice Hall, Upper Sadle River, NJ 07458, (1997).

G. Miramontes, ISBN 968-5923-15-9

Prcticas de Laboratorio a

También podría gustarte