You are on page 1of 19

7

Diseo de ltros digitales


La mayora de los textos sobre procesamiento digital de seales dedican un espacio sustancial a la teora de diseo de ltros incluyendo especialmente los mtodos de aproximacin tipo Butterworth, Chebyshev, elptico, Cauer, etc. lo que reeja no slo el formidable esfuerzo de investigacin destinado a desarrollar mtodos tiles para el clculo de los coecientes de los ltros, sino tambin los avances signicativos que se han logrado en este campo. En este captulo, basado en (Ifeachor y Jarvis, 1993) se presenta un panorama global del proceso de diseo, postergando los aspectos tericos a los captulos siguientes. Se describe paso a paso el proceso de diseo de ltros desde las especicaciones hasta la implementacin, y se detallan las opciones de que dispone el diseador, y los factores que pueden inuir en sus decisiones.

7.1.

Filtrado digital de seales

Un ltro es un sistema o una red que cambia selectivamente la forma de onda, o las caractersticas amplitud-frecuencia o fase-frecuencia de una manera deseada. Los objetivos comunes del proceso de ltrado son mejorar la calidad de la seal, por ejemplo removiendo o atenuando el nivel de ruido, extrayendo informacin de dos o ms seales previamente combinadas para hacer uso eciente de un canal de comunicacin, etc. Un ltro digital es un algoritmo implementado en hardware y/o software que opera sobre una seal de entrada digital (discreta en tiempo y cuantizada en amplitud) y genera una seal digital de salida, con la nalidad de efectuar un proceso de ltrado. El trmino ltro digital se reere al hardware o software especco que ejecuta el algoritmo. Los ltros digitales trabajan sobre valores numricos asociados a muestras de esas seales analgicas previamente digitalizadas por conversores A/D o simplemente sobre un conjunto de nmeros almacenados en la memoria de una computadora o microprocesador. En la Fig. 7.1 se muestra un diagrama bloque simplicado de un ltro digital que opera en tiempo real, con entradas y salidas analgicas. La seal de entrada, limitada en banda, se muestrea peridicamente y se convierte en una serie de muestras x [n], n = 0, 1, ... El procesador digital convierte la sucesin de entrada x [n] en una sucesin de salida y[n] de acuerdo al algoritmo de cmputo. El conversor digital-analgico convierte la salida 1

7. Diseo de ltros digitales

Fig. 7.1. Diagrama bloque simplicado de un ltro digital.

digital y[n] a valores continuos en tiempo que son procesados por un ltro analgico para suavizar la forma de onda y remover componentes no deseadas de alta frecuencia. Los ltros digitales juegan un papel muy importante en el procesamiento digital de seales. En gran nmero de aplicaciones, como compresin de datos, procesamiento de seales biomdicas, procesamiento de seales de voz, procesamiento de imgenes, transmisin de datos, audio digital, cancelamiento de ecos telefnicos, se preeren por sobre los ltros analgicos por uno o ms de los siguientes motivos: Los ltros digitales pueden tener caractersticas que son imposibles de conseguir con ltros analgicos, como por ejemplo una respuesta de fase exactamente lineal. El desempeo de los ltros digitales no vara con las condiciones ambientales (temperatura, humedad, etc.) como s ocurre con los ltros analgicos, lo que elimina la necesidad de calibrarlos peridicamente. Si el ltro se implementa utilizando un procesador programable la respuesta en frecuencia de un ltro digital puede ajustarse a voluntad (ltrado adaptivo). El mismo ltro puede procesar varias seales o canales de entrada sin necesidad de replicar el hardware. Las seales ltradas y sin ltrar pueden almacenarse para uso o anlisis posterior. Los avances en las tcnicas de integracin VLSI hacen que sea posible fabricar ltros digitales pequeos, de bajo consumo, y de muy bajo costo. La precisin con que un ltro digital verica las especicaciones de diseo est limitada solamente por la longitud de palabra (bits) utilizada para representar los coecientes del ltro y ejecutar las operaciones aritmticas; con los ltros analgicos es difcil lograr atenuaciones que excedan los 60 o 70 dB en la banda de rechazo (utilizando componentes convencionales). El desempeo de los ltros digitales es repetible de unidad a unidad. Los ltros digitales pueden utilizarse a muy bajas frecuencias, como las que se encuentran en aplicaciones biomdicas, donde el empleo de ltros analgicos es poco prctico por los valores muy elevados de los componentes pasivos involucrados (capacitores, inductancias). Adems, los ltros digitales pueden trabajar sobre un amplio rango de frecuencias simplemente cambiando la frecuencia de muestreo. Sin embargo, los ltros digitales tambin presentan una serie de desventajas respecto a los ltros analgicos: Limitacin de frecuencia. La frecuencia de Nyquist que ja el ancho de banda til que el ltro puede procesar queda denida por el proceso de conversin (tiempos

Procesamiento Digital de Seales

U.N.S. 2011

7.2. Filtros FIR e IIR

de conversin del conversor A/D y D/A), velocidad del procesador, cantidad de operaciones a ejecutar por unidad de tiempo, etc. Este ltimo trmino se incrementa a medida que aumenta la exigencia de las caractersticas de respuesta del ltro (ltros muy abruptos). Efectos de longitud nita de palabra. En general, los coecientes del ltro implementado sern distintos de los calculados tericamente si la representacin numrica que se utiliza para implementar el ltro no es de precisin innita (punto otante). No slo inuye la cuantizacin de los coecientes del ltro, sino tambin el redondeo de las operaciones numricas, la cuantizacin del conversor A/D y D/A, la truncacin que ocurre al almacenar los contenidos del acumulador en memoria, etc. Estos efectos, que se modelan como fuentes de ruido de distribucin uniforme, pueden limitar seriamente el desempeo de los ltros digitales: variaciones de ganancia en la banda de paso, menor atenuacin en la banda de rechazo, y hasta pueden conducir a la inestabilidad en ltros recursivos de orden elevado. Tiempos de diseo y desarrollo prolongados. Los tiempos de diseo y desarrollo de un ltro digital, en especial el diseo del hardware puede ser muy superior al necesario para el diseo de un ltro analgico. Sin embargo, una vez que se dispone del hardware o el software necesario, la misma plataforma puede utilizarse para muchas otras tareas de ltrado o procesamiento digital de seales con poca o ninguna modicacin. Adems, el desarrollo de herramientas de CAD avanzadas hacen que el diseo de ltros sea una tarea agradable y sencilla, aunque an as es necesaria cierta experiencia para aprovecharlas ntegramente.

