Está en la página 1de 16

Banco de Filtros Coseno Modulado

Implementación polifásica
22 de noviembre de 2006
Los banco de filtros coseno modulados son un caso particular de banco de filtros de descom-
posición y recontrucción de la una señal. La idea general es descomponer una señal en varias
señales, cada una de ellas conteniendo solo una subbanda de frecuencia de la señal original de
modo que luego sea posible volver a componer la señal a partir de un procesamiento y suma
de cada una de las bandas. Al separar una señal de esa manera se persigue el objetivo de hacer
un procesamiento diferente sobre cada banda antes de volver a reconstruir la señal. Un ejemplo
es el caso de la norma MPEG-1 para audio, donde el procesamiento consiste en cuantizar cada
una de las señales de las bandas por separado, de acuerdo a ciertos criterios.
Este tipo de descomposición sigue el esquema de la figura siguiente:

Figura 1: Esquema de descomposición - reconstrucción.

El banco de filtros de análisis divide la señal x(n) en varias señales xk (n) mediante un filtrado
con cada uno de los filtros Hk (z), cuya respuesta en frecuencia puede ser de alguna de las
formas observadas en la figura inferior: con solapamiento marginal, sin solapamiento, o direc-
tamente con un solapamiento apreciable. Luego de un cierto procesamiento, cada señal xk (n)
es convertida en una señal yk (n) las cuales reconstruyen una señal luego de ser pasadas por un
banco de filtros Fk (z) y sumadas. Si yk (n) = xk (n), es decir, no se realizara ningún tipo de
procesamiento, se espera que x̂(n) = x(n).
1. Banco de filtros de DFT uniforme
La transformada de Fourier de corto tiempo (STFT, Short Time Fourier Transform), es un
ejemplo de este tipo de bancos de filtros. Si bien este tema ya fue cubierto en la materia, se
estudió en otro contexto, donde el énfasis no estaba puesto en la descomposición para proce-
samiento seguido de reconstrucción, sino que solo era vista como una herramienta de análisis
o descripción-visualización. Sin embargo, en el tema de bancos de filtros de descomposición-
reconstrucción, la STFT es la base que nos permitira pensar el modelo más elemental de bancos
de filtros de reconstrucción y muchos de los conceptos básicos asociados a este tema, por lo
cual lo utilizaremos como base de la explicación y como inicio de la descripción de la notación.
Habitualmente solemos escribir la STFT en esta forma:

2π k m
X
xk (n) = x(n − m) w(m) e−j M

m=−∞

donde hemos cambiado la notación Xk (n) (con mayúscula) por xk (n) (con minúscula), para
hacer énfasis en que estas señales son señales del tiempo, obtenidas mediante un filtrado de
x(n). Además en esta expresión la ventana w(m) es una función general. El banco de filtros de
DFT uniforme se da para el caso de que w(n) = 1 para n = 0, . . . , M − 1, y cero para el resto,
es decir para una ventana rectangular de ancho M :
M −1
2π k m
X
xk (n) = x(n − m) e−j M

m=0

Si llamamos k 0 = M − k, y llamamos sm (n) = x(n − m),


M −1
X 2π (M −k0 ) m
x(M −k0 ) (n) = sm (n) e−j M

m=0

M −1
2π k0 m
X
x(M −k0 ) (n) = sm (n) ej M

m=0
0
Al cambiar M − k por k lo único que estamos haciendo es cambiar el orden de enumeración de
las señales, que por motivos que serán evidentes más adelante es mejor de este modo. De modo
que de aquı́ en adelante consideraremos este orden como el definitivo de modo que
M −1
2π k m
X
xk (n) = sm (n) ej M

m=0

La ecuación anterior corresponde en cada tiempo a la expresión de la k−ésima componente


de la IDFT del vector [s0 (n)s1 (n) . . . s(M −1) (n)], salvo por un factor de escala. De modo que el
conjunto de señales xk (n) puede obtenerse formando, para cada instante n el vector compuesto
por cada una de las M señales del instante n, [s0 (n)s1 (n) . . . s(M −1) (n)] y tomando su IDFT
multiplicada por M . Esta estructura puede representarse como se muestra en la siguiente figura,
donde hemos representado con un bloque denominado W∗ la operación de multiplicación del
2π k m
vector de entrada, [s0 (n)s1 (n) . . . s(M −1) (n)] por la matriz W∗ , cuyos elementos son ej M =
km
WM
x(n) s0(n) x0(n)

s1(n) x1(n)
z −1

s2(n) W∗ x2(n)
−1
z

..
.
sM −1(n) xM −1(n)
z −1

Figura 2: Banco de descomposición DFT uniforme

