Documentos de Académico
Documentos de Profesional
Documentos de Cultura
A. OBJETIVOS
Los filtros digitales se pueden clasificar en dos grandes grupos: aquellos que presentan
una respuesta al impulso de duración infinita (IIR) y, por el contrario, los sistemas FIR o de
respuesta al impulso finita.
En el apartado de fundamentos teóricos se van a introducir los conceptos fundamentales
que caracterizan a cada uno de los grupos, para a continuación estudiar con detalle las
técnicas más empleadas en la etapa de aproximación o cálculo de los coeficientes.
Para sistemas IIR se van a presentar los métodos de ubicación de polos y ceros, y el
diseño de filtros digitales a partir de prototipos analógicos. Se emplearán 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 función del
tipo de filtro, la más apropiada.
Una de las características más importantes de los sistemas FIR se debe a que pueden
presentar una fase de la respuesta en frecuencia lineal. Se estudiarán las condiciones que debe
cumplir la respuesta al impulso y los distintos grupos de filtros FIR que tienen fase lineal. En
la etapa de aproximación se desarrollará el método 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 cómo queda afectada la respuesta en frecuencia del filtro deseado al
truncar su respuesta al impulso.
En la realización de la práctica se van a diseñar filtros digitales siguiendo todos los
métodos desarrollados en los fundamentos teóricos, y además se dedicará un apartado al
diseño de filtros FIR por el procedimiento de Parks-McClellan, el cual obtiene filtros óptimos
en el sentido de Chebyshev.
1
2 • Tratamiento Digital de Señales •
B. FUNDAMENTOS TEÓRICOS
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 realimentación. Estas realizaciones realimentadas son potencialmente inestables.
Para calcular la salida por la expresión (1.1) necesitamos N+M+1 multiplicaciones y
N+M sumas. Sin embargo, empleando la expresión establecida para la convolución directa
(1.2) el número de operaciones se haría infinito.
∞
y[n ] = ∑ h[k ]x[n − k ] (1.2)
k =0
∞
Υ (z )
∑ bk z − k
Η (z ) = ∑ h[n]z − n = Χ(z ) = k =0
Ν
(1.3)
n =0
1− ∑ ak z −k
k =1
Dicha función no puede tratarse en forma de polinomio, pues tendría infinitos términos,
sino como una función 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 aproximación, 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
características en frecuencia si no se toman algunas precauciones.
La respuesta en frecuencia (1.4) se obtiene, si el sistema es estable, particularizando en
la función del sistema los puntos z en la circunferencia de radio unidad z = e jΩ .
M
∞ ∑ bk e − jkΩ
Η (Ω ) = ∑ h[n]e − jΩn = k =0
Ν
(1.4)
n =0
1− ∑ ak e − jkΩ
k =1
Los sistemas I.I.R. no van a poder presentar una característica de fase exactamente
lineal si queremos que sean causales. La solución más habitual se basa en aproximar el
• Tratamiento Digital de Señales • 3
M M
∑ βk ⋅ sk ∏ (s − c k )
H a (s ) = k =0
N
= k =1
N
(1.5)
∑α k ⋅ s k
∏ (s − d k )
k =0 k =1
Una vez que se han obtenido los coeficientes {βk} y {αk}, o bien los ceros y los polos
{ck} y {dk} del filtro analógico, se emplean algunas transformaciones para convertirlo en un
filtro digital. Esta técnica será efectiva si tiene unas propiedades:
a. El eje "jω" del plano s debería transformarse en la circunferencia unidad del plano z.
De esta forma la transformación conserva en lo esencial el comportamiento en
frecuencia del sistema continuo.
b. La transformación debe conservar la estabilidad del sistema. Cada punto del
semiplano izquierdo del plano s debería transformarse en otro interior a la
circunferencia unidad.
Existen diversos métodos para realizar la conversión de la función de sistema analógica
en la digital, destacando por su utilización la transformación invariante de impulso y la
transformación bilineal. La relación dificultad/eficiencia de estas técnicas es muy baja.
1.3.2.1 Transformación invariante de impulso
Se basa en tomar como respuesta al impulso del filtro digital una versión muestreada de
la respuesta al impulso del sistema de tiempo continuo empleando un período de muestreo T
(expresión 1.6). Dicho valor es irrelevante cuando la especificación original se da en el
dominio discreto. Además, no tiene porqué coincidir con el valor del período que introduce el
convertidor A/D.
h[n ] = k ⋅ ha (n ⋅ T ) (1.6)
Cuando empleamos la transformación invariante de impulso para diseñar un sistema de
tiempo discreto a partir de una especificación de su respuesta en frecuencia, es especialmente
importante la relación 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 expresión (1.7). El primer
problema surge porque no hay sistemas analógicos limitados en banda y el solapamiento será
inevitable.
Ω = ω ⋅T (1.7)
Para demostrar cómo se consigue el sistema de tiempo discreto, vamos a partir de la
función de sistema dada en la expresión (1.5). Supondremos que M < N y que todos los polos
de Ha(s) son simples. En caso contrario el método se complica, necesitando realizar algunas
modificaciones en lo que se explica a continuación.
En primer lugar se desarrolla en fracciones simples la función de sistema (1.8), donde
las constantes Ak se calculan a partir de la expresión (1.9).
N
H a (s ) = ∑ (s −Kd k )
A
(1.8)
k =1
6 • Tratamiento Digital de Señales •
Ak = H a (s ) ⋅ (s − d k ) s = d k (1.9)
N
h[n ] = ha (nT ) = ∑ Ak ⋅ e d k ⋅T ⋅n ⋅ u[n ] (1.11)
k =1
( )
∞ ∞ N
H ( z ) = ∑ h[n]⋅ z − n = ∑ ∑ Ak ⋅ e d k ⋅T
n
⋅ z −n (1.12)
n=0 n = 0 k =1
( ) =∑ A
N ∞ N
H ( z ) = ∑ Ak ∑ ⋅ e d k ⋅T ⋅ z −1
n k
(1 − e )
d k ⋅T
(1.13)
k =1 n =0 k =1 ⋅ z −1
De las expresiones (1.8) y (1.13) se deduce que un polo en s = d k en el plano s se
transforma en un polo en z = e d k ⋅T , siendo los residuos de los desarrollos en fracciones
simples iguales.
La figura 1.2 muestra la transformación 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 analógico de partida es necesario que este último
sea de banda limitada, es decir, que Ha(ω)=0 para |ω|>π/T.
⎝ 2 ⎠
Esta transformación conserva el comportamiento en frecuencia del sistema continuo, ya
que si s=jω, se tiene el cociente de dos números 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
s = 0 , el nuevo punto es z = 1.
⎛ T ⎞
⎜1 + jω ⎟
z=⎝ ⎠
2
(1.15)
⎛ T ⎞
⎜1 − jω ⎟
⎝ 2 ⎠
La transformación bilineal también 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 transformación se puede observar en la figura 1.3.
⎛ T ⎞ ⎛⎛ T ⎞ T⎞
⎜1 + (σ + jω )⎟ ⎜ ⎜1 + σ ⎟ + jω ⎟
z=⎝
2 ⎠ = ⎝⎝ 2 ⎠ 2⎠
(1.16)
⎛ T ⎞ ⎛⎛ T ⎞ T⎞
⎜1 − (σ + jω )⎟ ⎜ ⎜1 − σ ⎟ − jω ⎟
⎝ 2 ⎠ ⎝⎝ 2 ⎠ 2⎠
8 • Tratamiento Digital de Señales •
La función del sistema del filtro digital se obtiene mediante un cambio de variable en la
función de sistema del filtro analógico (expresión 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.
H ( z ) = H (s )
(
2 1− z −1 ) (1.17)
s=
(
T 1+ z −1 )
La transformación bilineal presenta como inconveniente que aparece distorsión en el eje
de frecuencia digital Ω. Si se estudia la relación entre los dos ejes de frecuencia se podrá
corregir la distorsión en la etapa de diseño del filtro. Esta relación se puede obtener
comprobando en qué se transforma el eje jω (expresiones 1.18 y 1.19).
jω →
(
2 1 − e jΩ
=
)
2
⋅ ⋅
sen (Ω 2 ) 2
= ⋅ ⋅
⎛Ω⎞
(
T 1 + e jΩ T ) j
cos(Ω 2 ) T
j tg ⎜ ⎟
⎝2⎠
(1.18)
⎛Ω⎞
ω ⋅ T = 2 ⋅ tg⎜ ⎟ (1.19)
⎝2⎠
En la figura 1.4 se representa la función establecida por (1.19). En la figura 1.5 se puede
observar el efecto que trae consigo la relación no lineal que existe entre la frecuencia
analógica y la digital. Esta no linealidad limita la aplicación de la transformación bilineal a
respuestas en frecuencia analógicas idealmente formadas por tramos constantes, caso en el
que se mantienen las características del diseño analógico (decrecimiento monótono, rizado
constante, etc.).
• Tratamiento Digital de Señales • 9
Ω
π
−π
fig. 1.4: transformación del eje de frecuencias de tiempo continuo en la circunferencia de radio unidad.
ω
2 ΩFG IJ
Td
tan
2 H K
2 ⎛ Ωk ⎞
ωk = ⋅ tg⎜ ⎟ (1.20)
T ⎝ 2 ⎠
• Diseñar un filtro analógico con las frecuencias críticas analógicas calculadas. Las
aproximaciones más utilizadas en esta fase son las de Butterworth, Chebyshev o
elíptica.
• Obtener la función del sistema discreto empleando la transformación bilineal
(expresión 1.17)
Cuando no interesa mantener la respuesta al impulso o la fase de la respuesta en
frecuencia del filtro analógico, la transformación bilineal siempre resulta mejor que la
invariante de impulso debido a que no tiene problemas de solapamiento.
10 • Tratamiento Digital de Señales •
( )
ϑ −1 = G z −1 (1.21)
Η (z ) = Η l (ϑ )
( )
ϑ −1 = G z −1
(1.22)
⎛ Γp − Πp ⎞
−1 sen⎜ ⎟
−1 z −α ⎝ 2 ⎠
ϑ = α=
Paso bajo −1
1− α z ⎛ Γp + Πp ⎞
sen⎜ ⎟
⎝ 2 ⎠
⎛ Γp + Πp ⎞
cos⎜ ⎟
−1 ⎝ ⎠
−1 z +α α=−
2
Paso alto ϑ =− ⎛ Γp − Πp ⎞
−1
1 + αz cos⎜ ⎟
⎝ 2 ⎠
⎛ Π p 2 + Π p1 ⎞
cos⎜ ⎟
2αK −1 Κ − 1 ⎝ 2 ⎠
−2 α=−
z +
z − ⎛ Π p 2 − Π p1 ⎞
−1
ϑ =− Κ + 1 Κ +1 cos⎜ ⎟
Κ − 1 −2 2αΚ −1 ⎝ 2 ⎠
Paso banda z − z +1
Κ +1 Κ +1 ⎛ Γp 2 − Π p1 ⎞ ⎛ Γp ⎞
Κ = cotg⎜⎜ ⎟⎟ . tg ⎜⎜ ⎟⎟
⎝ 2 ⎠ ⎝ 2 ⎠
⎛ Π p 2 + Π p1 ⎞
cos⎜ ⎟
⎝ 2 ⎠
α=−
−2 2α −1 1− Κ ⎛ Π p 2 − Π p1 ⎞
z − z + cos⎜ ⎟
−1 1+ Κ 1+ Κ ⎝ 2 ⎠
Banda ϑ =
1− Κ −2 2α −1
eliminada z − z +1 ⎛ Π p 2 − Π p1 ⎞ ⎛ Γp ⎞
1+ Κ 1+ Κ Κ = tg⎜⎜ ⎟⎟ . tg⎜⎜ ⎟⎟
⎝ 2 ⎠ ⎝ 2 ⎠
• Los filtros F.I.R. son muy fáciles de realizar. La mayoría de los procesadores de
señales digitales tienen unas arquitecturas internas que hacen factible su
construcción.
• 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 cálculos que conlleva
el filtrado.
frecuencia que presente el filtro. El retardo de fase y de grupo proporcionan una medida de
cómo el filtro va a llevar a cabo estas modificaciones. Un filtro que presente una característica
de fase no lineal ocasionará una distorsión de fase en la señal que lo atraviese, pues cada
componente en frecuencia sufre un retardo no proporcional a dicha frecuencia, modificándose
la relación entre armónicos. Se puede evitar empleando filtros con características 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
simetría par con respecto al punto central de la secuencia (1.30), satisface la primera
condición y tendrá constantes el retardo de fase y de grupo. En este caso la fase de la
respuesta en frecuencia es función de la longitud del filtro (1.31).
ϕ (Ω ) = −αΩ (1.28)
ϕ (Ω ) = β − αΩ (1.29)
⎛ L −1⎞
ϕ (Ω ) = −⎜ ⎟Ω (1.31)
⎝ 2 ⎠
Cuando se satisface (1.29), la respuesta al impulso presenta simetría impar (expresión
(1.32)), y el filtro sólo tiene retardo de grupo constante, con una fase de la respuesta en
frecuencia como se establece en la expresión (1.33).
⎧n = 0,1... (L − 1) 2 para L impar
h[n ] = − h[L − n − 1] ⎨ (1.32)
⎩n = 0,1...(L 2 − 1) para L par
π ⎛ L −1⎞
ϕ (Ω ) = −⎜ ⎟Ω (1.33)
2 ⎝ 2 ⎠
En la tabla 1.2 se indica la clasificación existente para los filtros FIR de fase lineal
según su simetría y el número de coeficientes.
Tabla 1.2: filtros de fase lineal.
PAR IMPAR I
h[n]=h[L-n-1] PAR II
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 acompañado de otro recíproco
conjugado (1 z0 ) . Si además la respuesta al impulso es real, la función del sistema H(z) será
∗
una función racional con coeficientes reales, y cada cero debe ir acompañado por su
14 • Tratamiento Digital de Señales •
conjugado. En consecuencia, en este tipo de sistemas los ceros aparecen por cuartetos
recíprocos conjugados con las siguientes excepciones:
1. Los ceros sobre la circunferencia unidad (salvo en z = ±1) aparecen por parejas, ya
que coinciden con sus recíprocos.
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 recíproco y su conjugado, pudiendo aparecer
solos.
Se puede demostrar que en los filtros tipo II debe aparecer un cero en z = −1 , lo que
significa que no pueden realizar características paso alto, que en los filtros tipo III deben
aparecer ceros en z = 1 y z = −1 , 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 sitúa en
z = 1 , con lo que no se pueden emplear como filtros paso bajo.
h I [n ] = ∫ H I (Ω)e
1 jΩn
dΩ (1.35)
2π
2π
pequeña), obteniendo de esta forma una h A [n ] (respuesta al impulso aproximada) finita que
desplazada puede representar a un filtro F.I.R. causal. Cuantas más muestras se tomen de
h I [n ] , mejor será la aproximación de la característica en frecuencia, pero el filtro será más
caro de realizar y presentará mayor retardo.
El truncado efectuado sobre la respuesta al impulso deseada h I [n ] para obtener la
aproximada h A [n ] se puede expresar como el resultado de multiplicar la primera por una
secuencia de duración limitada w[n] que recibe el nombre de ventana de observación o
simplemente ventana. La operación que realizamos en el dominio del tiempo viene indicada
por (1.36), y su respuesta en frecuencia resultante por (1.37).
h A [n ] = h I [n ]⋅ w[n ] (1.36)
H A (Ω ) =
1
[H I (Ω ) ⊗ W (Ω )] (1.37)
2π
La ventana ideal sería aquella en que W (Ω ) = δ (Ω ) , pero la secuencia asociada a esta
transformada es w[n ] = 1 ∀n , la cual no produce ningún truncado.
La ventana más simple es la rectangular (figura 1.6), que tiene como transformada de
Fourier WR (Ω ) una función sinc (figura 1.7). Al convolucionar WR (Ω ) con H I (Ω ) da lugar
a un filtro H A (Ω ) cuyo módulo de la respuesta en frecuencia presenta oscilaciones y una
banda de paso distorsionada. Estos efectos indeseados son ocasionados por los lóbulos
secundarios de WR (Ω ) . Según aumenta la longitud de la ventana (o el número de muestras de
h A [n ] ), el lóbulo principal y los laterales de WR (Ω ) se hacen más estrechos.
Por tanto:
• La ventana ideal es W (Ω ) = δ (Ω ) . Esta no produce truncado.
• Si la anchura del lóbulo principal del espectro de la ventana es distinta de cero,
aparece la banda de transición.
• Si existen lóbulos laterales en dicho espectro, tendremos distorsión en la banda de
paso y en la atenuada.
• Para una ventana dada, la amplitud relativa de los lóbulos permanece invariante al
modificar el valor de la longitud.
16 • Tratamiento Digital de Señales •
1.2
0.8
0.6
Amplitud
0.4
0.2
-0.2
0 10 20 30 40 50 60
Indice
fig. 1.6: ventana rectangular de duración L= 63.
-10
-20
-30
dB`s
-40
-50
-60
-70
0.5 1 1.5 2 2.5 3
Veamos cómo se puede evitar el efecto de las oscilaciones en las bandas de paso y
eliminada. Es evidente que la amplitud de los lóbulos 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 lóbulos secundarios tendrán 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 Señales • 17
Hay distintas funciones de ventana que se caracterizan por una respuesta en frecuencia
adecuada para el diseño de filtros. Algunas de las más 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
convolución de dos rectangulares, y consigue aumentar la amplitud máxima relativa del
lóbulo primario al secundario (de -13'5 dBs a -27 dBs) a costa de ensanchar el lóbulo
principal (de 4π L a 8π L ). Otras ventanas de gran aceptación son las Hanning y Hamming,
ya que llegan a un buen compromiso entre la selectividad del filtro deseado (lóbulo principal
estrecho) y el rizado en las bandas de paso y atenuada (lóbulos laterales de amplitud
pequeña).
18 • Tratamiento Digital de Señales •
En todas las ventanas de la tabla 1.3 el compromiso entre lóbulo principal y secundarios
es fijo. En la ventana de Kaiser, definida por la expresión (1.38), dicho compromiso puede
variarse. El término Io(·) es la función 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 más 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 lóbulo principal y disminuye la amplitud de los
lóbulos secundarios.
⎧ ⎛ 2 ⎞
⎪ I 0 ⎜ β ⋅ 1 − ⎛⎜ n − α ⎞⎟ ⎟
⎪ ⎜ ⎝ α ⎠ ⎟⎠
w[n ] = ⎨ ⎝ 0 ≤ n ≤ L −1 (1.38)
⎪ I 0 (β )
⎪
⎩0 resto
Si expresamos el rizado máximo (±δ) como una atenuación (A) en decibelios, se podrá
calcular el valor de ß a partir de las fórmulas indicadas en la expresión (1.40).
A = −20 log(δ ) (1.39)
• FUNCIÓN DE SISTEMA: en un FIR son del tipo sólo ceros, ya que todos los polos
se encuentran en el origen, (salvo si se emplean diseños 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 diseño de filtros sencillos
(método de ubicación de polos y ceros).
• MÓDULO DE LA RESPUESTA EN FRECUENCIA: se puede conseguir cualquier
distribución de bandas con cualquiera de los dos tipos de filtros. Sin embargo, hay
algunas características de amplitud, como la requerida en los sistemas
diferenciadores, que se realiza mejor con un sistema FIR. Sin embargo, los filtros
paso-todo sólo 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 característica de fase exactamente lineal, mientras que los IIR sólo se pueden
aproximar a ella a costa de un gran aumento de la complejidad.
• ESTABILIDAD: los filtros FIR realizados de forma no recursiva son
intrínsecamente estables, mientras que los IIR sólo serán estables (y causales
simultáneamente) si todos sus polos están en el interior de la circunferencia unidad.
• DIFICULTAD EN EL DISEÑO: los cálculos necesarios para diseñar un filtro FIR
suelen exigir aproximaciones iterativas, mientras que los sistemas IIR suelen
diseñarse con fórmulas cerradas y transformaciones sencillas como la bilineal.
• ESTRUCTURAS: los sistemas FIR admiten realizaciones recursivas y no recursivas.
Se puede reducir el número de multiplicaciones si se emplean estructuras de fase
lineal. Sin embargo, los sistemas IIR sólo pueden realizarse con estructuras
recursivas. Lo más usual es utilizar estructuras en cascada de secciones de primer o
segundo orden, por lo que una parte importante del diseño consiste en distribuir los
polos y los ceros en distintas secciones y elegir el orden de conexión 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 duración. Si la realización es no recursiva, lo anterior sólo ocurre durante la
longitud de la respuesta al impulso. Sin embargo, en los sistemas IIR la perturbación
puede afectar a la señal de salida indefinidamente.
• ERROR DE CUANTIFICACIÓN: en los sistemas FIR los efectos de la
cuantificación 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 cancelación exacta de polos y ceros después de la cuantificación, y esto obliga a
aumentar la longitud de palabra. Para sistemas IIR la cuantificación no sólo 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
simultáneamente causal y estable. También, debido a la cuantificación pueden
producirse oscilaciones indeseadas en la salida a causa del desbordamiento o de los
ciclos límite.
• MEMORIA: los filtros FIR necesitan mucha memoria para almacenar la muestra
actual y las anteriores de la señal de entrada, así como los coeficientes del filtro. Este
inconveniente se va reduciendo con el abaratamiento y el aumento de la escala de
integración de las memorias. Los filtros IIR necesitan menos registros de
almacenamiento, ya que el número de coeficientes es menor que el equivalente FIR.
20 • Tratamiento Digital de Señales •
• EFICIENCIA: A pesar de que los sistemas IIR tienen menor número de coeficientes
que sus equivalentes FIR, puede ocurrir que el sistema FIR emplee menos tiempo
para calcular la salida que el IIR. La razón 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 Señales • 21
C. CUESTIONES PREVIAS
1.- Dado un sistema cuya respuesta en frecuencia es:
⎧ − j 7Ω π
⎪e Ω<
H D (Ω ) = ⎨ 4
⎪⎩0 resto
con
⎧1 0 ≤ n ≤ 14
w[n ] = ⎨
⎩0 resto
demuestre, a partir de los coeficientes del nuevo filtro, que presenta una característica de fase
lineal.
H a (s ) =
2
(s + 1)(s + 3)
Obtenga los sistemas de tiempo discreto empleando la transformación invariante de impulso y
la bilineal.
H a (s ) =
(s + 2 )
(s + 1)(s + 3)
22 • Tratamiento Digital de Señales •
• 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 módulo de la respuesta en frecuencia,
expresada en dB's, del filtro analógico H ( jω ) que se desea simular.
d) Calcule el orden del filtro elíptico analógico que cumple las especificaciones de la
plantilla, y obtenga la función de sistema H c (s ) que lo caracteriza.
-20
-40
dB
-60
-80
-100
0 1 2 3 4
g) Calcule el orden del filtro elíptico analógico que cumple las especificaciones de la
plantilla del apartado f, y obtenga la función de sistema H c (s ) que lo caracteriza.
-20
-40
dB
-60
-80
-100
0 1 2 3 4
:
i) Comente los resultados.
Suponga que la relación entre el módulo de los polos (r) y el ancho de banda a 3 dB
(BW) es:
⎛ BW ⎞
r ≈ 1 − ⎜⎜ ⎟⎟ ⋅ π para r > 0.9
⎝ fs ⎠
a) Representar el diagrama de polos y de ceros de la función de sistema del filtro.
1.5
0.5
-0.5
-1
-1.5
20
-20
dB`s
-40
-60
-80
-100
-120
0 1 2 3 4
L = 128:
VENTANA ALSmáx (dB) ωLS aLP
RECTANGULAR
TRIANGULAR
HANNING
HAMMING
KAISER
L = 64:
VENTANA ALSmáx (dB) ωLS aLP
RECTANGULAR
TRIANGULAR
HANNING
HAMMING
KAISER
• Tratamiento Digital de Señales • 27
Una vez obtenida, trunque dicha respuesta al impulso empleando las ventanas
rectangular, de Hamming y de Kaiser (ß=7'865) de longitud 63. Dibuje el módulo de la
respuesta en frecuencia de los filtros enventanados, representando con detalle las bandas de
paso y transición.
• Módulo del espectro para la ventana rectangular (L = 63)
20
-20
dB`s
-40
-60
-80
-100
-120
0 1 2 3 4
-5
-10
dB`s
-15
-20
-25
-30
-35
0 0.1 0.2 0.3 0.4
20
-20
dB`s
-40
-60
-80
-100
-120
0 1 2 3 4
• Tratamiento Digital de Señales • 29
-5
-10
dB`s
-15
-20
-25
-30
-35
0 0.1 0.2 0.3 0.4
-20
-40
-60
dB´s
-80
-100
-120
-140
-160
0 1 2 3 4
-5
-10
dB`s
-15
-20
-25
-30
-35
0 0.1 0.2 0.3 0.4
30 • Tratamiento Digital de Señales •
b) Indique los filtros enventanados (L=63) que cumplen las condiciones de diseño.
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;
• Módulo del espectro para la ventana rectangular (L = 127):
20
-20
dB`s
-40
-60
-80
-100
-120
0 1 2 3 4
10
-10
-20
dB
-30
-40
-50
-60
0 0.1 0.2 0.3 0.4
• Tratamiento Digital de Señales • 31
20
-20
-40
dB
-60
-80
-100
-120
0 1 2 3 4
10
-10
-20
dB
-30
-40
-50
-60
0 0.1 0.2 0.3 0.4
-20
-40
-60
dB´s
-80
-100
-120
-140
-160
0 1 2 3 4
32 • Tratamiento Digital de Señales •
10
-10
-20
dB
-30
-40
-50
-60
0 0.1 0.2 0.3 0.4
d) Indique los filtros enventanados (L=127) que cumplen las condiciones de diseño.
• Tratamiento Digital de Señales • 33
En el proceso de eliminación del ruido de la red se desea utilizar un filtro FIR banda
eliminada por las características de fase lineal que pueden ofrecer este tipo de sistemas. Se
sigue el procedimiento indicado en la figura 1.10, es decir, diseñar directamente el filtro y
eliminar el ruido.
A. OBJETIVOS
En esta práctica se introducen las características más importantes de los filtros digitales,
y se establece una comparativa con los tradicionales filtros analógicos. En los fundamentos
teóricos se proponen las etapas que se deben tener en consideración para diseñar y construir
con éxito un filtro digital. De todas las etapas, se desarrollan con mayor profundidad las de
realización empleando una estructura y los análisis de longitud de palabra finita, ya que serán
las etapas que se considerarán en el laboratorio.
Se pretende poner de manifiesto la problemática de la realización de filtros digitales
empleando aritmética finita a partir de unas especificaciones dadas. Nos limitaremos al
estudio de los efectos producidos por la cuantificación de los coeficientes del filtro,
analizando con detalle la importancia de las estructuras empleadas para filtros de orden
elevado.
Se representarán los módulos de las respuestas en frecuencia de los filtros utilizando
precisión infinita y cuantificando con determinado número de bits. De esta forma se
observarán las diferencias existentes y se podrá estimar la longitud de los registros de
almacenamiento para que la degradación de las características sea aceptable.
35
36 • Tratamiento Digital de Señales •
B. FUNDAMENTOS TEÓRICOS
Este diagrama de bloques puede modificarse sin que cambie la función de sistema, de
manera que se obtenga otra estructura equivalente. Por ejemplo, se puede ver el diagrama de
la primera forma directa como la asociación en cascada de dos sistemas, cada uno con su
correspondiente función de transferencia (figura 2.4a). Si las condiciones iniciales son nulas,
los dos sistemas son LTI y se puede cambiar el orden de la asociación en cascada sin
modificar la relación entrada-salida del conjunto (figura 2.4b).
⎛M ⎞
∑
Η (z ) = ⎜ bk z −k ⎟ ⋅
1
(2.7)
⎜ ⎟ Ν
⎝ k =0 ⎠ 1−
∑ a k z −k
k =1
Esta sección canónica es la más popular ya que presenta unas buenas propiedades con
respecto al ruido de redondeo y requiere un número mínimo de elementos de retardo. El
problema estriba en que puede ocurrir desbordamiento ("overflow") en nodos internos de la
42 • Tratamiento Digital de Señales •
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 algún resultado
intermedio, el resultado final puede ser correcto. Por este motivo, estas últimas estructuras se
emplean en el diseño de filtros de audio de hi-fi, ya que no hay necesidad de escalar la
entrada.
Para secciones bicuadráticas existe una realización alternativa que se denomina forma
acoplada (figura 2.6). Una sección bicuadrática según la forma directa II con los mismos
polos que la anterior es más sensible al ruido de cuantificación 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 número de operaciones, lo cual
conlleva mayor tiempo de ejecución. Además, no se puede usar de manera sencilla cuando
aparecen funciones de transferencia con coeficientes de segundo orden en el numerador.
∏ (1 − g k ⋅ z )∏ (1 − hk ⋅ z −1 )⋅ (1 − hk* ⋅ z −1 )
M1 M2
−1
H (z ) = A ⋅ k =1 k =1
(2.8)
∏ (1 − ck ⋅ z )∏ (1 − d k ⋅ z )⋅ ( )
N1 N2
−1 −1 −1
1 − d k* ⋅z
k =1 k =1
Hay muchas formas diferentes de emparejar polos y ceros para formar cada una de las
H k (z ) . Teóricamente la función global es la misma, pero en la práctica (debido a la
aritmética finita) existen grandes diferencias entre unas y otras. También aparecen distintas
realizaciones según el orden de conexión de las etapas.
Un criterio de selección que reduce la sensibilidad es el siguiente:
• Los polos más próximos a la circunferencia unidad deben emparejarse con los ceros
que tienen más próximos 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 situándolas 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 saturación,
amplificando además el ruido de cuantificación. Emparejar un polo próximo a la
• Tratamiento Digital de Señales • 45
circunferencia de radio unidad con el cero más cercano a él puede reducir considerablemente
esos picos de ganancia.
En la figura 2.10 se representa un ejemplo de conexión en cascada para un sistema de
sexto orden, empleando la forma directa II para cada una de las subsecciones.
fig. 2.10: conexión en cascada de un sistema de sexto orden empleando subsecciones según la forma directa II.
Paralelo
La conexión en paralelo se basa en descomponer la función de partida H ( z ) en suma de
funciones de primer y segundo orden según la expresión (2.10), donde N = (N1 + 2 ⋅ N 2 ) es el
grado del denominador y M es el grado del numerador, de manera que si M ≥ N , entonces
N p = (M − N ) . En caso contrario, el primer sumatorio sería nulo.
Np
∑
N1
∑ (1 − c
N2
(
Bk ⋅ 1 − ek ⋅ z −1 )
H (z ) =
) k∑=1 (1 − d k ⋅ z −1 )(1 − d k* ⋅ z −1 )
−k Ak
Ck ⋅ z + −1
+ (2.10)
k =0 k =1 k ⋅z
El esquema general para una realización en paralelo consta de una sección FIR (que
puede no aparecer) y N s secciones IIR de segundo orden conectadas en paralelo.
H (z ) = H FIR (z ) + H 1 (z ) + " + H N s (z ) (2.12)
Una realización para un sistema de sexto orden podría ser la dibujada en la figura 2.11.
Analicemos esta realización junto con la cascada. Observando esta segunda conexión se
comprueba que los coeficientes {bik } van a dar directamente las posiciones de los ceros. Si
cuantificamos los coeficientes (empleando precisión finita), se podrá controlar directamente la
posición de los polos y ceros (aumentando el número de bits). Es posible evaluar directamente
en cada subsección el error cometido para una precisión dada, efectuando un control directo.
Sin embargo, la realización en paralelo sólo controlará directamente la posición de los polos,
ya que los coeficientes {c ik } de cada bloque no representan los ceros de la función de sistema
total.
46 • Tratamiento Digital de Señales •
fig. 2.11: conexión en paralelo de un sistema de sexto orden empleando subsistemas según la forma directa II.
La realización en cascada es más robusta, siendo la paralela más rápida. Para sistemas
IIR con los ceros de la función de sistema en z = 1 , la realización en cascada se puede llevar
a cabo con menos multiplicadores y más control sobre la posición de los ceros.
• (L − 1) sumas.
• Tratamiento Digital de Señales • 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 a k son nulos. Si
hacemos uso de la propiedad de transposición, obtenemos la forma traspuesta equivalente
(figura 2.13).
H (z ) = ∏ (b0k + b1k ⋅ z −1 + b2 k ⋅ z − 2 )
Ns
(2.13)
k =1
fig. 2.14: conexión en cascada de un sistema FIR con subestructuras de orden dos.
coste del filtro es más cara la circuitería que opera en coma flotante y suele conllevar un
mayor consumo eléctrico 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 número positivo o negativo (si se trata de números con signo). Los
números negativos se representan en complemento a uno o en complemento a dos.
Los efectos de usar un número finito de bits serán degradar la respuesta del filtro y en
algunos casos hacerla inútil. El diseñador debe analizar estos efectos y elegir longitudes de
palabra adecuadas (es decir, un número suficiente de bits) para los coeficientes del filtro, las
variables del filtro (las muestras de entrada y salida) y para las operaciones aritméticas.
Las principales fuentes de degradación al efectuar el filtrado son:
a) Cuantificación de las señales de entrada y reconstrucción de las de salida.
b) Cuantificación de los coeficientes del sistema.
c) Errores aritméticos 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
máximo representable.
La degradación de estos errores depende de la longitud de palabra y del tipo de
aritmética usada para desarrollar el filtro, del método empleado para cuantificar los
coeficientes y las variables, y de la estructura del filtro. De los conocimientos de estos
factores el diseñador puede reducir los efectos indeseados.
En la realización de la práctica se van a analizar los efectos producidos al cuantificar los
coeficientes de la función 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 saturación.
∏ (1 − z z −1 )
M M
∑b z k
−k
k
Η (z ) = k =0
= k =1
(2.14)
∏ (1 − p )
Ν N
1 − ∑ ak z −k
k z −1
k =1 k =1
50 • Tratamiento Digital de Señales •
∏ (1 − zˆ z −1 )
M M
∑ bˆk z −k k
ˆ (z ) =
Η k =0
= k =1
(2.15)
∏ (1 − pˆ )
Ν N
1 − ∑ aˆ k z −k
k z −1
k =1 k =1
Esta expresión introduce una medida de la sensibilidad del polo i-ésimo a cambios en
los coeficientes " a k " .
Los términos ( pi − p l ) representan vectores en el plano z dirigidos desde los polos {pl }
hasta el polo pi . Si se tienen polos muy próximos, las longitudes pi − p l serán muy
pequeñas y se ocasionarán grandes errores, introduciendo variaciones considerables en las
posiciones de los polos.
Observando la expresión (2.20) también 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
Δpi si aumentan las longitudes pi − p l . 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, aparecerán todos los
coeficientes reales, evitando la situación anterior y reduciendo también considerablemente el
error Δpi .
Además, 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 número de bits, se obtienen distintas posiciones
para los polos.
• Tratamiento Digital de Señales • 51
H (z ) =
1
(1 − (2r cos(θ ))z −1
+ r 2 z −2 )
(2.21)
Los polos del filtro están situados en re ± jθ . La realización empleando la forma directa
es la representada en la figura 2.15. Mediante precisión infinita se pueden tener infinitas
posiciones para los polos. Sin embargo, al cuantificar los coeficientes con un determinado
número de bits, las posiciones permitidas para los polos son finitas. Si empleásemos cuatro
bits, las posibles posiciones para los polos situados en el primer cuadrante serían las
representadas en la figura 2.16. En dicha figura se observa una considerable dispersión para
valores de θ cercanos a 0 (ocurre lo mismo en π ). Esta situación puede ser muy perjudicial
cuando se diseñan filtros paso bajo o paso alto, ya que se tiende a situar los polos cercanos a
z = 1 ó z = −1 .
Im
1
0.75
0.5
0.25
Re
0 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 realización alternativa con los mismos polos podría ser la representada en la figura
2.17. En este caso, la función del sistema es:
H (z ) =
(r sen(θ ))z −1
(1 − (2r cos(θ ))z −1 + r 2 z −2 ) (2.22)
52 • Tratamiento Digital de Señales •
El sistema indicado en (2.21) presenta los mismos polos que el anterior. Sin embargo, si
se desea una realización real de este último con la estructura de la figura 2.17, se deben
cuantificar las cantidades r cos(θ ) y r sen (θ ) . Como estas cantidades son la parte real e
imaginaria de la posición de los polos, éstos se distribuyen uniformemente (al cuantificarlos)
dentro del círculo de radio unidad. Si se consideran cuatro bits, las posiciones posibles de los
polos en el primer cuadrante serían las indicadas en la figura 2.18. En esta figura se observa
una distribución uniforme de las posibles posiciones. Sin embargo, el precio que se paga en
este último caso es que se incrementa en los cálculos el número de operaciones (lo cual
conlleva mayor tiempo de ejecución). De ambas estructuras (figuras 2.15 y 2.17), la más
conveniente será aquella que ofrezca un conjunto mayor de puntos posibles que estén
próximos a la posición donde se encuentran los polos de la función deseada.
Im
1.00
0.75
0.50
0.25
Re
0 0.25 0.50 0.75 1.00
fig. 2.18: posibles posiciones de los polos al cuantificar con cuatro bits los coeficientes de la forma acoplada.
• Tratamiento Digital de Señales • 53
H (z ) =
(r sen θ )z −1
1 − (2r cos θ )z −1 + r 2 z − 2
realice una representación del módulo de la respuesta en frecuencia y del diagrama polo-cero.
Considere precisión infinita (se simula operando directamente con el MATLAB), y los
siguientes valores
π π π
r = 0.97 θ1 = θ2 = θ3 =
3 9 32
20
-20
dB`s
-40
-60
-80
-100
-120
0 1 2 3 4
• Tratamiento Digital de Señales • 55
1.5
0.5
-0.5
-1
-1.5
20
-20
dB`s
-40
-60
-80
-100
-120
0 1 2 3 4
1.5
0.5
-0.5
-1
-1.5
56 • Tratamiento Digital de Señales •
20
-20
dB`s
-40
-60
-80
-100
-120
0 1 2 3 4
1.5
0.5
-0.5
-1
-1.5
b) Repita el apartado "a" cuantificando con 8 bits los coeficientes de la función del
sistema.
• Tratamiento Digital de Señales • 57
20
-20
dB`s
-40
-60
-80
-100
-120
0 1 2 3 4
1.5
0.5
-0.5
-1
-1.5
20
-20
dB`s
-40
-60
-80
-100
-120
0 1 2 3 4
58 • Tratamiento Digital de Señales •
1.5
0.5
-0.5
-1
-1.5
20
-20
dB`s
-40
-60
-80
-100
-120
0 1 2 3 4
1.5
0.5
-0.5
-1
-1.5
0.5
-0.5
-1
-1.5
20
-20
dB`s
-40
-60
-80
-100
-120
0 1 2 3 4
60 • Tratamiento Digital de Señales •
c) Repita el apartado "b" cuantificando los coeficientes del filtro con 16, 8 y 6 bits .
16 bits:
1.5
0.5
-0.5
-1
-1.5
20
-20
dB`s
-40
-60
-80
-100
-120
0 1 2 3 4
8 bits:
1.5
0.5
-0.5
-1
-1.5
• Tratamiento Digital de Señales • 61
20
-20
dB`s
-40
-60
-80
-100
-120
0 1 2 3 4
6 bits:
1.5
0.5
-0.5
-1
-1.5
20
-20
dB`s
-40
-60
-80
-100
-120
0 1 2 3 4
62 • Tratamiento Digital de Señales •
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).
Por último, se pide representar el módulo de la respuesta en frecuencia del filtro total,
que es asociación en cascada de tres filtros.
16 bits:
20
-20
dB`s
-40
-60
-80
-100
-120
0 1 2 3 4
8 bits:
20
-20
dB`s
-40
-60
-80
-100
-120
0 1 2 3 4
64 • Tratamiento Digital de Señales •
6 bits:
20
-20
dB`s
-40
-60
-80
-100
-120
0 1 2 3 4
g) Explique las diferencias que observe entre lo obtenido en los apartados "c" y "f".