Vous êtes sur la page 1sur 20

Filtros Digitales 2

Juan-Pablo Cáceres
CCRMA
Stanford University

Agosto, 2007

Contenidos

Un Filtro Lowpass Simple

Obtención de la Respuesta en Frecuencia

Función de Transferencia

Propiedad de Linealidad e Invariancia en el Tiempo

Formas Canónicas

Respuesta al Impulso

Filtrado como Convolución

Transformada Z

Secciones de Filtros Básicas


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 y[n]
x[n − 1]

Este filtro puede ser escrito en la siguiente Ecuación de


Diferencia:

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 ecuación

y[n] = x[n] + x[n − 1]

Tiempo Input Actual Input Retrasado Output


n x[n] x[n − 1] y[n]
0 1 - -
1 2 1 3
2 3 2 5
3 4 3 7
4 5 4 9
5 6 5 11
6 7 6 13
7 8 7 15

Notar que y[0] no está definido ya que x[−1] no lo está.


Obtención de la Respuesta en Frecuencia

La respuesta en Frecuencia se puede obtener de 3 formas:


1. Experimental : se aplican distintas frecuencias al Filtro y se
mide el Ouput
2. Analı́stica: insertando sinusoides particulares en la Ecuación
de Diferencia
3. Teórica: derivando una formula para la respuesta
directamente desde la Ecuación de Diferencia

Respuesta en Frecuencia en forma Experimental

Alimentamos nuestro sistema con distintas frecuencias, y medimos


la magnitud en frecuencia.

Para una frecuencia de sample fs , por Teorema de Sampleo de


Nyquist, un generador sinusoidal puede generar frecuencias en el
rango ±fs /2
Respuesta en Frecuencia en forma Experimental

Alimentamos nuestro sistema con 8 frecuencias distintas, y


obtenemos una aproximación 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 señal de testeo será un coseno

En la ecuación de diferencias y[n] = x[n] + x[n − 1] , utilizamos:

x[n] = A cos[2πf nT + φ]

con A: Amplitud, f : Frecuencia, T : Periodo de Sampleo

y[n] = A cos[2πf nT + φ] + A cos[2πf (n − 1)T + φ]


Evaluación de Algunos Casos

y[n] = A cos[2πf nT + φ] + 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: para f = fs /2: 1

y[n] = A cos φ + A cos φ y[n] = A(−1)n cos φ + A(−1)n−1 cos φ


= 2A cos φ = A(−1)n cos φ − A(−1)n cos φ
Para A = 1 y φ = 0 =0

y[n] = 2 y[n] = 0

1
Se deja como ejercicio probar que
A cos(πn + φ) = A(−1)n cos φ

Respuesta en Frecuencia en forma Teórica


Problema con los 2 métodos anteriores:

Testamos 1 frecuencia cada vez

Tomemos ahora como input una sinusoide compleja:

x[n] = Aej(2πf nt+φ)

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]
Función de Transferencia

y[n] = (1 + e−jωT )x[n]


Función de Transferencia del Lowpass Filter:

H(ejωT ) = (1 + e−jωT )

Con lo que podemos reescribir nuestra ecuación:

y[n] = H(ejωT )x[n]

para f = 0: para f = fs /2:


H(ejωT ) = H(e0 ) H(ejωT ) = H(ejπ )
= (1 + e−0 ) = (1 + e−jπ )
= (1 + 1) = 2 = (1 − 1) = 0

Función de Transferencia
Función de Transferencia del Lowpass Filter:

H(ejωT ) = (1 + e−jωT )

Algnas propiedades de la Función de Transferencia:


◮ Es Invarante en el Tiempo: No depende de n (paso del
tiempo)
◮ Sólo depende de ω, la frecuencia del input
Respuesta de Amplitud, Respuesta de Fase
Hay dos cosas que un filtro puede hacer a una señal:
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 de
Ganancia de la Función de Transferencia
2. Respuesta de Fase: frecuencia-dependiente atributo de
Delay de la Función de Transferencia

G(ω) , |H(ejωT )| Respuesta de Amplitud

Θ(ω) , ∠H(ejωT ) Respuesta de Fase

H(ejωT ) = G(ω) e|jΘ(ω)


{z }
| {z }
Amplitud F ase

Respuesta de Amplitud y Fase del Lowpass Filter


Recordemos que para nuestro Filtro Pasa Bajos:

H(ejωT ) = (1 + e−jωT )
= (ejωT /2 + e−jωT /2 )e−jωT /2
ωT −jωT /2
= 2 cos (e )
2
Con esto es fácil obtener:
ωT −jωT /2
G(ω) = |2 cos (e )|
2
ωT
= 2| cos |
2
ωT
= 2 cos = 2 cos(πf T ), −fs /2 ≤ f ≤ fs /2
2
y
ωT f
Θ(ω) = − = −πf T = −π , −fs /2 ≤ f ≤ fs /2
2 fs
Respuesta de Amplitud y Fase del Lowpass Filter

ωT
G(ω) = 2 cos −π ≤ ω ≤ π
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 señales de input son combinadas y luego filtradas
◮ Las señales de input son filtradas y luego combinadas
L{αx1 + βx2 } = αL{x1 } + βL{x2 }

La compresión dinámica es un
ejemplo de Filtro No-Lineal
Propiedad de Linealidad e Invariancia en el Tiempo

Un filtro es Invariante en el Tiempo si ningún parámetro de la


Función de Transferencia cambia con el tiempo.

Ejemplo Filtro Variante en el Tiempo

Formas Canónicas

La ecuación de diferencias general para un filtro casual,


orden-finito, lineal e invariante en el tiempo es,