Para encontrar la forma de los filtros Hk (z) de la forma que se muestran en la descomposición
de la figura 1, podemos plantear cuál es la transformada Z de xk (n):
M −1
2π k m
X
Xk (z) = Sm (z) ej M

m=0
M −1
2π k m
X
= X(z) z −m ej M

m=0
M −1
2π k −m
X  
= X(z) z e−j M
m=0
M −1  −m
−j 2π k
X
= X(z) ze M

m=0
= X(z) Hk (z)
Pero la transformada Z de la ventana rectangular es
M
X −1
H0 (z) = z −m
m=0
M −1  −m  
2π k m 2π k
X
⇒ Hk (z) = z e−j M = H0 z e−j M
m=0
En términos de la transformada Z vemos que cada filtro Hk (z) es obtenido a partir del filtro que
representa la ventana rectangular, girado en un ángulo − 2πMk . En términos de la transformada
de Fourier vemos que el filtro H0 (Ω) es una sinc periódica con su lóbulo principal centrado en
cero, mientras que los filtros Hk (Ω) corresponden a versiones desplazadas en − 2πMk de dicho
espectro.
Para encontrar la forma de los filtros de reconstrucción veamos que x(n) = s0 (n), pero
también x(n) = s1 (n + 1) = s2 (n + 2) = . . ., y por lo tanto
M −1
1 X
x(n) = sm (n + m)
M m=0
y, en términos de la transformada Z,
M −1
1 X
X(z) = Sm (z)z m
M m=0

Pero si las señales xk (n) pueden ser obtenidas mediante una IDFT de las señales sm (n) (salvo
factor de escala), entonces las señales sm (n) pueden obtenerse haciendo una DFT del vector
xk (n):
M −1
2π k m
X
sm (n) = M xk (n) e−j M
m=0

Usando este hecho en la ecuación anterior


M −1 M −1
2π k m
X X
X(z) = Xk (z) e−j M zm
m=0 k=0
M −1 M −1  m
2π k m
X X
= Xk (z) z e−j M

m=0 k=0
M
X −1
= Xk (z) Fk (z)
m=0

Y análogamento a lo que se vio con el filtro de descomposición Hk (z), el filtro Fk (z) también
podrá ser expresado en términos de H0 (z), si vemos que:
  M −1  −m
−j 2π k 2π k
X
H0 z e M = z e−j M

m=0
M −1  m0  −(M −1)
2π k 2π k
X
= z e−j M z e−j M

m0 =0

donde se hizo un cambio de variables m0 = M − 1 − m. De modo que finalmente tendremos que


 2π k
 2π k
Fk (z) = H0 z e−j M z M −1 ej M
2π k
(donde se debe tener en cuenta que ej M M = 1). Esto implica que la descomposición de la señal
puede hacerse a partir de un único filtro H0 (z) desplazado en frecuencia, y la reconstrucción
se realiza con los mismos filtros, multiplicados por constantes adecuadas y retardado en N − 1
muestras.
El hecho de que la descomposición y composición de la señal en bandas pueda ser hecha me-
diante estas operaciones es obvio si pensamos al sistema como se muestra en la figura siguiente,
ya que las operaciones de DFT y de IDFT son perfectamente reversibles. Sin embargo no es tan
obvio si pensamos que la implementación de un banco de filtros “pasabanda”de esta naturaleza,
con una superposición tan importante entre bandas, puede dar lugar a una reconstrucción per-
fecta de la señal nuevamente. Cabrı́a preguntarse si es posible usar este principio para construir
un banco de filtros más general, donde H0 (z) pueda ser elegido no como la ventana rectangular
sino de alguna otra manera, por ejemplo para lograr una separación mejor entre bandas de
distintas frecuencias. La respuesta a esta pregunta es sı́, y las ideas principales de este principio
general seran explicadas más adelante en la sección sobre descomposición QMF.
x(n) s0(n) x0(n)

s1(n) x1(n)
z −1 +
z −1

s2(n) W x2(n) W
z −1 +
z −1
.. ..
. .
z −1
sM −1(n) xM −1(n) x(n)
z −1 +

2. Sistemas de múltiples velocidades (multirate systems)


