Anda di halaman 1dari 68

Prcticas de la Asignatura Tratamiento Digital de Seales

SNTESIS DE FILTROS DIGITALES







Fernando Cruz Roldn


ndice
Prctica de Diseo de Filtros Digitales. 1
Prctica de Efectos de la Cuantificacin de los Coeficientes en
Filtros Digitales. 35

1
Prctica de Diseo de Filtros Digitales
A. OBJETIVOS
Los filtros digitales se pueden clasificar en dos grandes grupos: aquellos que presentan
una respuesta al impulso de duracin infinita (IIR) y, por el contrario, los sistemas FIR o de
respuesta al impulso finita.
En el apartado de fundamentos tericos se van a introducir los conceptos fundamentales
que caracterizan a cada uno de los grupos, para a continuacin estudiar con detalle las
tcnicas ms empleadas en la etapa de aproximacin o clculo de los coeficientes.
Para sistemas IIR se van a presentar los mtodos de ubicacin de polos y ceros, y el
diseo de filtros digitales a partir de prototipos analgicos. Se emplearn las transformaciones
invariante de impulso y bilineal. En este apartado se pretende que se distingan las diferencias
que se producen al emplear cada una de ellas, y que se elija en cada momento y en funcin del
tipo de filtro, la ms apropiada.
Una de las caractersticas ms importantes de los sistemas FIR se debe a que pueden
presentar una fase de la respuesta en frecuencia lineal. Se estudiarn las condiciones que debe
cumplir la respuesta al impulso y los distintos grupos de filtros FIR que tienen fase lineal. En
la etapa de aproximacin se desarrollar el mtodo de la Transformada de Fourier o de la
ventana. El objetivo fundamental ser apreciar la influencia de la longitud y de la forma de
diversas ventanas, y cmo queda afectada la respuesta en frecuencia del filtro deseado al
truncar su respuesta al impulso.
En la realizacin de la prctica se van a disear filtros digitales siguiendo todos los
mtodos desarrollados en los fundamentos tericos, y adems se dedicar un apartado al
diseo de filtros FIR por el procedimiento de Parks-McClellan, el cual obtiene filtros ptimos
en el sentido de Chebyshev.
2 Tratamiento Digital de Seales
B. FUNDAMENTOS TERICOS
1. DISEO DE FILTROS IIR
1.1 Propiedades de los filtros IIR
Para sistemas IIR la relacin entrada-salida viene establecida por la expresin (1.1).
[ ] [ ] [ ]


= =
+ =
1 0 k
k
M
k
k
k n y a k n x b n y (1.1)
Estos sistemas no pueden realizarse de forma no recursiva, ya que para calcular la salida en
el instante "n" hemos de considerar las salidas en los instantes "n-k", necesitando la estructura
lazos de realimentacin. Estas realizaciones realimentadas son potencialmente inestables.
Para calcular la salida por la expresin (1.1) necesitamos N+M+1 multiplicaciones y
N+M sumas. Sin embargo, empleando la expresin establecida para la convolucin directa
(1.2) el nmero de operaciones se hara infinito.
[ ] [ ] [ ] k n x k h n y
k
=

=0
(1.2)
La funcin de sistema se rige por la expresin 1.3.
( ) [ ]
( )
( )

= =
1
0
0
1
h
k
k
k
M
k
k
k
n
n
z a
z b
z
z
z n z (1.3)
Dicha funcin no puede tratarse en forma de polinomio, pues tendra infinitos trminos,
sino como una funcin racional, cociente de dos polinomios, que tendr polos en puntos
finitos del plano z en general situados fuera del origen, lo cual no ocurre en los sistemas
F.I.R.. La presencia de estos polos proporciona mayor flexibilidad y potencia en el problema
de la aproximacin, pero conlleva otras dificultades.
Normalmente un filtro I.I.R. necesita menos coeficientes que el correspondiente F.I.R.
para las mismas especificaciones. Se emplean cuando se requieren transiciones abruptas y alto
rendimiento. El precio que se paga es que se convierta en inestable o se degraden las
caractersticas en frecuencia si no se toman algunas precauciones.
La respuesta en frecuencia (1.4) se obtiene, si el sistema es estable, particularizando en
la funcin del sistema los puntos z en la circunferencia de radio unidad

=
j
e z .

( ) [ ]


=

=

= =
1
0
0
1
k
jk
k
M
k
jk
k
n
n j
e a
e b
e n h (1.4)
Los sistemas I.I.R. no van a poder presentar una caracterstica de fase exactamente
lineal si queremos que sean causales. La solucin ms habitual se basa en aproximar el
Tratamiento Digital de Seales 3
mdulo de la funcin de transferencia sin preocuparnos de la fase, bien porque no sea
importante o bien porque se ajuste en una etapa posterior de tipo paso-todo.
Si los coeficientes a
k
y b
k
de H(z) son reales, los polos y los ceros aparecen por parejas
conjugadas o son reales. Para que el sistema sea estable y causal todos los polos deben
situarse exactamente en el interior de la circunferencia unidad (o ser coincidentes con ceros en
dicha circunferencia), no habiendo restriccin para los ceros.
1.2 Especificaciones del filtro
Para filtros selectivos en frecuencia (paso bajo, paso banda,...) las especificaciones se
suelen dar como un esquema de tolerancia. Para un filtro paso bajo podemos tener la plantilla
representada en la figura 1.1.

fig. 1.1: Plantilla de especificaciones para un filtro IIR paso bajo.
Para especificar la respuesta en frecuencia se emplean unos parmetros:

2
: parmetro de rizado de la banda de paso

p
: desviacin de la banda de paso

s
: desviacin de la banda eliminada

p
: pulsacin de corte de la banda de paso

s
: pulsacin de corte de la banda eliminada

En algunas ocasiones las frecuencias de corte se dan normalizadas con respecto a la
frecuencia de muestreo, debiendo expresar las unidades correctamente.
Para filtros I.I.R. el rizado de la banda de paso se suele indicar como la diferencia entre
el mximo y el mnimo de la desviacin en la banda de paso. Sin embargo para filtros F.I.R.
el rizado de la banda de paso es la diferencia entre la respuesta ideal y la mxima (o la
mnima) desviacin en la banda de paso. Es decir, en sistemas I.I.R., el rizado de la banda de
paso es el rizado pico a pico en dicha banda.
4 Tratamiento Digital de Seales
1.3 Etapa de aproximacin
El objetivo de esta etapa es seleccionar un mtodo de aproximacin para calcular los
coeficientes a
k
y b
k
, de manera que el mdulo de la respuesta en frecuencia se ajuste a la
plantilla de especificaciones.
El mtodo ms sencillo consiste en colocar los polos y los ceros en el plano z a simple
vista, de forma que se obtenga la respuesta en frecuencia deseada. Otros mtodos ms
eficientes se van a basar en disear el equivalente analgico que cumpla las plantillas dadas, y
convertirlo en uno digital. Estos ltimos son los que ms se suelen utilizar.
1.3.1 Mtodo de colocacin de polos y ceros
Este mtodo se basa en la propia definicin de polo y cero. Un cero es un punto del
plano z en el que la funcin del sistema se hace nula, mientras que en un polo el valor de
dicha funcin tiende a infinito. En puntos del plano z prximos a un polo, el valor del ( ) z
es elevado, mientras que en puntos cercanos a un cero el valor del ( ) z se reduce
considerablemente.
Este mtodo consiste en colocar los polos y los ceros en el plano z de manera que se
obtenga un mdulo de la respuesta en frecuencia aproximado al que se desea. Como la
respuesta en frecuencia se evala en la circunferencia de radio unidad del plano z, si existe un
polo prximo a dicha circunferencia, el valor de ( )

j
e ser elevado en aquellos puntos
cercanos a dicho polo. Si se coloca un cero cercano a dicha circunferencia, se conseguir
reducir el valor del ( )

j
e . Se obtiene atenuacin total en una frecuencia
0
situando un
cero en
0

=
j
e z .
As, se pueden disear distintos filtros en los que no se especifica de manera meticulosa
la plantilla de especificaciones y calcular de manera sencilla filtros paso bajo, paso alto,... . Es
obvio que este mtodo se emplea en contadas ocasiones y para funciones de sistema
extremadamente simples.
1.3.2 Diseo de filtros IIR a partir de prototipos analgicos
Es la forma tradicional de diseo de sistemas I.I.R. por varias razones:
El diseo de filtros analgicos es un problema muy estudiado.
En bastantes aplicaciones interesan filtros digitales que simulen el funcionamiento de
un filtro analgico.
Los mtodos de aproximacin convencionales funcionan bien en los filtros
analgicos pero no dan lugar a frmulas sencillas de diseo cuando se aplican
directamente a los sistemas discretos.
Los mtodos se basan en el diseo del equivalente analgico que cumpla las plantillas
dadas para convertirlo posteriormente en uno digital.
La especificacin de partida se har siempre en el dominio discreto. Aprovechando que
el diseo de filtros analgicos es un campo bien estudiado, se traslada el problema de la
aproximacin al dominio s. De aqu se obtendr una funcin del sistema analgico ( ) s
a

(expresin (1.5)).
Tratamiento Digital de Seales 5
( )
( )
( )

=
=
=
=

=
N
k
k
M
k
k
N
k
k
k
M
k
k
k
a
d s
c s
s
s
s H
1
1
0
0

(1.5)
Una vez que se han obtenido los coeficientes {
k
} y {
k
}, o bien los ceros y los polos
{c
k
} y {d
k
} del filtro analgico, se emplean algunas transformaciones para convertirlo en un
filtro digital. Esta tcnica ser efectiva si tiene unas propiedades:
a. El eje "j" del plano s debera transformarse en la circunferencia unidad del plano z.
De esta forma la transformacin conserva en lo esencial el comportamiento en
frecuencia del sistema continuo.
b. La transformacin debe conservar la estabilidad del sistema. Cada punto del
semiplano izquierdo del plano s debera transformarse en otro interior a la
circunferencia unidad.
Existen diversos mtodos para realizar la conversin de la funcin de sistema analgica
en la digital, destacando por su utilizacin la transformacin invariante de impulso y la
transformacin bilineal. La relacin dificultad/eficiencia de estas tcnicas es muy baja.
1.3.2.1 Transformacin invariante de impulso
Se basa en tomar como respuesta al impulso del filtro digital una versin muestreada de
la respuesta al impulso del sistema de tiempo continuo empleando un perodo de muestreo T
(expresin 1.6). Dicho valor es irrelevante cuando la especificacin original se da en el
dominio discreto. Adems, no tiene porqu coincidir con el valor del perodo que introduce el
convertidor A/D.
[ ] ( ) T n h k n h
a
= (1.6)
Cuando empleamos la transformacin invariante de impulso para disear un sistema de
tiempo discreto a partir de una especificacin de su respuesta en frecuencia, es especialmente
importante la relacin entre las respuestas en frecuencia de los sistemas de tiempo continuo y
discreto. Si prescindimos del solapamiento (suponiendo espectros limitados en banda
muestreados a suficiente velocidad), las frecuencias de los sistemas de tiempo discreto y de
tiempo continuo se relacionan de forma lineal como se indica en la expresin (1.7). El primer
problema surge porque no hay sistemas analgicos limitados en banda y el solapamiento ser
inevitable.
= T (1.7)
Para demostrar cmo se consigue el sistema de tiempo discreto, vamos a partir de la
funcin de sistema dada en la expresin (1.5). Supondremos que M <N y que todos los polos
de H
a
(s) son simples. En caso contrario el mtodo se complica, necesitando realizar algunas
modificaciones en lo que se explica a continuacin.
En primer lugar se desarrolla en fracciones simples la funcin de sistema (1.8), donde
las constantes A
k
se calculan a partir de la expresin (1.9).
( )
( )

=

=
N
k
k
K
a
d s
A
s H
1
(1.8)
6 Tratamiento Digital de Seales
( ) ( )
k
d s k a k
d s s H A
=
= (1.9)
La respuesta al impulso del sistema causal de tiempo continuo resultante (1.10) se
obtiene calculando la Transformada Inversa de Laplace. La respuesta al impulso del sistema
de tiempo discreto (1.11) ser la del sistema analgico muestreada a 1/T muestras por
segundo.
( ) ( )

=
N
k
t d
k a
t u e A t h
k
1
(1.10)
[ ] ( ) [ ]

=

= =
N
k
n T d
k a
n u e A nT h n h
k
1
(1.11)
La funcin del sistema se obtiene calculando la Transformada Z de la respuesta al
impulso h[n].
( ) [ ] ( )