y[n] = b0 x[n] + b1 x[n − 1] + · · · + bM x[n − M ]


− a1 y[n − 1] + · · · + aN y[n − N ]

M
X M
X
y[n] = bi x[n − i] − aj y[n − j]
i =0 j =0

Casual: Sólo se hace referencia a inputs actuales y pasados, y


output pasados
Formas Canónicas, Digramas de Flujo

y[n] = b0 x[n] + b1 x[n − 1] + b2 x[n − 2] − a1 y[n − 1] + a2 y[n − 2]

Respuesta al Impulso
Para caracterizar los Filtros en el tiempo (a diferencia de la
frecuencia):
◮ Podriamos aplicar sinusoides a distintas frecuencias
◮ Podemos aplicar una señal que contenga todas las frecuencias

La Función Impulse Unitario contiene todas las frecunecias.



1 n=0
δ[n] , Función Impulso Unitario
0 n 6= 0
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 de
frecuencia)
2. h[n]: Respuesta al Impulse Tiempo (firma en el dominio del
tiempo)
2
La notación δ[·] 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.92 x[n − 1] + · · ·

La respuesta al Impulso será,


(0.9)n , n ≥ 0
h[n] =
0, n < 0

Filtrado como Convolución

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:


n
X
y[n] = x[k]δ[n − k]
k=0
= x[n] ∗ δ[n]
= δ[n] ∗ x[n]
Filtrado como Convolución: Interpretación Gráfica

Generalizando la Convolución

y[n] = Ln {x[·]}
= Ln {(x ∗ δ)[·]}
( ∞ )
X
= Ln x[i]δ[· − i]
i=−∞

X
= x[i]Ln {δ[· − i]}
i=−∞
X∞
= x[i]h[n, i]
i=−∞

Filtrado en el dominion del tiempo pude ser visto como una


convolución con la respuesta al impulso del filtro
El output de un filtro LTI pude ser calculado
convolucionando el input x con la respuesta el impulso h
Transformada Z


X
Z(z) = x[n]z −n Tranformada Z
n=0

Esta notación se puede abreviar como

X = Z{x}

Teoremas de la Transformada Z

Theorem (Desface (Shift))

x[n − △] ↔ z −△ X(z), △≥0

Theorem (Convolución)

x∗y ↔X ·Y
Transformada Z de la Convolución

Si tenemos,
y[n] = (h ∗ x)[n]
Tomamos la transformada Z en ambos lados de la ecuación,

Y (z) = H(z) · X(z)

Con lo que podemos finalmente obtener la Función de


Transferencia,

Y (z)
H(z) = Función de Transferencia
X(z)

Esto viene directamente del Teorema de Convolución, y se aplica


provisto que el filtro sea LTI.

Transformada Z de la Ecuación de Diferencias

Para nuestro caso general de ecuación de diferencias,

y[n] = b0 x[n] + b1 x[n − 1] + · · · + bM x[n − M ]


− a1 y[n − 1] + · · · + aN y[n − N ]

Tomamos la Transformada Z en ambos lados de la ecuación,

Z{y[·]} = Z{b0 x[n] + b1 x[n − 1] + · · · + bM x[n − M ]


− a1 y[n − 1] + · · · + aN y[n − N ]}
= Z{b0 x[n]} + Z{b1 x[n − 1]} + · · · + Z{bM x[n − M ]}
− Z{a1 y[n − 1]} + · · · + aN Z{y[n − N ]}
= b0 X(z) + b1 z −1 X(z) + · · · + bM z −M X(z)
− a1 z −1 Y (z) + · · · + aN z −N Y (z)
Transformada Z de la Ecuación de Diferencias

Definimos,
A(z) = 1 + a1 z −1 + · · · + aN z −N
B(z) = b0 + b1 z −1 + · · · + bM z −M
Rearreglando las ecuaciones obtenemos,

Y (z) b0 + b1 z −1 + · · · + bM z −M B(z)
H(z) = = =
X(z) 1 + a1 z −1 + · · · + aN z −N A(z)

Obtención de Respuesta en Frecuencia


Para obtener la respuesta en frecuencia, basta sólo con reemplazar
la z en la función de transferencia por,

z = ejωT

Es decir, si tenemos una función de transferencia H(z), la


respuesta en frecuencia es,

H(ejωT )
Secciones de Filtros Básicas: 1-Cero

Filtros de 1-cero,

y[n] = b0 x[n] + b1 x[n − 1]

1-Cero
1-Polo
Filtros de 1-polo,

y[n] = b0 x[n] − a1 y[n − 1]

1-Polo
2-Polos
Filtros de 2-polos,

y[n] = b0 x[n] − a1 y[n − 1] − a2 y[n − 2]

2-Polos
2-Ceros
Filtros de 2-ceros,

y[n] = b0 x[n] + b1 x[n − 1] + b2 x[n − 2]

2-Ceros
Filtros Pasa-Todo

Si tomamos una función de transferencia conociada como Biquad,

1 + β1 z −1 + β2 z −2
H(z) = g
1 + a1 z −1 + a2 z −2
Un filtro Pasa-Banda requiere que,

|H(ejωT )| = 1

Para que esto se cumpla, la sección de biquad debe cumplir con,

B(z) = z −2 A(z −1 ) = a2 + a1 z −1 + z −2

Conclusiones

La elección de un Filtro implica transar entre,


◮ Precisión de la respuesta deseada versus demanda
computacional
◮ Tiemp de “Warm-up”
◮ Elección entre IIR y FIR,
◮ IIR son mas eficientes, pero producen distorción de fase.
◮ Para lograr la misma respuesta en frecuencia con un FIR, se
requieren en general respuestas al impulso larguı́simas.

Vous aimerez peut-être aussi