y representación polifásica
Los sistemas de descomposición subbanda tienen muchas ventajas desde el punto de vista
del trabajo sobre las señales, como por ejemplo para codificación de una señal de audio. Sin
embargo debe notarse que desde un punto de vista de cantidad de cálculos el sistema incrementa
por M la cantidad de operaciones que haya que realizar, como también la cantidad de memoria
necesaria para guardar las subseñales. Por eso es lógico pensar si no será posible hacer algún
ahorro de memoria o de procesamiento, para que estos sistemas realmente sean utilizables.
La primera observación que se puede hacer si pensamos en nuestro banco de filtros de DFT
uniforme es que las M señales xk (n), pensado como un vector de dimensión M variable en el
tiempo, equivalen exactamente al vector de las M señales sm (n) en cada tiempo, porque son
la IDFT de ese vector. Pero el vector [s0 (n)s1 (n) . . . s(M −1) (n)] no es más que una ventana de
las últimas M muestras de la señal x(n), moviéndose de a una muestra por tiempo. Entonces
es inmediato darse cuenta que para reconstruir completamente la señal x(n) no serı́a necesario
guardar las M señales xk (n) para cada instante de tiempo n sino solamente una vez cada M
muestras. Esto sugiere la idea de realizar el siguiente sistema, más económico en termino de
almacenamiento de las señales de las subbandas, denominado sistema de múltiples velocidades
o multirate systems.
x(n) x0(n) y0 (n)
H0(z) ↓M ↑M F0(z)

x1(n) y1 (n)
H1(z) ↓M ↑M F1(z) +
x2(n) y2 (n)
H2(z) ↓M ↑M F2(z) +

.. .. ..
. . .
yM −1(n)
xM −1(n) x̂(n)
HM −1(z) ↓M ↑M FM −1(z) +

Sin embargo es también evidente que si la idea es obtener una muestra de cada M en cada
una de las bandas, tanto los filtros de descomposición Hk (z) como los de reconstrucción Fk (z)
están realizando procesamiento demás, ya que en el caso de la descomposición solo 1 muestra
de cada M es útil y el resto se descartan. En el extremo de reconstrucción es también evidente
ver que las entradas de los filtros son cero M − 1 muestras de cada M , lo cual quiere decir que
la entrada a cada filtro no presenta ninguna entrada casi todo el tiempo. Este tipo de problema
puede atacarse utilizando la respresentación polifásica de los filtros.

2.1. Representación polifásica


P∞ −n
Para explicar la idea básica, cosideremos el filtro genérico H(z) = n=−∞ h(n) z . Si
separamos los coeficientes pares de los impares de h(n) se podrı́a escribir H(z) de la siguiente
manera ∞ ∞
X X
H(z) = h(2n) z −2n + z −1 h(2n + 1) z −2n
n=−∞ n=−∞

y llamando

X ∞
X
−n
E0 (z) = h(2n) z , E1 (z) = h(2n + 1) z −n
n=−∞ n=−∞

podremos escribir H(z) como

H(z) = E0 (z 2 ) + z −1 E1 (z 2 )

Esta idea puede ser extendida a una separación de un filtro en M filtros también, donde es fácil
de ver que
M
X −1
H(z) = z −l El (z M ) (1)
l=0

donde hemos llamado ∞


X
El (z) = h(M n + l) z −n
n=−∞

Nótese que de este modo hemos dividido el filtro H(z), el cual arroja salidas sobre todos
los instantes n, en M filtros El (z M ) cuya respuesta impulsiva es cero para todo n salvo una
vez de cada M puntos. Es fácil darse cuenta que si la siguiente etapa después del filtrado es
un submuestreo en M , es posible obtener alguna simplificación adicional en términos de las
operaciones realizadas. Para ello es posible utilizar una de las identidades de Noble, que por
otro lado son fáciles de demostrar. La primera identidad de Noble plantea la equivalencia entre
los siguientes sistemas:

x(n) G(z) y(n) x(n) y(n)


↓M G(z M ) ↓M

La aplicación de este principio a nuestro banco de filtros de descomposición de la DFT


uniforme, puede entenderse si escribimos la descomposición polifásica del filtro Hk (z)

 M −1 
2π k l
 2π k
X 
Hk (z) = H0 z e−j M = z −1 ej M El (z M )
l=0
 M
−j 2π k
ya que z e M = z M . La salida de cada uno de los filtros será Xk (z)

M −1
X  2π kl
Xk (z) = Hk (z) X(z) = z −l El (z M ) X(z) ej M
l=0

Pero de aquı́ se puede ver que el término entre paréntesis es la transformada Z de sl (n), por lo
cual podemos redibujar la figura 2 del siguiente modo:

x(n) s0 (n) x0(n)


E0(z M )
s1 (n) x1(n)
z −1 E1(z M )

s2 (n) W∗ x2(n)
M
z −1
E2(z )

..
.
sM −1(n) xM −1(n)
z −1 EM −1 (z M )

Figura 3: Representación polifásica del filtro de descomposición

Y si se compara esta figura con la figura 2 es inmediato ver que El (z) = 1, ∀l = 0, . . . , M − 1.


Es decir, el (n) = δ(n) para todos los filtros, que coincide con la representación polifásica del
filtro H0 (z). Por lo tanto, utilizando la identidad de Noble, se puede ver que el banco de filtro
de descomposición con submuestreo en M puede ser representado de este modo:

x(n) s0 (M n) x0(M n)
↓M E0(z)
s1 (M n) x1(M n)
z −1 ↓M E1(z)

s2 (M n) W∗ x2(M n)
z −1
↓M E2(z)

..
.
sM −1(M n) xM −1(M n)
z −1 ↓M EM −1 (z)

Esto no representa un gran avance si consideramos la simpleza del caso, pero como se
verá más adelante este principio puede ser aplicado para otros casos de filtros aparte del caso
especı́fico de la DFT uniforme, donde los filtros El (z) tienen una forma trivial, y en esos casos la
representación polifásica sı́ representará un gran ahorro en cantidad de operaciones realizadas.
Veamos por último cómo utilizar la representación polifásica para el banco de filtros de
reconstrucción. Para ello veamos que una variación de la ecuación 1 serı́a escribir la descompo-
sición del filtro como
MX−1
H(z) = z −(M −1−l) Rl (z M )
l=0

donde los Rl (z) son los mismos El (z), tomados en otro orden, es decir Rl (z) = EM −1−l (z).
Esta descomposición se denomina de Tipo 2, mientras que la representación correspondiente a
la ecuación 1 se denomina de Tipo 1. Es posible demostrar que estos filtros también pueden
usarse en forma eficiente para calcular la reconstrucción de la señal. Para ello, partamos de la
descomposición del filtro Fk (z)
 2π k
 2π k
Fk (z) = H0 z e−j M ej M z M −1
M −1  (M −1−l)
−1 j 2π k 2π k
X
= z e M Rl (z M ) ej M z M −1
l=0
M −1
2π kl
X
= z l e−j M Rl (z M )
l=0

Para reconstruir la señal X(z) tenemos que hacer la sumatoria de todos los productos Fk (z) Xk (z):
M
X −1
X(z) = Fk (z) Xk (z)
k=0
M −1 M −1
2π kl
X X
= z l Rl (z M ) Xk (z) e−j M

k=0 l=0
−1 −1
M M
!
−j 2πMkl
X X
= l
z Rl (z M ) Xk (z) e
l=0 k=0

Pero el término entre paréntesis no es otra cosa que la señal 1


M
Sl (z) = 1
M
X(z) z −l , es decir que
M −1
1 X l
X(z) = z Rl (z M )Sl (z)
M l=0

M −1
1 X l
X(z) = z Rl (z M )X(z) z −l
M l=0

de donde deducimos que Rl (z M ) = 1, o lo que es lo mismo, rl (n) = δ(n), que coincide con la
representación tipo 2 del filtro H0 (z). De modo que utilizando la segunda identidad de Noble,
que representaremos en la siguiente figura es posible dibujar el sistema completo del siguiente

x(n) y(n) x(n) y(n)


G(z) ↑M ↑M G(z M )

modo:
x(n) s0 (M n) x0(M n) s0(M n)
↓M E0(z) R0(z) ↑M
z −1 z −1
s1 (M n) x1(M n) s1(M n)
↓M E1(z) R1(z) ↑M +
z −1
z −1 ∗
s2 (M n) W x2(M n) W s2(M n)
↓M E2(z) R2(z) ↑M +
.. ..
. .
z −1 sM −1(M n) z −1
sM −1(M n) xM −1(M n) x(n + M − 1)
↓M EM −1 (z) RM −1 (z) ↑M +

En esta figura es interesante notar que la reconstrucción se realiza con interpoladores que están
todos sincronizados pero un delay va acomodando las señales de tal modo que aparezcan en el
orden que tiene que ir y de este modo componer la ventana de x(n) de longitud M .

3. Filtros espejo en cuadratura (Quadrature Mirror Fil-


ters, QMF)
Como ya hemos mencionado, es interesante plantear si se podrı́a encontrar un sistema de
descomposición-reconstrucción con el mismo principio que usa el banco de filtros DFT uniforme,
pero con filtros derivados de otro prototipo (mejor en cierto sentido) que la ventana rectangular.
En este apartado veremos una respuesta posible a esta pregunta, mediante los filtros espejo en
cuadratura o QMF.
Estos filtros hacen la descomposición de la señal en dos bandas, es decir en bajas y altas
frecuencias, pero es fácilmente extrapolable a cantidades de bandas potencia de 2. El esquema
es como se ve en la figura siguiente:

En esta figura se muestra que los filtros de análisis, H0 (z) y H1 (z) van seguidos de los decima-
dores, y que la reconstrucción se realiza primero interpolando y luego pasando las señales por
los filtros de reconstrucción F0 (z) y F1 (z) y sumando sus salidas. Este esquema no representa
la estructura óptima que se vió en la última sección, pero es mejor partir para las deducciones
de la estructura básica y luego optimizar.