= =

= =
0 1 0 n
N
k
n
n
T d
k
n
n
z e A z n h z H
k
(1.12)
( ) ( )
( )

=

=

=


= =
N
k
T d
k
N
k n
n
T d
k
z e
A
z e A z H
k
k
1
1
1 0
1
1
(1.13)
De las expresiones (1.8) y (1.13) se deduce que un polo en
k
d s = en el plano s se
transforma en un polo en
T d
k
e z

= , siendo los residuos de los desarrollos en fracciones
simples iguales.
La figura 1.2 muestra la transformacin del plano s en el plano z. Cada banda horizontal
del plano s de anchura 2/T se transforma en todo el plano z. Por tanto, para que el filtro
digital se corresponda exactamente con el analgico de partida es necesario que este ltimo
sea de banda limitada, es decir, que H
a
()=0 para ||>/T.

fig. 1.2: transformacin de planos empleando la transformacin invariante de impulso.
Las caractersticas del filtro digital diseado son:
Tiene el mismo nmero de polos que el prototipo analgico.
Tratamiento Digital de Seales 7
La transformacin de los polos
k
d s = en
T d
k
e z

= garantiza el mantenimiento de la
estabilidad en la transformacin.
Cuando el solapamiento sea irrelevante, la respuesta en frecuencia es una versin
plegada de la respuesta en frecuencia del filtro analgico, conservndose las
propiedades ptimas de este.
En resumen:
a. La respuesta al impulso del filtro discreto es idntica a la del filtro analgico en los
instantes T n t = .
b. La frecuencia de muestreo afecta a la respuesta en frecuencia del filtro invariante al
impulso. Se necesita una frecuencia muy alta para que el sistema discreto sea igual
que el analgico.
c. El mtodo debe usarse para filtros paso bajo con banda de transicin muy reducida, y
empleando una frecuencia de muestreo elevada. No puede emplearse para filtros
paso alto o filtros banda eliminada, pues el solapamiento en estos es inevitable.
1.3.2.2 Transformacin bilineal
El mtodo descrito en el apartado anterior tiene un grave inconveniente: la
transformacin de cada tramo de longitud 2/T del eje j del plano s en toda la circunferencia
de radio unidad va a conllevar en ocasiones un solapamiento, de forma que la tcnica es
impracticable en algunos tipos de filtros. Con la transformacin bilineal evitamos esos
problemas. Las relaciones algebraicas que la caracterizan son las indicadas en 1.14.
( )
( )

+
=
+

s
T
s
T
z
z
z
T
s
2
1
2
1
1
1 2
1
1
(1.14)
Esta transformacin conserva el comportamiento en frecuencia del sistema continuo, ya
que si s=j, se tiene el cociente de dos nmeros complejos conjugados, luego |z|=1 para
cualquier valor de . Con esto se demuestra que el eje j se transforma en la circunferencia
unidad del plano z. Cada uno de los valores de se transforma en un solo punto de , de
forma que < . Podemos establecer que si s , en el plano z tenemos z =-1. Si
0 = s , el nuevo punto es z =1.

+
=

j
T
j
T
z
2
1
2
1
(1.15)
La transformacin bilineal tambin mantiene la estabilidad del sistema, ya que si <0
(cualquier punto del semiplano izquierdo de s) se obtiene que |z|<1. Esto significa que dicho
semiplano izquierdo de s se transforma en el interior de la circunferencia unidad del plano z.
El resultado de la transformacin se puede observar en la figura 1.3.
( )
( )

+
=

+ +
=
2 2
1
2 2
1
2
1
2
1
T
j
T
T
j
T
j
T
j
T
z




(1.16)
8 Tratamiento Digital de Seales

fig. 1.3: transformacin de planos empleando la transformacin bilineal.
La funcin del sistema del filtro digital se obtiene mediante un cambio de variable en la
funcin de sistema del filtro analgico (expresin 1.17). Hay que advertir que si bien se
conserva el orden del denominador en ambos sistemas, sin embargo, el orden del numerador
puede ser mayor en el sistema discreto que en el continuo debido a que los ceros en del
plano s se transforman en ceros en z =-1.
( ) ( )
( )
( )
1
1
1
1 2

=
=
z
z
T
s
s H z H (1.17)
La transformacin bilineal presenta como inconveniente que aparece distorsin en el eje
de frecuencia digital . Si se estudia la relacin entre los dos ejes de frecuencia se podr
corregir la distorsin en la etapa de diseo del filtro. Esta relacin se puede obtener
comprobando en qu se transforma el eje j (expresiones 1.18 y 1.19).
( )
( )
( )
( )

=
+

2
tg
2
2 cos
2 sen 2
1
1 2
j
T
j
T
e
e
T
j
j
j
(1.18)

=
2
tg 2 T (1.19)
En la figura 1.4 se representa la funcin establecida por (1.19). En la figura 1.5 se puede
observar el efecto que trae consigo la relacin no lineal que existe entre la frecuencia
analgica y la digital. Esta no linealidad limita la aplicacin de la transformacin bilineal a
respuestas en frecuencia analgicas idealmente formadas por tramos constantes, caso en el
que se mantienen las caractersticas del diseo analgico (decrecimiento montono, rizado
constante, etc.).
Tratamiento Digital de Seales 9


fig. 1.4: transformacin del eje de frecuencias de tiempo continuo en la circunferencia de radio unidad.

2
2 T
d
tan
F
H
G
I
K
J

fig. 1.5: representacin del efecto de la no linealidad en la aplicacin de la transformacin bilineal.
Por ello, cuando las especificaciones se dan en el dominio discreto es conveniente
realizar una predistorsin de los valores extremos de las bandas para fijar la especificacin del
filtro analgico de partida.
Se puede resumir el mtodo de la transformacin bilineal en los pasos siguientes:
Especificar el conjunto de frecuencias crticas {
k
} del filtro digital deseado. No hay
limitacin para el nmero de estas frecuencias.
Predistorsionar dichas frecuencias crticas para obtener las frecuencias crticas
analgicas {
k
} mediante la expresin (1.20).

=
2
tg
2
k
k
T
(1.20)
Disear un filtro analgico con las frecuencias crticas analgicas calculadas. Las
aproximaciones ms utilizadas en esta fase son las de Butterworth, Chebyshev o
elptica.
Obtener la funcin del sistema discreto empleando la transformacin bilineal
(expresin 1.17)
Cuando no interesa mantener la respuesta al impulso o la fase de la respuesta en
frecuencia del filtro analgico, la transformacin bilineal siempre resulta mejor que la
invariante de impulso debido a que no tiene problemas de solapamiento.
10 Tratamiento Digital de Seales
1.3.3 Transformacin de frecuencias
Hasta aqu hemos estudiado cmo obtener filtros paso bajo digitales a partir de
prototipos analgicos, tambin paso bajo. Cuando se desean filtros con otro comportamiento
en frecuencia como paso alto, paso banda o banda eliminada se parte tambin de un prototipo
analgico paso bajo al que hay que aplicar dos transformaciones:
Una para convertir el filtro analgico en digital.
Otra para trasladar la banda de paso donde sea conveniente (ser la transformacin
de frecuencias).
Estas dos operaciones se pueden hacer en el orden que queramos (figura 1.6), pero si
realizamos primero la transformacin de frecuencias no podemos aplicar la transformacin
invariante de impulso.
( ) ( ) ( )
( ) ( ) ( )

z s
z s
H
discreto Filtro
H
discreto bajo paso Filtro
H
analgico bajo paso Filtro
H
discreto Filtro
H
ado transform analgico Filtro
H
analgico bajo paso Filtro
l a
d a a


fig. 1.6: operaciones de conversin de un filtro paso bajo analgico en un filtro digital.
Las transformaciones de frecuencia en el plano z son muy similares a la transformacin
bilineal. Sea ( )
l
la funcin del sistema discreto paso bajo obtenida a partir del prototipo
analgico, y ( ) z la funcin del sistema discreto transformado.
La proyeccin del plano sobre el plano z se define a travs de una funcin G()
(expresin 1.21). Si ( )
l
es la funcin racional de un sistema causal y estable, se debe
conseguir que ( ) z (1.22) sea una funcin racional tambin de un sistema causal y estable.
( )
1 1
= z G (1.21)
( ) ( )
( )
1 1
=
=
z G
l
z

(1.22)
Por otra parte, la transformacin G() debe controlar el comportamiento en frecuencia
del filtro transformado a partir del comportamiento en frecuencia del filtro prototipo. Para
satisfacer estas necesidades, la funcin de transformacin G() debe presentar las siguientes
caractersticas:
1. ( )
1
z G debe ser una funcin racional de z
-1
.
2. El interior del circulo unidad del plano debe proyectarse en el interior del circulo
unidad del plano z.
3. La circunferencia unidad del plano debe proyectarse en la circunferencia del plano
z.
Las funciones que realizan las transformaciones de frecuencias ms utilizadas se indican
en la tabla 1.1, donde y representan respectivamente las variables de frecuencia en los
planos y z.
Tratamiento Digital de Seales 11
Tabla 1.1: Transformaciones de frecuencias ms usuales
Tipo de filtro Transformacin Frmulas de diseo asociado
Paso bajo

1
1
1
1
z
z

=

sen
sen
frecuencia de corte deseada

p p
p p
p
2
2
:

Paso alto

=
+
+
1
1
1
1
z
z

=
+

cos
cos
frecuencia de corte deseada

p p
p p
p
2
2
:

Paso banda



=

+
+

+

+

+
+
1
2 1
2 1
2
1
1
1
1
1
2
1
1
z
K
z
z z



=
+

cos
cos
cotg . tg
frecuencia inferior de corte deseada
frecuencia superior de corte deseada

p p
p p
p p p
p
p
2 1
2 1
2 1
1
2
2
2
2 2
:
:

Banda
eliminada



=

+
+

+

+

+
+
1
2 1
2 1
2
1
1
1
1
1
2
1
1
z z
z z



=
+

cos
cos
tg . tg
frecuencia inferior de corte deseada
frecuencia superior de corte deseada

p p
p p
p p p
p
p
2 1
2 1
2 1
1
2
2
2
2 2
:
:


12 Tratamiento Digital de Seales
2. DISEO DE FILTROS FIR
2.1 Propiedades de los filtros FIR
Los filtros F.I.R. son sistemas que por definicin presentan una respuesta al impulso de
duracin finita. Si se considera al sistema causal, la expresin (1.23) caracteriza a un filtro
F.I.R. de coeficientes b
k
.
[ ] [ ]

=
=
1
0
L
k
k
k n b n h (1.23)
La salida se puede calcular mediante convolucin directa de la entrada con la respuesta al
impulso (expresin (1.24)).
[ ] [ ] [ ]

=
=
1
0
L
k
k n x k h n y (1.24)
La funcin de sistema que caracteriza al filtro es la Transformada Z de la respuesta al
impulso (1.25).
( ) [ ]


=

