Conversión Digital de Tasa de Muestreo
Conversión Digital de Tasa de Muestreo
11
Tratamiento digital de
señales de tasa múltiple
En muchas aplicaciones prácticas de tratamiento digital de señales, hay que enfrentarse con el problema de
cambiar la tasa o frecuencia de muestreo de una señal, aumentándola o disminuyéndola en cierta cantidad.
Por ejemplo, en sistemas de telecomunicaciones que transmiten y reciben diferentes tipos de señales (como
teletipo, facsímil, voz, vídeo, etc.), existe un requisito para procesar las diversas señales a diferentes frecuencias
asociadas a los correspondientes anchos de banda de las señales. El proceso de convertir una señal de una tasa
dada a una tasa diferente se denomina conversión de la tasa o frecuencia de muestreo. A su vez, los sistemas
que emplean múltiples tasas de muestreo en el procesamiento de señales digitales se conocen como sistemas de
tratamiento digital de señales de tasa múltiple.
La conversión de la tasa de muestreo de una señal digital puede llevarse a cabo mediante uno de dos métodos
generales. Uno de estos métodos consiste en pasar la señal digital a través de un convertidor D/A, filtrarla si fuera
necesario y luego volver a muestrear la señal analógica resultante a la frecuencia deseada (es decir, hacer pasar
la señal analógica a través de un convertidor A/D). El segundo método consiste en realizar toda la conversión
de la frecuencia de muestreo en el dominio digital.
Una ventaja evidente del primer método es que la nueva frecuencia de muestreo puede elegirse arbitraria-
mente y no tiene que tener ninguna relación especial con la antigua frecuencia de muestreo. Sin embargo, un
inconveniente importante es la distorsión de la señal introducida por el convertidor D/A en la reconstrucción de
la señal y por los efectos de cuantificación en la conversión A/D. La conversión de la frecuencia de muestreo
en el dominio digital evita esta desventaja.
En este capítulo vamos a describir la conversión de la tasa o frecuencia de muestreo en el dominio digital. En
primer lugar, describimos la conversión de la frecuencia de muestreo mediante un factor racional. Presentaremos
varios métodos para implementar el convertidor de frecuencia, incluyendo implementaciones de una sola etapa
y multietapa. A continuación describiremos un método para realizar la conversión de la frecuencia de muestreo
mediante un factor arbitrario y veremos su implementación. Presentaremos varias aplicaciones de esta conversión
en sistemas de procesamiento de señales multitasa, lo que incluye la implementación de filtros de banda estrecha,
bancos de filtros digitales, codificación de subbanda, transmultiplexores y filtros espejo en cuadratura.
i i
i i
11.1 Introducción
El proceso de conversión de la tasa de muestreo se puede desarrollar y comprender utilizando la idea de
“remuestreo después de la reconstrucción”. En este método teórico, una señal discreta en el tiempo se reconstruye
idealmente y la señal continua en el tiempo resultante vuelve a muestrearse a una frecuencia de muestreo
diferente. Esta idea nos lleva a una formulación matemática que permite la realización del proceso completo
mediante técnicas de procesamiento digital de señales.
Sea x(t) una señal continua en el tiempo que se muestrea a una frecuencia Fx = 1/Tx para generar una señal
discreta en el tiempo x(nTx ). A partir de las muestras x(nTx ) podemos generar una señal continua en el tiempo
utilizando la fórmula de interpolación
∞
y(t) = ∑ x(nTx )g(t − nTx ) (11.1.1)
n=−∞
Si el ancho de banda de x(t) es menor que Fx /2 y la función de interpolación está dada por
sen(π t/Tx ) F Tx , |F| ≤ Fx /2
g(t) = ←→ G(F) = (11.1.2)
π t/Tx 0, en otro caso
entonces y(t) = x(t); en caso contrario, y(t) = x(t). En la práctica, no es posible la recuperación perfecta de x(t)
porque el sumatorio infinito de (11.1.1) debería reemplazarse por un sumatorio finito.
Para realizar la conversión de la frecuencia de muestreo simplemente evaluamos (11.1.1) en los instantes
de tiempo t = mTy , donde Fy = 1/Ty es la frecuencia de muestreo deseada. Por tanto, la fórmula general para la
conversión de la frecuencia de muestreo es
∞
y(mTy ) = ∑ x(nTx )g(mTy − nTx ) (11.1.3)
n=−∞
que expresa directamente las muestras de la secuencia deseada en función de las muestras de la secuencia original
y de los valores muestreados de la función de reconstrucción en las posiciones (mTy − nTx ). El cálculo de y(nTy )
requiere (a) la secuencia de entrada x(nTx ), (b) la función de reconstrucción g(t) y (c) los instantes de tiempo
nTx y mTy de las muestras de entrada y de salida. Los valores y(mTy ) calculados mediante esta ecuación son
precisos sólo si Fy > Fx . Si Fy < Fx , habrá que filtrar las componentes de frecuencia de x(t) por encima de Fy /2
antes de volver a muestrear con el fin de evitar el aliasing. Por tanto, la fórmula de conversión de la frecuencia de
muestreo dada en (11.1.3) es y(mTy ) = x(mTy ) si utilizamos (11.1.2) y X(F) = 0 para |F| ≥ mı́n{Fx /2, Fy /2}.
Si Ty = Tx , la Ecuación (11.1.3) se transforma en una suma de convolución, la cual se corresponde con un
sistema LTI. Para comprender el significado de (11.1.3) para Ty = Tx , reordenamos el argumento de g(t) como
sigue:
∞
mTy
y(mTy ) = ∑ x(nTx )g Tx −n (11.1.4)
n=−∞ Tx
El término mTy /Tx puede descomponerse en una parte entera km y una parte fraccionaria ∆m , 0 ≤ ∆m < 1, como
sigue
mTy
= km + ∆ m (11.1.5)
Tx
donde # $
mTy
km = (11.1.6)
Tx
i i
i i
y
# $
mTy mTy
∆m = − (11.1.7)
Tx Tx
El símbolo a designa el mayor entero contenido en a. La magnitud ∆m especifica la posición de la muestra
actual dentro del período de muestreo Tx . Sustituyendo (11.1.5) en (11.1.4), obtenemos
∞
y(mTy ) = ∑ x(nTx )g((km + ∆m − n)Tx ) (11.1.8)
n=−∞
para cada muestra de salida y(mTy ). Por tanto, tiene que calcularse un nuevo conjunto de coeficientes o recu-
perarse de un almacenamiento dedicado a los cálculos de todas las muestras de salida (véase la Figura 11.1.2).
Este procedimiento resulta ineficiente cuando la función g(t) es complicada y el número de valores necesarios
es grande. Esta dependencia de m prohíbe el uso de estructuras recursivas, porque los valores de salida pasados
necesarios tienen que calcularse utilizando una respuesta al impulso para el valor actual de ∆m .
mT
g( mT x) km = y
Tx
Instantes de muestreo
de la entrada (k m − 1) Tx km Tx (k m+1) T x (k m+2) T x
x(t)
g(t)
i i
i i
x(nTx) y(mTy)
Figura 11.1.2. Sistema lineal discreto y variante en el tiempo para el proceso de conversión de la frecuencia
de muestreo.
Se obtiene una simplificación significativa cuando la relación Ty /Tx se restringe a un número racional, es
decir,
Ty Fx D
= = (11.1.11)
Tx Fy I
donde D e I son enteros relativamente primos. Para terminar, expresamos el desplazamiento ∆m como
# $ # $
mD mD 1 mD 1
∆m = − = mD − I = (mD)I (11.1.12)
I I I I I
donde (k)I designa el valor de k módulo I. A partir de (11.1.12), es evidente que ∆m sólo puede tomar I valores
unívocos 0, 1/I, . . ., (I − 1)/I, por tanto, sólo existen I posibles respuestas al impulso distintas. Dado que gm(nTx )
puede tomar I conjuntos distintos de valores, es periódica en m; es decir,
Luego el sistema gm (nTx ) es un sistema discreto en el tiempo lineal y variante periódicamente en el tiempo.
Este tipo de sistemas ha sido estudiado en profundidad para un amplio rango de aplicaciones (Meyers y Burrus,
1975). Ésta es una importante simplificación si la comparamos con el sistema discreto en el tiempo y variante
de forma continua en el tiempo dado por (11.1.10).
Para ilustrar estos conceptos vamos a considerar dos casos especialmente importantes. Comenzaremos con
el proceso de reducir la frecuencia de muestreo mediante un factor entero D, lo que se conoce como diezmado
o submuestreo. Si hacemos Ty = DTx en (11.1.3), tenemos
∞
y(mTy ) = y(mDTx ) = ∑ x(kTx )g((mD − k)Tx ) (11.1.14)
k=−∞
Observe que la señal de entrada y la respuesta al impulso se muestrean con un período Tx . Sin embargo, la
respuesta al impulso se desplaza a incrementos de Ty = DTx porque necesitamos calcular sólo una de entre las
D muestras. Dado que I = 1, tenemos que ∆m = 0 y, por tanto, sólo existe una respuesta al impulso g(nTx ), para
todo m. Este proceso se ilustra en la Figura 11.1.3 para D = 2.
Consideremos ahora el proceso de incrementar la frecuencia de muestreo en un factor entero I, lo que se
denomina supermuestreo o interpolación. Si hacemos Ty = Tx /I en (11.1.3), tenemos
∞
y(mTy ) = ∑ x(kTx )g(m(Tx /I) − kTx ) (11.1.15)
k=−∞
Observe que tanto x(t) como g(t) se muestrean con un período Tx ; sin embargo, la respuesta al impulso se
desplaza a incrementos de Ty = Tx /I para el cálculo de cada muestra de salida. Esto es necesario para “rellenar”
con un número adicional de (I − 1) muestras dentro de cada período Tx . Esto se ilustra en la Figura 11.1.4(a)–
(b) para I = 2. Cada “desplazamiento fraccionario” requiere que remuestremos g(t), lo que resulta en una
nueva respuesta al impulso gm (nTx ) = g(nTx + mTx /I), para m = 0, 1, . . . , I − 1 de acuerdo con (11.1.14). Una
i i
i i
t = mTy t = (m + 1)Ty
x(t)
g(t)
Figura 11.1.3. Ilustración de las relaciones temporales para reducir la frecuencia de muestreo en un factor
entero D = 2. Una respuesta al impulso simple, muestreada con un período Tx , se desplaza a escalones iguales
a Ty = DTx para generar las muestras de salida.
inspección detenida de la Figura 11.1.4(a)–(b) demuestra que si determinamos una respuesta al impulso g(nTy )
y creamos una nueva secuencia v(nTy ) insertando (I − 1) muestras de valor cero entre muestras sucesivas de
x(nTx ), podemos calcular y(mTy ) como la convolución de las secuencias g(nTy ) y x(nTy ). Esta idea se ilustra en
la Figura 11.1.4(c) para I = 2.
En las siguientes secciones vamos a ver en detalle las propiedades, el diseño y las estructuras que permiten
implementar la conversión de la frecuencia de muestreo completamente en el dominio discreto en el tiempo. Por
comodidad, normalmente eliminaremos los períodos de muestreo Tx y Ty del argumento de las señales discretas
en el tiempo. Sin embargo, ocasionalmente, en beneficio del lector volveremos a incorporarlos y pensaremos
en términos de unidades y magnitudes continuas en el tiempo.
i i
i i
t = m Ty t = (m + 1) Ty
x(t)
g0(nTx) g1(nTx) x(nTx)
(a)
g(t)
y(t)
(b) y(nTy)
(m − 1) Ty (m +1) Ty t
mTy
x(t)
(c) g(nTy) v(nTy)
mTy (m + 2)Ty t
Figura 11.1.4. Ilustración de relaciones temporales para aumentar la frecuencia de muestreo en un factor entero
I = 2. El método indicado en (a) requiere una respuesta al impulso para las muestras de salida pares y otra para
las impares. El método indicado en (c) sólo requiere una respuesta al impulso, la cual se obtiene entrelazando
las respuestas al impulso dadas en (a).
y(m) = v(mD)
∞ (11.2.3)
= ∑ h(k)x(mD − k)
k=0
i i
i i
v(n), n = 0, ±D, ±2D, . . .
ṽ(n) = (11.2.4)
0, en otro caso
Evidentemente, ṽ(n) puede verse como una secuencia obtenida multiplicando v(n) por un tren de impulsos
periódico p(n), con un período D, como se ilustra en la Figura 11.2.2. La representación en serie discreta de
Fourier de p(n) es
1 D−1 j2π kn/D
p(n) = ∑e
D k=0
(11.2.5)
Por tanto,
ṽ(n) = v(n)p(n) (11.2.6)
y
y(m) = ṽ(mD) = v(mD)p(mD) = v(mD) (11.2.7)
Ahora la transformada z de la secuencia de salida y(m) es
∞
Y (z) = ∑ y(m)z−m
m=−∞
∞
= ∑ ṽ(mD)z−m (11.2.8)
m=−∞
∞
Y (z) = ∑ ṽ(m)z−m/D
m=−∞
donde el último paso se obtiene a partir del hecho de que ṽ(m) = 0, excepto en múltiplos de D. Utilizando las
relaciones dadas en (11.2.5) y (11.2.6) en (11.2.8), obtenemos
∞
1 D−1 j2π mk/D −m/D
Y (z) = ∑ v(m) ∑e z
m=−∞ D k=0
1 D−1 ∞
= ∑ ∑ v(m)(e− j2π k/Dz1/D )−m
D k=0
(11.2.9)
m=−∞
1 D−1
= ∑ V (e− j2π k/Dz1/D )
D k=0
1 D−1
= ∑ HD (e− j2π k/Dz1/D )X(e− j2π k/Dz1/D )
D k=0
i i
i i
v(n)
6
0 3 n
p(n)
0 3 6 n
~
v(n) = v(n)p(n)
6
0 3 n
y(n) = ~
v(nD) = v(nD)
3
0 6 n
Figura 11.2.2. Pasos necesarios para facilitar la descripción matemática del submuestreo por un factor D,
utilizando una secuencia sinusoidal para ilustrarlo.
2π F
ωx = = 2π FTx (11.2.12)
Fx
Con un filtro diseñado adecuadamente HD (ω ), el aliasing se elimina y, en consecuencia, todos excepto el primer
término de (11.2.14) desaparecen. Por tanto,
1
ω
ω 1
ω
y y y
Y (ωy ) = HD X = X (11.2.15)
D D D D D
para 0 ≤ |ωy | ≤ π . Los espectros de las secuencias x(n), v(n) e y(m) se ilustran en la Figura 11.2.3.
EJEMPLO 11.2.1
Diseñe un diezmador que submuestree una señal de entrada x(n) por un factor D = 2. Utilice el algoritmo de Remez para
determinar los coeficientes del filtro FIR con un rizado de 0.1-dB en la banda de paso y una atenuación de al menos 30 dB
en la banda eliminada.
i i
i i
Solución. Una longitud de filtro M = 30 proporciona las especificaciones de diseño dadas anteriormente. La respuesta en
frecuencia se ilustra en la Figura 11.2.4. Observe que la frecuencia de corte es ωc = π /2.
X(ωx)
−π π ωx
0
HD(ωx)
−π π π ωx
− 0
D D
V(ωx)
−π π π ωx
− 0
D D
Y(ωy)
−π π ωy
0
Figura 11.2.3. Espectros de las señales en el proceso de diezmado de x(n) por un factor D.
i i
i i
Ganancia (dB)
Frecuencia relativa
Figura 11.2.4. Módulo de la respuesta del filtro FIR de fase lineal de longitud M = 30 del Ejemplo 11.2.1
y su frecuencia de muestreo es idéntica a la frecuencia de y(m). Esta secuencia tiene una transformada z
∞
V (z) = ∑ v(m)z−m
m=−∞
∞
= ∑ x(m)z−mI (11.3.2)
m=−∞
= X(zI )
El espectro correspondiente de v(m) se obtiene evaluando (11.3.2) sobre la circunferencia unidad. Así,
donde ωy designa la relación entre la variable de frecuencia y la nueva frecuencia de muestreo Fy (es decir,
ωy = 2π F/Fy ). Ahora la relación entre las frecuencias de muestreo es Fy = IFx y, por tanto, las variables de
frecuencia ωx y ωy están relacionadas de acuerdo con la fórmula
ωx
ωy = (11.3.4)
I
Los espectros X(ωx ) y V (ωy ) se ilustran en la Figura 11.3.1. Observe que el aumento de la frecuencia de
muestreo, obtenido por la adición de I − 1 muestras de valor cero entre valores sucesivos de x(n), da lugar a una
señal cuyo espectro V (ωy ) es una repetición periódica y solapada I veces del espectro de la señal de entrada
X(ωx ).
Dado que las componentes de frecuencia de x(n) en el rango 0 ≤ ωy ≤ π /I son únicas, las imágenes de
X(ω ) por encima de ωy = π /I deben rechazarse pasando la secuencia v(m) a través del filtro paso bajo, cuya
respuesta en frecuencia HI (ωy ), que idealmente presenta la característica
C, 0 ≤ |ωy | ≤ π /I
HI (ωy ) = (11.3.5)
0, en otro caso
i i
i i
|X(ωx)|
−π 0 π ωx
|V(ωy)|
I=2
2π π 0 π 2π ωy
− −
I I I I
|HI(ωy)|
−π π π π ωy
− 0
I I
|Y(ωy)|
−π π π π ωy
− 0
I I
donde C es el factor de escala requerido para normalizar apropiadamente la secuencia de salida y(m). En
consecuencia, el espectro de salida es
CX(ωy I), 0 ≤ |ωy | ≤ π /I
Y (ωy ) = (11.3.6)
0, en otro caso
El factor de escala C se selecciona de modo que la salida y(m) = x(m/I) para m = 0, ±I, +2I, . . . . Por
comodidad matemática, seleccionamos el punto m = 0. Así,
π
1
y(0) = Y (ωy )d ωy (11.3.7)
2π −π
π /I
C
= X(ωy I)d ωy
2π −π /I
i i
i i
Por último, indicamos que la secuencia de salida y(m) puede expresarse como una convolución de la
secuencia v(n) con la respuesta al impulso unidad h(n) del filtro paso bajo. Por tanto,
∞
y(m) = ∑ h(m − k)v(k) (11.3.9)
k=−∞
Dado que v(k) = 0 excepto en los múltiplos de I, donde v(kI) = x(k), la Ecuación (11.3.9) se convierte en
y(m) = ∑∞
k=−∞ h(m − kI)x(k) (11.3.10)
EJEMPLO 11.3.1
Diseñe un interpolador que aumente la frecuencia de muestreo de entrada por un factor l = 5. Utilice el algoritmo de Remez
para determinar los coeficientes de un filtro FIR con un rizado de 0.1-dB en la banda de paso y una atenuación de al menos
30 dB en la banda eliminada.
Solución. Un filtro de longitud M = 30 cumple las especificaciones de diseño dadas anteriormente. La respuesta en
frecuencia del filtro FIR se ilustra en la Figura 11.3.2. Observe que la frecuencia de corte es ωc = π /5.
Frecuencia relativa
Figura 11.3.2. Módulo de la respuesta del filtro FIR de fase lineal de longitud M = 30 del Ejemplo 11.3.1
i i
i i
Debemos destacar que la importancia de realizar la interpolación en primer lugar y luego el diezmado es
conservar la característica espectral deseada de x(n). Además, con la configuración en cascada mostrada en
la Figura 11.4.1, los dos filtros con respuestas al impulso {hu (k)} y {hd (k)} trabajan a la misma frecuencia,
es decir, IFx , y por tanto se pueden combinar en un solo filtro paso bajo con una respuesta al impulso h(k),
como se ilustra en la Figura 11.4.2. La respuesta en frecuencia H(ωv ) del filtro combinado debe incorporar las
operaciones de filtrado tanto para la interpolación como para el diezmado, por lo que idealmente debe poseer la
respuesta en frecuencia
I, 0 ≤ |ωv | ≤ mı́n(π /D, π /I)
H(ωv ) = (11.4.1)
0, en otro caso
Por ultimo, la salida del convertidor de la frecuencia de muestreo es la secuencia {y(m)}, la cual se obtiene
muestreando la secuencia {w(l)} por un factor D. Luego
y(m) = w(mD)
∞
= ∑ h(mD − kI)x(k) (11.4.4)
k=−∞
Resulta práctico expresar la Ecuación (11.4.4) de otra manera haciendo un cambio de variable. Sea
# $
mD
k= −n (11.4.5)
I
Interpolador Diezmador
Frecuencia = I Fx I
Frecuencia = Fx = Fy
D
Figura 11.4.1. Método para llevar a cabo la conversión de la frecuencia de muestreo por un factor I/D.
i i
i i
Frecuencia = IFx = Fv
Figura 11.4.2. Método para la conversión de la frecuencia de muestreo por un factor I/D.
donde la notación r designa el mayor entero contenido en r. Con este cambio de variable, (11.4.4) se transforma
en # $ # $
∞
mD mD
y(m) = ∑ h mD − I + nI x −n (11.4.6)
n=−∞ I I
Observe que
6 mD 7
mD − I I = mD, módulo I
= (mD)I
En consecuencia, la Ecuación (11.4.6) puede expresarse como
∞ # $
mD
y(m) = ∑ h(nI + (mD)I )x
I
−n (11.4.7)
n=−∞
donde h(k) es la respuesta al impulso del filtro paso bajo invariante en el tiempo para la frecuencia de muestreo
IFx . Observe además que para cualquier entero k,
El espectro de la secuencia de salida y(m), obtenido mediante el diezmado de la secuencia v(n) por un factor
de D, es
1 D−1 ωy − 2 π k
Y (ωy ) = ∑V
D k=0 D
(11.4.11)
i i
i i
donde ωy = Dωv . Puesto que el filtro lineal impide que se produzca el aliasing, como puede verse en la Ecuación
(11.4.10), el espectro de la secuencia de salida dada por (11.4.11) se reduce a
I X ωy , 0 ≤ |ωy | ≤ mı́n π , π D
Y (ωy ) = D D I (11.4.12)
0, en otro caso
EJEMPLO 11.4.1
Diseñe un convertidor de la frecuencia de muestreo que aumente dicha frecuencia de muestreo en un factor de 2.5. Utilice
el algoritmo de Remez para determinar los coeficientes del filtro FIR que presenta un rizado de 0.1-dB en la banda de paso
y una atenuación de al menos 30 dB en la banda eliminada. Especifique los conjuntos de los coeficientes variantes en el
tiempo g(n, m) empleados en la realización del convertidor de la frecuencia de muestreo.
Solución. El filtro FIR que cumple las especificaciones de este problema es exactamente el mismo que el filtro diseñado
en el Ejemplo 11.3.1. Su ancho de banda es π /5.
Los coeficientes del filtro FIR están dados por la Ecuación (11.4.8), luego
g(n, m) = h(nI + (mD)I )
mD
= h nI + mD − I
I
Sustituyendo I = 5 y D = 2 obtenemos
2m
g(n, m) = h 5n + 2m − 5
5
Evaluando g(n, m) para n = 0, 1, . . . , 5 y m = 0, 1, . . . , 4 obtenemos los siguientes coeficientes para el filtro variante en el
tiempo:
g(0, m) = {h(0) h(2) h(4) h(1) h(3) }
g(1, m) = {h(5) h(7) h(9) h(6) h(8) }
g(2, m) = {h(10) h(12) h(14) h(11) h(13)}
g(3, m) = {h(15) h(17) h(19) h(16) h(18)}
g(4, m) = {h(20) h(22) h(24) h(21) h(23)}
g(0, m) = {h(25) h(27) h(29) h(26) h(28)}
En resumen, la conversión de la frecuencia de muestreo por un factor I/D puede llevarse a cabo aumentando
primero la frecuencia de muestreo en un factor I, lo que se consigue insertando I − 1 ceros entre valores sucesivos
de la señal de entrada x(n), realizando un filtrado lineal a continuación de la secuencia resultante para eliminar
las imágenes no deseadas de X(ω ) y submuestreando por último la señal filtrada por el factor D. Cuando Fy > Fx ,
el filtro paso bajo actúa como un postfiltro que elimina las réplicas espectrales en los múltiplos de Fx , pero no
en los múltiplos de IFx . Cuando Fy < Fx , el filtro paso bajo actúa como un prefiltro de anti-aliasing que elimina
las réplicas espectrales desplazadas hacia abajo en múltiplos de Fy para evitar el solapamiento. El diseño del
filtro paso bajo puede hacerse aplicando las técnicas de diseño de filtros descritas en el Capítulo 10.
i i
i i
M−1
H(z) = ∑ z−i Pi (zM ) (11.5.1)
i=0
donde
∞
Pi (z) = ∑ h(nM + i)z−n (11.5.2)
n=−∞
La relación (11.5.1) se conoce como descomposición polifásica en M componentes y Pi (z) son las componentes
polifásicas de H(z). Cada subsecuencia
se obtiene muestreando una versión retardada (“en fase”) de la respuesta al impulso original.
Para desarrollar una estructura de filtro polifásico de M componentes, utilizamos la Ecuación (11.5.1) para
M = 3, con el fin de expresar la transformada z de la secuencia de salida como
Y (z) = H(z)X(z)
= P0 (z3 )X(z) + z−1 P1 (z3 )X(z) + z−2 P2 (z3 )X(z) (11.5.4)
−1 −1
= P0 (z )X(z) + z {P1(z )X(z) + z [P2 (z )X(z)]}
3 3 3
(11.5.5)
La Ecuación (11.5.4) lleva a la estructura polifásica de la Figura 11.5.1. Del mismo modo, (11.5.5) lleva a
la estructura polifásica mostrada en la Figura 11.5.2. Ésta se conoce como estructura polifásica transpuesta
porque es similar a la realización transpuesta del filtro FIR. Las estructuras polifásicas obtenidas son válidas
para cualquier filtro, FIR o IIR, y cualquier valor finito de M y nos bastan para cubrir nuestras necesidades.
Puede encontrar estructuras y detalles adicionales en Vaidyanathan (1993).
i i
i i
P0(z3)
x(n) y(n)
z −1
P1(z3)
z −1
P2(z3)
P0(z3)
x(n) y(n)
z −1
P1(z3)
z −1
P2(z3)
donde WD = e− j2π /D . La salida del sistema en la Figura 11.5.3(a) puede expresarse como
i i
i i
D H(z)
x(n) v1(m) y(m)
(a)
H(zD) D
x(n) v2(n) y(m)
(b)
1 D−1 1 D−1
Y (z) = ∑
D i=0
V1 (z1/DWDi ) = ∑ H(zWDiD )X(z1/DWDi )
D i=0
(11.5.7)
porque V1 (z) = H(zD )X(z). Teniendo en cuenta WDiD = 1 y la Figura 11.5.3(b), la relación (11.5.7) queda
D−1
1
Y (z) = H(z) ∑ X(z1/DWDi ) = H(z)V2 (z) (11.5.8)
D i=0
porque V1 (z) = X(zI ). La salida del sistema en la Figura 11.5.4(b) está dada por
que es igual a (11.5.10). Esto demuestra que los dos sistemas de la Figura 11.5.4 son idénticos.
En conclusión, hemos demostrado que es posible intercambiar la operación de filtrado lineal y el submuestreo
o sobremuestreo, si modificamos adecuadamente la función de sistema del filtro.
M−1
1 − z−M
H(z) = ∑ z−k = 1 − z−1
(11.5.12)
k=0
i i
i i
H(z) I
x(n) v1(n) y(m)
(a)
I H(zI)
x(n) v2(m) y(m)
(b)
1
1 − z−D D
1 − z−1
x(n) y(m)
(a)
1
D 1 − z−1
1 − z−1
x(n) y(m)
(b)
Figura 11.5.5. Uso de la primera identidad noble para obtener un filtro CIC eficiente para diezmado.
Este sistema puede implementarse conectando en cascada el “integrador” 1/(1 − z−1 ) con el filtro peine (1 −
z−M ), o viceversa. Esto nos lleva a la citada estructura de filtro CIC cascaded integrator comb, filtro peine
con integrador en cascada. Esta estructura CIC no requiere ninguna multiplicación o almacenamiento para los
coeficientes del filtro.
Para obtener una estructura de diezmado eficiente, partimos de un filtro CIC peine–integrador seguido de un
submuestreador y luego aplicamos la primera identidad noble, como se muestra en la Figura 11.5.5. Para el caso
de interpolación, utilizamos un sobremuestreador seguido de un filtro CIC peine-integrador y luego aplicamos la
segunda identidad noble, como se muestra en la Figura 11.5.6. Para mejorar la respuesta en frecuencia del filtro
paso bajo necesario para llevar a cabo la conversión de la frecuencia de muestreo, podemos conectar en cascada
K filtros CIC. En este caso, podemos colocar todos los integradores en un lado del filtro y los filtros peine en el
otro lado, y luego aplicar las identidades nobles como en el caso de una sola etapa. El integrador 1/(1 − z−1 )
es un sistema inestable. Por tanto, su salida puede crecer sin límites, haciendo que aparezca un desbordamiento
cuando la sección del integrador esté en primer lugar, como en el caso de la estructura de diezmado mostrada en
la Figura 11.5.5(b). Sin embargo, este desbordamiento puede ser tolerable si el filtro completo se implementa
utilizando aritmética de punto fijo en complemento a dos. Si D = M o I = M, el filtro peine 1 − z−1 de las Figuras
11.5.5(a) y 11.5.6(b) debe reemplazarse por 1 − z−M/D o 1 − z−M/I , respectivamente. Puede ver un tratamiento
detallado de los filtros CIC para operaciones de diezmado e interpolación en Hogenauer (1981). Por último,
observe que los filtros CIC son casos especiales de la estructura de muestreo en frecuencia vista en la Sección
10.2.3.
Si el orden del filtro CIC es una potencia de 2, es decir, M = 2K , podemos descomponer la función de
sistema (11.5.12) como sigue:
i i
i i
1
I 1 − z−I
1 − z−1 y(m)
x(n)
(a)
1
1 − z−1 I
1 − z−1 y(m)
x(n)
(b)
Figura 11.5.6. Uso de la segunda identidad noble para obtener un filtro CIC eficiente para interpolación.
2 2 2
x(n) y(m)
z −1 z −1 z −1
Figura 11.5.7. Estructura de filtro eficiente para llevar a cabo un diezmado por el factor D = 8 utilizando filtros
peine.
K−1
H(z) = (1 + z−1)(1 + z−2 )(1 + z−4) . . . (1 + z−2 ) (11.5.13)
Utilizando esta descomposición podemos desarrollar estructuras de diezmadores utilizando filtros CIC no recur-
sivos. La Figura 11.5.7 muestra un ejemplo de un diezmador para D = M = 8. Esta estructura puede obtenerse
conectando en cascada N filtros CIC siempre y cuando haya M secciones de primer orden (1 − z−1 ) entre cada
etapa de diezmado. Podemos relajar la restricción M = 2K descomponiendo M en un producto de números
primos, como se puede ver en Jang y Yang (2001).
i i
i i
H(z) D
x(n) v(n) y(m) = v(mD)
P0(z3) 3
x(n) y(m)
z −1
P1(z3) 3
z −1
P2(z3) 3
(a)
3 P0(z)
x(n) y(m)
z −1
3 P1(z)
z −1
3 P2(z)
(b)
Figura 11.5.9. Implementación de un sistema de diezmado utilizando una estructura polifásica antes (a) y
después (b) de utilizar la primera identidad noble.
continuando en orden inverso hasta i = 0. Por cada bloque de D muestras de entrada, los filtros polifásicos
reciben una nueva entrada y sus salidas se calculan y suman para generar una muestra de la señal de salida y(m).
Puede aprender cómo funciona esta realización haciendo una inspección detenida de la Figura 11.1.3.
Consideremos ahora la implementación eficiente de un interpolador, el cual se realiza insertando en primer
lugar I − 1 ceros entre muestras sucesivas de x(n) y filtrando a continuación la secuencia resultante (véase la
Figura 11.5.11). El principal problema con esta estructura es que los cálculos para el filtro se efectúan a la
frecuencia de muestreo superior IFx . La simplificación deseada se consigue reemplazando en primer lugar el
filtro de la Figura 11.5.11 por la estructura polifásica transpuesta de la Figura 11.5.2, como se muestra en la
Figura 11.5.12(a). A continuación, utilizamos la segunda identidad noble (véase la Figura 11.5.4) para obtener
la estructura de la Figura 11.5.12(b). Así, todas las multiplicaciones de la operación de filtrado se efectúan a
la frecuencia Fx . Es interesante destacar que la estructura de un interpolador se puede obtener transponiendo la
estructura de un diezmador, y viceversa (Crochiere y Rabiner, 1981).
i i
i i
Fy = Fx / D
Frecuencia de conmutación = Fx
P0(z)
y(m)
P1(z)
Fx
x(n) .. ..
. .
PD −1(z)
I H(z)
x(n) v(m) y(m)
Para cada muestra de entrada, los filtros polifásicos producen I muestras de salida y0 (n), y1 (n), . . . , yI−1 (n).
Dado que la salida yi (n) del filtro i va seguida por (I − 1) ceros y está retardada i muestras, los filtros polifásicos
contribuyen con muestras distintas de cero en diferentes franjas temporales. En la práctica, podemos implementar
la parte de la estructura que incluye los 1-a-I expansores, retardadores y sumadores utilizando el modelo de
conmutador mostrado en la Figura 11.5.13. El conmutador gira en sentido antihorario empezando en el instante
n = 0 en la rama i = 0. Por cada muestra de entrada x(n), el conmutador lee la salida de los filtros polifásicos
para obtener I muestras de la señal de salida (interpolada) y(m). El funcionamiento de esta estructura puede
comprenderse examinando en detalle la Figura 11.1.4. Cada filtro polifásico de la Figura 11.5.13 opera sobre la
misma entrada utilizando su conjunto unívoco de coeficientes. Por tanto, podemos obtener los mismos resultados
empleando un sólo filtro y cargando secuencialmente un conjunto diferente de coeficientes.
que contengan L muestras de salida o I muestras de entrada. Las posiciones temporales relativas de las distintas
secuencias y un bloque de datos se ilustran en la Figura 11.5.14. La secuencia de entrada x(nTx ) se interpola
para generar una secuencia v(kT ), la cual se diezma a continuación para obtener y(mTy ). Si utilizamos un filtro
FIR con M = KI coeficientes, los subfiltros polifásicos están dados por pi (n) = h(nI + i), i = 0, 1, . . . , I − 1,
donde n = 0, 1, . . . , K − 1. Para calcular la muestra de salida y(m), utilizamos el subfiltro polifásico con índice
im que requiere las muestras de entrada x(km ), x(km − 1), . . . , x(km − K + 1). A partir de la relación (11.1.9) y de
la Figura 11.5.14, podemos deducir fácilmente que
i i
i i
3 P0(z3)
x(n) y(m)
z −1
3 P1(z3)
z −1
3 P2(z3)
(a)
P0(z) 3
x(n) y(m)
z −1
P1(z) 3
z −1
P2(z) 3
(b)
Figura 11.5.12. Implementación de un sistema de interpolación utilizando una estructura polifásica antes (a)
y después (b) de utilizar la segunda identidad noble.
6 mD 7
km = I e im = (Dm)I (11.5.15)
i i
i i
Fx
P0(z)
x(n)
P1(z)
Fy = I Fx
y(m)
..
.
PI−1(z)
Entrada
Interpolado
Tx Ty Salida
t
n 0 1 2 3 4 5
Figura 11.5.14. Ilustración del cálculo del índice para una implementación polifásica de la conversión de la
frecuencia de muestreo para una relación racional I/D = 5/3.
I = ∏Li=1 Ii (11.6.1)
i i
i i
I1Fx
x(n) y(m)
h1(n) h2(n) … hL(n)
Fx Fy = IFx
Luego la interpolación por un factor I puede conseguirse conectando en cascada L etapas de interpolación y
filtrado, como se muestra en la Figura 11.6.1. Observe que el filtro de cada uno de los interpoladores elimina
las imágenes introducidas por el proceso de sobremuestreo en el interpolador correspondiente.
De forma similar, el diezmado por un factor D, donde D puede descomponerse como un producto de enteros
positivos
J
D = ∏ Di (11.6.2)
i=1
es posible implementarlo como una conexión en cascada de J etapas de filtrado y diezmado como se ilustra en
la Figura 11.6.2. Por tanto, la frecuencia de muestreo en la salida de la etapa i es
Fi−1
Fi = , i = 1, 2, . . . , J (11.6.3)
Di
donde Fsc ≤ Fx /2D. Así, el aliasing en la banda 0 ≤ F ≤ Fsc se evita seleccionando las bandas de frecuencia de
cada filtro de la manera siguiente:
Fx
D1
x(n) y(m)
h1(n) h2(n) … hJ(n)
Fx
Fx
Etapa 1 Etapa 2 Fx Etapa J D
D1D2
i i
i i
Por ejemplo, en la primera etapa de filtrado tenemos F1 = Fx /D1 , y el filtro se diseña para tener las siguientes
bandas de frecuencia:
Banda de paso: 0 ≤ F ≤ Fpc
EJEMPLO 11.6.1
Considere una señal de audio con un ancho de banda nominal de 4 kHz que ha sido muestreada a una frecuencia de 8 kHz.
Suponga que deseamos aislar las componentes de frecuencia que están por debajo de 80 Hz con un filtro que tiene una banda
de paso 0 ≤ F ≤ 75 y una banda de transición 75 ≤ F ≤ 80. Luego Fpc = 75 Hz y Fsc = 80. La señal existente en la banda
0 ≤ F ≤ 80 puede diezmarse por el factor D = Fx /2Fsc = 50. Especificamos también que el filtro tiene un rizado en la banda
de paso δ1 = 10−2 y un rizado en la banda eliminada δ2 = 10−4 .
La longitud del filtro FIR de fase lineal necesario para satisfacer estas especificaciones se puede estimar a partir de las
fórmulas bien conocidas dadas en la Sección 10.2.7. Recuerde que una fórmula especialmente simple que permite obtener
una aproximación de la longitud M, atribuida a Kaiser, es
−10 log10 δ1 δ2 − 13
M̂ = +1 (11.6.7)
14.6∆ f
donde ∆ f es la anchura normalizada (mediante la frecuencia de muestreo) de la región de transición [es decir, ∆ f =
(Fsc − Fpc )/Fs ]. Una fórmula más precisa propuesta por Herrmann et al. (1973) es
i i
i i
Observe que hemos reducido el rizado de la banda de paso δ1 en un factor de 2, por lo que el rizado total en la banda de
paso de la conexión en cascada de los dos filtros no excede el valor de δ1 . Por otro lado, el rizado de la banda eliminada se
mantiene en δ2 en ambas etapas. Ahora la fórmula de Kaiser proporciona un valor estimado de M1
Banda de paso: 0 ≤ F ≤ 75
Banda de transición: 75 < F ≤ 80
5
∆f =
320
δ
δ12 = 1 , δ22 = δ2
2
Luego el valor estimado de la longitud M2 del segundo filtro es
M̂2 ≈ 220
Por tanto, la longitud total de los dos filtros FIR es aproximadamente M̂1 + M̂2 = 387. Esto representa una reducción en un
factor mayor de 13 de la longitud del filtro.
Animamos al lector a que repita los cálculos anteriores para D1 = 10 y D2 = 5.
Es evidente a partir de los cálculos realizados en el Ejemplo 11.6.1 que la reducción de la longitud del
filtro es resultado de incrementar el factor ∆ f , el cual aparece en el denominador de las Ecuaciones (11.6.7)
y (11.6.8). Llevando a cabo el proceso de diezmado en múltiples etapas, podemos aumentar la anchura de la
región de transición a través de una reducción de la frecuencia de muestreo.
En el caso de un interpolador multietapa, la frecuencia de muestreo de la salida de la etapa i es
Fi−1 = Ii Fi , i = J, J − 1, . . ., 1
Banda de paso: 0 ≤ F ≤ Fp
Banda de transición: Fp < F ≤ Fi − Fsc
EJEMPLO 11.6.2
Invirtamos el problema de filtrado descrito en el Ejemplo 11.6.1 partiendo de una señal que tiene una banda de paso
0 ≤ F ≤ 75 y una banda de transición 75 ≤ F ≤ 80. Deseamos interpolar por un factor de 50. Seleccionando I1 = 2
e I2 = 25, obtenemos básicamente una forma transpuesta del problema de diezmado considerado en el Ejemplo 11.6.1.
Podemos entonces simplemente transponer el diezmador de dos etapas para obtener el interpolador de dos etapas con I1 = 2,
I2 = 25, M̂1 ≈ 220 y M̂2 ≈ 167.
i i