3.1. Aliasing
El objetivo que nos planteamos con este desarrollo es mejorar la respuesta en frecuencia de
los filtros de descomposición, o por lo menos, obtener cierto control sobre ellos. Sin embargo, por
más abrupta que sea la forma que elijamos los filtros, no podremos nunca implementar un filtro
ideal, por lo cual se asume que cierto grado de aliasing en la descomposición será inevitable. El
objetivo es compensar ese aliasing en todo el resto del sistema como veremos a continuación.
Usando la notación de las secciones precedentes podemos decir que
Xk (z) = Hk (z) X(z), k = 0, 1
La transformada Z de las señales decimadas vk (n) serán
1 h  1  1 i
Vk (z) = Xk z 2 + Xk −z 2 , k = 0, 1
2
Este segundo término representa la señal Xk (z) girada 180 grados con respecto a su posición
original. Por lo tanto representa el aliasing que genera el decimador. La transformada Z de
Yk (z) es V (z 2 ), de modo que,
1
Yk (z) = Vk (z 2 ) = [Xk (z) + Xk (−z)] ,
2
1
= [Hk (z)X(z) + Hk (−z)X(−z)] , k = 0, 1
2
Como la señal reconstruı́da es
X̂(z) = F0 (z)Y0 (z) + F1 (z)Y1 (z)
finalmente podremos escribir
1
X̂(z) = [H0 (z)F0 (z) + H1 (z)F1 (z)] X(z)
2
1
+ [H0 (−z)F0 (z) + H1 (−z)F1 (z)] X(−z) (2)
2
De esta ecuación vemos que el primer sumando representa la señal deseada, mientras que el
otro sumando representa un giro de la transformada Z de la señal, o sea, aliasing. Por lo tanto
vemos que para lograr aliasing cero una posible elección es
F0 (z) = H1 (−z), F1 (z) = −H0 (−z)
Entonces, independientemente de la forma de los filtros H0 (z) y H1 (z), si se eligen los filtros
de reconstrucción de este modo, tendremos que el aliasing se cancela completamente.

3.2. Distorsión de amplitud y fase


Una manera más compacta y también descriptiva de escribir la ecuación 2 serı́a:
X̂(z) = T (z) X(z) + A(z) X(−z)
donde A(z) se denomina transferencia de aliasing, que se puede hacer cero mediante una ade-
cuada elección de los filtros de reconstrucción como ya vimos; y T (z) es lo que se demonima
distorsión del sistema. Supongamos que A(z) = 0, entonces
X̂(z) = T (z) X(z)
Esto indica que para que la salida reconstruı́da pueda ser igual a la entrada X(z) es necesario que
T (z) = 1. Esta consideración puede ser demasiado restrictiva, y podemos admitir por ejemplo
que un sistema de reconstrucción perfecta pueda generar un retardo en la señal reconstruı́da
con respecto a la señal original, o un cambio de amplitud. Entonces, si decimos que T (Ω) =
|T (Ω)| ej ϕ(Ω) , entonces el sistema será de reconstrucción perfecta si se cumple que
|T (z)| = C, ϕ(Ω) = a + b Ω
3.3. Un sistema QMF simple sin aliasing
Los primeros bancos QMF cumplı́an además la condición siguiente

H1 (z) = H0 (−z)

Esto significa que la respuesta en frecuencia de H1 (Ω) es el espejo de la respuesta en frecuencia de


H0 (Ω), reflejado con respecto a π/2, que es la frecuencia de cuadratura (2π/4) y de allı́ el nombre
de filtros espejo en cuadratura. Debe observarse que de este modo estamos cumpliendo que los
cuatro filtros que forman la descomposición-reconstrucción pueden ser todos ellos generados a
partir de un único filtro H0 (z). De este modo es posible concentrarse en el diseño de un solo
filtro, y no cuatro. Además, si H0 (z) es un buen pasabajos, H1 (z) será un buen pasaaltos.

3.4. Representación polifásica


Veamos ahora la implementación polifásica de este tipo de filtros. En este caso esta imple-
mentación no solo será útil desde un punto de vista operativo sino que nos ayudará a comprender
mejor las derivaciones del procedimiento planteado.
Para el filtro H0 (z) podremos escribir:

H0 (z) = E0 (z 2 ) + z −1 E1 (z 2 )

Como H1 (z) = H0 (−z) tendremos que

H1 (z) = E0 (z 2 ) − z −1 E1 (z 2 )

Y del mismo modo es posible demostrar que

F1 (z) = −H1 (z) = −E0 (z 2 ) + z −1 E1 (z 2 )