= =
1
0
L
k
k
k
n
n
z b z n h z H (1.25)
Las caractersticas ms importantes de estos sistemas son:
Pueden presentar una caracterstica de fase exactamente lineal. Esto ocurre si la
respuesta al impulso cumple la expresin (1.26) para n=0,1, ... (L-1).
] 1 [ ] [ n L h n h = (1.26)
Si se emplean estructuras no recursivas son estables. Entonces, para calcular la
respuesta en frecuencia del filtro basta con evaluar la funcin de sistema en la
circunferencia unidad (expresin 1.27). Dicha respuesta en frecuencia H() toma
valores complejos y es peridica de perodo 2. Es una funcin de la variable
continua , a pesar de que h[n] sea una funcin de variable discreta.
( ) [ ]

=

=
1
0
L
n
n j
e n h H (1.27)
Los filtros F.I.R. son muy fciles de realizar. La mayora de los procesadores de
seales digitales tienen unas arquitecturas internas que hacen factible su
construccin.
Los filtros F.I.R. no recursivos son menos sensibles a los efectos de longitud de
palabra finita que los IIR, ofreciendo diversas ventajas en los clculos que conlleva
el filtrado.
2.2 Filtros FIR de fase lineal
Como ya se ha comentado, una de las propiedades ms importantes que pueden
presentar los filtros FIR es la posibilidad de disponer de una fase de la respuesta en frecuencia
exactamente lineal. Cuando una seal atraviesa un filtro se modifica su caracterstica de
amplitud y de fase. Esta variacin va a depender del mdulo y de la fase de la respuesta en
Tratamiento Digital de Seales 13
frecuencia que presente el filtro. El retardo de fase y de grupo proporcionan una medida de
cmo el filtro va a llevar a cabo estas modificaciones. Un filtro que presente una caracterstica
de fase no lineal ocasionar una distorsin de fase en la seal que lo atraviese, pues cada
componente en frecuencia sufre un retardo no proporcional a dicha frecuencia, modificndose
la relacin entre armnicos. Se puede evitar empleando filtros con caractersticas de fase
exactamente lineal en determinadas bandas de frecuencia.
Un filtro tiene fase de la respuesta en frecuencia lineal si sta satisface cualquiera de las
relaciones (1.28) (1.29), con y constantes. Si el filtro tiene la respuesta al impulso con
simetra par con respecto al punto central de la secuencia (1.30), satisface la primera
condicin y tendr constantes el retardo de fase y de grupo. En este caso la fase de la
respuesta en frecuencia es funcin de la longitud del filtro (1.31).
( ) = (1.28)
( ) = (1.29)
[ ] [ ]
( )
( )

=
=
=
par para L 1 2 ... 1 , 0
impar para L 2 1 ... 1 , 0
1
L n
L n
n L h n h (1.30)
( )


=
2
1 L
(1.31)
Cuando se satisface (1.29), la respuesta al impulso presenta simetra impar (expresin
(1.32)), y el filtro slo tiene retardo de grupo constante, con una fase de la respuesta en
frecuencia como se establece en la expresin (1.33).
[ ] [ ]
( )
( )

=
=
=
par para L 1 2 ... 1 , 0
impar para L 2 1 ... 1 , 0
1
L n
L n
n L h n h (1.32)
( )


=
2
1
2
L
(1.33)
En la tabla 1.2 se indica la clasificacin existente para los filtros FIR de fase lineal
segn su simetra y el nmero de coeficientes.
Tabla 1.2: filtros de fase lineal.
SIMETRA nmero de coeficientes L Tipo de filtro
PAR IMPAR I
h[n]=h[L-n-1] PAR II
IMPAR IMPAR III
h[n]=-h[L-n-1] PAR IV
Es importante indicar que en los cuatro tipos de filtros se puede demostrar que si
aparece un cero en cualquier punto z
0
del plano z, debe ir acompaado de otro recproco
conjugado
( )
1
0
z

. Si adems la respuesta al impulso es real, la funcin del sistema H(z) ser
una funcin racional con coeficientes reales, y cada cero debe ir acompaado por su
14 Tratamiento Digital de Seales
conjugado. En consecuencia, en este tipo de sistemas los ceros aparecen por cuartetos
recprocos conjugados con las siguientes excepciones:
1. Los ceros sobre la circunferencia unidad (salvo en z = 1) aparecen por parejas, ya
que coinciden con sus recprocos.
2. Los ceros reales no situados en la circunferencia unidad aparecen por parejas, pues
coinciden con sus conjugados.
3. Los ceros en z = 1 coinciden con su recproco y su conjugado, pudiendo aparecer
solos.
Se puede demostrar que en los filtros tipo II debe aparecer un cero en 1 = z , lo que
significa que no pueden realizar caractersticas paso alto, que en los filtros tipo III deben
aparecer ceros en 1 = z y 1 = z , con lo que no sirven para sistemas que permitan el paso de
las bajas y/o de las altas frecuencias, y que para los tipo IV el cero obligatorio se sita en
1 = z , con lo que no se pueden emplear como filtros paso bajo.
2.3 Etapa de aproximacin: mtodo de la Transformada de Fourier o
de la ventana
Como ya se ha indicado, un filtro FIR se puede caracterizar por las expresiones (1.24) y
(1.25). En la etapa de aproximacin, el objetivo final consiste en calcular los coeficientes del
filtro (o valores de la respuesta al impulso h[n]) de forma que se cumplan las especificaciones
de partida. Hay distintos mtodos para obtener dichos coeficientes, destacando entre ellos los
mtodos de la ventana, de muestreo en frecuencia y de Parks-McClellan. Aunque en este
apartado se analiza con detalle el primero, en la realizacin de la prctica se disea un filtro
empleando el tercer mtodo.
El mtodo de la transformada de Fourier o de la ventana consiste en obtener una
aproximacin del filtro ideal mediante un FIR de duracin L, multiplicando las muestras de
este filtro ideal por distintas funciones de ventana. Es un procedimiento muy sencillo y
flexible que puede aplicarse a cualquier respuesta en frecuencia.
Partimos de la funcin de transferencia ideal ( )
I
H , la cual se puede relacionar con la
respuesta al impulso [ ] n h
I
a travs de las ecuaciones de anlisis y sntesis de la Transformada
de Fourier (expresiones (1.34) y (1.35)).
( ) [ ]

=

=
n
n j
I I
e n h H (1.34)
[ ] ( )

2
2
1
d e H n h
n j
I I
(1.35)
En bastantes ocasiones la respuesta en frecuencia del filtro a aproximar ( )
I
H contiene
discontinuidades o transiciones abruptas, como es el caso del filtro ideal, que no presenta
banda de transicin. Estos requisitos van a implicar que la respuesta al impulso [ ] n h
I

presente una duracin muy larga o incluso infinita, lo cual puede conducir a soluciones muy
difciles de realizar o, a veces, imposibles. La opcin sera llegar a un compromiso entre el
comportamiento en el dominio del tiempo y en el dominio de la frecuencia.
Para realizar aproximadamente el filtro dado se puede truncar la respuesta al impulso
deseada [ ] n h
I
, ignorando los valores de las muestras de las colas (cuya amplitud es muy
Tratamiento Digital de Seales 15
pequea), obteniendo de esta forma una [ ] n h
A
(respuesta al impulso aproximada) finita que
desplazada puede representar a un filtro F.I.R. causal. Cuantas ms muestras se tomen de
[ ] n h
I
, mejor ser la aproximacin de la caracterstica en frecuencia, pero el filtro ser ms
caro de realizar y presentar mayor retardo.
El truncado efectuado sobre la respuesta al impulso deseada [ ] n h
I
para obtener la
aproximada [ ] n h
A
se puede expresar como el resultado de multiplicar la primera por una
secuencia de duracin limitada w[n] que recibe el nombre de ventana de observacin o
simplemente ventana. La operacin que realizamos en el dominio del tiempo viene indicada
por (1.36), y su respuesta en frecuencia resultante por (1.37).
[ ] [ ] [ ] n w n h n h
I A
= (1.36)
( ) ( ) ( ) [ ] = W H H
I A
2
1
(1.37)
La ventana ideal sera aquella en que ( ) ( ) = W , pero la secuencia asociada a esta
transformada es [ ] n n w = 1 , la cual no produce ningn truncado.
La ventana ms simple es la rectangular (figura 1.6), que tiene como transformada de
Fourier ( )
R
W una funcin sinc (figura 1.7). Al convolucionar ( )
R
W con ( )
I
H da lugar
a un filtro ( )
A
H cuyo mdulo de la respuesta en frecuencia presenta oscilaciones y una
banda de paso distorsionada. Estos efectos indeseados son ocasionados por los lbulos
secundarios de ( )
R
W . Segn aumenta la longitud de la ventana (o el nmero de muestras de
[ ] n h
A
), el lbulo principal y los laterales de ( )
R
W se hacen ms estrechos.
Por tanto:
La ventana ideal es ( ) ( ) = W . Esta no produce truncado.
Si la anchura del lbulo principal del espectro de la ventana es distinta de cero,
aparece la banda de transicin.
Si existen lbulos laterales en dicho espectro, tendremos distorsin en la banda de
paso y en la atenuada.
Para una ventana dada, la amplitud relativa de los lbulos permanece invariante al
modificar el valor de la longitud.
16 Tratamiento Digital de Seales
0 10 20 30 40 50 60
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
Indice
Amplitud

fig. 1.6: ventana rectangular de duracin L=63.
0.5 1 1.5 2 2.5 3
-70
-60
-50
-40
-30
-20
-10
0
dB`s

fig. 1.7: mdulo del espectro de la ventana rectangular (L=63).
Veamos cmo se puede evitar el efecto de las oscilaciones en las bandas de paso y
eliminada. Es evidente que la amplitud de los lbulos secundarios viene determinada por la
forma de w[n]. Si la ventana presenta cambios abruptos en el dominio del tiempo (como la
ventana rectangular) los lbulos secundarios tendrn amplitudes considerables. Entonces, una
forma de evitar el efecto de dichas oscilaciones consiste en utilizar ventanas cuyos valores en
amplitud en el dominio del tiempo caigan a cero gradualmente. Sin embargo, con este tipo de
Tratamiento Digital de Seales 17
ventanas la anchura del lbulo principal de ( ) W aumenta considerablemente y con ella la
banda de transicin de ( )
A
H . Cuanto mayor es la anchura del lbulo principal de ( ) W ,
ms considerable es ese efecto. De este modo, el precio que se paga en ( )
A
H al reducir el
efecto de las oscilaciones en las bandas de paso y eliminadas (utilizando ventanas con lbulos
secundarios de amplitud pequea) es aumentar la anchura de la banda de transicin. Para
reducir la anchura de dicha banda basta con aumentar la longitud de la ventana, pero el filtro
aumenta el orden.
As, se puede establecer que la anchura de la banda de transicin del filtro aproximado
depende de la anchura del lbulo principal del espectro de la ventana. Al estrecharse el lbulo
principal, la anchura de la banda de transicin se reduce. Por otro lado, el rizado y las
oscilaciones dependen de la amplitud mxima relativa del lbulo principal con respecto a los
laterales, y sta permanece constante siempre que se emplee la misma forma de ventana. La
reduccin de la anchura de la banda de transicin y las oscilaciones de forma simultnea no es
posible, ya que son efectos contradictorios. Sin variar la duracin N, cambiando de ventana se
puede disminuir la amplitud mxima relativa, pero a costa de aumentar la anchura del lbulo
principal.
Tabla 1.3: funciones de ventanas tpicas.
VENTANA
[ ] ( ) M n M n w
*
LP
A
i
A
sb
A

Rectangular 1
( ) 1 M 2 4 +
13'3 20.9
M 92 . 0
Hanning

+
+
1 2
2
cos 1
2
1
M
n
( ) 1 M 2 8 +
31.5 43.9
M 11 . 3
Hamming
1 2
2
cos 46 . 0 54 . 0
+
+
M
n
( ) 1 M 2 8 +
42.7 54.5
M 32 . 3
Blackman
1 2
4
cos 08 . 0
1 2
2
cos 5 . 0 42 . 0
+
+
+
+
M
n
M
n

( ) 1 M 2 12 + 58.1 75.3 M 56 . 5

A
*
LP
: anchura del lbulo principal.
A
*
i
: amplitud mxima relativa (en dB's) de los lbulos laterales.
A
sb
: atenuacin mnima (en dB's) en la banda eliminada.
: anchura de la banda de transicin.
Hay distintas funciones de ventana que se caracterizan por una respuesta en frecuencia
adecuada para el diseo de filtros. Algunas de las ms populares son las que se indican en la
tabla 1.3. La ventana triangular o de Bartlett se puede obtener como el resultado de la
convolucin de dos rectangulares, y consigue aumentar la amplitud mxima relativa del
lbulo primario al secundario (de -13'5 dBs a -27 dBs) a costa de ensanchar el lbulo
principal (de L 4 a L 8 ). Otras ventanas de gran aceptacin son las Hanning y Hamming,
ya que llegan a un buen compromiso entre la selectividad del filtro deseado (lbulo principal
estrecho) y el rizado en las bandas de paso y atenuada (lbulos laterales de amplitud
pequea).
18 Tratamiento Digital de Seales
En todas las ventanas de la tabla 1.3 el compromiso entre lbulo principal y secundarios
es fijo. En la ventana de Kaiser, definida por la expresin (1.38), dicho compromiso puede
variarse. El trmino I
o
() es la funcin de Bessel modificada de primera clase y de orden cero
y =(L-1)/2 . Cuando n =0, w[n] vale 1 para cualquier valor de y de L. Para distintos
valores de se obtienen ventanas ms o menos suavizadas en los bordes. Para =0 se obtiene
la ventana rectangular y con =5.44 aparece una ventana muy parecida a la de Hamming.
Incrementando el valor de se ensancha el lbulo principal y disminuye la amplitud de los
lbulos secundarios.
[ ]
( )



=
resto 0
1 0
1
0
2
0
L n
I
n
I
n w

(1.38)
Si expresamos el rizado mximo () como una atenuacin (A) en decibelios, se podr
calcular el valor de a partir de las frmulas indicadas en la expresin (1.40).
( ) log 20 = A (1.39)
( )
( ) ( )

<
+
>
=
21 0
50 21 21 07886 . 0 21 5842 . 0
50 7 . 8 1102 . 0
4 . 0
A
A A A
A A
(1.40)
Se puede sintetizar en tres pasos el diseo de filtros F.I.R. empleando el mtodo de la
ventana:
1 Especificar la respuesta en frecuencia deseada ( )
I
H . A partir de sta se calcula la
respuesta al impulso [ ] n h
I
.
2 Seleccionar la ventana adecuada, de forma que se satisfagan las especificaciones
deseadas en la banda de paso o atenuacin. El nmero de coeficientes del filtro se
puede seleccionar considerando las relaciones entre la longitud de la ventana y la
anchura de la banda de transicin.
3 Calcular los valores de [ ] n h
A
, multiplicando muestra a muestra [ ] n h
I
y w[n].
El mtodo de la ventana ofrece como ventajas la simplicidad y que la atenuacin de la
banda eliminada no depende del valor de la longitud de la ventana. Como inconvenientes
aparecen la desviacin de las frecuencias de corte del diseo inicial al convolucionar ( )
I
H
y ( ) W y la falta de flexibilidad del mtodo.
3. COMPARACIN ENTRE FILTROS FIR E IIR
La primera pregunta que se plantea al abordar el diseo de un filtro de tiempo discreto
se refiere a la eleccin entre un sistema FIR o IIR. En dicha eleccin intervienen numerosos
factores, y no siempre hay una opcin claramente favorable. Algunas veces es conveniente
realizar dos diseos completos, uno FIR y otro IIR antes de tomar una decisin que se basar
en factores de tipo prctico como complejidad, consumo de potencia, velocidad de clculo,
facilidad de integracin, etc., o factores de tipo econmico. Tambin hay criterios tcnicos
basados en las caractersticas que sealamos a continuacin.
Tratamiento Digital de Seales 19
FUNCIN DE SISTEMA: en un FIR son del tipo slo ceros, ya que todos los polos
se encuentran en el origen, (salvo si se emplean diseos de muestreo en frecuencia).
Los sistemas IIR pueden tener sus polos y sus ceros en cualquier punto finito del
plano z, lo que proporciona mayor flexibilidad en el diseo de filtros sencillos
(mtodo de ubicacin de polos y ceros).
MDULO DE LA RESPUESTA EN FRECUENCIA: se puede conseguir cualquier
distribucin de bandas con cualquiera de los dos tipos de filtros. Sin embargo, hay
algunas caractersticas de amplitud, como la requerida en los sistemas
diferenciadores, que se realiza mejor con un sistema FIR. Sin embargo, los filtros
paso-todo slo se pueden realizar con sistemas IIR, ya que los FIR tienen todos sus
polos en el origen.
FASE DE LA RESPUESTA EN FRECUENCIA: los sistemas FIR pueden conseguir
una caracterstica de fase exactamente lineal, mientras que los IIR slo se pueden
aproximar a ella a costa de un gran aumento de la complejidad.
ESTABILIDAD: los filtros FIR realizados de forma no recursiva son
intrnsecamente estables, mientras que los IIR slo sern estables (y causales
simultneamente) si todos sus polos estn en el interior de la circunferencia unidad.
DIFICULTAD EN EL DISEO: los clculos necesarios para disear un filtro FIR
suelen exigir aproximaciones iterativas, mientras que los sistemas IIR suelen
disearse con frmulas cerradas y transformaciones sencillas como la bilineal.
ESTRUCTURAS: los sistemas FIR admiten realizaciones recursivas y no recursivas.
Se puede reducir el nmero de multiplicaciones si se emplean estructuras de fase
lineal. Sin embargo, los sistemas IIR slo pueden realizarse con estructuras
recursivas. Lo ms usual es utilizar estructuras en cascada de secciones de primer o
segundo orden, por lo que una parte importante del diseo consiste en distribuir los
polos y los ceros en distintas secciones y elegir el orden de conexin de las mismas.
SENSIBILIDAD A LAS INTERFERENCIAS: la salida de un sistema puede verse
afectada por su estado inicial (contenido de la memoria) o por cualquier interferencia
de corta duracin. Si la realizacin es no recursiva, lo anterior slo ocurre durante la
longitud de la respuesta al impulso. Sin embargo, en los sistemas IIR la perturbacin
puede afectar a la seal de salida indefinidamente.
ERROR DE CUANTIFICACIN: en los sistemas FIR los efectos de la
cuantificacin pueden hacerse irrelevantes si se utilizan longitudes de palabra a partir
de doce bits. Cuando estos filtros se realizan de forma recursiva debe conseguirse
una cancelacin exacta de polos y ceros despus de la cuantificacin, y esto obliga a
aumentar la longitud de palabra. Para sistemas IIR la cuantificacin no slo afecta a
la respuesta en frecuencia sino que puede desplazar los polos fuera de la
circunferencia unidad del plano z, y hacer que el sistema no pueda ser
simultneamente causal y estable. Tambin, debido a la cuantificacin pueden
producirse oscilaciones indeseadas en la salida a causa del desbordamiento o de los
ciclos lmite.
MEMORIA: los filtros FIR necesitan mucha memoria para almacenar la muestra
actual y las anteriores de la seal de entrada, as como los coeficientes del filtro. Este
inconveniente se va reduciendo con el abaratamiento y el aumento de la escala de
integracin de las memorias. Los filtros IIR necesitan menos registros de
almacenamiento, ya que el nmero de coeficientes es menor que el equivalente FIR.
20 Tratamiento Digital de Seales
EFICIENCIA: A pesar de que los sistemas IIR tienen menor nmero de coeficientes
que sus equivalentes FIR, puede ocurrir que el sistema FIR emplee menos tiempo
para calcular la salida que el IIR. La razn es la regularidad en las operaciones que se
realizan en un filtro no recursivo, comparada con la irregularidad necesaria para un
sistema recursivo.
Tratamiento Digital de Seales 21
C. CUESTIONES PREVIAS
1.- Dado un sistema cuya respuesta en frecuencia es:
( )

<
=

resto
e
H
j
D
0
4
7


Calcule su respuesta al impulso
[ ]
D
h n .
2.- Se trata de un sistema F.I.R. o I.I.R.?.
3.- Si realizamos la operacin
[ ] [ ] [ ]
A D
h n h n w n =
con
[ ]


=
resto
n
n w
0
14 0 1

demuestre, a partir de los coeficientes del nuevo filtro, que presenta una caracterstica de fase
lineal.
4.- Dado un filtro analgico caracterizado por la siguiente funcin de sistema:
( )
( )( ) 3 1
2
+ +
=
s s
s H
a

Obtenga los sistemas de tiempo discreto empleando la transformacin invariante de impulso y
la bilineal.
5.- Repita la cuestin cuatro para el filtro:
( )
( )
( )( ) 3 1
2
+ +
+
=
s s
s
s H
a


22 Tratamiento Digital de Seales
D. REALIZACIN DE LA PRCTICA Y PRESENTACIN
DE RESULTADOS
1. DISEO DE FILTROS IIR
1.1 Diseo de filtros IIR empleando prototipos analgicos
En este apartado se va a partir de un prototipo analgico para convertirlo en un sistema
digital empleando las transformaciones invariante de impulso y bilineal.
Se desea disear un sistema para procesar una seal analgica x
a
(t) (limitada en banda a
3 kHz) con un filtro digital como se indica en la figura.

Los requisitos exigidos al mdulo de la respuesta en frecuencia ) ( j H son:
Debe ser mayor que 0'89125 en la banda de frecuencias comprendidas entre 0 y 800
Hz.
No debe superar 0'001 a partir de los 1400 Hz.
a) Represente la plantilla de especificaciones del mdulo de la respuesta en frecuencia,
expresada en dB's, del filtro analgico ) ( j H que se desea simular.
b) Obtenga la plantilla de especificaciones del mdulo de la respuesta en frecuencia,
expresada en dB's, del filtro discreto ) (
j
D
e H de respuesta al impulso real que cumpla lo
indicado.
Tratamiento Digital de Seales 23
c) El diseo del filtro anterior se decide realizar a partir de un prototipo analgico
) ( j H
c
y empleando la transformacin invariante de impulso. Obtenga la plantilla de
especificaciones del mdulo de la respuesta en frecuencia de dicho filtro analgico.
Considere T
d
=2.
d) Calcule el orden del filtro elptico analgico que cumple las especificaciones de la
plantilla, y obtenga la funcin de sistema ) (s H
c
que lo caracteriza.
e) Convierta el prototipo analgico ) (s H
c
en uno digital ) (z H
D
mediante la
transformacin invariante de impulso, y dibuje el mdulo de la respuesta en frecuencia.
0 1 2 3 4
-100
-80
-60
-40
-20
0
d
B

f) Si el diseo del filtro analgico inicial se decide realizar empleando la transformacin
bilineal, obtenga la plantilla de especificaciones del mdulo de la respuesta en frecuencia del
nuevo filtro analgico prototipo. Considere T
d
=2.
24 Tratamiento Digital de Seales
g) Calcule el orden del filtro elptico analgico que cumple las especificaciones de la
plantilla del apartado f, y obtenga la funcin de sistema ) (s H
c
que lo caracteriza.
h) Convierta el prototipo analgico ) (s H
c
en uno digital ) (z H
D
mediante la
transformacin bilineal. Dibuje el mdulo de la respuesta en frecuencia del nuevo filtro.
:
0 1 2 3 4
-100
-80
-60
-40
-20
0
d
B

i) Comente los resultados.
1.2 Diseo de fitros IIR por ubicacin de polos y ceros
Para eliminar el ruido de la red elctrica introducido de forma indeseada en una seal
de electrocardiograma muestreada a 1000 Hz, se procede a disear un filtro digital de orden
dos con respuesta al impulso real empleando el mtodo de ubicacin de polos y ceros, de
manera que cumpla las siguientes especificaciones:
Frecuencia a eliminar: 50 Hz
Ancho de la banda eliminada a 3 dB: 10 Hz
( ) 1
1
=
= z
z H
Tratamiento Digital de Seales 25
Suponga que la relacin entre el mdulo de los polos (r) y el ancho de banda a 3 dB
(BW) es:
0.9 > r para 1


s
f
BW
r
a) Representar el diagrama de polos y de ceros de la funcin de sistema del filtro.
-1.5
-1
-0.5
0
0.5
1
1.5

b) Representar el mdulo de la respuesta en frecuencia.
0 1 2 3 4
-120
-100
-80
-60
-40
-20
0
20
d
B
`
s

c) Representar la respuesta al impulso del filtro.
26 Tratamiento Digital de Seales
2. DISEO DE FILTROS FIR
2.1 Mtodo de la Ventana
2.1.1 Ventanas
En este apartado se van a estudiar distintas funciones de ventana, tiles tanto en el
diseo de filtros digitales como en el anlisis espectral de secuencias de larga duracin. Se
pretende observar la forma de la ventana en el dominio del tiempo y su correspondiente
espectro de amplitud, analizando cmo influye en este ltimo la longitud empleada en cada
caso. La eleccin correcta de la ventana consiste en optar por aquella que llegue a un buen
compromiso entre un lbulo principal estrecho (que conducir a un filtro muy selectivo) y
lbulos laterales de amplitud reducida (disminuye la distorsin en las bandas de paso y
atenuada).
a) Observar la forma de las ventanas rectangular, triangular, de Hanning, de Hamming y
de Kaiser (con =7'865) para unas longitudes de 128 y 64 muestras. Dibuje en escala
semilogartmica el mdulo del espectro para las tres ventanas, e indique los valores de A
LSmx

(amplitud mxima relativa de los lbulos secundarios, en dBs),
LS
(pulsacin que se
corresponde con A
LSmx
) y a
LP
(anchura del lbulo principal).
L =128:
VENTANA
A
LSmx
(dB)
LS
a
LP

RECTANGULAR

TRIANGULAR

HANNING

HAMMING

KAISER



L =64:
VENTANA
A
LSmx
(dB)
LS
a
LP

RECTANGULAR

TRIANGULAR

HANNING

HAMMING

KAISER

Tratamiento Digital de Seales 27
b) Es funcin de la longitud de la ventana la amplitud de los lbulos secundarios?.
Y la anchura del lbulo principal?.
2.1.2 Filtros enventanados
En este apartado se pretende disear un filtro FIR causal de fase lineal empleando el
mtodo de la ventana. Para ello se va a partir de la respuesta en frecuencia de un filtro ideal
indicada en la figura 1.8, imponindole la plantilla de especificaciones que aparece en la
figura 1.9.

