Documente Academic
Documente Profesional
Documente Cultură
de filtros
resumen, ejemplos y ejercicios
Estructura de Filtros
Resumen
Resumen para ejercicios de cálculo 2. Estructura en forma directa.
1. Diagrama de bloques. La ecuación en diferencias de un filtro digital en el caso más general es
realizar el filtro y la manera en que se vinculan entre sí dichos elementos. Los elementos k =0 k =0
M bloques de retardo que permiten el almacenamiento en memoria de una muestra Dividiendo todo por a0 y despejando y[n] se tiene la ecuación en diferencias
para ser presentada en un instante posterior, normalizada y mediante su transformada z, la transferencia
M N
Y (z) ∑b z k
−k
y [n ] = ∑ bkx [n − k ] − ∑ aky [n − k ] → H ( z ) = = k =0
X (z) N
−k
1 + ∑ a kz
k =0 k =1
Producto Retardo Suma
k =1
Figura 1: Diagrama de los bloques básicos
El diagrama de bloques de la estructura en la forma directa se realiza implementando
-k
Comparativamente, puede analizarse que las diferentes estructuras presentan ventajas cada retardo z mediante un registro de memoria donde se guarda una muestra de x[n] o
y desventajas en relación a la complejidad computacional o recursos que usan (sumadores, y[n], cada producto de dichas señales por un escalar bk o ak mediante un bloque de ganancia
multiplicadores y memorias), a los efectos de longitud de palabra finita y otras características con el cual se multiplica cada x[n] o y[n], y cada adición por un sumador.
como tiempo de procesado por paralelización o tubería. En los filtros FIR, se tiene que a0=1 y ak=0 para k=1;2;… Siendo que a0=1, la ecuación
La manera en que se vinculan los elementos de un filtro pueden resumirse en en diferencias, y la transferencia son de la forma
M paralelo, donde la salida es la adición de las salidas de bloques con una entrada M M
común y la transferencia total es la suma de la transferencia de los bloques y [ n ] = ∑ b kx [ n − k ] → H ( z ) = ∑ b kz − k
k =0 k =0
M cascada, donde la entrada de un bloque es salida de otro y la transferencia total es el
producto de las transferencias de los bloques Desarrollando la sumatoria de la ecuación en diferencias, puede verse claramente la
forma de implementación directa de dicho filtro.
M otras, como realimentación, celosía, etc.
M
y [n ] = ∑ bkx [n − k ] = b 0 x [n ] + b1x [n − 1] + b 2 x [n − 2] + ... + bMx [n − M − 1]
k =0
1 ∑ bkz −k
H (z) = N(z) = k = 0N
D( z ) −k
1 + ∑ akz
k =1
H(z) puede considerarse como el producto de dos transferencias que representan dos
Figura 3: Estructura en la forma directa de un filtro FIR. subsistemas en cascada, un sistema todo ceros representado por la transferencia N(z) y un
sistema todo polos representado por 1/D(z), con entrada x[n], una señal intermedia v[n] y
La implementación en la forma directa de un filtro FIR requiere M+1 productos, M sumas salida y[n].
y M retardos.
Cuando el filtro FIR tiene fase lineal, se puede demostrar que su respuesta al impulso M
V ( z ) = X ( z )N ( z ) = X ( z )∑ bkz
−k
es simétrica, o lo que es equivalente, los coeficientes de su transferencia son simétricos o M
antisimétricos k =0 v [n ] = ∑ bkx [n − k ]
TZ
k =0
1 V (z) ↔
Y ( z ) = V ( z ) D( z ) =
N
y [ n ] = v [ n ] − a ky [ n − k ]
K
(
h [n ] = ± h [M − n ] → y n = ∑ bk x n − k + x n − ( M − k ) )
N
1 + ∑ a kz − k ∑
k =1
k =0 k =1
Esto implica que el primer bloque y el último bloque de producto, tienen la misma
ganancia (amén de un cambio de signo en el caso antisimétrico). Por esto, puede
aprovecharse la simetría y en lugar de usar M+1 bloques de ganancia, alcanza con (M+1)/2
bloques si M es impar, o M/2+1 si M es par.
50
Cambiando el orden de los factores se tiene la misma transferencia H(z) 4. Estructura en cascada.
M En los filtros, para implementar una estructura en cascada se expresa la transferencia
1 ∑ bkz −k como producto de factores. En el caso de un filtro FIR, se calculan las raíces del polinomio
H (z) = N(z) = k =0 -1
H(z), es decir, los ceros. Así, H(z) se expresa como producto de factores de la forma (1-ckz )
D( z ) N
−k
1 + ∑ akz
k =1 M
(
H ( z ) = ∏ 1 − ckz −1 )
k =1
Ahora, H(z) representa los mismos subsistemas en cascada pero conectados en orden
distinto: Primero el sistema todo polos 1/D(z) y luego el sistema todo ceros N(z), con la
misma entrada x[n] y salida y[n] pero obviamente la señal intermedia w[n] es diferente. Estos ceros pueden ser reales o complejos. Los factores pertenecientes a un cero
complejo y su conjugado deben agruparse, haciendo el producto, para obtener polinomios de
grado dos con coeficientes reales. Los ceros reales, de a pares, pueden agruparse también
1 X (z) en secciones de segundo orden, algunas de las cuales pueden quedar incompletas si la
W ( z ) = X ( z ) D( z ) = N
w [n ] = x [n ] − ∑ akw [n − k ]
N
1 + ∑ akz − k cantidad de raíces es impar. Cada sección de segundo orden tendría una transferencia Hk(z)
TZ
k =1
k =1 ↔ M
y la transferencia del filtro H(z) puede expresarse como el producto de todas las Hk(z)
y [n ] =
M
Y ( z ) = W ( z )N ( z ) = W ( z )∑ bkz − k ∑ bkw [n − k ] K
M + 1
k =0
k =0
( )( ) ( )
Hk ( z ) = 1 − ckz −1 1 − ck ∗z −1 = bk 0 + bk 1z −1 + bk 2 z −2 ⇒ H ( z ) = ∏ Hk ( z ) ; K = int
2
k =1
Este cambio de orden modifica toda la estructura, y como la señal que ingresa a la fila
de retardos del primer subsistema, ahora es igual a la que ingresa a la fila de retardos del
segundo subsistema, ambas filas pueden colapsarse en una sola. Esto permite un ahorro de
retardos requiriéndose una cantidad igual al máximo entre N y M
rk rk ∗ bk 0 + bk 1z −1 + bk 2 z −2 K
bk 0 + bk 1z −1 K
Para el caso de un IIR, deben calcularse los ceros y polos, es decir, las raíces de los Hk ( z ) = −1
+ ∗ −1
= −1 −2
⇒ H (z) = d + ∑ −1 −2
= d + ∑ Hk ( z )
polinomios del numerador y el denominador. Así, para cada raíz xk, tanto el numerador como 1 − pkz 1 − pk z 1 + ak 1z + ak 2 z k =1 1 + ak 1z + ak 2 z k =1
-1
el denominador de H(z) pueden expresarse como el producto de factores de la forma (1-xkz )
∏ (1 − c z ) k
−1
H (z) = k =0
N
∏ (1 − p z )
k =0
k
−1
Tanto los ceros como los polos pueden ser reales o complejos. En este caso se procede
igual que en FIR, agrupando para formar las secciones de segundo orden. Cada sección
tendría una transferencia Hk(z) y H(z) puede expresarse como el producto de todas las Hk(z)
Hk ( z ) =
(1 − c z )(1 − c
k
−1
k
∗
z −1 ) = b +b z +b z
k0 k1
−1
k2
−2 K
⇒ H (z) = ∏
bk 0 + bk 1z −1 + bk 2 z −2 K
= ∏ Hk ( z )
(1 − p z )(1 − p
k
−1
k
∗
z −1
) 1+ a z + a z
k1
−1
k2
−2
k =1 1 + ak 1z
−1
+ ak 2 z −2
k =1
5. Estructura en paralelo.
En los filtros IIR, si se expresa la transferencia H(z) como suma de términos, se puede
implementar una estructura en paralelo. Para esto, deben calcularse los polos pk con sus
respectivos residuos rk, y los términos directos d a fin de expresar H(z) como una suma
N
rk
H (z) = d + ∑
k =0 1 − pkz −1 Figura 10: Estructura en paralelo de un filtro IIR.
52
5. Estructura en celosía.
Una etapa de la estructura en celosía de filtro FIR está compuesta por dos líneas, una
directa y la otra con retardo donde un sumador en cada línea adiciona la señal proveniente
de la otra, ponderada por una ganancia. Cada línea tiene una entrada y una salida propia.
Para la etapa m-ésima de un filtro FIR de orden M=L-1, donde L es el número de
coeficientes, en el instante n, la salida de la línea directa es fm[n] y la de la línea con retardo
gm[n], mientras que las entradas se llaman fm-1[n] y gm-1[n] respectivamente. La ganancia que
pondera las señales cruzadas posee el mismo valor km denominado coeficiente de reflexión.
Tanto para la línea directa como para la línea de retardos, puede calcularse la
transferencia total hasta una etapa m-ésima, como la relación entre la primer entrada general
y la salida considerada en la etapa m-ésima. Estas transferencias serán polinomios de orden
m y para cada línea se tiene respectivamente
Fm ( z ) m
= Am ( z ) = ∑ α m ( k ) z − k = α m ( 0 ) + ... + α m ( m ) z − m
F 0 (z) k =0
Fig. 11: Etapa m-ésima de una estructura en celosía de un filtro FIR. con m = 1;...; M
( ) = Bm z =
G z m
( ) ∑ β m ( k ) z −k = β m (0 ) + ... + β m ( m ) z − m
m
Del diagrama en bloques puede verse que las salidas de la m-ésima etapa son G0 ( z )
k =0
fm n = fm − 1 n + Kmgm − 1 n − 1 La transferencia de la etapa m-ésima puede expresarse en función de la transferencia
con m = 1;2;...; M
gm n = Kmfm − 1 n + gm − 1 n − 1
hasta la etapa anterior, más la transferencia propia de la etapa analizada. Observando que
en cada etapa sólo se adiciona la señal proveniente de la otra línea, puede escribirse
Realizando la transformada z término a término
Am ( z ) = Am − 1 ( z ) + Kmz Bm − 1 ( z )
−1
con m = 1;...; M
Bm ( z ) = KmAm − 1 ( z ) + z Bm − 1 ( z )
−1
Fm ( z ) = Fm − 1 ( z ) + Kmz Gm − 1 ( z )
−1
con m = 1;2;...; M
Gm ( z ) = KmFm − 1 ( z ) + z Gm − 1 ( z )
−1
El caso de un filtro FIR de orden 1, la estructura en celosía tendrá una sola etapa. Para
f 0 n = g 0 n = x n
53
Y la transferencia de cada línea, para ese caso, es α m ( 0 ) = β m ( m )
A1 ( z ) = α 1 ( 0 ) + α 1 (1) z −1 α m (1) = β m ( m − 1)
#
B1 ( z ) = β 1 ( 0 ) + β 1 (1) z
−1
α m ( m ) = β m ( 0 )
De aquí se observa que
Y generalizando el análisis previo se obtienen los coeficientes de reflexión como
α 1 ( 0 ) = β 1 (1) = 1
Ki = α i ( i ) con i = 0;1;...; M
α 1 (1) = β 1 ( 0 ) = K 1
Para obtener la estructura en celosía de M etapas de un filtro FIR de orden M, se parte
Para el caso de un filtro FIR de orden 2, utilizando los resultados anteriores, puede de su transferencia H(z). Dicho polinomio, obviamente coincide con el polinomio de la
calcularse la salida de cada línea transferencia directa A(z) hasta la última etapa de la estructura en celosía ya que ambos
representan la relación entre la salida y la entrada del sistema, y dicha relación es la misma
f 2 n = f 1 n + K 2g 1 n − 1 = x n + K 1 (1 + K 2) x n − 1 + K 2 x n − 2 = y n independientemente de la forma organizativa que se de a su estructura
g 2 n = g 1 n − 1 + K 2f 1 n = K 2 x n + K 1 (1 + K 2) x n − 1 + x n − 2
H ( z ) = AM ( z )
La transferencia de cada línea, para ese caso, es Cada uno de los coeficientes bk se corresponde con el coeficiente αM(k)
A2 ( z ) = α 2 ( 0 ) + α 2 (1) z + α 2 ( 2 ) z
−1 −2
b0 + b1z −1 + ... + bMz − M = α M ( 0 ) + ... + α M ( M ) z − M
B 2 ( z ) = β 2 ( 0 ) + β 2 (1) z + β 2 ( 2 ) z
−1 −2
α 2 ( 0 ) = β 2 ( 2 ) = 1 KM = α M ( M ) = bM
α 2 (1) = β 2 (1) = K 1 (1 + K 2 ) Recursivamente, se obtienen los coeficientes de las transferencias hasta cada una de
α 2 ( 2 ) = β 2 ( 0 ) = K 2 las etapas anteriores, recordando que los coeficientes de la transferencia A(z) de la línea
directa tienen el orden inverso a los de la transferencia B(z) de la línea con retardos
De lo anterior, puede inferirse la transferencia de cada línea hasta la etapa m-ésima
Am ( z ) − KmBm ( z )
Am − 1 ( z ) = con m = 1;2;...; M
Am ( z ) = α m ( 0 ) + ... + α m ( m ) z −m 1 − Km 2
α m [k ] = β m [k − m ] con k = 1;2;...; m
Bm ( z ) = β m ( 0 ) + ... + β m ( m ) z
−m
donde los coeficientes α de la transferencia directa A(z) hasta la etapa m-ésima son los
mismos que los coeficientes β de la transferencia de la línea de retardos B(z) ordenados
inversamente, es decir, el coeficiente del término de grado cero, α(0), es igual al coeficiente
del término de grado m, β(m)
54
La transferencia de un filtro IIR todo polos, es el inverso de la transferencia de un filtro Las conclusiones obtenidas para el caso del filtro FIR son aplicables al IIR todo polos.
FIR. Por lo tanto, podría utilizarse la misma estructura celosía pero conectando la entrada y En este caso, la transferencia total desde una etapa m-ésima, es la relación entre la entrada
la salida de la línea directa en orden inverso. en dicha etapa m-ésima y la salida general.
De esta forma, una etapa m-ésima de un filtro IIR todo polos, puede organizarse
tomando como salida de la línea directa en el instante n a fm-1[n] y como salida de la línea con F 0 (z) 1 1
retardo a gm[n], mientras que las entradas para esa etapa se deben tomar en fm[n] y gm-1[n] = = m
respectivamente. La línea con retardo funciona como una línea de realimentación. Fm ( z ) Am ( z ) ∑ α m ( k ) z − k = α m ( 0 ) + ... + α m ( m ) z − m
k =0 con m = 1;...; N
Gm ( z ) m
= Bm ( z ) = ∑ β m ( k ) z − k = β m ( 0 ) + ... + β m ( m ) z − m
G 0 ( z ) k =0
Am − 1 ( z ) = Am ( z ) − Kmz Bm − 1 ( z )
−1
con m = 1;...; N
Bm ( z ) = KmAm − 1 ( z ) + z Bm − 1 ( z )
−1
Fig. 13: Etapa m-ésima de una estructura en celosía de un filtro IIR todo polos. Reemplazando y despejando se obtiene
Con esta organización de las entradas y las salidas, se mantienen las mismas
Am ( z ) − KmBm ( z )
relaciones descriptas para el filtro FIR Am − 1 ( z ) = con m = 1;2;...; N
1 − Km 2
con m = 1;2;...; N Un filtro IIR todo polos de orden 1 tiene una estructura en celosía con una sola etapa.
gm n = Kmfm − 1 n + gm − 1 n − 1
Para esta situación, la salida de cada línea es
f 0 n = x n − K 1y n − 1 = y n
En la estructura completa de un filtro de orden N, la señal de entrada se aplica a la
entrada de la línea directa de la última etapa. La salida se toma de la salida de la línea
g 1 n = K 1x n + x n − 1
directa de la primer etapa y se realimenta en la entrada de la línea con retardo de esa etapa.
La transferencia de cada línea, para ese caso, se obtiene de la misma manera que en el
f 0 n = g 0 n = y n
caso de un FIR. Para el caso de un filtro IIR todo polos de orden 2, utilizando los resultados
fN n = x n
anteriores, puede calcularse la salida de cada línea
y n = − K 1 (1 + K 2 ) y n − 1 − K 2 y n − 2 + x n
g 2 n = K 2 y n + K 1 (1 + K 2) y n − 1 + y n − 2
55
Para obtener la estructura en celosía de N etapas de un filtro IIR de orden N, se parte M
Y (z) M
vmGm ( z ) M
vmGm ( z ) F 0 ( z ) ∑v mBm ( z )
Como en el caso del FIR, recursivamente se obtienen los coeficientes de las H (z) = =∑ =∑ = m =0
Am ( z ) − KmBm ( z ) Entonces, la transferencia del subsistema todo ceros CM(z), coincide con el inverso de la
Am − 1 ( z ) = con m = 1;2;...; N transferencia “hacia atrás” con retardos hasta la primer etapa BM(z)
1 − Km 2
α m [k ] = β m [k − m ] con k = 1;2;...; m M
CM ( z ) = ∑v
m =0
mBm ( z )
En el caso de un IIR genérico, con polos y ceros, se tiene una transferencia del tipo
N
w n = x n + ∑ aN ( k ) x n − k
k =1
M
y n = cM ( k ) w n − k
∑ k =1
Así como el sistema “hacia adelante” que tiene un transferencia desde la m-ésima etapa
dada por Am(z) en la línea directa es un sistema todo polos, el sistema “hacia atrás” es un
sistema todo ceros con transferencia de la línea con retardos hasta la etapa m-ésima dada
por Bm(z). Por eso, para un sistema IIR genérico, puede armarse una estructura en celosía
que implemente el subsistema todo polos, y construir el sistema todo ceros mediante una
combinación lineal de las salidas “hacia adelante” de cada etapa. Esa implementación del
Figura 15: Estructura en celosía escalonada de un filtro IIR
sistema todo ceros es llamada estructura en escalera y la salida es
56
Ayuda para ejercicios de simulación
tf2zp zp2tf
Calcula los ceros, polos y factores a partir de los coeficientes de un cociente de poliniomios Calcula los coeficientes de un cociente de polinomios a partir de los ceros, polos y factores
zp2sos sos2zp
Calcula secciones de orden dos a partir de los polos, ceros y factor de una expresión racional Calcula los polos, ceros y factor de una expresión racional a partir de secciones de orden dos
57
tf2sos sos2tf
Calcula secciones de orden dos a partir de los coeficientes de un cociente de polinomios Calcula los coeficientes de un cociente de polinomios a partir de los ceros, polos y factores
tf2latc latc2tf
Calcula los coeficientes de un cociente de polinomios a partir de coeficientes de celosía Calcula los coeficientes de celosía a partir de los coeficientes de un cociente de polinomios
58
residuez cmplxpair
Expande un cociente de polinomios en orden descendente a fracciones parciales y viceversa Ordena números en pares complejos conjugados
[r,p,k] = residuez(b,a) B( z ) b0 + b1z −1 + ... + bmz − M y=cplxpair(x,tol,dim) x=[0 4 1+j j*sqrt(2) 1-j -j*sqrt(2)];
[b,a] = residuez(r,p,k) H (z) = = y=cplxpair(x))
A( z ) a 0 + a1z −1 + ... + anz − N
x: arreglo de números
r y p: vectores fila de residuos y polos r (1) r (n ) tol: tolerancia y =
⇔ H (z) = + ... + + ...
k: vector columna de términos directos 1 − z −1p(1) 1 − z −1p(n ) dim: dimensión sobre la cual se hace el 0 -1.4142i 0 +1.4142i 1.0000-1.0000i
b y a: coeficientes del numerador y ordenamiento 1.0000+1.0000i 0 4
... + k (1) + k (2)z −1 + ... + k (M − N + 1)z − M − N
denominador del cociente de polinomios en y: arreglo de números ordenado según su
orden decreciente si p( j ) = ... = p( j + s − 1) son polos parte real creciente, agrupando pares
long{a}-1=long{r}=long{p} de multiplicidad s ⇒ complejos conjugados al principio y reales
long{k}=long{b}-long{a}+1 r( j) r ( j + sr − 1) puros al final
H ( z ) = ... + + ... +
1 − z −1p( j ) ( )
sr
1 − z −1p(n )
eqtflength
Ecualiza la longitud del numerador y denominador de un cociente de polinomios
Sintaxis Ejemplo
N =
3
59