Es posible además dibujar la estructura resultante del siguiente modo

x(n) x0(n) y0(n)


E0(z 2) E1(z 2)
z −1 z −1
x1(n) y1(n) x̂(n)
E1(z 2) E0(z 2)

donde vemos la similitud de esta implementación con la de la figura 3, donde en este caso la
matriz W ∗ es de 2 por 2.
Utilicemos la representación polifásica para escribir ahora la transferencia de distorsión:
1
T (z) = [H0 (z)F0 (z) + H1 (z)F1 (z)]
2
1
= [H0 (z)H0 (z) − H1 (z)H1 (z)]
2
y reemplazando los filtros H0 (z) y H1 (z) en términos de su descomposición polifásica, tendremos

T (z) = 2z −1 E0 (z 2 )E1 (z 2 )
Esta expresión es válida para cualquier implementación QMF de este tipo, no importa si el filtro
H0 (z) es FIR o IIR. Algunas importantes conclusiones se pueden ver de la ecuación anterior.
Por ejemplo, si H0 (z) es FIR, entonces E0 (z), E1 (z) y en consecuencia T (z) también lo serán.
Pero de la ecuación anterior es posible afirmar que para que el sistema sea de reconstrucción
perfecta, la única posibilidad es que E0 (z), E1 (z) sean iguales a un retardo. Pero esto implica
que la respuesta impulsiva del filtro H0 (z) tiene solo dos valores distintos de cero, lo cual no
posibilita un diseño de filtro de buena respuesta en frecuencia. Además de lo dicho anteriormente
deducimos que si el filtro H0 (z) es FIR la única estructura posible para lograr reconstrucción
perfecta es
H0 (z) = k0 z −2n0 + k1 z −2n1 +1
Podemos pensar en otra elección para E0 (z) y E1 (z) tal conduzca igualmente a una T (z) de
reconstrucción perfecta, pero en ese caso deberı́a ser E0 (z) = 1/E1 (z), y por lo tanto uno de
los dos (o ambos) serı́an filtros IIR.
Entonces, este tipo de descomposición que da lugar a sistemas de reconstrucción perfecta,
donde no hay distorsión de aliasing, y la entrada es igual a la salida, salvo factor de amplificación
o retardo temporal, tienen un costo: los sistemas asi generados o bien son FIR, pero con un
pobre desempeño en frecuencia, o bien son IIR. Los filtros FIR siempre son preferidos en las
implementaciones, porque es posible diseñarlos fácilmente para que sean de fase lineal. Además
los transitorios de un filtro FIR son perfectamente controlables, en cambio en uno IIR no se
puede decir con certeza cuánto tiempo hay que esperar para que la salida sea cero (a un nivel
despreciable, digamos), y además esto depende de la amplitud y naturaleza de l entrada. Todos
estos inconvenientes hacen que la implementación FIR de filtros sea preferible. Por lo tanto
existe motivación suficiente como para pensar alternativas a las implementaciones QMF.

4. Filtros coseno modulados


En la sección precedente estudiamos una clase de descomposición que daba lugar a sistemas
de reconstrucción perfecta, es decir, no habı́a distorsión de aliasing, y la entrada era igual a
la salida, salvo factor de amplificación o retardo temporal. Los filtros coseno modulados son
relajaciones de las condiciones anteriores. Este tipo de filtros se denominan bancos de filtros
pseudo QMF, que aprovechan la relajación de las condiciones para obtener ventajas desde el
punto de vista de la implementación.

4.1. Modulación exponencial y por cosenos


Cuando estudiamos los bancos de filtros DFT uniforme, vimos que el banco de filtros de
descomposición Hk (z) se generaba a partir de un único filtro H0 (z) mediante un desplazamiento
2πk
en frecuencia Hk (z) = H0 (z e−j M ). Sin embargo debe notarse que en el tiempo esto equivale a
que
2πkn
hk (n) = h0 (n) ej M
Esto significa que aún cuando h0 (n) sea real, los filtros hk (z) tienen coeficientes complejos.
Para evitar este hecho, los bancos de filtros coseno modulados realizan una modulación con
cosenos en lugar de exponenciales. La idea es sencilla: generemos 2M filtros exponenciales y
combinémoslos de una forma que sea equivalente a modular con un coseno. Este banco de filtros
de modulación exponencial tendrán la siguiente forma esquemática:
Q2M −1(Ω) Q0(Ω) Q1(Ω) Q2(Ω)

... ...

2π π 2π Ω
− 2M 2M 2M