fig. 1.8: respuesta en frecuencia deseada

fig. 1.9: plantilla de especificaciones del filtro a disear
El sistema resultante
[ ]
D
h n (una funcin sinc) es no causal. Para convertirlo en causal
hay que aplicar la propiedad de desplazamiento en el tiempo.
[ ] ( )
[ ] ( )
o
n j
D o D
D D
e H n n h
H n h




a) Genere algunas muestras de la respuesta al impulso ideal desplazada empleando los
siguientes comandos:
x=1:63;
t=0.2*(x-32)/pi;
hi=0.2*sinc(t)/pi;
28 Tratamiento Digital de Seales
Una vez obtenida, trunque dicha respuesta al impulso empleando las ventanas
rectangular, de Hamming y de Kaiser (=7'865) de longitud 63. Dibuje el mdulo de la
respuesta en frecuencia de los filtros enventanados, representando con detalle las bandas de
paso y transicin.
Mdulo del espectro para la ventana rectangular (L =63)
0 1 2 3 4
-120
-100
-80
-60
-40
-20
0
20
d
B
`
s

Banda de paso y transicin para la ventana rectangular (L =63):
0 0.1 0.2 0.3 0.4
-35
-30
-25
-20
-15
-10
-5
0
5
d
B
`
s

Mdulo del espectro para la ventana de Hamming (L =63):
0 1 2 3 4
-120
-100
-80
-60
-40
-20
0
20
d
B
`
s

Tratamiento Digital de Seales 29
Banda de paso y transicin para la ventana de Hamming (L =63):
0 0.1 0.2 0.3 0.4
-35
-30
-25
-20
-15
-10
-5
0
5
d
B
`
s

Mdulo del espectro para la ventana de Kaiser (L =63):
0 1 2 3 4
-160
-140
-120
-100
-80
-60
-40
-20
0
d
B

s

Banda de paso y transicin para la ventana de Kaiser (L =63):
0 0.1 0.2 0.3 0.4
-35
-30
-25
-20
-15
-10
-5
0
5
d
B
`
s

30 Tratamiento Digital de Seales
b) Indique los filtros enventanados (L=63) que cumplen las condiciones de diseo.
c) Repita el apartado "a" cambiando la longitud de las ventanas de L=63 a L=127. Para
ello debe modificar los comandos anteriormente propuestos:
x=1:127;
t=0.2*(x-64)/pi;
hi=0.2*sinc(t)/pi;
Mdulo del espectro para la ventana rectangular (L =127):
0 1 2 3 4
-120
-100
-80
-60
-40
-20
0
20
d
B
`
s

Banda de paso y transicin para la ventana rectangular (L =127):
0 0.1 0.2 0.3 0.4
-60
-50
-40
-30
-20
-10
0
10
d
B

Tratamiento Digital de Seales 31
Mdulo del espectro para la ventana de Hamming (L =127):
0 1 2 3 4
-120
-100
-80
-60
-40
-20
0
20
d
B

Banda de paso y transicin para la ventana de Hamming (L =127):
0 0.1 0.2 0.3 0.4
-60
-50
-40
-30
-20
-10
0
10
d
B

Mdulo del espectro para la ventana de Kaiser (L =127):
0 1 2 3 4
-160
-140
-120
-100
-80
-60
-40
-20
0
d
B

s

32 Tratamiento Digital de Seales
Banda de paso y transicin para la ventana de Kaiser (L =127):
0 0.1 0.2 0.3 0.4
-60
-50
-40
-30
-20
-10
0
10
d
B

d) Indique los filtros enventanados (L=127) que cumplen las condiciones de diseo.
Tratamiento Digital de Seales 33
2.2 Mtodo de Parks-McClellan. Eliminacin mediante un filtro FIR
del ruido de red de una seal de electrocardiograma (ecg).
Una caracterstica muy comn a los circuitos electrocardigrafos consiste en que a la
seal que digitaliza le suele aadir, de manera indeseada, un ruido proveniente de la red
elctrica convencional y que se suele centrar en torno a los 50 Hertzios. De esta forma, la
seal del electrocardiograma se encuentra empobrecida con un ruido que es necesario
eliminar.
Se va a partir de un registro de 4000 muestras de una seal de electrocardiograma
muestreada a 1000 Hz, denominado elecnois.mat.
a) Representar la forma de la seal de ecg en el dominio del tiempo, observando la
presencia del ruido de la red.
b) Representar el mdulo del espectro de la seal de ecg.
En el proceso de eliminacin del ruido de la red se desea utilizar un filtro FIR banda
eliminada por las caractersticas de fase lineal que pueden ofrecer este tipo de sistemas. Se
sigue el procedimiento indicado en la figura 1.10, es decir, disear directamente el filtro y
eliminar el ruido.