7.2.

Filtros FIR e IIR

Los ltros digitales lineales e invariantes en el tiempo pueden clasicarse de acuerdo a la longitud de su respuesta impulsiva h[n] como IIR, cuando la respuesta tiene duracin innita o FIR, si su duracin es nita. Esta respuesta impulsiva h[n], n = 0, 1, 2, . . . caracteriza completamente el ltro, a punto tal que las seales de entrada y salida estn relacionadas por la suma de convolucin, que para ltros IIR toma la forma y[n] = y para ltros FIR es
N 1

k =0

h[k] x [n

k ],

(7.1)

y[n] =

k =0

h[k] x [n

k ].

(7.2)

Del anlisis de estas dos ecuaciones es evidente que, mientras que la suma convolucin puede ser una forma apropiada para implementar un ltro FIR, no es adecuada para los ltros IIR debido a que la respuesta impulsiva es muy larga (en teora, innitamente larga). Por ello, los ltros IIR se implementan con ecuaciones a diferencia que permiten calcular las muestras de salida en forma recursiva y[n] =

k =1

ak y[n

k] +

k =0

bk x [ n

k ],

(7.3)

Procesamiento Digital de Seales

U.N.S. 2011

7. Diseo de ltros digitales

donde n = 0, 1, 2, . . . , y[ 1] = 0. El nmero N es el orden del ltro, y ja la cantidad de modos de la respuesta impulsiva. La relacin entre los coecientes ai y bi se obtiene aplicando la transformada Z a (7.3) y antitransformando. En la ecuacin (7.3) la salida y[n] es funcin de los valores actuales y pasados de la entrada, y de valores pasados de la salida (de ah el nombre recursivo): el ltro IIR es sistema realimentado. En cambio, en el ltro FIR la salida y[n] slo depende de los valores pasados de la entrada x [n]. Es evidente que, si en la ecuacin (7.3) de los ltros IIR los coecientes ai son nulos, se obtiene la suma convolucin (7.2) de los ltros FIR, pues hacer ai = 0 anula los efectos de realimentacin de las salidas pasadas. Las ecuaciones (7.2) y (7.3) son las ecuaciones a diferencias que se utilizan para implementar ltros FIR e IIR, respectivamente. Estas ecuaciones, y en particular el valor de los coecientes h[n] para los ltros FIR y ai , bi para los ltros IIR, son los objetivos del problema de diseo de ltros digitales. Las funciones de sistema estn dadas por
N 1 M k = 0 bk z N k =0 a k z

HFIR (z) =

k =0

h[k]z

k k

HIIR (z) =

para ltros FIR e IIR, respectivamente, y resultan convenientes para el anlisis de estabilidad, respuesta en frecuencia, etc. Los factores que inuencian la eleccin entre distintas alternativas en cada etapa del diseo de ltro tienen mucho que ver con que el ltro sea FIR o IIR. Por ello resulta importante apreciar las diferencias entre ambos tipos de ltros, las caractersticas peculiares de cada uno, y, lo ms importante, cmo elegir entre uno y otro.

7.3.

Comparacin entre ltros FIR e IIR

La eleccin entre una implementacin FIR e IIR depende de las ventajas relativas de cada uno de estos dos tipos de ltros. 1. Los ltros FIR se pueden disear para tener una respuesta de fase estrictamente lineal (distorsin de fase nula), lo que es importante en muchas aplicaciones, como transmisin de datos, audio digital y procesamiento de imgenes. La respuesta de fase de ltros IIR no es lineal, en especial en cercanas de la zona de transicin. 2. Los ltros FIR implementados de forma no recursiva, por ejemplo aplicando (7.2), son inherentemente estables. En cambio, la estabilidad de los ltros IIR siempre debe comprobarse, ya que son sistemas realimentados. 3. Los efectos causados por la implementacin con aritmtica de punto jo, tales como los errores de cuantizacin de los coecientes y los errores por redondeo en las operaciones aritmticas, son mucho ms severos en los ltros IIR que en los FIR. 4. Para satisfacer unas especicaciones dadas los ltros FIR necesitan un mayor nmero de coecientes que los ltros IIR, sobre todo si las bandas de transicin son estrechas. En consecuencia, los requerimientos de memoria, el nmero de operaciones y los tiempos de procesamiento son mayores para los FIR que para los IIR. Sin embargo, la posibilidad de implementar los FIR mediante la tcnica de convolucin rpida usando FFT y tambin el empleo de tcnicas multirate permiten aumentar signicativamente la eciencia de las implementaciones.

Procesamiento Digital de Seales

U.N.S. 2011

7.3. Comparacin entre ltros FIR e IIR

5. Un ltro analgico convencional puede convertirse en un ltro digital IIR equivalente que satisfaga las especicaciones de diseo de manera sencilla. Esto no es posible con ltros FIR pues no tienen una contraparte analgica. Sin embargo es ms sencillo sintetizar ltros con respuestas en frecuencia arbitrarias utilizando ltros FIR. De las caractersticas detalladas arriba puede esbozarse una gua tentativa para elegir entre una implementacin FIR o IIR: Si los nicos requerimientos importantes son bandas de transicin estrechas (ltros con cortes muy abruptos) y eciencia de cmputo, se preeren ltros IIR pues necesitan un nmero de coecientes mucho menor que un ltro FIR equivalente (especialmente si se eligen caractersticas frecuenciales elpticas o de Cauer). Si el nmero de coecientes del ltro no es muy elevado (por ejemplo, si las bandas de transicin no son muy abruptas), y en particular, si se desea muy poca o ninguna distorsin de fase, se suele elegir ltros FIR. Los procesadores digitales modernos (DSP) estn optimizados para implementar este tipo de ltros, y algunos se han diseado especcamente con esa nalidad (por ejemplo, el DSP56200 de Motorola, o el INMOS A100). Sin embargo, en un campo tan dinmico como ste la capacidad y el desempeo de los componentes vara rpidamente.

