You are on page 1of 8

11

Laboratorio 5 Dise no de Filtros Digitales RII en Matlab


En esta pr actica se dise nar an ltros digitales RII empleando las funciones contenidas en Matlab. Una parte importante de esta pr actica es la implantaci on de ltros en tiempo real. En la implantaci on de estos ltros se hace uso de los macros y rutinas de inicializaci on dadas por Motorola. Se espera que al realizar esta pr actica el alumno comprenda las propiedades de las funciones de transferencia de segundo orden dadas por H (z ) = b0 + b1 z 1 + b2 z 2 . 1 a 1 z 1 + a2 z 2

Para trabajar con este tipo de estructura se necesita escribir la funci on de transferencia H (z ) como el producto de secciones de segundo orden SSO (SOS en Matlab), tambi en llamadas secciones bicuadr aticas o simplemente bicuads. As pues
n/2

H (z ) =

b0i + b1i z 1 + b2i z 2 1 a1i z 1 + a2i z 2 i=1


n/2

= K

1 + b1i z 1 + b2i z 2 , 1 a1i z 1 + a2i z 2 i=1

ndice i donde K =ganancia total, y b1i = b1i /b0i , y b2i = b2i /b0i . El sub indica el n umero de la SSO. 213

214

11.1. FILTROS BUTTERWORTH

Al trabajar en un procesador de punto jo como el DSP56002 se requiere de una adecuada cuantizaci on y escalamiento de los coecientes. Los efectos de cuantizaci on se pueden ver comparando la respuesta en frecuencia ideal del ltro con la respuesta real una vez implantado en el DSP. En esta pr actica se har a uso de un juego de archivos M que han sido dise nados para hacer el proceso de dise no e implantaci on de ltros RII m as amigable. A ese juego de archivos se la ha llamado FDI (Filter Design and Implementation package); Se ejecuta bajo el ambiente Matlab y tiene la capacidad de generar los archivos de coecientes en lenguaje ensamblador, lo que permitir a obtener de una manera muy f acil el archivo .cld para ser cargado y ejecutado en el DSP. Antes de usar el FDI practique con los siguientes ejercicios.

11.1.

Filtros Butterworth

buttord selecciona el orden m nimo de un ltro Butterworth digital que se requiere para cubrir las especicaciones de dise no. [n,Wn]=buttord(Wp, Ws, Rp, Rs), donde Wp = esquina de la frecuencia de paso Ws = esquina de la frecuencia de rechazo Rp = atenuaci on deseada en dB en la banda de paso Rs = atenuaci on deseada en dB en la banda de rechazo Wp y Ws son valores normalizados de frecuencia y deben estar entre 0 y 1. Ejercicio 11.1 Encuentre el orden n para un FPb digital Butterworth con las siguientes especicaciones: frecuencia de corte 2000 Hz con -2 dB de atenuaci on y al menos -20 dB de atenuaci on a 3000 Hz. Emplee una frecuencia de muestreo de 48 kHz. Ejercicio 11.2 Trace la gr aca de la respuesta en frecuencia usando freqz, que entrega la respuesta en frecuencia del ltro digital. [H,f] = freqz(B,A,N,Fs) entrega un vector f de frecuencias en N puntos y un vector H de la respuesta en frecuencia compleja en N puntos del ltro B/A: H (ej ) = = B (z ) A(z ) z =ej b(1) + b(2)z 1 + + b(nb + 1)z nb 1 + a(2)z 1 + + a(na + 1)z na

z =ej

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

Pr acticas de Laboratorio

11.1. FILTROS BUTTERWORTH

215