fig. 1.10: diseo de un filtro banda eliminada.
34 Tratamiento Digital de Seales
Las especificaciones del filtro deseado son las siguientes:
Banda eliminada: 47-53 Hz
Frecuencias de corte de la banda de paso: 44-56 Hz
Atenuacin mnima de la banda eliminada: 50 dB
Desviacin de la banda de paso: 0'122
Frecuencia de muestreo: 1000 Hz
c) Obtener el orden del filtro empleando la instruccin firordm.m.
Disear a continuacin el sistema empleando el mtodo de Parks-McClellan. Para ello
utilice los siguientes comandos:
f =[0 0.088 0.094 0.106 0.112 1];
m =[1 1 0 0 1 1];
bk=remez (orden_filtro, f, m);
d) Representar el mdulo de la respuesta en frecuencia del filtro del filtro obtenido.
e) Realizar el proceso de filtrado empleando la instruccin filter. Representar la seal de
ecg filtrada en el dominio del tiempo, observando la ausencia del ruido de la red.
f) Representar el mdulo del espectro de la seal de ecg filtrada.
35
Prctica de Efectos de la Cuantificacin de los
Coeficientes de Filtros Digitales
A. OBJETIVOS
En esta prctica se introducen las caractersticas ms importantes de los filtros digitales,
y se establece una comparativa con los tradicionales filtros analgicos. En los fundamentos
tericos se proponen las etapas que se deben tener en consideracin para disear y construir
con xito un filtro digital. De todas las etapas, se desarrollan con mayor profundidad las de
realizacin empleando una estructura y los anlisis de longitud de palabra finita, ya que sern
las etapas que se considerarn en el laboratorio.
Se pretende poner de manifiesto la problemtica de la realizacin de filtros digitales
empleando aritmtica finita a partir de unas especificaciones dadas. Nos limitaremos al
estudio de los efectos producidos por la cuantificacin de los coeficientes del filtro,
analizando con detalle la importancia de las estructuras empleadas para filtros de orden
elevado.
Se representarn los mdulos de las respuestas en frecuencia de los filtros utilizando
precisin infinita y cuantificando con determinado nmero de bits. De esta forma se
observarn las diferencias existentes y se podr estimar la longitud de los registros de
almacenamiento para que la degradacin de las caractersticas sea aceptable.
36 Tratamiento Digital de Seales
B. FUNDAMENTOS TERICOS
1. CARACTERSTICAS DEL FILTRADO DIGITAL
Un filtro es un sistema que va a producir cambios selectivos en las caractersticas de
amplitud y/o fase de una seal. Se suelen emplear para mejorar la calidad de una seal
(reduciendo el ruido), extraer informacin o separar dos o ms seales (como se suele hacer
en los sistemas de comunicaciones).
Un filtro digital es un algoritmo matemtico basado en multiplicaciones y sumas, donde
el trmino digital hace referencia al sistema que realiza las operaciones.
Los filtros digitales pueden proporcionar un comportamiento selectivo en frecuencia
como los analgicos (paso-bajo, paso-banda, banda-eliminada, etc.). Las tcnicas de diseo
son especficas, o en ocasiones, se basan en los sistemas analgicos.
En la comparacin con los filtros analgicos, podemos encontrar las siguientes ventajas:
Pueden fabricarse en circuitos digitales de propsito general de alto rendimiento o de
aplicacin especfica. Si son programables, podemos reajustar la respuesta en
frecuencia del filtro (til en filtrado adaptativo).
En algunos tipos de filtros digitales, la estabilidad est garantizada.
No hay problemas de adaptacin de impedancias.
Algunos filtros consiguen una linealidad de fase excelente.
No precisan ajustes ni se degradan con el tiempo.
Varias seales de entrada o canales pueden ser filtradas sin necesidad de aadir ms
circuitera.
Gracias a la tecnologa VLSI se pueden construir filtros digitales en tamaos muy
reducidos, de bajo consumo y de precio pequeo.
En la prctica, la precisin de los filtros analgicos est limitada. Por ejemplo, para
conseguir niveles de atenuacin de 60 70 dB en la banda eliminada debemos
emplear filtros activos especiales. En los filtros digitales la precisin viene limitada
por la longitud de palabra que se utilice.
Son fcilmente reproducibles.
Se pueden emplear en la regin de muy bajas frecuencias (til en aplicaciones
biomdicas).
Pueden modificar el rango de trabajo cambiando la frecuencia de muestreo.
Como desventajas cabe destacar las siguientes:
Limitacin de velocidad: el ancho de banda de las seales con que pueden operar es
mayor para filtros analgicos que para digitales. En situaciones de tiempo real vamos
a encontrar limitaciones con los convertidores A/D y con el tiempo de asentamiento
("settling") del convertidor D/A, restringiendo la frecuencia mxima de muestreo.
Adems, la velocidad del filtro digital va a depender de la velocidad del sistema
digital de procesamiento que se emplee y del nmero de operaciones aritmticas que
aparezcan en el algoritmo.
Efectos de la longitud de palabra finita: en el sistema digital aparecern, entre otros,
ruidos debidos a la cuantificacin de la seal de entrada del convertidor A/D, y al
Tratamiento Digital de Seales 37
redondeo/truncamiento ocurrido durante los clculos. Cuantos ms lazos recursivos
haya, ms se acumulan dichos ruidos, pudiendo llevar al sistema a la inestabilidad.
Requieren mucho tiempo en el desarrollo: puede ser mucho mayor que en los
analgicos. Sin embargo, una vez diseados, pueden emplearse para otros algoritmos
de tratamiento de seal.
Existen diferentes formas de representar un filtro LTI. Destacamos las ms empleadas:
A travs de su funcin de sistema (2.1) donde ( ) z X e ( ) z Y son las transformadas Z
de las secuencias de entrada y salida respectivamente. Se trata de una funcin de
transferencia, acompaada de la correspondiente regin de convergencia.
( )
( )
( ) z
z
z

= (2.1)
Para estudiar el comportamiento en frecuencia se calcula ( ) z H sobre la
circunferencia unidad (si es posible), con lo que se obtiene la respuesta en frecuencia
( ) H de dicho filtro, donde es la frecuencia digital expresada en radianes.
Dicha respuesta en frecuencia es la transformada de Fourier de la respuesta al
impulso h[n] , la cual es una funcin de tiempo discreto y caracteriza al sistema.
Empleando una estructura, o el algoritmo a que da lugar.
Con el diagrama de polos y ceros y la regin de convergencia queda definido el
sistema, salvo una constante.
Cuando la respuesta en frecuencia del filtro se especifica para la frecuencia analgica
"", y se desean mantener estas especificaciones en el filtro digital, es preciso realizar
transformaciones que distorsionan la relacin entre "" y "". Estas distorsiones deben
tenerse en cuenta al traducir la especificacin analgica en la digital.
2. ETAPAS EN EL DISEO DE FILTROS DIGITALES
El diseo de filtros consta de cinco etapas:
1. Especificacin de los requisitos de filtro.
2. Clculo de los coeficientes del filtro (aproximacin).
3. Representacin del filtro empleando una estructura (realizacin).
4. Anlisis de los efectos de la longitud de palabra finita.
5. Construccin del filtro empleando software y/o circuitera.
Estos cinco pasos no son siempre necesarios, ni el orden dado es el que siempre se
sigue. Hay veces en que se solapan varias etapas.
Para llegar al filtro deseado, puede ser necesario iterar unas cuantas veces algunos de
los pasos, tal y como se indica en la figura 2.1.
38 Tratamiento Digital de Seales