π
donde se ha elegido el filtro prototipo Q0 (z) = H0 (z ej 2M ), para algún H0 (z) pasabajos de
ancho de banda π/2M ya que esto posibilita que todas las combinaciones de los filtros con su
imagen de frecuencia negativa tengan el mismo ancho de banda.
Definiendo entonces
Uk (z) = ck Qk (z), Vk (z) = c∗k Q2M −1−k (z)
podremos definir el filtro Hk (z) como
Hk (z) = ak Uk (z) + a∗k Vk (z), 0 ≤ k ≤ M − 1
donde las constantes ak y ck tienen magnitud 1, cuyo propósito se entenderá luego.

4.2. Cancelación de alias


También podemos escribir la forma de los filtros de reconstrucción como modulaciones por
cosenos del filtro prototipo, del siguiente modo
Fk (z) = bk Uk (z) + b∗k Vk (z), 0 ≤ k ≤ M − 1
La elección de dichos filtros en el caso QMF se hizo pensando en que cancele exactamente las
componentes de aliasing que surgen del submuestreo. En el caso de dos bandas como fue el
ejemplo simple que vimos de QMF, el aliasing venı́a del término que contenı́a X(−z). En un
caso de submuestreo-sobremuestreo por M , hay aliasing para todos los sumandos que contienen
2πl
X(z ej M ), con l 6= 0, lo cual complicarı́a notablemente el diseño de los Fk (z). Pero si considera-
mos que la atenuación de Fk (z) es suficientemente alta, podemos simplificar el caso y considerar
que solo hay aliasing debido a imágenes de Xk (z) vecinas. Esto da origen a la denominación de
estos filtros como de cancelación de aliasing aproximado. En la siguiente figura se muestra un
poco más desarrollada la idea.

2π(M −2) 2π(M −1) 2π


U1(Ω e−j M ) U1(Ω e−j M ) U1(Ω) U1(Ω e−j M )

... ...

2π π 2π Ω
− 2M 2M 2M

En esta figura se muestra las imágenes de un filtro Uk (z) (para k = 1) seguido del submuestreo
por M y el sobremuestreo por el mismo factor, y en la figura siguiente lo mismo para el filtro
Vk (z).
2π(M −1) 2π 2π 2
V1(Ω e−j M ) V1(Ω) V1(Ω e−j M ) V1(Ω e−j M )

... ...

2π π 2π Ω
− 2M 2M 2M