donde B y A son los vectores de coecientes del numerador y denominador. La respuesta en frecuencia se eval ua en N puntos igualmente espaciados alrededor del c rculo unitario. freqz(B,A,...), sin argumentos de salida, traza la gr aca de magnitud y de fase de B/A en la ventana activa. Ejercicio 11.3 Trace el diagrama cero/polo sobre el plano z usando la instrucci on zplane(B,A). Note que hacer los c alculos a mano implica mucho trabajo, especialmente cuando el orden del ltro es alto (n=7 en este caso). Ejercicio 11.4 Se requiere hacer una factorizaci on de la funci on de transferencia original para obtener las secciones de segundo orden (SSO). Matlab contiene una funci on que hace precisamente eso, la funci on es S = zp2sos(z,p,k) donde S es una matrix que contiene las SSO: b01 b11 b21 a01 a11 a21 . S = . , . b0L b1L b2L a0L a1L a2L donde L=n/2, y n=orden del ltro. El n umero de columnas es 6, mientras que el n umero de las depender a del n umero de SSO. El segundo sub ndice indica el n umero de SSO. Note que aij, i = 0 . . . 2, j = 1 . . . L puede ser mayor a 1, de hecho puede ser 2 aij < 2. En este caso, debido a la aritm etica fraccionaria del procesador, los coecientes son divididos entre dos antes de ser cargados a la memoria. Ejercicio 11.5 Explique c omo se puede implantar un ltro de s eptimo orden usando secciones bicuads. (Tip: Encuentre la funci on de transferencia de cada secci on). Ejercicio 11.6 Implantaci on del ltro en el DSP56002 Usando los coecientes encontrados en el paso anterior, los macros y los archivos asm de esta pr actica, escriba los archivos necesarios para tener un archivo IIRLP.asm. Note que lo u nico que se requiere modicar es el archivo que contiene los coecientes. Note tambi en que los archivos de base pueden ser usados para cualquier tipo de ltro sea Butterworth, Chebyshev, El ptico, etc. Una vez obtenido el archivo de coecientes utilice el programa ensamblador asm56000 para obtener el archivo .cld. Finalmente, ejecute el programa de aplicaci on de Domain Technologies. El programa ensamblador se encuentra bajo el directorio c:\evm56kw.
G. Miramontes, ISBN 968-5923-15-9 Pr acticas de Laboratorio

216

11.2. FILTROS CHEBYSHEV TIPO I

11.2.

Filtros Chebyshev Tipo I

Cheb1ord selecciona el orden m nimo requerido para cumplir las especicaciones de un ltro anal ogico o digital Chebyshev: [n,Wn]=cheb1ord(WP,Ws,Rp,Rs) Cheby1 dise na ltros Chebyshev anal ogicos o digitales tipo I. La funci on empleada es [z,p,k] = cheby1(n,Rp,Wn,Ftipo) o bien, [num,den] = cheby1(n,Rp,Wn,Ftipo), donde Ftipo indica el tipo de ltro que se desea, por ejemplo High para pasaaltas, o Stop para rechazo de banda. Para ltros pasa-bajas no es necesario espcicarlo. Para ltros pasa-banda y rechazo de banda, Wdebe ser un vector de dos elementos. Ejercicio 11.7 Repita los pasos del ejercicio 11.1 al ejercicio 11.6 para un ltro Chebyshev tipo I.

11.3.

Filtros El pticos

ellipord selecciona el orden m nimo necesario para cumplir las especicaciones de dise no de ltros el pticos anal ogicos o digitales. [n,Wn]=ellipord(Wp, Ws, Rp, Rs). ellip dise na ltros el pticos pasa-bajas, pasa-altas, pasa-banda y rechazo de banda anal ogicos o digitales. La funci on usada es [z,p,k]=ellip(n,Rp, Rs,Wn,Ftipo). Para la implantaci on de ltros pasa-altas o pasa-banda se requiere seguir el mismo procedimiento de dise no: especicar los requerimientos de la repuesta en frecuencia, encontrar el orden del ltro, encontrar la funci on de transferencia y luego aplicar un procedimiento de factorizaci on para obtener las SSO. Ejercicio 11.8 Dise ne un ltro el ptico con las especicaciones dadas en el ejercicio 11.1 y repita los pasos hasta el ejercicio 11.6. Compare el orden y la respuesta en frecuencia de este ltro con los ltros Butterworth y Chebyshev.
G. Miramontes, ISBN 968-5923-15-9 Pr acticas de Laboratorio

Y REALIZACION 11.4. FDI PROGRAMA DE DISENO

217

11.4.

FDI programa de dise no y realizaci on

En el siguiente ejercicio se podr a hacer uso de un juego de archivos M que integran el procedimiento de dise no y realizaci on de ltros digitales en el procesador de se nales DSP56002/DSP56303. En la versi on actual de FDI se pueden trabajar ltros Butterworth, Chebyshev tipo I, y el pticos. No se incluye el dise no de ltros rechazo de banda. Como ya se dijo, se tienen dos versiones de FDI, una para el sistema de evaluaci on DSP56002EVM y otra para el DSP56303EVM. Dependiendo del sistema de evaluaci on que tenga disponible utilice la versi on que corresponda. Ejercicio 11.9 Ejecute Matlab y en el espacio de trabajo introduzca la siguiente orden: >>chdir c:\fdi2k2 para la versi on DSP56002EVM o >>chdir c:\fdi563x para la versi on DSP56303EVM. Enseguida introduzca: mainfdi Seleccione Lowpass como el ltro deseado sobre el bot on Lowpass. y seleccione Butterworth Ejercicio 11.10 Ahora es necesario introducir las especicaciones de frecuencia del ltro. Introduzca: fp fs kp ks Fs = = = = = 8000 10000 2 20 48000