fig. 2.1: esquema propuesto para el diseo de un filtro digital.
2.1 Especificacin de los requisitos
En esta primera etapa se suele aportar la siguiente informacin:
Caractersticas de la seal: aspectos de la seal de entrada y salida (fuente y
sumidero), interface I/O, mayor o mxima frecuencia de inters, etc. .
Caractersticas del filtro: mdulo y fase de la respuesta en frecuencia deseadas, as
como las tolerancias permitidas, la velocidad de operacin y el modo de realizacin
del filtro (si es tiempo real, o por lotes ("batch")).
La forma de construirlo: si es por programacin, o empleando circuitera.
Otros aspectos: por ejemplo, el coste del filtro.
Las caractersticas del filtro digital se suelen especificar en el dominio de la frecuencia.
Para filtros selectivos (como paso bajo), las especificaciones del mdulo de la respuesta en
frecuencia del filtro se dan como esquemas de tolerancia o de atenuacin.
En la figura 2.2 se muestra un ejemplo de esquema de tolerancia para las amplitudes.
Las lneas rayadas indican los lmites permitidos. Se tienen una serie de parmetros:

p
:

desviacin de la banda de paso

s
: desviacin de la banda eliminada
Tratamiento Digital de Seales 39

p
: pulsacin de corte de la banda de paso

s
: pulsacin de corte de la banda eliminada

fig. 2.2: esquema de tolerancia para un filtro FIR paso bajo.
Las frecuencias de corte a menudo se dan normalizadas con respecto a la frecuencia de
muestreo:
s
.
La desviacin de las bandas de paso y eliminada se pueden expresar en escala lineal o
en decibelios. De esta manera, se especifican el rizado de la banda de paso y la atenuacin
mnima de la banda eliminada (expresiones (2.2) y (2.3)).
( )
p p
A + = 1 log 20 (2.2)
( )
s s
A log 20 = (2.3)
Para filtros de respuesta al impulso infinita (IIR) el rizado de la banda de paso
tradicionalmente se indica como la diferencia entre el mximo y el mnimo de la desviacin
en la banda de paso. Sin embargo, para filtros de respuesta al impulso finita (FIR) dicho
rizado se suele referir a la diferencia entre la respuesta ideal y la mxima (o la mnima)
desviacin permitida en la banda de paso, tal y como se indica en la figura 2.2.
La fase de la respuesta en frecuencia no se especifica de manera tan meticulosa como el
mdulo. En bastantes ocasiones es suficiente indicar que se desea una caracterstica de fase
lineal. Sin embargo, hay aplicaciones donde los filtros se emplean para compensar respuestas
en fase, siendo necesario en stos especificar dicha fase con mayor detalle.
2.2 Aproximacin o clculo de los coeficientes
En esta etapa se selecciona un mtodo de aproximacin para calcular los valores de los
coeficientes del filtro h[n] si es un filtro F.I.R., o a
k

y b
k
si se trata de un filtro I.I.R.. Se
pretende que la respuesta en frecuencia cumpla las especificaciones establecidas en la etapa
anterior.
Hay distintos mtodos, dependiendo de si desea un filtro F.I.R. o I.I.R.. Destacamos:
Invarianza de impulso (IIR)
Transformacin bilineal (IIR)
Ubicacin de polos y ceros (IIR o FIR)
Ventana (FIR)
40 Tratamiento Digital de Seales
Muestreo en frecuencia (FIR)
Parks-McClellan (FIR)
2.3 Representacin del filtro empleando una estructura
La etapa de realizacin implica convertir la funcin de sistema en una estructura
aprovechable. Se emplean con frecuencia diagramas de bloques o flujogramas. La estructura
va a indicarnos el procedimiento computacional que hay que seguir para construir el filtro
digital y va a depender de si deseamos un sistema FIR o IIR.
2.3.1 Estructuras para sistemas IIR
Dada una funcin de un sistema discreto, se pueden obtener una gran variedad de
estructuras equivalentes. Se estudiarn algunas de las ms empleadas.
2.3.1.1 Formas directas
Como su nombre indica se obtienen como reflejo inmediato de las operaciones
indicadas en la ecuacin en diferencias. Para la expresin (2.4) la primera forma directa es la
representada en la figura 2.3.
[ ] [ ] [ ]


= =
+ =
1 0 k
k
M
k
k
k n y a k n x b n y (2.4)

fig. 2.3: flujograma de la forma directa I para N=M.
Si trabajamos con sumadores de dos entradas estamos imponiendo un orden en la
realizacin de las sumas. En la figura 2.3 se obtiene en primer lugar v[n], y luego y[n], que
son las indicadas en las expresiones (2.5) y (2.6).
[ ] [ ]

=
=
M
k
k
k n x b n v
0
(2.5)
[ ] [ ]

=
+ =
1
] [
k
k
k n y a n v n y (2.6)
Tratamiento Digital de Seales 41
Este diagrama de bloques puede modificarse sin que cambie la funcin de sistema, de
manera que se obtenga otra estructura equivalente. Por ejemplo, se puede ver el diagrama de
la primera forma directa como la asociacin en cascada de dos sistemas, cada uno con su
correspondiente funcin de transferencia (figura 2.4a). Si las condiciones iniciales son nulas,
los dos sistemas son LTI y se puede cambiar el orden de la asociacin en cascada sin
modificar la relacin entrada-salida del conjunto (figura 2.4b).
( )


=
=

=
1
0
1
1
k
k
k
M
k
k
k
z a
z b z (2.7)

fig. 2.4: diagramas de bloques equivalentes para sistemas LTI.
La estructura as obtenida, eliminando registros de memoria innecesarios, se denomina
segunda forma directa y es cannica con respecto al nmero de registros de almacenamiento,
ya que es el menor posible. Dicha estructura est representada en la figura 2.5, suponiendo
N=M.

fig. 2.5: flujograma de un filtro segn la forma directa II para N=M.
Esta seccin cannica es la ms popular ya que presenta unas buenas propiedades con
respecto al ruido de redondeo y requiere un nmero mnimo de elementos de retardo. El
problema estriba en que puede ocurrir desbordamiento ("overflow") en nodos internos de la
42 Tratamiento Digital de Seales
red. Para evitarlo es necesario escalar la entrada con respecto a los nodos conflictivos, de
acuerdo con unos criterios. Sin embargo, el escalado no es obligatorio para la forma directa I,
ya que contiene un nico sumador, y aunque se sature este sumador en algn resultado
intermedio, el resultado final puede ser correcto. Por este motivo, estas ltimas estructuras se
emplean en el diseo de filtros de audio de hi-fi, ya que no hay necesidad de escalar la
entrada.
Para secciones bicuadrticas existe una realizacin alternativa que se denomina forma
acoplada (figura 2.6). Una seccin bicuadrtica segn la forma directa II con los mismos
polos que la anterior es ms sensible al ruido de cuantificacin de los coeficientes en
determinadas zonas (por ejemplo, cercanas a 0 ) que la forma acoplada. Sin embargo, el
precio que se paga en este ltimo caso es que se incrementa el nmero de operaciones, lo cual
conlleva mayor tiempo de ejecucin. Adems, no se puede usar de manera sencilla cuando
aparecen funciones de transferencia con coeficientes de segundo orden en el numerador.

fig. 2.6: flujograma de la forma acoplada.
2.3.1.2 Formas traspuestas
Hay otras dos formas directas (III y IV) que se obtienen inmediatamente a partir de las
formas I y II por aplicacin de la propiedad de transposicin. Esta propiedad nos dice que si
en un diagrama (grafo) cambiamos la orientacin de todas las ramas e intercambiamos la
entrada y la salida, la funcin de sistema no vara. Para la tercera forma directa el grafo es el
representado en la figura 2.7. La cuarta forma directa se obtiene mediante transposicin de la
segunda y tambin es cannica con respecto al nmero de elementos de retardo. Si M=N, se
tiene el diagrama de flujo de la figura 2.8.
Las formas directas presentan las siguientes caractersticas:
Sus coeficientes coinciden con los coeficientes de la funcin del sistema, y no se
necesitan operaciones adicionales para obtenerlos.
Tienen el menor nmero posible de multiplicaciones y dos de ellas (la II y la IV) son
cannicas en cuanto a clulas de retardo.
Tienen un mal comportamiento frente a los problemas derivados de la limitacin de
la longitud de palabra, sobre todo cuando el orden es elevado.
Trabajan bien en secciones de primer y segundo orden.
Tratamiento Digital de Seales 43

fig. 2.7: flujograma segn la forma directa III para N=M.

fig. 2.8: flujograma segn la forma directa IV para N=M.
2.3.1.3 Formas indirectas
Las formas directas no resultan tiles cuando el orden de la funcin a realizar es
elevado, ya que su sensibilidad con respecto a la cuantificacin de los coeficientes aumenta
enormemente con el grado de la funcin. Para evitar este problema se suelen descomponer las
funciones del sistema como suma o producto de funciones de primer y segundo orden, las
cuales podrn realizarse segn algunas de las formas directas estudiadas, preferiblemente la
segunda o la cuarta.
Cascada
Se basa en descomponer la funcin del sistema en productos de funciones de primer y
segundo orden. Esta descomposicin no es nica ya que, en primer lugar, se pueden
emparejar los polos y los ceros de diversas maneras y, en segundo lugar, la conexin de los
subsistemas se puede llevar a cabo de distintas formas.
En la descomposicin en cascada seguimos las siguientes etapas (suponemos N M ,
pero en caso contrario habr que aadir al diagrama de bloques una etapa FIR).
44 Tratamiento Digital de Seales
1) Factorizamos los polinomios ( ) z N y ( ) z D , agrupando las races conjugadas para que
no aparezcan coeficientes complejos (expresin (2.8)).
( )
( ) ( ) ( )
( ) ( ) ( )


=

=

=

=



=
2 1
2 1
1
1 * 1
1
1
1
1 * 1
1
1
1 1 1
1 1 1
N
k
k k
N
k
k
M
k
k k
M
k
k
z d z d z c
z h z h z g
A z H (2.8)
donde ( )
2 1
2 M M M + = , ( )
2 1
2 N N N + = ,
k
g y
k
c son reales, y
k
h y
k
d

son
complejos.
Esto ocurre cuando los coeficientes
k
b y
k
a de ( ) z H son reales.
Si elegimos estructuras de orden dos habr que agrupar tambin los polos y ceros
reales por parejas (siempre que sea posible).
2) Expresamos ( ) z H como producto de funciones de segundo orden (expresin (2.9)),
donde
s
N es el menor entero mayor o igual que 2 N .
( )

=



+ +
=
s
N
k k k
k k k
z a z a
z b z b b
z H
1
2
2
1
1
2
2
1
1 0
1
(2.9)
3) Se realizan las funciones ( ) z H
k
en las formas directas II IV y se conectan en
cascada como indica la figura 2.9.

fig. 2.9: conexin en cascada de sistemas LTI.
Hay muchas formas diferentes de emparejar polos y ceros para formar cada una de las
( ) z H
k
. Tericamente la funcin global es la misma, pero en la prctica (debido a la
aritmtica finita) existen grandes diferencias entre unas y otras. Tambin aparecen distintas
realizaciones segn el orden de conexin de las etapas.
Un criterio de seleccin que reduce la sensibilidad es el siguiente:
Los polos ms prximos a la circunferencia unidad deben emparejarse con los ceros
que tienen ms prximos en el plano Z.
Se debe repetir el punto anterior hasta que todos los polos y los ceros han sido
emparejados.
Las secciones de segundo orden resultantes deben ordenarse situndolas de manera
que los polos se vayan alejando de la circunferencia de radio uno, o en orden inverso.
Esta forma de emparejar los polos y los ceros se basa en la experiencia de diversos
autores. Los picos elevados de ganancia son indeseables, ya que pueden ocasionar saturacin,
amplificando adems el ruido de cuantificacin. Emparejar un polo prximo a la
Tratamiento Digital de Seales 45
circunferencia de radio unidad con el cero ms cercano a l puede reducir considerablemente
esos picos de ganancia.
En la figura 2.10 se representa un ejemplo de conexin en cascada para un sistema de
sexto orden, empleando la forma directa II para cada una de las subsecciones.

fig. 2.10: conexin en cascada de un sistema de sexto orden empleando subsecciones segn la forma directa II.
Paralelo
La conexin en paralelo se basa en descomponer la funcin de partida ( ) z H en suma de
funciones de primer y segundo orden segn la expresin (2.10), donde ( )
2 1
2 N N N + = es el
grado del denominador y M es el grado del numerador, de manera que si N M , entonces
( ) N M N
p
= . En caso contrario, el primer sumatorio sera nulo.
( )
( )
( )
( )( )

=

=

=



+

+ =
2 1
1
1 * 1
1
1
1
0
1 1
1
1
N
k k k
k k
N
k k
k
N
k
k
k
z d z d
z e B
z c
A
z C z H
p
(2.10)
Si los coeficientes
k
a y
k
b de ( ) z H son todos reales, tambin lo sern las constantes
k
A ,
k
B ,
k
C ,
k
p