Las figuras anteriores corresponderı́an a una entrada x(n) = δ(n). Si la entrada es otra, hay que
pensar que cada una de estas imágenes viene multiplicada por el espectro de X(Ω) desplazado en
forma correspondiente. Sumando las salidas de ambos filtros (multiplicadas por las constantes
ak y a∗k respectivamente, tendremos la salida total de Hk (z) submuestreada y sobremuestreada
por M . Como el submuestreo y sobremuestreo es por M , ya que el ancho de banda total de
2πk
Hk (z) es el doble del de Uk (z), no hay aliasing entre Uk (z) y sus otras imágenes Uk (zej M )
(digamos, no son contiguas), pero sı́ lo hay entre las imágenes de Uk (z) con el filtro Vk (z). Lo
mismo se puede ver que sucede para las imágenes del filtro Vk (z). Como Fk (z) es simplemente
un filtro Uk (z) (frequencias positivas) más otro Vk (z) (frequencias negativas), multiplicados por
las constantes respectivas, las componentes de aliasing serán para la parte negativa
2πk 2πk 2π(k+1) 2π(k+1)
(ak b∗k Uk (zej M )Vk (z))X(zej M ) + (ak b∗k Uk (zej M )Vk (z))X(zej M )
y ası́ mismo la salida de Fk−1 (z) será
2π(k−1) 2π(k−1) 2πk 2πk
(ak−1 b∗k−1 Uk−1 (zej M )Vk−1 (z))X(zej M ) + (ak−1 b∗k−1 Uk−1 (zej M )Vk−1 (z))X(zej M )
de modo que entre estas dos salidas podrı́amos plantear la anulación del aliasing debido a la
2πk
componente X(zej M ), de la siguiente manera
2πk 2πk
(ak b∗k Uk (zej M )Vk (z)) + (ak−1 b∗k−1 Uk−1 (zej M )Vk−1 (z)) = 0
Utilizando las definiciones de Uk (z) y Vk (z) y la condición de que el módulo de ck es 1, se llega
a que el término se anula si
ak b∗k = −ak−1 b∗k−1 , 1 ≤ k ≤ M − 1

4.3. Cancelación de la distorsión


Para eliminar la distorsión de amplitud y fase es simple ver que si elegimos el filtro de
reconstrucción del siguiente modo
fk (n) = hk (N − n)
o lo que es lo mismo
Fk (z) = z −N Hk (z −1 )
podremos escribir la función de distorsión
M −1
1 X
T (z) = Fk (z)Hk (z)
M k=0
M −1
z −N X
= Hk (z −1 )Hk (z)
M k=0
donde Hk (z −1 )Hk (z) representa en el tiempo hk (−n) ∗ hk (n), que es una función par, y por lo
tanto de fase lineal.

4.4. Fase lineal de Uk (z) y Vk (z)


Ahora veremos que para que ambas funciones tengan fase lineal debemos imponer condi-
ciones sobre ck . Primeramente digamos que debemos elegir el filtro H0 (z) con fase lineal. Para
que además H0 (z) sea un pasabajos, debemos exigir que se cumpla

h0 (n) = h0 (N − n)

Esto significa que la respuesta en frecuencia de este filtro es


ΩN
H0 (Ω) = e−j 2 HR (Ω)

Es decir, que el filtro H0 (Ω) es igual a un filtro HR (Ω) real, multiplicado por un factor de fase
lineal. Si N es impar, h0 (n) es el desplazamiento en el tiempo de algún filtro de fase cero hR (n),
que no es causal poqur es una función par, pero que tiene una transformada HR (Ω) real. De la
expresión de Uk (z) podemos ver que
2πk
Uk (z) = ck Qk (z) = ck Q0 (ze−j 2M )
2πk πk
= ck H0 (ze−j 2M e−j 2M )
 
π(2k + 1)
⇒ Uk (Ω) = ck H0 Ω −
2M
 
−j ΩN j
π(2k+1)N π(2k + 1)
⇒ Uk (Ω) = ck e 2 e 4M HR Ω −
2M
π(2k+1)N
de la cual se puede ver que eligiendo ck = e−j 4M logramos que Uk (z) tenga la misma fase
que H0 (z). Lo mismo vale para Vk .
Esto nos habilita a plantear las condiciones sobre bk que nos aseguran que fk (n) = hk (N −n).
Se puede demostrar que si bk = ak ∗ estas condiciones se cumplen. Y con la determinación de
esta variable quedará solo por definir el valor de ak , pero que de acuerdo a lo anteriormente
dicho nos conducirá a
ak = ±jak−1
Esta es una determinación recursiva, de modo que eligiendo alún valor para a0 todo el resto de
constantes quedan determinados. El valor de a0 se elige

a40 = −1

lo que permite que la función T (z) sea aproximadamente igual a


M
X −1
Uk2 (z) + Vk2 (z)

T (z) =
k−0

evitando el aliasing en el submuestreo de H0 y de HM −1 .


4.5. Expresiones finales
Combinando todas las constantes encontradas en las expresiones anteriores obtendremos
 
π(2k + 1) N
hk (n) = 2 h0 (n) cos (n − ) + θk
2M 2
 
π(2k + 1) N
fk (n) = 2 h0 (n) cos (n − ) − θk
2M 2
donde θk = (−1)k π4 .

4.6. Explesión polifásica


Por último nos queda ver cuál es la expresión polifásica del banco de filtros, que hará que el
sistema tenga un orden de operaciones razonable. Para ello pensemos que si el sistema se basara
en las 2M modulaciones del filtro H0 (z), podrı́amos implementar la representación polifásica
que se ve en la figura 3, pero con los filtros El (z 2l ), con lo cual obtendrı́amos 2M filtros. Pero
como π(2k+1) π(2k+1)
Hk = ak ck H0 (ze−j 2M ) + a∗k c∗k H0 (zej 2M )
desarrollando la expresión polifásica de cada uno de estos filtros como hicimos en la sección 2
obtendremos
2M
X −1
Hk (z) = tkl z −n El (−z 2M ), 0 ≤ k ≤ M − 1
l=0
donde
π(2k+1) π(2k+1)
(l− N N
tkl = ej 2M e + e−j 2M (l− 2 ) e−jθk
2
) jθk
 
π(2k + 1) N
= 2 cos (l − ) + θk
2M 2
en la cual puede notarse que los elementos tkn son los mismos que modulan a h0 (n) para obtener
hk (n).
2πkl 2πkl 2π(2M −kl)
Si pensamos que los tkl contienen al elemento ej 2M y al e−j 2M = ej 2M , multiplicados
por constantes, no es difı́cil ver que la siguiente realización polifásica es posible
H0 (z)
E0(z 2M )
H1 (z)
z −1 E1(z 2M )
..
.
T HM −1(z)
z −1 E2(z 2M )

..
.

z −1 E2M −1 (z 2M )

donde T es una matriz de 2k × k elementos dados por tkl como se explica más arriba. Y
esta estructura puede ser ventajosamente aprovechada en el caso que se requiera hacer un
submuestreo ↓ M , como se vio anteriormente.

También podría gustarte