Documentos de Académico
Documentos de Profesional
Documentos de Cultura
07 Cap07
07 Cap07
La mayora de los textos sobre procesamiento digital de seales dedican un espacio sustancial a la teora de diseo de filtros incluyendo especialmente los mtodos de aproximacin tipo Butterworth, Chebyshev, elptico, Cauer, etc. lo que refleja no slo el formidable esfuerzo de investigacin destinado a desarrollar mtodos tiles para el clculo de
los coeficientes de los filtros, sino tambin los avances significativos 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 filtros desde las especificaciones hasta la implementacin, y se detallan las opciones de que dispone el diseador, y
los factores que pueden influir en sus decisiones.
7.1.
Un filtro 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 filtrado 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 eficiente de un canal de comunicacin, etc.
Un filtro 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 finalidad de efectuar un proceso de filtrado. El trmino
filtro digital se refiere al hardware o software especfico que ejecuta el algoritmo. Los
filtros 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 simplificado de un filtro 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
digital y[n] a valores continuos en tiempo que son procesados por un filtro analgico
para suavizar la forma de onda y remover componentes no deseadas de alta frecuencia.
Los filtros 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 prefieren por sobre
los filtros analgicos por uno o ms de los siguientes motivos:
Los filtros digitales pueden tener caractersticas que son imposibles de conseguir
con filtros analgicos, como por ejemplo una respuesta de fase exactamente lineal.
El desempeo de los filtros digitales no vara con las condiciones ambientales (temperatura, humedad, etc.) como s ocurre con los filtros analgicos, lo que elimina la
necesidad de calibrarlos peridicamente.
Si el filtro se implementa utilizando un procesador programable la respuesta en
frecuencia de un filtro digital puede ajustarse a voluntad (filtrado adaptivo).
El mismo filtro puede procesar varias seales o canales de entrada sin necesidad de
replicar el hardware.
Las seales filtradas y sin filtrar pueden almacenarse para uso o anlisis posterior.
Los avances en las tcnicas de integracin VLSI hacen que sea posible fabricar filtros
digitales pequeos, de bajo consumo, y de muy bajo costo.
La precisin con que un filtro digital verifica las especificaciones de diseo est
limitada solamente por la longitud de palabra (bits) utilizada para representar los
coeficientes del filtro y ejecutar las operaciones aritmticas; con los filtros analgicos
es difcil lograr atenuaciones que excedan los 60 o 70 dB en la banda de rechazo
(utilizando componentes convencionales).
El desempeo de los filtros digitales es repetible de unidad a unidad.
Los filtros digitales pueden utilizarse a muy bajas frecuencias, como las que se encuentran en aplicaciones biomdicas, donde el empleo de filtros analgicos es poco
prctico por los valores muy elevados de los componentes pasivos involucrados
(capacitores, inductancias). Adems, los filtros digitales pueden trabajar sobre un
amplio rango de frecuencias simplemente cambiando la frecuencia de muestreo.
Sin embargo, los filtros digitales tambin presentan una serie de desventajas respecto a
los filtros analgicos:
Limitacin de frecuencia. La frecuencia de Nyquist que fija el ancho de banda til
que el filtro puede procesar queda definida por el proceso de conversin (tiempos
U.N.S. 2011
7.2.
y[n] =
h[k] x [n
k ],
(7.1)
k ].
(7.2)
k =0
y[n] =
h[k] x [n
k =0
Del anlisis de estas dos ecuaciones es evidente que, mientras que la suma convolucin
puede ser una forma apropiada para implementar un filtro FIR, no es adecuada para
los filtros IIR debido a que la respuesta impulsiva es muy larga (en teora, infinitamente
larga). Por ello, los filtros IIR se implementan con ecuaciones a diferencia que permiten
calcular las muestras de salida en forma recursiva
N
y[n] =
ak y[n
k =1
k] +
bk x [ n
k ],
(7.3)
k =0
U.N.S. 2011
HFIR (z) =
h[k]z
HIIR (z) =
k =0
kM=0 bk z
kN=0 ak z
k
k
para filtros FIR e IIR, respectivamente, y resultan convenientes para el anlisis de estabilidad, respuesta en frecuencia, etc.
Los factores que influencian la eleccin entre distintas alternativas en cada etapa del diseo de filtro tienen mucho que ver con que el filtro sea FIR o IIR. Por ello resulta importante apreciar las diferencias entre ambos tipos de filtros, las caractersticas peculiares de
cada uno, y, lo ms importante, cmo elegir entre uno y otro.
7.3.
La eleccin entre una implementacin FIR e IIR depende de las ventajas relativas de cada
uno de estos dos tipos de filtros.
1. Los filtros 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 filtros IIR no es lineal, en especial en cercanas de la zona de transicin.
2. Los filtros FIR implementados de forma no recursiva, por ejemplo aplicando (7.2),
son inherentemente estables. En cambio, la estabilidad de los filtros IIR siempre
debe comprobarse, ya que son sistemas realimentados.
3. Los efectos causados por la implementacin con aritmtica de punto fijo, tales como
los errores de cuantizacin de los coeficientes y los errores por redondeo en las
operaciones aritmticas, son mucho ms severos en los filtros IIR que en los FIR.
4. Para satisfacer unas especificaciones dadas los filtros FIR necesitan un mayor nmero
de coeficientes que los filtros 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
significativamente la eficiencia de las implementaciones.
U.N.S. 2011
5. Un filtro analgico convencional puede convertirse en un filtro digital IIR equivalente que satisfaga las especificaciones de diseo de manera sencilla. Esto no es
posible con filtros FIR pues no tienen una contraparte analgica. Sin embargo es
ms sencillo sintetizar filtros con respuestas en frecuencia arbitrarias utilizando filtros 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 (filtros con cortes muy abruptos) y eficiencia de cmputo, se prefieren filtros IIR pues
necesitan un nmero de coeficientes mucho menor que un filtro FIR equivalente
(especialmente si se eligen caractersticas frecuenciales elpticas o de Cauer).
Si el nmero de coeficientes del filtro 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 filtros FIR. Los procesadores digitales modernos
(DSP) estn optimizados para implementar este tipo de filtros, y algunos se han
diseado especficamente con esa finalidad (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.
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],
1] + b2 w[n
2].
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):
11
H (z) =
h[k]z
k =0
con
h [0]
h [1]
h [2]
h [3]
h [4]
h [5]
=
=
=
=
=
=
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 ,
U.N.S. 2011
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).
U.N.S. 2011
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) .
U.N.S. 2011
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)
FIR
12
11
24
IIR
5
4
8
7.4.
Las caractersticas generales de los filtros 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 filtrado selectivo en frecuencia y los filtros IIR ofrecan
mayores ventajas, sobre todo porque se haban obtenido mtodos de diseo analticos,
ptimos, en forma cerrada.
Cuando la aplicacin de los filtros digitales se extendi a otros campos (filtros acoplados y filtros 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
filtros adaptivos estn bien desarrolladas solamente para filtros 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 filtro tenga una respuesta de fase lineal. Este requisito se
satisface ms fcilmente usando filtros FIR. En general, los factores que contribuyeron a
la mayor utilizacin de filtros no recursivos fueron:
nuevas aplicaciones de filtrado;
U.N.S. 2011
Tabla 7.1: Comparacin entre filtros 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
1970
FIR
1980
IIR
FIR
1990
IIR
FIR
IIR
mtodos de
diseo
subptimo
usando
ventanas
lugares de memoriamultiplicaciones
necesarias
muchos
pocos
ms
menos
ms
menos
pasatodos exactos?
no
no
no
inestables?
no
si polos pi
(|pi | > 1)
no
si polos pi
(|pi | > 1)
no
no
zona muerta?
no
no
no
no
fase lineal?
no
no
transformador de
Hilbert?
poco
eficiente
no causal
poco
eficiente
no causal
poco
eficiente
eficiente
adaptivo?
no
difcil o
imposible
difcil o
imposible
muchas
pocas
muchas
muchas
ptimo,
ptimo usando
ptimo,
ptimo usando
ptimo,
mtodos
analtico,
mtodos
analtico,
analtico,
forma cerrada
iterativos
forma cerrada
iterativos
forma cerrada
posibilidad de
paralelismo?
U.N.S. 2011
10
7.4.1.
En alguna literatura se considera que los filtros 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 filtro recursivo puede aproximar una respuesta impulsiva deseada con error arbitrariamente pequeo. En teora, la respuesta impulsiva de un filtro recursivo es
infinitamente 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 insignificantes, manteniendo la cota de error. El comportamiento es equivalente a filtrar la seal con un filtro FIR de orden elevado, pero con
muchas menos operaciones por muestra que las que seran necesarias para un filtro 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 filtro. Cada bloque de entrada se filtra 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 eficiencia 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 filtro IIR de orden N se consigue con N
P. De esta forma el clculo
de cada muestra de salida necesita a lo sumo 2N
P operaciones.
El procesamiento por bloques permite adems solucionar otro tipo de problemas:
1. Estabilidad: El procesamiento por bloques permite que los filtros no sean necesariamente causales. En los filtros 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 filtros 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 filtro cualquiera, se puede
obtener un filtro de fase lineal (de hecho, de fase nula) con respuesta en frecuencia
j H (e j )j2 si el bloque de entrada se filtra 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 eficientes (Rader, 1984). Siguiendo la idea de los filtros de fase nula, se utiliza un par de
filtros IIR cuya respuesta de fase difiere en /2 radianes. Esta implementacin es mucho
ms eficiente que un diseo FIR ptimo, necesitando de 5 a 10 veces menos multiplicaciones para las mismas especificaciones. Otros filtros, como los adaptivos, todava no se
U.N.S. 2011
11
pueden implementar fcilmente como IIR an usando el esquema de filtrado por bloques.
7.5.
Diseo de filtros
7.5.1.
Especificaciones de diseo
U.N.S. 2011
12
p,
s ,
p,
s .
20 log10 s ,
20 log10 1 + p .
U.N.S. 2011
13
Fig. 7.7. Bandas de tolerancia para el ltro pasabanda del Ejemplo 7.2.
7.5.2.
U.N.S. 2011
14
FIR
ventanas
bandas de transicin suaves
muestreo en frecuencia
ptimos
cillo y flexible pero no permite un control muy preciso sobre los parmetros del filtro.
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 eficiente (y recursiva) de filtros FIR, pero puede tener
problemas cuando se usa aritmtica de punto fijo. Con la disponibilidad de programas
de diseo eficientes 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 filtro FIR deseado.
Los mtodos tpicos para el clculo de los coeficientes de los filtros se resumen en la Tabla
7.2. El mtodo de diseo se elige de acuerdo a la aplicacin en particular. Si bien influyen
varios factores, el ms importante es qu tan crticas son las especificaciones. 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 coeficientes para especificaciones 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 filtro. Existen infinitas formas
de escribir la ecuacin a diferencias, de modo que existen infinitos tipos de estructuras.
Matemticamente las distintas realizaciones producen el mismo resultado sobre la seal
a filtrar; sin embargo en el momento de la implementacin la sensibilidad a la variacin
de los coeficientes, 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 coeficientes, nmero de operaciones requeridas, etc.
Es frecuente utilizar distintas estructuras para implementar filtros IIR o FIR. Para filtros
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 filtro (los cuadrados sealados con z 1 )
U.N.S. 2011
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 coeficientes ( 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 filtros IIR pues son mucho ms insensibles a los
efectos de cuantizacin de coeficientes que la estructura directa. sta presenta una alta
sensibilidad a la variacin de los coeficientes, especialmente para filtros de alto orden,
como se muestra en el siguiente E JEMPLO.
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 filtros 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 filtro 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 coeficientes que la forma directa de los filtros IIR. Otras estructuras de uso frecuente son las de muestreo en
frecuencia y la de convolucin rpida, que se estudiarn en el Captulo 13.
U.N.S. 2011
16
7.5.4.
Los pasos de diseo referidos a la aproximacin y a la realizacin suponen que las operaciones que especifican los algoritmos se realizan con precisin infinita, o al menos muy
alta. Sin embargo, en muchas aplicaciones donde el bajo costo es decisivo, es necesario
representar los coeficientes del filtro utilizando un nmero finito de bits (tpicamente 8,
16 o ms), y realizar las operaciones indicadas por las ecuaciones a diferencia utilizando
aritmtica de precisin finita.
El uso de un nmero finito de bits degrada el desempeo del filtro, y en algunos casos
puede inutilizarlo por completo. El diseador debe tener en cuenta estos efectos, y elegir
longitudes de palabra apropiados para los coeficientes del filtro, 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 coeficientes y
los cmputos (10 o 16 bits, frente a 25 o 32 bits).
Las principales causas de la disminucin del desempeo en los filtros digitales debido a
la longitud finita de palabra son:
Cuantizacin de las seales de entrada y salida, debido a la resolucin finita 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 coeficientes, lo que conduce a variaciones de la respuesta en frecuencia de filtros FIR e IIR, y posiblemente a inestabilidades en los filtros IIR.
Errores aritmticos por redondeo. Los procesadores con longitud de palabra finita 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 2B 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 filtro. En los filtros IIR puede causar inestabilidad, y tambin dar lugar oscilaciones de pequea amplitud de la salida an con entrada nula.
Desborde (overflow), 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 filtros 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 coeficientes del filtro a la
longitud de palabra elegida;
U.N.S. 2011
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.
=
=
=
=
=
0,01588232577583,
a0 =
0,57816706294199,
0,04509870267465,
a1 =
1,00000000000000,
0,06160127928264,
a2 =
0,98785160189871,
0,04509870267465,
a3 =
0,49030269551500,
0,01588232577583,
a4 =
0,10997293011303.
U.N.S. 2011
18
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,
a0 =
0,5781250,
0,0468750,
a1 =
1,0000000,
0,0625000,
a2 =
0,9843750,
0,0468750,
a3 =
0,4921875,
0,0156250,
a4 =
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,
a01 =
0,5000000,
0,8984375,
a11 =
0,4531250,
0,5000000,
a21 =
0,1406250,
0,5000000,
a02 =
0,5000000,
0,5234375,
a12 =
0,4140625,
0,5000000,
b22 =
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 coeficientes pueden
atenuarse cambiando la estructura del filtro. Dependiendo de la implementacin, algunos de los errores mencionados pueden ser insignificantes. Por ejemplo, si el filtro 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 coeficientes
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 filtro.
7.5.5.
Implementacin
Una vez que se han calculado los coeficientes del filtro, elegido una estructura adecuada,
y verificado que las especificaciones se satisfacen despus de considerar la degradacin
causada por la cuantizacin de coeficientes 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 filtro debe calcularse de acuerdo a la ecuacin a diferencias que involucra multiplicaciones, sumas y restas, y retardos. De modo que para implementar un filtro se necesitan
los siguientes bloques bsicos:
memoria (ROM o RAM) para almacenar los coeficientes del filtro;
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 configuran 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 filtro 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 filtro 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 filtro 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 flexibles, 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 filtering in real time, Proc. IEEE Int. Symp.
Circuits Systems, May 1990, Vol. 2, pp. 1239-1243.
Rader, C. M., Gold, B. (1967) Digital filter 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 filters, 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.
U.N.S. 2011