y
k
e , pudiendo agrupar los polos por parejas, obteniendo (2.11), donde
s
N
es la parte entera de ( ) 2 1 + N .
( )
( )
( )

=


+
+ =
s
p N
k k k
k k
N
k
k
k
z a z a
z e e
z C z H
1
2
2
1
1
1
1 0
0
1
(2.11)
El esquema general para una realizacin en paralelo consta de una seccin FIR (que
puede no aparecer) y
s
N secciones IIR de segundo orden conectadas en paralelo.
( ) ( ) ( ) ( ) z H z H z H z H
s
N FIR
+ + + =
1
(2.12)
Una realizacin para un sistema de sexto orden podra ser la dibujada en la figura 2.11.
Analicemos esta realizacin junto con la cascada. Observando esta segunda conexin se
comprueba que los coeficientes { }
ik
b van a dar directamente las posiciones de los ceros. Si
cuantificamos los coeficientes (empleando precisin finita), se podr controlar directamente la
posicin de los polos y ceros (aumentando el nmero de bits). Es posible evaluar directamente
en cada subseccin el error cometido para una precisin dada, efectuando un control directo.
Sin embargo, la realizacin en paralelo slo controlar directamente la posicin de los polos,
ya que los coeficientes { }
ik
c de cada bloque no representan los ceros de la funcin de sistema
total.
46 Tratamiento Digital de Seales

fig. 2.11: conexin en paralelo de un sistema de sexto orden empleando subsistemas segn la forma directa II.
La realizacin en cascada es ms robusta, siendo la paralela ms rpida. Para sistemas
IIR con los ceros de la funcin de sistema en 1 = z , la realizacin en cascada se puede llevar
a cabo con menos multiplicadores y ms control sobre la posicin de los ceros.
2.3.2 Estructuras para sistemas FIR
La funcin de sistema de un filtro F.I.R. puede expresarse como un polinomio en
1
z , y
se caracteriza por tener ( ) 1 L polos en 0 = z y ( ) 1 L ceros situados en cualquier punto
finito del plano z (si h[n] es real deben aparecer por parejas conjugadas).
Los sistemas FIR admiten realizaciones recursivas (nicas posibles para los I.I.R.) y no
recursivas. Vamos a estudiar slo algunas de stas.
2.3.2.1 Forma directa
Se obtiene directamente a partir de la suma de convolucin, la cual coincide en un F.I.R.
con su ecuacin en diferencias. Esta estructura tambin es conocida como transversal o de
"retardo derivado" (tapped delay). Se representa en la figura 2.12.
La muestra de salida y[n] se calcula con los siguientes requisitos:
( ) 1 L posiciones de memoria para almacenar las muestras de seal retardada.
L posiciones de memoria para almacenar los coeficientes.
L multiplicaciones.
( ) 1 L sumas.
Tratamiento Digital de Seales 47

fig. 2.12: estructura directa para una sistema FIR, con L=N.
Como se puede apreciar, la forma directa para los FIR es un caso particular de la
primera o segunda forma directa de los IIR, cuando todos los coeficientes
k
a son nulos. Si
hacemos uso de la propiedad de transposicin, obtenemos la forma traspuesta equivalente
(figura 2.13).

fig. 2.13: estructura traspuesta para una sistema FIR.
2.3.2.2 Conexin en cascada
Se obtiene factorizando el polinomio ( ) z H y conectando en cascada la realizacin de
cada factor por separado. Si elegimos subsistemas de segundo orden, se tiene la expresin
(2.13), que se puede representar mediante el grafo de la figura 2.14.
( ) ( )

=

+ + =
s
N
k
k k k
z b z b b z H
1
2
2
1
1 0
(2.13)

fig. 2.14: conexin en cascada de un sistema FIR con subestructuras de orden dos.
2.3.3 Eleccin entre las estructuras
Para optar por una de las estructuras anteriores habr que considerar los siguientes
criterios:
a) Si se trata de un sistema IIR o FIR.
48 Tratamiento Digital de Seales
b) La facilidad de construccin. Se puede elegir las estructuras menos complejas porque
sean ms rpidas, ocupen menor espacio o resulten ms baratas.
c) Cmo de sensible es la estructura a los efectos de longitud finita de palabra, ya que
en ocasiones interesa ms obtener estructuras que tengan un buen comportamiento
frente a la limitacin de la longitud de palabra.
Las formas directas son muy fciles de programar, y existen en el mercado procesadores
digitales de seal (DSPs) y programas como el MATLAB que cuentan con instrucciones para
llevarlas a cabo. Por otro lado, la estructura en cascada es menos sensible que la anterior a los
efectos de cuantificacin de coeficientes de la funcin del sistema del filtro, como se ver en
la realizacin de la prctica. Sin embargo, el clculo de los coeficientes es ms complicado, y
no est disponible como instruccin en programas o procesadores destinados al tratamiento
digital de la seal.
Para filtros de banda estrecha es muy eficiente la estructura de muestreo en frecuencia
(para sistemas FIR). Sin embargo, en esta estructura puede aumentar la complejidad
computacional, y existe la posibilidad de que se vuelva inestable al cuantificar los coeficientes
(desplazan los polos y los ceros de ( ) z H deseados). Para evitar problemas de estabilidad, los
polos y los ceros de la funcin de sistema se disean muy prximos a la circunferencia
unidad, pero no situados sobre ella. Esta ltima estructura es la que hay que elegir cuando se
desea una construccin recursiva de sistemas FIR.
2.4 Anlisis de los efectos de la longitud de palabra finita
En las etapas de aproximacin y realizacin se asume precisin infinita. Sin embargo,
cuando se lleva a cabo la realizacin prctica del sistema es necesario representar los
coeficientes del filtro empleando un nmero limitado de bits y usar precisin finita en las
operaciones aritmticas de la ecuacin en diferencias.
Lo anterior se deriva de que las ecuaciones que se emplean para describir los filtros
digitales estn idealizadas, ya que utilizan coeficientes y secuencias de muestras de precisin
infinita. Sin embargo, las realizaciones prcticas se llevan a cabo con elementos con precisin
limitada, medida en nmero de bits. Por esta razn, el anlisis de un filtro digital no termina
hasta que no se determinan los efectos producidos por dicha precisin finita.
Los datos en un sistema digital se representan como conjuntos de nmeros binarios con
dos formatos aritmticos posibles:
Coma fija, basada en la representacin
n
Q . Suponiendo que la longitud del cdigo
que se emplea es de bits, se emplean n bits para la parte fraccionaria y n bits
para el mdulo y el signo. El margen dinmico es reducido y puede presentar serios
problemas de desbordamiento.
Coma flotante, la cual utiliza una factorizacin mantisa-exponente. Los bits
dedicados a representar la mantisa dan cuenta de la precisin mientras que los del
exponente se relacionan con el margen dinmico, solventando en este aspecto el
problema de la coma fija.
El efecto de la cuantificacin se mantiene constante para el sistema de coma flotante
durante un gran margen de valores de la cantidad que se cuantifica. Sin embargo, en los
sistemas de coma fija este tipo de distorsin depende del valor a cuantificar y slo es
comparablemente alto para un margen dinmico mucho menor. Desde el punto de vista del
Tratamiento Digital de Seales 49
coste del filtro es ms cara la circuitera que opera en coma flotante y suele conllevar un
mayor consumo elctrico que la de coma fija.
Pueden aparecer formatos sin signo y con signo, reservando el bit de mayor peso para
indicar si se trata de un nmero positivo o negativo (si se trata de nmeros con signo). Los
nmeros negativos se representan en complemento a uno o en complemento a dos.
Los efectos de usar un nmero finito de bits sern degradar la respuesta del filtro y en
algunos casos hacerla intil. El diseador debe analizar estos efectos y elegir longitudes de
palabra adecuadas (es decir, un nmero suficiente de bits) para los coeficientes del filtro, las
variables del filtro (las muestras de entrada y salida) y para las operaciones aritmticas.
Las principales fuentes de degradacin al efectuar el filtrado son:
a) Cuantificacin de las seales de entrada y reconstruccin de las de salida.
b) Cuantificacin de los coeficientes del sistema.
c) Errores aritmticos de redondeo y/o truncamiento.
d) Errores de desbordamiento, los cuales ocurren al sumar o acumular resultados
parciales en un registro de longitud limitada y cuando el resultado excede del valor
mximo representable.
La degradacin de estos errores depende de la longitud de palabra y del tipo de
aritmtica usada para desarrollar el filtro, del mtodo empleado para cuantificar los
coeficientes y las variables, y de la estructura del filtro. De los conocimientos de estos
factores el diseador puede reducir los efectos indeseados.
En la realizacin de la prctica se van a analizar los efectos producidos al cuantificar los
coeficientes de la funcin del sistema, y se va a estudiar la importancia que tiene la estructura
elegida. Se operar con datos en coma fija con truncamiento, y corrigiendo el desbordamiento
mediante saturacin.
2.4.1 Anlisis de la sensibilidad a la cuantificacin de los coeficientes de
filtros IIR
Cuando se pretende construir o simular un filtro digital, el nmero de bits que se puede
emplear para representar los coeficientes de dicho filtro va a estar limitado por la longitud de
los registros donde se desea almacenarlos. De esta forma, como los coeficientes de la
realizacin prctica no son los mismos que los del sistema ideal, la ubicacin de los polos y
de los ceros de la nueva funcin de sistema es diferente a la del filtro deseado. El resultado es
que se construye un nuevo filtro cuya respuesta en frecuencia difiere de la deseada.
A continuacin se va a realizar un estudio de la sensibilidad de los polos y ceros de la
funcin de sistema a la cuantificacin de los coeficientes del filtro, pudindose demostrar que
aquella se reduce cuando al aparecer un gran nmero de polos y ceros se emplean estructuras
en cascada y paralelo (mediante secciones bsicas de segundo orden), en lugar de las formas
directas.
Partimos de un filtro IIR cuya funcin de sistema es:
( )
( )
( )

=
N
k
k
M
k
k
k
k
k
M
k
k
k
z p
z z
z a
z b
z
1
1
1
1
1
0
1
1
1
(2.14)
50 Tratamiento Digital de Seales
Al cuantificar los coeficientes, esta funcin de transferencia se modifica:
( )
( )
( )

=
N
k
k
M
k
k
k
k
k
M
k
k
k
z p
z z
z a
z b
z
1
1
1
1
1
0
1
1
1

(2.15)
La relacin entre los coeficientes es:
N k a a a
k k k
, , 1 = + = (2.16)
M k b b b
k k k
, , 0

= + = (2.17)
siendo similar para ceros y polos:
k k k
z z z + = (2.18)
k k k
p p p + = (2.19)
donde ( )
k k
p z es el desplazamiento producido en los ceros (polos) al cuantificar los
coeficientes del filtro.
La variacin en la posicin del polo
i
p o el error total se puede expresar como:
( )

=
=

=
N
k
k
N
i l l
l i
k N
i
N
k
k
k
i
i
a
p p
p
a
a
p
p
1
, 1
1
(2.20)
Esta expresin introduce una medida de la sensibilidad del polo i-simo a cambios en
los coeficientes " "
k
a .
Los trminos ( )
l i
p p representan vectores en el plano z dirigidos desde los polos { }
l
p
hasta el polo
i
p . Si se tienen polos muy prximos, las longitudes
l i
p p sern muy
pequeas y se ocasionarn grandes errores, introduciendo variaciones considerables en las
posiciones de los polos.
Observando la expresin (2.20) tambin se puede deducir que cuanto mayor es N (o M),
mayor es la sensibilidad, aumentando de nuevo el error. Para evitarlo, como alternativa a las
formas directas se pueden emplear las realizaciones en paralelo o en cascada con estructuras
de orden menor.
Con realizaciones de filtros mediante secciones de orden uno o dos se puede reducir
i
p si aumentan las longitudes
l i
p p . Si se selecciona un nico polo (o cero), se corre el
riesgo de tener que ejecutar operaciones con valores complejos. Al elegir secciones de
segundo orden, agrupando los polos y los ceros complejos conjugados, aparecern todos los
coeficientes reales, evitando la situacin anterior y reduciendo tambin considerablemente el
error
i
p .
Adems, con distintas realizaciones aparecen sensibilidades diferentes. De esta manera
se cuenta con un grado de libertad adicional al utilizar realizaciones en paralelo y en cascada.
Se va a considerar un ejemplo de dos estructuras diferentes con los mismos polos, para
comprobar que al cuantificar con el mismo nmero de bits, se obtienen distintas posiciones
para los polos.
Tratamiento Digital de Seales 51
Dada la funcin del sistema:
( )
( ) ( ) ( )
2 2 1
cos 2 1
1