Seguido de esto seleccione Plot Freq. response. Ejercicio 11.11 Una vez que se ha obtenido la gr aca de la respuesta en frecuencia se puede seleccionar la opci on write ASM file desde el men u donde aparece select an option. Dentro de FDI se puede seleccionar la opci on assemble, o si se desea se puede ejecutar el siguiente ejercicio: Ejercicio 11.12 Abra una ventana de DOS (no cierre la aplicaci on de Windows). Donde aparece el cursor introduzca: >a: <enter> luego cambie el directorio de trabajo a >cd \fdi2k2\transpwork
G. Miramontes, ISBN 968-5923-15-9 Pr acticas de Laboratorio

218

Y REALIZACION 11.4. FDI PROGRAMA DE DISENO

o donde se encuentren sus archivos de trabajo. Enseguida introduzca >asm56000 -a -b -l iirlp Esto generar a el archivo iirlp.cld, el cual puede cargarse al m odulo de evaluaci on DSP56002EVM o DSP56303EVM, seg un corresponda. Nuevamente desde DFI se puede emplear la opci on Open Debugger para lanzar el programa de comunicaci on con el DSP, o si se preere se puede ejecutar el siguiente ejercicio. Ejercicio 11.13 Presione la teclas ALT+TAB para regresar a Windows. Ejecute el programa de comunicaci on con el DSP (Domain Technologies). El m odulo de evaluaci on deber a estar encendido y conectado apropiadamente al puerto serie de la computadora. Una vez que se ha abierto el programa de comunicaci on de Domain Technologies, seleccione load b:\iirlp.cld, luego presione sobre el bot on GO. Mida la respuesta en frecuencia del ltro que se est a ejecutando sobre el DSP. Si dispone de un analizador de redes la tarea ser a m as f acil. Se puede usar la combinaci on de teclas ALT+TAB para regresar a la ventana del FDI y comparar la respuesta en frecuencia obtenida en Matlab con la que se obtiene en tiempo real. Ejercicio 11.14 Si no se tiene un analizador de redes, se puede hacer una medici on aproximada de la respuesta en frecuencia utilizando un generador de se nales y un osciloscopio de doble trazo. Recuerde que la amplitud de la se nal aplicada al DSP debe mantenerse dentro del margen din amico del circuito de entrada, no exceda la amplitud especicada por el fabricante o puede destruir el m odulo. Una vez ajustada la amplitud, seleccione un punto de frecuencia sobre el generador y mida la amplitud de la se nal a la entrada al DSP y de la se nal de salida del DSP. Anote el valor de la frecuencia de prueba y la raz on de amplitudes salida/entrada. Incremente el valor de la frecuencia de la se nal del generador y repita la operaci on. Realice estos pasos hasta completar entre 10 y 20 puntos de frecuencia de modo que pueda trazar la gr aca de la respuesta en frecuencia en magnitud del ltro. A esta gr aca tambi en se le conoce como gr aca de Bode. Ejercicio 11.15 Regrese al menu principal para dise nar un nuevo ltro. Ahora seleccione Lowpass y luego Chebyshev. Introduzca las mismas especicaciones de frecuencia. Se pueden usar las teclas de echa hacia arriba/hacia abajo para regresar a los datos introducidos previamente. Ejercicio 11.16 Repita los pasos para obtener un ltro pasa-bajas Chebyshev ejecut andose en el DSP56002EVM/DSP56303EVM. Al observar la gr aca de la respuesta en frecuencia es la respuesta en frecuencia similar a la de un ltro Chebyshev?
G. Miramontes, ISBN 968-5923-15-9 Pr acticas de Laboratorio

BIBLIOGRAF IA

219

Ejercicio 11.17 Finalmente, seleccione Lowpass y Elliptic. Ahora introduzca las siguientes especicaciones: fp fs kp ks Fs = = = = = 5000 6000 1 50 48000

Realice todos los pasos necesarios para dise nar, ensamblar, cargar y ejecutar el ltro el ptico en el DSP56002EVM/DSP56303EVM. Mida la respuesta en frecuencia. Verique si la respuesta en frecuencia corresponde a la de un ltro el ptico.

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

Pr acticas de Laboratorio

220

BIBLIOGRAF IA

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

Pr acticas de Laboratorio

You might also like