E JEMPLO 7.1. Comparacin de las caractersticas de ltros FIR e IIR


Se desea disear un ltro que cumpla con las siguientes especicaciones: banda de paso: banda de rechazo: ganancia en la banda de paso: ganancia en la banda de rechazo: 0 a 3 /5, 4 /5 a , 1 0,06, < 0,2.

Los requisitos de diseo se pueden satisfacer tanto como un ltro IIR o FIR: Filtro 1 (IIR): b0 + b1 z 1 + b2 z 2 , (7.4) H (z) = 1 + a1 z 1 + a2 z 2 con a1 = 0,6744878, a2 = 0,3633482, b0 = 0,4981819, b1 = 0,9274777, b2 = 0,4981819. La Fig. 7.2 muestra el diagrama bloque de una posible implementacin del ltro, cuyas ecuaciones a diferencia son w[n] = x [n] a1 w [ n 1] a2 w [ n 2], 2]. y[n] = b0 w[n] + b1 w[n 1] + b2 w[n

En la Fig. 7.3 se graca la respuesta en frecuencia (en mdulo y fase),y el retardo de grupo, comprobndose que se satisfacen las especicaciones de diseo. Filtro 2 (FIR): H (z) = con h [0] h [1] h [2] h [3] h [4] h [5]
k =0

h[k]z

11

= = = = = =

h[11] h[10] h [9] h [8] h [7] h [6]

= +0,5460328 = 0,4506875 = +0,6916942 = 0,5538437 = 0,6342841 = +0,5789240

10 2 , 10 1 , 10 1 , 10 1 , 10 1 , 100 ,

Procesamiento Digital de Seales

U.N.S. 2011

7. Diseo de ltros digitales

Fig. 7.2. Representacin en diagrama bloque del ltro IIR del Ejemplo 7.1.

Fig. 7.3. Respuesta en frecuencia del ltro IIR (7.4): mdulo ( a) , fase (b) y retardo de grupo (c).

Procesamiento Digital de Seales

U.N.S. 2011

7.3. Comparacin entre ltros FIR e IIR

Fig. 7.4. Representacin en diagrama bloque del ltro FIR del Ejemplo 7.1.

Fig. 7.5. Respuesta en frecuencia del ltro FIR (7.5): mdulo ( a) , fase (b) y retardo de grupo (c) .

Procesamiento Digital de Seales

U.N.S. 2011

7. Diseo de ltros digitales

La Fig. 7.4 muestra el esquema de una posible implementacin, cuya ecuacin a diferencias es y [ n ] = h [0] x [ n ] + h [1] x [ n 1] + h [2] x [ n 2] +

+ h[10] x [n

10] + h[11] x [n

11]. (7.5)

La respuesta en frecuencia (mdulo, fase y retardo de grupo) se ilustra en la Fig. 7.5.

Del examen de ambas implementaciones se observa que los requerimientos de cmputo y de lugares de almacenamiento para los dos ltros son: Nmero de multiplicaciones: Nmero de sumas: Lugares de memoria (coecientes y datos): FIR 12 11 24 IIR 5 4 8

Es evidente que el ltro IIR es ms econmico en la cantidad de operaciones y de lugares de almacenamiento necesarios que el ltro FIR. Se podra haber explotado la simetra de los coecientes del ltro FIR para reducir a la mitad la cantidad de memoria necesaria, a costa de dicultar ligeramente la implementacin. En este caso el nmero de coecientes del ltro FIR ( N = 12) es aproximadamente 6 veces el orden (la mayor potencia de z 1 en el denominador) de la funcin transferencia del IIR ( N = 2). En los dos casos el mdulo de la respuesta en frecuencia satisface las especicaciones, pero las respuestas de fase de los dos ltros son muy diferentes. Mientras que la respuesta de fase del ltro IIR no es lineal (Fig. 7.3), la del ltro FIR (Fig. 7.5) es perfectamente lineal, excepto por un salto de debido al cero en la banda de rechazo. El retardo de fase, que es la derivada negativa de la curva de fase ( = d arg H e j /d ), es constante para todo el rango de frecuencia en el caso del ltro FIR. Para el ltro IIR vara en funcin de la frecuencia de la seal: la respuesta de fase es razonablemente lineal para bajas frecuencias, pero se aparta de la linealidad para la frecuencias prximas a la de corte. El retardo del ltro IIR es mucho menor que el del FIR, como se observa en la Fig. 7.3 y en la Fig. 7.5 (1/2 muestra vs. 5.5 muestras, respectivamente).

7.4.

La comparacin FIR-IIR en el 2007

Las caractersticas generales de los ltros recursivos (IIR) y no recursivos (FIR) han variado desde la dcada del 70 hasta la actualidad, como muestra la Tabla 7.1. En 1970 la aplicacin fundamental era el ltrado selectivo en frecuencia y los ltros IIR ofrecan mayores ventajas, sobre todo porque se haban obtenido mtodos de diseo analticos, ptimos, en forma cerrada. Cuando la aplicacin de los ltros digitales se extendi a otros campos (ltros acoplados y ltros adaptivos) el diseo ptimo de los IIR dej de ser prctico, y los FIR se volvieron una eleccin natural, en especial porque la teora y las tcnicas de diseo de los ltros adaptivos estn bien desarrolladas solamente para ltros FIR. Tambin aparecieron nuevas aplicaciones en las que era necesario preservar la forma de onda de la seal de salida, lo que impone que el ltro tenga una respuesta de fase lineal. Este requisito se satisface ms fcilmente usando ltros FIR. En general, los factores que contribuyeron a la mayor utilizacin de ltros no recursivos fueron: nuevas aplicaciones de ltrado;

Procesamiento Digital de Seales

U.N.S. 2011

7.4. La comparacin FIR-IIR en el 2007

Tabla 7.1: Comparacin entre ltros recursivos (IIR) y no recursivos (FIR) a lo largo del tiempo. Las zonas grisadas indican las reas donde una de las implementaciones es superior a la otra.

Propiedad
mtodos de diseo lugares de memoriamultiplicaciones necesarias pasatodos exactos? inestables? zona muerta? fase lineal? transformador de Hilbert? adaptivo? posibilidad de paralelismo?

1970 FIR
subptimo usando ventanas muchos no no no s poco eficiente s

1980 IIR FIR IIR FIR

1990 IIR

ptimo, ptimo usando ptimo, ptimo usando ptimo, mtodos analtico, mtodos analtico, analtico, forma cerrada iterativos forma cerrada iterativos forma cerrada pocos s si polos pi (|pi | > 1) s no no causal no ms no no no s poco eficiente s muchas menos s si polos pi (|pi | > 1) s no no causal difcil o imposible pocas ms no no no s poco eficiente s muchas menos s no no s eficiente difcil o imposible muchas

requerimientos de fase lineal; la disponibilidad de los primeros mtodos de optimizacin: los FIR seguan necesitando ms operaciones por muestra que los IIR, pero la diferencia de eciencia entre ambos era menor; aparicin de tcnicas para trabajar con ltros FIR con respuesta impulsiva de gran longitud (mtodo de convolucin rpida, propuesto por Stockham en 1966); la disminucin del costo de la memoria y la disponibilidad de multiplicadores por hardware; la posibilidad de efectuar cmputos en paralelo: si bien ambos tipos de ltros se pueden adaptar para el clculo en paralelo, el paralelismo es ms limitado para los IIR si no se puede efectuar un producto en el intervalo de tiempo entre dos muestras. Como resultado de esta evolucin, para 1980 las preferencias se haban volcado hacia los ltros no recursivos (FIR). Pero como muestra la Tabla 7.1, algunas de las caractersticas que favorecieron a los FIR durante 1980 se neutralizaron en la dcada del 90. Lo que cambi para los IIR es que en la actualidad se pueden disear para ser siempre estables y tambin para tener una respuesta de fase lineal. Las implementaciones recientes son

Procesamiento Digital de Seales

U.N.S. 2011

10

7. Diseo de ltros digitales

ms adecuadas para la paralelizacin. Segn algunos autores (Rader, 2006) muchos de los problemas de los IIR en la actualidad estn sobrestimados.

7.4.1.

Los ltros recursivos en la actualidad

En alguna literatura se considera que los ltros IIR tienen problemas de inestabilidad, respuesta de fase no lineal, paralelismo limitado, y que son inapropiados para ciertas aplicaciones. Sin embargo, la mayora de estas limitaciones pueden salvarse si se efecta procesamiento por bloques, y se acepta el error despreciable de truncar la respuesta impulsiva. Un ltro recursivo puede aproximar una respuesta impulsiva deseada con error arbitrariamente pequeo. En teora, la respuesta impulsiva de un ltro recursivo es innitamente larga (de ah el nombre IIR), pero en la prctica la respuesta decae exponencialmente rpido a cero y se la puede truncar despus de algunos cientos de muestras cuando ha decado a valores insignicantes, manteniendo la cota de error. El comportamiento es equivalente a ltrar la seal con un ltro FIR de orden elevado, pero con muchas menos operaciones por muestra que las que seran necesarias para un ltro FIR de la misma longitud. La seal de entrada se parte en bloques de longitud L, mucho mayor que la longitud P de la respuesta impulsiva (truncada) del ltro. Cada bloque de entrada se ltra usando la ecuacin a diferencias recursiva, y el resultado se trunca a longitud L + P 1. Los bloques de salida sucesivos se concatenan como en el mtodo overlap-add solapando las primeras P 1 muestras de la etapa actual con las ltimas P 1 muestras de la etapa anterior. La eciencia computacional aumenta, pues mientras que el clculo de cada muestra de salida necesita P operaciones en un FIR de longitud P, la aproximacin de su respuesta impulsiva con un ltro IIR de orden N se consigue con N P. De esta forma el clculo de cada muestra de salida necesita a lo sumo 2 N P operaciones. El procesamiento por bloques permite adems solucionar otro tipo de problemas: 1. Estabilidad: El procesamiento por bloques permite que los ltros no sean necesariamente causales. En los ltros causales, los polos fuera del crculo unitario representan inestabilidad, pero si cada bloque de salida se computa iterando la ecuacin a diferencias hacia atrs en el tiempo, los polos que estn fuera del crculo no implican inestabilidad. De esta forma se pueden tener ltros recursivos con polos en cualquier lugar del plano complejo, excepto sobre el crculo unitario. 2. Fase lineal: Si H (e j ) es la respuesta en frecuencia de un ltro cualquiera, se puede obtener un ltro de fase lineal (de hecho, de fase nula) con respuesta en frecuencia j H (e j )j2 si el bloque de entrada se ltra dos veces, una de ellas hacia atrs en el tiempo, como se estudi en el Captulo anterior. Esta idea fue propuesta por Powell y Chau en 1990, pero en su momento no recibi mucha atencin. 3. Paralelismo: cada bloque puede procesarse en diferentes instancias de hardware. El procesamiento por bloques permite implementar transformadores de Hilbert muy ecientes (Rader, 1984). Siguiendo la idea de los ltros de fase nula, se utiliza un par de ltros IIR cuya respuesta de fase diere en /2 radianes. Esta implementacin es mucho ms eciente que un diseo FIR ptimo, necesitando de 5 a 10 veces menos multiplicaciones para las mismas especicaciones. Otros ltros, como los adaptivos, todava no se

Procesamiento Digital de Seales

U.N.S. 2011

7.5. Diseo de ltros

11

Fig. 7.6. Bandas de tolerancia para un ltro pasabajos.

pueden implementar fcilmente como IIR an usando el esquema de ltrado por bloques.

7.5.

Diseo de ltros

El diseo de un ltro digital involucra los siguientes pasos: especicacin de los requerimientos del ltro; eleccin de una aproximacin conveniente y clculo de los coecientes; representacin del ltro utilizando una estructura adecuada (realizacin); anlisis de los efectos de la longitud nita de palabra en el desempeo; implementacin en hardware o software. Estos cinco pasos no son necesariamente independientes, ni necesitan seguirse en el orden descrito; actualmente, las tcnicas de diseo disponibles combinan el segundo y parte del tercero y cuarto. Para lograr un ltro eciente es necesario iterar entre las distintas etapas, especialmente si, como es habitual, las especicaciones de diseo dejan cierto grado de libertad al diseador, o si se desean explorar otras alternativas de diseo.

7.5.1.

Especicaciones de diseo

Los requerimientos incluyen la especicacin de 1. las caractersticas de las seales: tipo de fuente de seal, interfaz de entrada-salida, velocidad de procesamiento, ancho de palabra, la mayor frecuencia de inters; 2. las caractersticas del ltro: la respuesta en mdulo y/o fase deseadas y sus tolerancias, la velocidad de operacin, el modo de ltrado (en lnea o fuera de lnea);

Procesamiento Digital de Seales

U.N.S. 2011

12

7. Diseo de ltros digitales

3. la forma de implementacin: como una rutina de alto nivel en una computadora, o un programa especco para un DSP; 4. otras restricciones al diseo, como por ejemplo el costo del ltro. Es posible que inicialmente el diseador no cuente con toda la informacin necesaria para especicar completamente el ltro, pero cuanto ms detalles se conozcan ms sencillo ser el proceso de diseo. Aunque algunos de los requerimientos discutidos arriba son dependientes de la aplicacin, es necesario resaltar los aspectos referidos a las caractersticas del ltro. Frecuentemente, los requisitos del ltro digital se especican en el dominio frecuencial, y para el caso de los ltros selectivos en frecuencia, estas especicaciones toman la forma de bandas de tolerancia, como muestra la Fig. 7.6 para el caso de un ltro pasabajos. Las zonas grisadas indican los lmites de tolerancia. En la banda de paso, el mdulo de la respuesta admite una variacin mxima de p , y en la banda de rechazo se pretende que la ganancia no exceda s . Es frecuente especicar estas cotas en dB. El ancho de la zona de transicin determina qu tan abrupto es el ltro. En esta regin se espera que el mdulo de la respuesta en frecuencia decrezca montonamente desde la banda de paso a la banda de rechazo. Los principales parmetros de inters son desviacin en la banda de paso: desviacin en la banda de rechazo: frecuencia de corte de la banda de paso: frecuencia de corte de la banda de rechazo: p, s , p, s .

Las frecuencias esquina se suelen normalizar a la frecuencia de muestreo ( i = 2 f i / f s ), pero tambin son frecuentes las especicaciones en unidades tpicas como Hz, kHz, y a menudo son mucho ms signicativas. Las desviaciones con respecto a la respuesta deseada tanto en la banda de paso como en la banda de rechazo pueden expresarse en valores absolutos o en decibeles (dB), indicando la ondulacin mxima (ripple) tolerada en la banda de paso, y la atenuacin mnima exigida en la banda de rechazo: As (atenuacin en la banda de rechazo): A p (ondulacin en la banda de paso): 20 log10 s , 20 log10 1 + p .

En general, la respuesta de fase un ltro no se especica tan detalladamente como el mdulo de la respuesta en frecuencia. En muchos casos es suciente indicar que importa la distorsin de fase, o que se pretende una respuesta de fase lineal. Slo es necesario detallar la respuesta en fase deseada en aquellas aplicaciones donde los ltros se utilizan para compensar o ecualizar la respuesta en fase de un sistema. E JEMPLO 7.2. Especicaciones de diseo de un ltro pasabanda
Se desea disear un ltro FIR pasabanda cuya respuesta en frecuencia satisfaga las siguientes especicaciones: banda de paso: 0,18 2 a 0,33 2 , ancho de la zona de transicin: 0,04 2 , ganancia en la banda de paso: 1 0,05 ( A p = 0,42 dB), ganancia en la banda de rechazo: < 0,001 ( As = 60 dB). En la Fig. 7.7 se muestra el esquema de bandas de tolerancias del ltro. La atenuacin en la banda de rechazo debe ser mayor que As = 20 log10 s = 60 dB, y la ondulacin mxima tolerada en la banda de paso es de A p = 20 log10 (1 + p ) = 0,42 dB.

Procesamiento Digital de Seales

U.N.S. 2011

7.5. Diseo de ltros

13

Fig. 7.7. Bandas de tolerancia para el ltro pasabanda del Ejemplo 7.2.

7.5.2.

Eleccin de la aproximacin y clculo de los coecientes

En esta etapa se elige alguno de los mtodos de aproximacin (Butterworth, Chebyshev, elptico, etc. si el ltro es IIR, o equirriple, ptimo, con ventanas, etc. si es FIR) y se calculan los valores de los coecientes h[n] del ltro FIR, o ak y bk del ltro IIR, de modo de satisfacer las especicaciones (Seccin 7.5.1). El mtodo empleado para determinar los coecientes es distinto segn el ltro sea IIR o FIR. Tradicionalmente, el clculo de los coecientes de los ltros IIR se basa en la transformacin de las funciones de sistema de ltros analgicos en ltros discretos. Los dos mtodos clsicos son el de invariacin al impulso y el de transformacin bilineal. Con la tcnica de la invariacin al impulso la respuesta impulsiva del ltro digital est formada por las muestras de la respuesta impulsiva del ltro analgico. Sin embargo, el mdulo de la respuesta en frecuencia del ltro discreto es diferente, en general, de la del ltro continuo. Debido a fenmenos de aliasing, el mtodo no es apropiado para el diseo de ltros pasaaltos o ltros eliminabanda, o cualquier tipo de ltro cuya respuesta en frecuencia no sea aproximadamente nula por encima de cierta frecuencia f H . Por otra parte, el mtodo de la transformada bilineal produce ltros muy ecientes, y es apropiado para el diseo de cualquier tipo de ltro con ganancia constante en la banda de paso. Permite el diseo de ltros con caractersticas frecuenciales clsicas como Butterworth, Chebyshev, elpticos, etc. Los ltros digitales calculados en base a la transformada bilineal preservan la caracterstica de respuesta en frecuencia, pero no las propiedades temporales. En la actualidad se cuenta con programas de clculo que permiten obtener los coecientes del ltro digital directamente a partir de las especicaciones usando el mtodo de la transformada bilineal o la tcnica analtica desarrollada por Rader y Gold (1967) para ltros recursivos equirriple. Los ltros con respuestas sencillas, como los resonadores, notch, ltros peine, osciladores digitales, etc., se pueden disear ubicando directamente los polos y los ceros en el plano complejo; sin embargo, si las especicaciones son exigentes, es conveniente utilizar las tcnicas de diseo clsicas. Los coecientes de los ltros FIR pueden calcularse con varios mtodos. Entre ellos merecen destacarse el diseo por ventanas, la tcnica de suavizado de las bandas de transicin, el mtodo de muestreo en frecuencia, y los mtodos ptimos (el algoritmo de Parks y McClellan o el algoritmo de Remez). El mtodo de diseo utilizando ventanas es sen-

Procesamiento Digital de Seales

U.N.S. 2011

14

7. Diseo de ltros digitales

Tabla 7.2: Mtodos tpicos para el diseo de ltros IIR y FIR. IIR invariacin al impulso transformada bilineal ubicacin directa de polos y ceros ptimos FIR ventanas bandas de transicin suaves muestreo en frecuencia ptimos

cillo y exible pero no permite un control muy preciso sobre los parmetros del ltro. La tcnica de las bandas de transicin suaves permite atenuar el efecto Gibbs, a costa de una pequea complejidad adicional. El mtodo de muestreo en frecuencia permite una implementacin particularmente eciente (y recursiva) de ltros FIR, pero puede tener problemas cuando se usa aritmtica de punto jo. Con la disponibilidad de programas de diseo ecientes y con buena interfaz con el usuario, los mtodos ptimos son ampliamente utilizados hoy en da, y para la mayora de las aplicaciones permiten obtener rpidamente el ltro FIR deseado. Los mtodos tpicos para el clculo de los coecientes de los ltros se resumen en la Tabla 7.2. El mtodo de diseo se elige de acuerdo a la aplicacin en particular. Si bien inuyen varios factores, el ms importante es qu tan crticas son las especicaciones. La decisin difcil es optar entre FIR o IIR. En aquellos casos en que las propiedades de los FIR (respuesta de fase estrictamente lineal, estabilidad inherente) son imprescindibles, la mejor eleccin puede ser el diseo por mtodos ptimos, o usando ventanas (generalmente la de Kaiser). Si, en cambio, son deseables las caractersticas de los IIR (menor cantidad de coecientes para especicaciones similares) el mtodo de la transformada bilineal es apropiado para la mayora de los casos.

7.5.3.

Realizacin

Por realizacin se entiende convertir una funcin de sistema H (z) en un conjunto de ecuaciones a diferencias que se ejecutarn como un algoritmo en un procesador. El conjunto de ecuaciones tambin se conoce como la estructura del ltro. Existen innitas formas de escribir la ecuacin a diferencias, de modo que existen innitos tipos de estructuras. Matemticamente las distintas realizaciones producen el mismo resultado sobre la seal a ltrar; sin embargo en el momento de la implementacin la sensibilidad a la variacin de los coecientes, propagacin del ruido de redondeo o de truncacin, organizacin y/o requerimientos de memoria en un procesador en particular, etc., suelen decidir la eleccin de una estructura particular. Cada realizacin se asocia a un diagrama bloque como los de las Figs. 7.2 y 7.4, que revela la cantidad de lugares de memoria necesarios para el almacenamiento de los datos y los coecientes, nmero de operaciones requeridas, etc. Es frecuente utilizar distintas estructuras para implementar ltros IIR o FIR. Para ltros IIR, las tres estructuras tpicas son las formas directa, cascada y paralelo; el diagrama bloque de una forma directa, denominada de tipo II es la que se muestra en la Fig. 7.2 para un sistema de segundo orden. En este caso, la funcin transferencia (9.4) se implementa con el conjunto de ecuaciones a diferencia (9.5); la Fig. 7.2 muestra que se necesitan dos lugares de memoria para almacenar la historia del ltro (los cuadrados sealados con z 1 )

Procesamiento Digital de Seales

U.N.S. 2011

7.5. Diseo de ltros

15

Fig. 7.8. Comparacin de los patrones de polos y ceros de una implementacin en forma directa I ( a) y en secciones de segundo orden, cada una de ellas en forma directa I (b) .

y cinco lugares de memoria para almacenar los coecientes ( a1 , a2 , b0 , b1 , b2 ) Sin embargo, las estructuras cascada y paralelo, que se estudiarn en el Captulo 13, son las ms utilizadas para la implementacin de ltros IIR pues son mucho ms insensibles a los efectos de cuantizacin de coecientes que la estructura directa. sta presenta una alta sensibilidad a la variacin de los coecientes, especialmente para ltros de alto orden, como se muestra en el siguiente E JEMPLO.

E JEMPLO 7.3. Inuencia de la estructura con coecientes de precisin innita


An cuando los coecientes se implementen con muy alta precisin, como cuando se usa MATLAB, la estructura directa es inadecuada para realizar ltros de alto orden. Por ejemplo, un ltro tipo Butterworth discreto de orden N = 30 con frecuencia de corte en c = /2 se caracteriza por tener 30 ceros en z = 1. La implementacin en forma directa, utilizando los comandos
[n, d] = butter(30,0.5); zplane(n,d);

da resultados muy diferentes, como se puede ver en la Fig. 7.8( a) . Por efecto de los (pequeos) errores numricos, los 30 ceros que deberan estar ubicados en z = 1, se esparcen en un entorno, no necesariamente pequeo, de este punto. La implementacin como secciones de segundo orden, que se disea con los comandos
[z,p,k] = butter(30,0.5); [sos,g] = zp2sos(z,p,k); hsos = dfilt.df1sos(sos,g); zplane(hsos);

tiene la distribucin de polos y ceros prevista por la teora, como se observa en la Fig. 7.8(b).

Para los ltros FIR (7.2) la forma ms utilizada es la directa, Fig. 7.4, porque es sencilla de implementar y aprovecha al mximo la arquitectura del hardware de la mayora de los procesadores digitales de seales (DSP). Esta estructura tambin se conoce como ltro transversal o lnea de retardo (tappered delay line) pues almacena los valores pasados de las muestras de la seal de entrada. Como se estudiar ms adelante, esta implementacin es mucho menos sensible a la cuantizacin de los coecientes que la forma directa de los ltros IIR. Otras estructuras de uso frecuente son las de muestreo en frecuencia y la de convolucin rpida, que se estudiarn en el Captulo 13.

Procesamiento Digital de Seales

U.N.S. 2011

16

7. Diseo de ltros digitales

Sintetizando, para un ltro dado la eleccin de la estructura depende: del tipo de ltro (IIR o FIR); de la facilidad de implementacin; de la sensibilidad de la estructura a los efectos de la longitud nita de palabra.

7.5.4.

Efectos de la longitud de palabra nita

Los pasos de diseo referidos a la aproximacin y a la realizacin suponen que las operaciones que especican los algoritmos se realizan con precisin innita, o al menos muy alta. Sin embargo, en muchas aplicaciones donde el bajo costo es decisivo, es necesario representar los coecientes del ltro utilizando un nmero nito de bits (tpicamente 8, 16 o ms), y realizar las operaciones indicadas por las ecuaciones a diferencia utilizando aritmtica de precisin nita. El uso de un nmero nito de bits degrada el desempeo del ltro, y en algunos casos puede inutilizarlo por completo. El diseador debe tener en cuenta estos efectos, y elegir longitudes de palabra apropiados para los coecientes del ltro, las variables de entrada y salida, y las operaciones aritmticas. En general, el ancho en bits de las palabras de entrada y salida (que se leen o se escriben en los conversores A/D y D/A, respectivamente) son mucho menores que la longitud de palabra utilizado para los coecientes y los cmputos (10 o 16 bits, frente a 25 o 32 bits). Las principales causas de la disminucin del desempeo en los ltros digitales debido a la longitud nita de palabra son: Cuantizacin de las seales de entrada y salida, debido a la resolucin nita de los conversores A/D y D/A. Este efecto se suele modelar como un fenmeno aleatorio (ruido), tal como se estudi en el Captulo 7. Cuantizacin de los coecientes, lo que conduce a variaciones de la respuesta en frecuencia de ltros FIR e IIR, y posiblemente a inestabilidades en los ltros IIR. Errores aritmticos por redondeo. Los procesadores con longitud de palabra nita tienen un acumulador con bits adicionales para mantener la precisin (por ejemplo, el resultado de la multiplicacin de dos nmeros de B bits es un nmero de 2 B bits). Cuando estos resultados se almacenan en memoria se truncan a la longitud de palabra adoptada. El error resultante, denominado ruido de redondeo, altera la respuesta del ltro. En los ltros IIR puede causar inestabilidad, y tambin dar lugar oscilaciones de pequea amplitud de la salida an con entrada nula. Desborde (overow), que ocurre cuando el resultado de una suma excede el ancho de palabra adoptado, resultando en errores de las muestras de salida, que pueden causar inestabilidad, u oscilaciones de gran amplitud en los ltros IIR. La degradacin del desempeo depende de: la longitud de palabra y tipo de aritmtica utilizada para efectuar los clculos; el mtodo adoptado para cuantizar las variables y los coecientes del ltro a la longitud de palabra elegida;

Procesamiento Digital de Seales

U.N.S. 2011

7.5. Diseo de ltros

17

Fig. 7.9. Respuesta en frecuencia del ltro del Ejemplo 7.4 implementado con una estructura tipo forma directa II. ( ) ltro prototipo; (- -) ltro con coecientes cuantizados.

Fig. 7.10. Respuesta en frecuencia del ltro del Ejemplo 7.4 implementado con una cascada de dos bloques de segundo orden. ( ) ltro prototipo; (- -) ltro con coecientes cuantizados.

la estructura del ltro. Conociendo estos factores, el diseador puede analizar los efectos de la longitud de palabra nita en el desempeo del ltro, y efectuar las correcciones que sean necesarias.

E JEMPLO 7.4. Efectos de cuantizacin en un ltro IIR


Un ltro IIR elptico de cuarto orden con frecuencia de corte en c = 0,3 , 0,1 dB de ondulacin en la banda de paso, y 60 dB de atenuacin en la banda de rechazo est caracterizado por la funcin de sistema b0 + b1 z 1 + b2 z 2 + b3 z 3 + b4 z 4 H (z) = , a0 + a1 z 1 + a2 z 2 + a3 z 3 + a4 z 4 donde b0 b1 b2 b3 b4

= = = = =

0,01588232577583, 0,04509870267465, 0,06160127928264, 0,04509870267465, 0,01588232577583,

a0 = a1 = a2 = a3 = a4 =

0,57816706294199, 1,00000000000000, 0,98785160189871, 0,49030269551500, 0,10997293011303.

Procesamiento Digital de Seales

U.N.S. 2011

18

7. Diseo de ltros digitales

El mdulo de la respuesta en frecuencia del ltro se muestra con lnea de trazo continuo en la Fig. 7.9. Si el ltro se implementa en un procesador de 8 bits, utilizando una estructura tipo forma directa II se deben truncar los coecientes, que resultan b0 b1 b2 b3 b4

= = = = =

0,0156250, 0,0468750, 0,0625000, 0,0468750, 0,0156250,

a0 = a1 = a2 = a3 = a4 =

0,5781250, 1,0000000, 0,9843750, 0,4921875, 0,1093750.

El mdulo de la respuesta en frecuencia del ltro con los coecientes cuantizados, gracada con lnea de trazos en Fig. 7.9, revela que se violan las especicaciones de diseo. Sin embargo, la eleccin de una estructura diferente puede solucionar el problema. En la Fig. 7.10 se muestra el mdulo de la respuesta en frecuencia del mismo ltro, implementado como una cascada de dos secciones de segundo orden, con ganancia C = 0,0274701, y cuyos coecientes cuantizados a 8 bits son b01 b11 b21 b02 b12 b22

= = = = = =

0,5000000, 0,8984375, 0,5000000, 0,5000000, 0,5234375, 0,5000000,

a01 = a11 = a21 = a02 = a12 = b22 =

0,5000000, 0,4531250, 0,1406250, 0,5000000, 0,4140625, 0,3437500.

La gura revela que los requisitos de diseo se satisfacen sin necesidad de cambiar la resolucin en bits de los coecientes.

El ejemplo anterior muestra que los efectos de la cuantizacin de los coecientes pueden atenuarse cambiando la estructura del ltro. Dependiendo de la implementacin, algunos de los errores mencionados pueden ser insignicantes. Por ejemplo, si el ltro se calcula en un lenguaje de alto nivel que se ejecuta en computadoras ms o menos modernas, por ejemplo con M ATLAB en una PC, los errores de cuantizacin de coecientes y redondeo no siempre son importantes. En aplicaciones de tiempo real las seales de entrada y salida se cuantizan a 8, 12 o 16 bits, segn el tipo de conversor A/D y D/A utilizado. Si el ancho de palabra elegido para efectuar la operaciones y el redondeo es de esta magnitud, es casi obligatorio analizar los efectos de la cuantizacin en las caractersticas del ltro.

7.5.5.

Implementacin

Una vez que se han calculado los coecientes del ltro, elegido una estructura adecuada, y vericado que las especicaciones se satisfacen despus de considerar la degradacin causada por la cuantizacin de coecientes y de las variables a la longitud de palabra elegida, la ecuacin a diferencias debe implementarse como una rutina de software o en hardware. Cualquiera sea el mtodo de implementacin, cada muestra de la salida y[n] del ltro debe calcularse de acuerdo a la ecuacin a diferencias que involucra multiplicaciones, sumas y restas, y retardos. De modo que para implementar un ltro se necesitan los siguientes bloques bsicos: memoria (ROM o RAM) para almacenar los coecientes del ltro;

Procesamiento Digital de Seales

U.N.S. 2011

7.6. Referencias

19

memoria RAM para almacenar las muestras actuales y pasadas de la entrada x [n], x [n 1], ..., x [n M], y la salida y[n], y[n 1], ..., y[n N ]; multiplicadores en hardware o rutinas de multiplicacin (bibliotecas de software); sumador o unidad aritmtico-lgica. La manera en que se conguran estos bloques depende fuertemente segn el procesamiento sea en tiempo real o fuera de lnea. Cuando se procesa fuera de lnea, los datos o seal de entrada estn disponibles en algn medio de almacenamiento (cinta, CD, memoria, etc.) Tal es el caso del registro de datos experimentales para el anlisis posterior. En estos casos el ltro se implementa utilizando un lenguaje de alto nivel, y se ejecuta en una computadora de propsito general. Por ello las implementaciones fuera de lnea suelen ser programas. En algunas aplicaciones, por ejemplo el procesamiento de imgenes, se agrega hardware adicional dedicado para acelerar la velocidad de procesamiento. En el procesamiento en tiempo real se requiere que el ltro genere una muestra de la seal de salida ante cada muestra de la seal de entrada, lo que implica que el cmputo completo de la ecuacin a diferencias debe completarse en el intervalo de tiempo entre una y otra muestra de la seal de entrada, o bien operar sobre bloques de datos utilizando las tcnicas tipo overlap-add u overlap-save. El procesamiento en tiempo real necesita de hardware dedicado cuando la frecuencia de muestreo es muy alta, o cuando el ltro es de alto orden. Este hardware se nuclea alrededor de un procesador digital de seales, o DSP, que en la actualidad es producido por varios fabricantes, como Motorola, Texas Instruments, Analog Devices, Burr Brown, etc. Cada DSP incluye memoria RAM y ROM o FLASH, multiplicadores rpidos, unidades aritmtico lgicas exibles, mtodos de direccionamiento poderosos, etc. y algunas unidades incluyen los conversores A/D y D/A necesarios para procesar seales del mundo exterior.

7.6.

Referencias

Ifeachor, E., Jervis, B. (1993) Digital Signal Processing: a practical approach, Addison-Wesley Longman Ltd, Edingburg Gate, Harlow, England. Powell, S. R., Chau, P. M. (1990) The reversed ltering in real time, Proc. IEEE Int. Symp. Circuits Systems, May 1990, Vol. 2, pp. 1239-1243. Rader, C. M., Gold, B. (1967) Digital lter design in the frequency domain, Proc. IEEE, Vol. 55, No. 2, pp. 149-171. Rader, C. M. (1984) A simple method for sampling in-phase and quadrature components, IEEE Trans. Aerospace Electr. Syst.,Vol. AES 20, No. 6, pp. 821-824. Rader, C. M. (2006) The rise and fall of recursive digital lters, IEEE Signal Proc. Magazine, Vol. 23, No. 6, pp. 46-49. Stockham, T. G. (1966) High speed convolution and correlation, Proc. AFIPS, No. 28, pp. 229-233.

Procesamiento Digital de Seales

U.N.S. 2011

You might also like