+
=
z r z r
z H

(2.21)
Los polos del filtro estn situados en
j
re

. La realizacin empleando la forma directa


es la representada en la figura 2.15. Mediante precisin infinita se pueden tener infinitas
posiciones para los polos. Sin embargo, al cuantificar los coeficientes con un determinado
nmero de bits, las posiciones permitidas para los polos son finitas. Si emplesemos cuatro
bits, las posibles posiciones para los polos situados en el primer cuadrante seran las
representadas en la figura 2.16. En dicha figura se observa una considerable dispersin para
valores de cercanos a 0 (ocurre lo mismo en ). Esta situacin puede ser muy perjudicial
cuando se disean filtros paso bajo o paso alto, ya que se tiende a situar los polos cercanos a
1 = z 1 = z .

fig. 2.15: realizacin en la forma directa de la expresin (2.21).
0.25
0.75
Im
Re
0.5
0
1
0.25 0.5 0.75 1

fig. 2.16: posiciones posibles de los polos al cuantificar con cuatro bits los coeficientes de la estructura de la
figura 2.15.
Una realizacin alternativa con los mismos polos podra ser la representada en la figura
2.17. En este caso, la funcin del sistema es:
( )
( ) ( )
( ) ( ) ( )
2 2 1
1
cos 2 1
sen

+
=
z r z r
z r
z H

(2.22)
52 Tratamiento Digital de Seales

fig. 2.17: realizacin en la forma acoplada de la funcin de sistema de la expresin (2.22).
El sistema indicado en (2.21) presenta los mismos polos que el anterior. Sin embargo, si
se desea una realizacin real de este ltimo con la estructura de la figura 2.17, se deben
cuantificar las cantidades ( ) cos r y ( ) sen r . Como estas cantidades son la parte real e
imaginaria de la posicin de los polos, stos se distribuyen uniformemente (al cuantificarlos)
dentro del crculo de radio unidad. Si se consideran cuatro bits, las posiciones posibles de los
polos en el primer cuadrante seran las indicadas en la figura 2.18. En esta figura se observa
una distribucin uniforme de las posibles posiciones. Sin embargo, el precio que se paga en
este ltimo caso es que se incrementa en los clculos el nmero de operaciones (lo cual
conlleva mayor tiempo de ejecucin). De ambas estructuras (figuras 2.15 y 2.17), la ms
conveniente ser aquella que ofrezca un conjunto mayor de puntos posibles que estn
prximos a la posicin donde se encuentran los polos de la funcin deseada.
0.75
0.50
1.00
0.25
Im
0 0.25 0.75 1.00
Re
0.50

fig. 2.18: posibles posiciones de los polos al cuantificar con cuatro bits los coeficientes de la forma acoplada.
Tratamiento Digital de Seales 53
2.5 Construccin del filtro
Una vez superadas las etapas anteriores, la ecuacin en diferencias (2.23) debe
construirse empleando hardware o software.
[ ] [ ] [ ]

= =
+ =
N
k
k
M
k
k
k n y a k n x b n y
1 0
(2.23)
En dicha expresin, se observa que el clculo de y[n] conlleva multiplicaciones, sumas
(o restas) y retardos. Para construir el filtro, se puede emplear:
Memoria (por ejemplo ROM) para almacenar los coeficientes.
Memoria (RAM) para almacenar los valores presentes y pasados de la seal de
entrada y salida.
Multiplicadores hardware o software.
Sumadores o unidades de clculo aritmtico-lgicas.
La forma de construirlo depende de si ser un sistema que opera en tiempo real o por
lotes ("batch"). En el segundo caso se pueden hacer mediante software, empleando
ordenadores personales.
Para tiempo real se requiere circuitera ms sofisticada y veloz. Se puede hacer uso de
dispositivos hardware de propsito especfico, como los DSP's. stos cuentan con memorias
internas de tipo RAM y ROM para agilizar los clculos y los tiempos de acceso, as como
multiplicadores hardware incorporados con una longitud de palabra muy alta (16/24/...).
Adems presentan la posibilidad de operar con datos en formato entero y en coma flotante
con precisin simple y extendida. Entre sus instrucciones hay operaciones que permiten leer
de memoria, multiplicar y/o almacenar el resultado en un nico ciclo de reloj.
Los ordenadores personales pueden ser muy tiles para analizar si el sistema cumple los
requisitos de partida. Si se va a operar sobre lotes de datos, sin restricciones de tiempo, se
pueden emplear estos equipos con lenguajes de alto nivel. Para desarrollar y validar los
algoritmos se puede utilizar MATLAB, el cual es un software de clculo numrico. Presenta
excelentes capacidades grficas y funciones especficas para el tratamiento digital de la seal.
Adems, puede ir acompaado de la herramienta SIMULINK que opera con diagramas de
bloques. Posteriormente, se puede llevar a cabo la traduccin a lenguaje C o a los lenguajes
propios de los DSP's.
54 Tratamiento Digital de Seales
C. REALIZACIN DE LA PRCTICA Y PRESENTACIN
DE RESULTADOS
1. CUANTIFICACIN DE LOS COEFICIENTES DEL FILTRO
Con este apartado se pretende poner de manifiesto la problemtica de la realizacin de
filtros digitales empleando aritmtica de precisin finita. Se van a analizar algunos de los
efectos producidos al cuantificar los coeficientes del filtro. Dado el sistema caracterizado por
la siguiente funcin:
( )
( )
( )
2 2 1
1
cos 2 1
sen

+
=
z r z r
z r
z H



realice una representacin del mdulo de la respuesta en frecuencia y del diagrama polo-cero.
Considere precisin infinita (se simula operando directamente con el MATLAB), y los
siguientes valores
32 9 3
97 . 0
3 2 1

= = = = r
Previamente, debe normalizar los coeficientes bk y ak por el mayor de todos ellos.


Mdulo de la respuesta en frecuencia y diagrama polo-cero para 97 . 0 = r y 3
1
= :
0 1 2 3 4
-120
-100
-80
-60
-40
-20
0
20
d
B
`
s

Tratamiento Digital de Seales 55
-1.5
-1
-0.5
0
0.5
1
1.5

Mdulo de la respuesta en frecuencia y diagrama polo-cero para 97 . 0 = r y 9
2
= :
0 1 2 3 4
-120
-100
-80
-60
-40
-20
0
20
d
B
`
s

-1.5
-1
-0.5
0
0.5
1
1.5

56 Tratamiento Digital de Seales
Mdulo de la respuesta en frecuencia y diagrama polo-cero para 97 . 0 = r y
32
3
= :
0 1 2 3 4
-120
-100
-80
-60
-40
-20
0
20
d
B
`
s

-1.5
-1
-0.5
0
0.5
1
1.5

b) Repita el apartado "a" cuantificando con 8 bits los coeficientes de la funcin del
sistema.

Tratamiento Digital de Seales 57
Mdulo de la respuesta en frecuencia y diagrama polo-cero para 97 . 0 = r y 3
1
= :
0 1 2 3 4
-120
-100
-80
-60
-40
-20
0
20
d
B
`
s

-1.5
-1
-0.5
0
0.5
1
1.5

Mdulo de la respuesta en frecuencia y diagrama polo-cero para 97 . 0 = r y 9
2
= :
0 1 2 3 4
-120
-100
-80
-60
-40
-20
0
20
d
B
`
s

58 Tratamiento Digital de Seales
-1.5
-1
-0.5
0
0.5
1
1.5

Mdulo de la respuesta en frecuencia y diagrama polo-cero para 97 . 0 = r y
32
3
= :
0 1 2 3 4
-120
-100
-80
-60
-40
-20
0
20
d
B
`
s

-1.5
-1
-0.5
0
0.5
1
1.5

c) Explique cmo ha afectado al mdulo de la respuesta en frecuencia la cuantificacin
con ocho bits. Comente las diferencias encontradas para cada una de las posiciones de .
Tratamiento Digital de Seales 59
2. INFLUENCIA DE LAS ESTRUCTURAS UTILIZADAS
En este segundo apartado se va a estudiar el efecto de la cuantificacin de los
coeficientes para un filtro dado y la importancia que tiene la estructura elegida para mantener
una serie de caractersticas.
a) Calcule los coeficientes de un filtro digital paso bajo elptico de orden 5, con un rizado de
0.5 dB en la banda de paso, atenuacin mnima de 55 dB en la banda eliminada y una
pulsacin de corte 0.5
N
= . Normalice los coeficientes bk y ak por el mayor de todos ellos:
Coeficientes akn y bkn:
a0n = a1n = a2n =
a3n = a4n = a5n =
b0n = b1n = b2n =
b3n = b4n = b5n =
b) En cualquiera de las formas directas, los coeficientes que aparecen en la estructura
son los mismos que los del apartado anterior. Dibuje el diagrama polo-cero y el mdulo de la
respuesta en frecuencia del filtro empleando dichos coeficientes.
-1.5
-1
-0.5
0
0.5
1
1.5

0 1 2 3 4
-120
-100
-80
-60
-40
-20
0
20
d
B
`
s

60 Tratamiento Digital de Seales
c) Repita el apartado "b" cuantificando los coeficientes del filtro con 16, 8 y 6 bits .
16 bits:
-1.5
-1
-0.5
0
0.5
1
1.5

0 1 2 3 4
-120
-100
-80
-60
-40
-20
0
20
d
B
`
s

8 bits:
-1.5
-1
-0.5
0
0.5
1
1.5

Tratamiento Digital de Seales 61
0 1 2 3 4
-120
-100
-80
-60
-40
-20
0
20
d
B
`
s

6 bits:
-1.5
-1
-0.5
0
0.5
1
1.5

0 1 2 3 4
-120
-100
-80
-60
-40
-20
0
20
d
B
`
s

62 Tratamiento Digital de Seales
d) Explique las diferencias que observe entre lo obtenido en los apartados "b" (filtro con
los coeficientes ideales) y "c" (filtro con los coeficientes cuantificados).
e) Qu opinin le merece la cuantificacin con 8 y 6 bits empleando la forma directa?.
f) En este ltimo apartado se va a emplear una realizacin en cascada de secciones de
segundo orden. En primer lugar, hay que descomponer la funcin del sistema en productos de
funciones de segundo orden.
Partiendo de la funcin de sistema ( ) z H , habra que expresarla como producto de
funciones ( ) z H
k
de segundo orden:
( ) ( )

=


=

+ +
= =
s s
N
k
k k
k k k
N
k
k
z a z a
z b z b b
z H z H
1
2
2
1
1
2
2
1
1 0
1
1

Esta descomposicin no es nica ya que, por un lado, los polos y los ceros se pueden
emparejar de diversas maneras y, por otro, los subsistemas se pueden ordenar de distintas
formas. Tericamente la funcin global es la misma, pero en la prctica (debido a la
aritmtica finita) existen grandes diferencias entre unas y otras.
Con los polos y los ceros del filtro ideal se realiza un emparejamiento siguiendo los
criterios enunciados en los fundamentos tericos. Para ello, debe emplear una funcin que
devuelva dos matrices: bik, que contiene los coeficientes b
ik
(en la fila "k" tenemos los
coeficientes de la subseccin "k"), y aik, que contiene los coeficientes a
ik
.
En segundo lugar, se deben normalizar las matrices bik y aik con respecto al mximo
valor que presenten. Hay que tener en cuenta que ambas matrices deben dividirse por el
mismo valor.
En tercer lugar, se cuantifican con 16, 8 y 6 bits los coeficientes de las matrices
normalizadas.
Tratamiento Digital de Seales 63
Por ltimo, se pide representar el mdulo de la respuesta en frecuencia del filtro total,
que es asociacin en cascada de tres filtros.
16 bits:
0 1 2 3 4
-120
-100
-80
-60
-40
-20
0
20
d
B
`
s

8 bits:
0 1 2 3 4
-120
-100
-80
-60
-40
-20
0
20
d
B
`
s

64 Tratamiento Digital de Seales
6 bits:
0 1 2 3 4
-120
-100
-80
-60
-40
-20
0
20
d
B
`
s

g) Explique las diferencias que observe entre lo obtenido en los apartados "c" y "f".
h) Qu opinin le merece la cuantificacin con 8 y 6 bits empleando una conexin en
cascada?.

Anda mungkin juga menyukai