Filtros Digitales 2
Juan-Pablo CaceresCCRMA
Stanford University
Agosto, 2007
Contenidos
Un Filtro Lowpass Simple
Obtencion de la Respuesta en Frecuencia
Funcion de Transferencia
Propiedad de Linealidad e Invariancia en el Tiempo
Formas Canonicas
Respuesta al Impulso
Filtrado como Convolucion
Transformada Z
Secciones de Filtros Basicas
Un Filtro Lowpass Simple
Volvamos a nuestro ejemplo de la Echoplex.Consideremos ahora el caso en que el Delay es de 1 Sampler
x[n] z−1
x[n − 1]y[n]
Este filtro puede ser escrito en la siguiente Ecuacion deDiferencia:
y[n] = x[n] + x[n − 1], n = 0, 1, 2, 3, . . .
Recordar que si T es el periodo de sampleo, entonces:
y(nT ) = x(nT ) + x((n − 1)T ), n = 0, 1, 2, 3, . . .
Ejemplo de uso
Ocupemos x[n] = {1, 2, 3, 4, 5, 6, 7, 8} en nuestra ecuacion
y[n] = x[n] + x[n − 1]
Tiempo Input Actual Input Retrasado Outputn x[n] x[n − 1] y[n]
0 1 - -1 2 1 32 3 2 53 4 3 74 5 4 95 6 5 116 7 6 137 8 7 15
Notar que y[0] no esta definido ya que x[−1] no lo esta.
Obtencion de la Respuesta en Frecuencia
La respuesta en Frecuencia se puede obtener de 3 formas:
1. Experimental : se aplican distintas frecuencias al Filtro y semide el Ouput
2. Analıstica: insertando sinusoides particulares en la Ecuacion
de Diferencia
3. Teorica: derivando una formula para la respuestadirectamente desde la Ecuacion de Diferencia
Respuesta en Frecuencia en forma Experimental
Alimentamos nuestro sistema con distintas frecuencias, y medimosla magnitud en frecuencia.
Para una frecuencia de sample fs, por Teorema de Sampleo de
Nyquist, un generador sinusoidal puede generar frecuencias en elrango ±fs/2
Respuesta en Frecuencia en forma Experimental
Alimentamos nuestro sistema con 8 frecuencias distintas, yobtenemos una aproximacion de la respuesta en frecuencia:
Respuesta en Frecuencia en forma Analıtica
En vez de alimentar nuestro sistema en forma experimental,podemos hacerlo en forma analıtica, con las siguientes ventajas:
◮ Obtenemos resultados exactos
◮ Evitamos errores experimentales
Nuestra senal de testeo sera un coseno
En la ecuacion de diferencias y[n] = x[n] + x[n − 1] , utilizamos:
x[n] = A cos[2πfnT + φ]
con A: Amplitud, f : Frecuencia, T : Periodo de Sampleo
y[n] = A cos[2πfnT + φ] + A cos[2πf(n − 1)T + φ]
Evaluacion de Algunos Casos
y[n] = A cos[2πfnT + φ] + A cos[2πf(n − 1)T + φ]
Evaluemos que sucede para las 2 frecuencias lımite
1. f = 0: DC (Direct Current)
2. f = fs/2: Frecuencia de Nyquist
para f = 0:
y[n] = A cos φ + A cos φ
= 2A cos φ
Para A = 1 y φ = 0
y[n] = 2
para f = fs/2:1
y[n] = A(−1)n cos φ + A(−1)n−1 cos φ
= A(−1)n cos φ − A(−1)n cos φ
= 0
y[n] = 0
1Se deja como ejercicio probar que
A cos(πn + φ) = A(−1)n cos φ
Respuesta en Frecuencia en forma Teorica
Problema con los 2 metodos anteriores:
Testamos 1 frecuencia cada vez
Tomemos ahora como input una sinusoide compleja:
x[n] = Aej(2πfnt+φ)
Con ω = 2πf , A = 0 y φ = 0 ⇒ x[n] = ejωnT ,
y[n] = x[n] + x[n − 1]
= ejωnT + ejω(n−1)T
= ejωnT + ejωnT e−jωT
= (1 + e−jωT )ejωnT
= (1 + e−jωT )x[n]
Funcion de Transferencia
y[n] = (1 + e−jωT )x[n]
Funcion de Transferencia del Lowpass Filter:
H(ejωT ) = (1 + e−jωT )
Con lo que podemos reescribir nuestra ecuacion:
y[n] = H(ejωT )x[n]
para f = 0:
H(ejωT ) = H(e0)
= (1 + e−0)
= (1 + 1) = 2
para f = fs/2:
H(ejωT ) = H(ejπ)
= (1 + e−jπ)
= (1 − 1) = 0
Funcion de Transferencia
Funcion de Transferencia del Lowpass Filter:
H(ejωT ) = (1 + e−jωT )
Algnas propiedades de la Funcion de Transferencia:
◮ Es Invarante en el Tiempo: No depende de n (paso deltiempo)
◮ Solo depende de ω, la frecuencia del input
Respuesta de Amplitud, Respuesta de Fase
Hay dos cosas que un filtro puede hacer a una senal:
1. Cambiar la Amplitud en frecuencia-dependiente
2. Cambiar la Fase en frecuencia-dependiente
De esta forma, podemos definir:
1. Respuesta de Amplitud: frecuencia-dependiente atributo deGanancia de la Funcion de Transferencia
2. Respuesta de Fase: frecuencia-dependiente atributo deDelay de la Funcion de Transferencia
G(ω) , |H(ejωT )| Respuesta de Amplitud
Θ(ω) , ∠H(ejωT ) Respuesta de Fase
H(ejωT ) = G(ω)︸ ︷︷ ︸
Amplitud
ejΘ(ω)︸ ︷︷ ︸
Fase
Respuesta de Amplitud y Fase del Lowpass FilterRecordemos que para nuestro Filtro Pasa Bajos:
H(ejωT ) = (1 + e−jωT )
= (ejωT/2 + e−jωT/2)e−jωT/2
= 2cosωT
2(e−jωT/2)
Con esto es facil obtener:
G(ω) = |2 cosωT
2(e−jωT/2)|
= 2| cosωT
2|
= 2cosωT
2= 2 cos(πfT ), −fs/2 ≤ f ≤ fs/2
y
Θ(ω) = −ωT
2= −πfT = −π
f
fs, −fs/2 ≤ f ≤ fs/2
Respuesta de Amplitud y Fase del Lowpass Filter
G(ω) = 2 cosωT
2− π ≤ ω ≤ π
Θ(ω) = −ωT
2, −π ≤ ω ≤ π
Como interpretamos esta Fase Lineal?
Propiedad de Linealidad e Invariancia en el Tiempo
Un filtro es Lineal si:
1. El input is proporcional a su output
2. El ouput is identico para:◮ Las senales de input son combinadas y luego filtradas◮ Las senales de input son filtradas y luego combinadas
L{αx1 + βx2} = αL{x1} + βL{x2}
La compresion dinamica es unejemplo de Filtro No-Lineal
Propiedad de Linealidad e Invariancia en el Tiempo
Un filtro es Invariante en el Tiempo si ningun parametro de laFuncion de Transferencia cambia con el tiempo.
Ejemplo Filtro Variante en el Tiempo
Formas Canonicas
La ecuacion de diferencias general para un filtro casual,orden-finito, lineal e invariante en el tiempo es,
y[n] = b0x[n] + b1x[n − 1] + · · · + bMx[n − M ]
− a1y[n − 1] + · · · + aNy[n − N ]
y[n] =M∑
i=0
bix[n − i] −M∑
j=0
ajy[n − j]
Casual: Solo se hace referencia a inputs actuales y pasados, youtput pasados
Formas Canonicas, Digramas de Flujo
y[n] = b0x[n] + b1x[n − 1] + b2x[n − 2] − a1y[n − 1] + a2y[n − 2]
Respuesta al ImpulsoPara caracterizar los Filtros en el tiempo (a diferencia de lafrecuencia):
◮ Podriamos aplicar sinusoides a distintas frecuencias
◮ Podemos aplicar una senal que contenga todas las frecuencias
La Funcion Impulse Unitario contiene todas las frecunecias.
δ[n] ,
{1 n = 00 n 6= 0
Funcion Impulso Unitario
La Respuesta al Impulso se define como:
h[n] , L{δ[·]} 2
Por lo tanto tenemos dos caracterizaciones para los filtros:
1. H(ejωT ): Respuesta en Frecuencia (firma en dominio defrecuencia)
2. h[n]: Respuesta al Impulse Tiempo (firma en el dominio deltiempo)
2La notacion δ[·] es equivalente a δ[n], para n = 0, 1, 2, 3, . . .
Ejemplo de Respuesta al Impulso
y[n] = x[n] + 0.9y[n − 1]
= x[n] + 0.9x[n − 1] + 0.92x[n − 1] + · · ·
La respuesta al Impulso sera,
h[n] =
{(0.9)n, n ≥ 0
0, n < 0
Filtrado como Convolucion
Consideremos el siguiente sin sampleado,
x[n] = {0, 0.707, 1, 0.707, 0,−0.707,−1,−0.707, . . . }
Podemos tambien escribir x[n] como,
x[n] = [0·δ[n]]+[0.707·δ[n−1]]+[1·δ[n−2]]+[0.707·δ[n−3]]+. . .
Lo que nos da como pattern:
y[n] =
n∑
k=0
x[k]δ[n − k]
= x[n] ∗ δ[n]
= δ[n] ∗ x[n]
Filtrado como Convolucion: Interpretacion Grafica
Generalizando la Convolucion
y[n] = Ln{x[·]}
= Ln{(x ∗ δ)[·]}
= Ln
{∞∑
i=−∞
x[i]δ[· − i]
}
=
∞∑
i=−∞
x[i]Ln{δ[· − i]}
=
∞∑
i=−∞
x[i]h[n, i]
Filtrado en el dominion del tiempo pude ser visto como unaconvolucion con la respuesta al impulso del filtroEl output de un filtro LTI pude ser calculadoconvolucionando el input x con la respuesta el impulso h
Transformada Z
Z(z) =
∞∑
n=0
x[n]z−n Tranformada Z
Esta notacion se puede abreviar como
X = Z{x}
Teoremas de la Transformada Z
Theorem (Desface (Shift))
x[n −△] ↔ z−△X(z), △ ≥ 0
Theorem (Convolucion)
x ∗ y ↔ X · Y
Transformada Z de la Convolucion
Si tenemos,y[n] = (h ∗ x)[n]
Tomamos la transformada Z en ambos lados de la ecuacion,
Y (z) = H(z) · X(z)
Con lo que podemos finalmente obtener la Funcion deTransferencia,
H(z) =Y (z)
X(z)Funcion de Transferencia
Esto viene directamente del Teorema de Convolucion, y se aplicaprovisto que el filtro sea LTI.
Transformada Z de la Ecuacion de Diferencias
Para nuestro caso general de ecuacion de diferencias,
y[n] = b0x[n] + b1x[n − 1] + · · · + bMx[n − M ]
− a1y[n − 1] + · · · + aNy[n − N ]
Tomamos la Transformada Z en ambos lados de la ecuacion,
Z{y[·]} = Z{b0x[n] + b1x[n − 1] + · · · + bMx[n − M ]
− a1y[n − 1] + · · · + aNy[n − N ]}
= Z{b0x[n]} + Z{b1x[n − 1]} + · · · + Z{bMx[n − M ]}
− Z{a1y[n − 1]} + · · · + aNZ{y[n − N ]}
= b0X(z) + b1z−1X(z) + · · · + bMz−MX(z)
− a1z−1Y (z) + · · · + aNz−NY (z)
Transformada Z de la Ecuacion de Diferencias
Definimos,A(z) = 1 + a1z
−1 + · · · + aNz−N
B(z) = b0 + b1z−1 + · · · + bMz−M
Rearreglando las ecuaciones obtenemos,
H(z) =Y (z)
X(z)=
b0 + b1z−1 + · · · + bMz−M
1 + a1z−1 + · · · + aNz−N=
B(z)
A(z)
Obtencion de Respuesta en Frecuencia
Para obtener la respuesta en frecuencia, basta solo con reemplazarla z en la funcion de transferencia por,
z = ejωT
Es decir, si tenemos una funcion de transferencia H(z), larespuesta en frecuencia es,
H(ejωT )
Filtros Pasa-Todo
Si tomamos una funcion de transferencia conociada como Biquad,
H(z) = g1 + β1z
−1 + β2z−2
1 + a1z−1 + a2z−2
Un filtro Pasa-Banda requiere que,
|H(ejωT )| = 1
Para que esto se cumpla, la seccion de biquad debe cumplir con,
B(z) = z−2A(z−1) = a2 + a1z−1 + z−2
Conclusiones
La eleccion de un Filtro implica transar entre,
◮ Precision de la respuesta deseada versus demandacomputacional
◮ Tiemp de “Warm-up”
◮ Eleccion entre IIR y FIR,◮ IIR son mas eficientes, pero producen distorcion de fase.◮ Para lograr la misma respuesta en frecuencia con un FIR, se
requieren en general respuestas al impulso larguısimas.