Sei sulla pagina 1di 265

Departamento de Comunicaciones-UPV

Tratamiento Digital de la Señal

Teorı́a y Aplicaciones

Antonio Albiol
Valery Naranjo
Josep Prades
Índice

1. Muestreo 1
1.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Muestreo de señales paso-bajo . . . . . . . . . . . . . . . . . . . 1
1.2.1. Recuperación de una señal paso-bajo a partir de
sus muestras . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.2. Consideraciones prácticas . . . . . . . . . . . . . . . . . 8
1.3. Procesado discreto de señales continuas . . . . . . . . . . . . . 9
1.4. Muestreo y reconstrucción de señales paso-banda . . . . . . . . 12
1.4.1. Muestreo de señales paso-banda como señales reales . . 13
1.4.2. Muestreo de señales paso-banda como señales complejas 14
1.5. Cambio de la velocidad de muestreo . . . . . . . . . . . . . . . 18
1.5.1. Diezmado por un factor entero . . . . . . . . . . . . . . 19
1.5.2. Interpolación por un factor entero . . . . . . . . . . . . 21
1.5.3. Cambio de la frecuencia de muestreo por un factor racional 25
1.5.4. Aplicación del diezmado a la conversión C/D . . . . . . 27
1.5.5. Aplicación de la interpolación a la conversión D/C . . . 28
1.6. Codificación de señales . . . . . . . . . . . . . . . . . . . . . . . 30
1.6.1. Recuperación de la señal . . . . . . . . . . . . . . . . . . 31
1.6.2. El ruido de cuantificación . . . . . . . . . . . . . . . . . 33
1.6.3. Cuantificación no uniforme . . . . . . . . . . . . . . . . 35

2. Transformada Discreta de Fourier 39


2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.2. La Transformada Discreta de Fourier . . . . . . . . . . . . . . . 39
2.3. Propiedades de la DFT . . . . . . . . . . . . . . . . . . . . . . 41
2.4. Relación entre convolución circular y lineal . . . . . . . . . . . 46

i
2.4.1. Cond. para igualdad entre conv. lineal y circular . . . . 48
2.4.2. Coincidencias entre la convolución lineal y la circular . . 50
2.5. Implementación de filtros LTI utilizando DFT . . . . . . . . . . 52
2.6. Muestreo de la Transformada de Fourier . . . . . . . . . . . . . 54
2.7. La FFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
2.7.1. Consideraciones previas . . . . . . . . . . . . . . . . . . 58
2.7.2. Algoritmos de diezmado en el tiempo . . . . . . . . . . 61
2.7.3. Algoritmos de diezmado en frecuencia . . . . . . . . . . 69
2.7.4. Consideraciones adicionales sobre la FFT . . . . . . . . 72
2.7.5. Algoritmos con N 6= 2υ . . . . . . . . . . . . . . . . . . 78
2.8. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

3. Implementación de filtros 83
3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
3.1.1. Aplicaciones de los filtros . . . . . . . . . . . . . . . . . 83
3.1.2. Ventajas e inconvenientes de los filtros digitales . . . . . 85
3.2. Planteamiento general del filtrado digital . . . . . . . . . . . . . 87
3.2.1. Implementabilidad de filtros FIR . . . . . . . . . . . . . 89
3.2.2. Implementabilidad de filtros IIR . . . . . . . . . . . . . 90
3.2.3. Proceso de implementación de un filtro digital . . . . . 91
3.3. Implementación de filtros digitales . . . . . . . . . . . . . . . . 92
3.3.1. Diagramas de flujo . . . . . . . . . . . . . . . . . . . . . 92
3.3.2. Formas directas . . . . . . . . . . . . . . . . . . . . . . . 94
3.3.3. Realización en Cascada . . . . . . . . . . . . . . . . . . 96
3.3.4. Realización en paralelo . . . . . . . . . . . . . . . . . . . 98
3.3.5. Formas transpuestas . . . . . . . . . . . . . . . . . . . . 98
3.3.6. Determinación de la función de transferencia de un grafo 100
3.3.7. Secuencia de cálculo . . . . . . . . . . . . . . . . . . . . 102
3.4. Efectos de precisión finita . . . . . . . . . . . . . . . . . . . . . 108
3.4.1. Cuantificación de los coeficientes . . . . . . . . . . . . . 108
3.4.2. Cuantificación de las muestras de entrada . . . . . . . . 114
3.4.3. Redondeos en las operaciones . . . . . . . . . . . . . . . 116
3.4.4. Escalado en sistemas de coma fija . . . . . . . . . . . . 123
3.4.5. Ciclos lı́mite . . . . . . . . . . . . . . . . . . . . . . . . 126
3.5. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

ii
4. Filtros Adaptativos 131
4.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
4.1.1. Ejemplos de sistemas adaptativos . . . . . . . . . . . . . 131
4.1.2. Caracterı́sticas fundamentales de los sistemas adaptativos132
4.1.3. Fundamentos de los de sistemas adaptativos . . . . . . . 132
4.2. Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
4.2.1. Identificación de sistemas . . . . . . . . . . . . . . . . . 133
4.2.2. Predicción . . . . . . . . . . . . . . . . . . . . . . . . . . 134
4.2.3. Cancelación de ruido . . . . . . . . . . . . . . . . . . . . 134
4.2.4. Canceladores de eco . . . . . . . . . . . . . . . . . . . . 136
4.2.5. Ecualizadores adaptativos . . . . . . . . . . . . . . . . . 139
4.2.6. Filtro en hendidura . . . . . . . . . . . . . . . . . . . . . 140
4.3. Filtrado Óptimo . . . . . . . . . . . . . . . . . . . . . . . . . . 140
4.3.1. El combinador lineal . . . . . . . . . . . . . . . . . . . . 141
4.3.2. Notación matricial . . . . . . . . . . . . . . . . . . . . . 142
4.3.3. Respuesta deseada y error . . . . . . . . . . . . . . . . . 142
4.3.4. Superficie de error . . . . . . . . . . . . . . . . . . . . . 143
4.3.5. Gradiente y error cuadrático medio mı́nimo . . . . . . . 146
4.3.6. Ejemplo de superficie de error . . . . . . . . . . . . . . . 148
4.4. Algoritmos de gradiente . . . . . . . . . . . . . . . . . . . . . . 149
4.4.1. Caso Unidimensional . . . . . . . . . . . . . . . . . . . . 150
4.4.2. Caso Multidimensional . . . . . . . . . . . . . . . . . . . 152
4.5. El algoritmo LMS . . . . . . . . . . . . . . . . . . . . . . . . . 153
4.5.1. Ejemplo numérico del algoritmo LMS . . . . . . . . . . 155
4.5.2. Aspectos prácticos del algoritmo LMS . . . . . . . . . . 156
4.6. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
4.7. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
4.7.1. Ejercicios con Matlab . . . . . . . . . . . . . . . . . . 159

5. Análisis Espectral 163


5.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
5.2. Tipos y tecnologı́as de analizadores espectrales . . . . . . . . . 164
5.2.1. Analizadores por banco de filtros . . . . . . . . . . . . . 164
5.2.2. Analizadores de barrido . . . . . . . . . . . . . . . . . . 166
5.2.3. Analizadores digitales . . . . . . . . . . . . . . . . . . . 167

iii
5.3. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . 167
5.3.1. Señales deterministas de duración limitada . . . . . . . 168
5.3.2. Señales deterministas de duración ilimitada . . . . . . . 168
5.3.3. Señales aleatorias estacionarias . . . . . . . . . . . . . . 168
5.3.4. Señales no estacionarias . . . . . . . . . . . . . . . . . . 170
5.3.5. Aspectos prácticos del análisis espectral digital . . . . . 170
5.4. Análisis espectral de señales deterministas . . . . . . . . . . . . 172
5.4.1. Ventanas de análisis . . . . . . . . . . . . . . . . . . . . 174
5.4.2. Resolución en frecuencia y margen dinámico . . . . . . . 178
5.4.3. Uso de la FFT. Muestreo en frecuencia . . . . . . . . . 181
5.4.4. El problema de la media . . . . . . . . . . . . . . . . . . 185
5.5. Análisis espectral no paramétrico . . . . . . . . . . . . . . . . . 186
5.5.1. Sesgo y Varianza . . . . . . . . . . . . . . . . . . . . . . 186
5.5.2. El periodograma . . . . . . . . . . . . . . . . . . . . . . 187
5.5.3. Autocorrelación . . . . . . . . . . . . . . . . . . . . . . . 193
5.5.4. El método Blackman-Tukey . . . . . . . . . . . . . . . . 200
5.5.5. El método de Welch o WOSA . . . . . . . . . . . . . . . 205
5.5.6. Resumen métodos no-paramétricos . . . . . . . . . . . . 209
5.6. Análisis Tiempo-Frecuencia . . . . . . . . . . . . . . . . . . . . 210
5.6.1. La TF dependiente del tiempo . . . . . . . . . . . . . . 211
5.6.2. Elección de la ventana . . . . . . . . . . . . . . . . . . . 213
5.6.3. Interpretación como banco de filtros de la TF depen-
diente del tiempo . . . . . . . . . . . . . . . . . . . . . . 216
5.6.4. Transformada Inversa . . . . . . . . . . . . . . . . . . . 217
5.6.5. Muestreo en frecuencia y en tiempo . . . . . . . . . . . 218
5.7. Análisis Espectral Paramétrico . . . . . . . . . . . . . . . . . . 219
5.7.1. Modelos AR . . . . . . . . . . . . . . . . . . . . . . . . . 222
5.8. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228

A. Señales Aleatorias Discretas 233


A.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
A.2. Procesos Estocásticos Discretos . . . . . . . . . . . . . . . . . . 234
A.2.1. Funciones de Distribución y de Densidad de Probabilidad235
A.3. Promedios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
A.3.1. Promedios instantáneos . . . . . . . . . . . . . . . . . . 236

iv
A.3.2. Promedios con memoria . . . . . . . . . . . . . . . . . . 237
A.4. PED Estacionarios . . . . . . . . . . . . . . . . . . . . . . . . . 238
A.4.1. Propiedades de los PED estacionarios . . . . . . . . . . 239
A.4.2. Estacionariedad en el mundo real . . . . . . . . . . . . . 240
A.5. Procesos Ergódicos . . . . . . . . . . . . . . . . . . . . . . . . . 241
A.6. Densidad Espectral de Potencia . . . . . . . . . . . . . . . . . . 243
A.7. Filtrado de Procesos Discretos . . . . . . . . . . . . . . . . . . 247
A.8. Ruido Blanco Discreto . . . . . . . . . . . . . . . . . . . . . . . 248
A.9. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Bibliografı́a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255

v
vi
Prólogo

Este libro tiene sus orı́genes en la experiencia adquirida en la impartición


de un curso de Tratamiento Digital de la Señal durante casi 20 años en la
ETSI de Telecomunicación de la Universidad Politécnica de Valencia.
El libro, en esta su segunda edición se ajusta al temario impartido en la
actualidad (2007). Respecto a la edición precedente se han corregido diversos
pequeños errores que se habı́an detectado en la primera edición, y se ha rees-
crito el principio del capı́tulo 2 para no incluir las series discretas de Fourier.
Este texto tiene su razón de ser en la falta de un texto nacional o extranjero
que se ajuste al temario visto en la asignatura. Algunos aspectos que no se
encuentran en otros textos de gran difusión ([9] o [6]) son el muestreo de señales
paso-banda o el estudio de los efectos de precisión finita en filtros digitales en
DSPs con arquitecturas modernas. Otros libros (por ejemplo [4] o [11]) son
especı́ficos de alguno de los temas de la asignatura, y tratan con mucha mayor
profundidad los aspectos de análisis espectral o filtrado adaptativo. Puede
llamar la atención la no existencia de un tema dedicado al diseño de filtros
digitales, clásico en la mayorı́a de los libros sobre la materia. Dicho tema se ha
suprimido del temario de la asignatura y ha sido relegado a una asignatura de
laboratorio debido a la disponibilidad generalizada de software de diseño de
filtros que simplifica notablemente la tarea del diseñador. Nos ha parecido más
interesante mantener un tema sobre aspectos prácticos de implementación de
filtros digitales, que requieren de más criterio por parte del ingeniero diseñador.
Se ha procurado en todo momento mantener a lo largo del libro un lenguaje
lo más claro e intuitivo posible, huyendo de un excesivo rigor matemático en
beneficio de la claridad. Ası́ por ejemplo siempre que se ha creı́do conveniente
se ha añadido una figura para reforzar las ideas o expresiones matemáticas.
Como base para la lectura del libro es necesario tener una base de la teorı́a
de sistemas lineales, tanto discretos como continuos. Se suponen conocidos
aspectos como el concepto de señal discreta, la transformada de Fourier, o la
transformada Z. Sobre estos temas se pueden consultar los libros [8] o [10]
entre muchos otros.

vii
viii

Se ha incluido un apéndice sobre procesos aleatorios discretos debido a


que resulta fundamental la perfecta comprensión de los conceptos que en él se
contienen para la comprensión del resto del texto. El segundo lo hemos incluido
porque nos ha parecido interesante que el alumno conozca cuando aparecieron
las ideas y técnicas que se presentan en la parte principal del texto.
Con el fin de mantener el libro lo más vivo posible se han habilitado unas
páginas Web, donde se recogerán diversas informaciones relacionadas con el
libro tales como erratas, programas, problemas adicionales, etc. La dirección
es:
http://personales.upv.es/∼aalbiol/librotds07
Por otra parte, será bien recibido cualquier errata, comentario o sugerencia
que pueda contribuir a mejorar este libro en futuras ediciones.
Esperamos que este libro sea de ayuda a los alumnos de nuestra Escuela
ası́ como a todos aquellos que busquen un texto sobre la materia donde la
claridad en la exposición sea la intención fundamental.

Los autores
Valencia, julio de 2007.
Capı́tulo 1

Muestreo y Procesado
Discreto de Señales Continuas

1.1. Introducción
El procesado de señales de forma discreta presenta una serie de ventajas
frente a la alternativa analógica como son inmunidad frente al ruido, esta-
bilidad frente a temperatura, repetitividad,. . . Sin embargo la mayorı́a de las
señales que interesa procesar son de naturaleza analógica. En ese caso es ne-
cesaria una discretización de la señal continua. Además, en muchas ocasiones
interesa que el procesado (continuo o discreto) de una señal produzca como
resultado una señal analógica. En ambos casos es necesario convertir la señal
de continuo a discreto o viceversa.
En este tema veremos, en la sección 1.2, la conversión continuo-discreto
y viceversa para el caso más habitual de que las señales sean paso-bajo. En
el apartado 1.3 trataremos el efecto que produce procesar muestras de una
señal continua de forma discreta. El punto 1.4 aborda el muestreo de señales
paso-banda, de bastante interés en comunicaciones. En la sección 1.5 nos ocu-
paremos de cómo obtener, a partir de un conjunto de muestras de una señal
obtenidas a una frecuencia de muestreo, un nuevo conjunto de muestras corres-
pondientes a una frecuencia de muestreo diferente. Por último, estudiaremos
la cuantificación y la codificación en la sección 1.6.

1.2. Muestreo y reconstrucción de señales paso-bajo


Sea xc (t) una señal continua. Supongamos que disponemos de un bloque
que denominaremos conversor continuo a discreto cuya relación entrada salida

1
2 CAPı́TULO 1. MUESTREO

xc (t) - C/D - x[n]


6
fs

Figura 1.1: Representación esquemática de un conversor continuo dis-


creto.

venga dada por:


x[n] = xc (n Ts ) (1.1)
donde x[n] es la señal discreta de salida correspondiente a muestras de la señal
xc (t). El parámetro Ts recibe el nombre de periodo de muestreo, y representa
la separación (en segundos) entre dos muestras consecutivas. A su inversa fs =
1/Ts se le denomina frecuencia de muestreo. Dicho bloque lo representaremos
esquemáticamente como se muestra en la figura 1.1. A la operación que realiza
dicho bloque se le denomina muestreo de la señal continua xc (t).
En la práctica, el valor de las muestras de salida x[n] se suele cuantificar
en amplitud obteniéndose una representación binaria del valor de la muestra.
En este caso se habla de convertidores analógico-digitales (A/D). Nosotros
consideraremos que la discretización de amplitud es suficientemente fina como
para poder considerar sus efectos despreciables. Por ello supondremos (salvo
en la sección 1.6) que las muestras pueden tomar cualquier valor real.
La señal continua de entrada tendrá una transformada de Fourier Xc (fc )1
y la señal discreta de la salida tendrá una transformada de Fourier X(ejω ).
Dado que x[n] proviene del muestreo de xc (t) (ec. (1.1)) parece lógico pensar
que también exista una relación entre las correspondientes transformadas de
Fourier. Veamos cuál es esta relación. Consideremos la siguiente señal continua:
X X
xs (t) = xc (t) · δ(t − nTs ) = xc (n Ts ) δ(t − nTs ) (1.2)
n n

Recordemos que:
( ) !
X 1 X
TF δ(t − nTs ) = δ(fc − n fs )
n Ts n

1
En este tema, y para evitar confusiones, denominaremos fc a la variable independiente
de la Transformada de Fourier (TF) de señales continuas, fd a la variable independiente de
la TF de señales discretas, Ω = 2πfc a la pulsación continua, y ω = 2πfd a la pulsación
discreta.
1.2. Muestreo de señales paso-bajo 3

Tomando Transformadas de Fourier a cada uno de los términos de la ecua-


ción (1.2) resulta:
!
1 X
xc (n Ts ) e−jΩTs n
X
Xs (fc ) = Xc (fc ) ∗ δ(fc − nfs ) = (1.3)
Ts n n

Teniendo en cuenta que:

x[n] e−jωn = xc (n Ts ) e−jωn


X X
X(ejω ) =
n n

y que: !
1 X 1 X
Xc (fc ) ∗ δ(fc − nfs ) = Xc (fc − nfs )
Ts n Ts n

Xc (fc )
6
a) 1
@
@
@
@ -
W fc

Xs (fc )
6
b) fs
... @ @ @ ...
@ @ @
@ @ @
@
@ @ @ @ -
−fs W fs fc

X(ejω )
6
c) fs
... @ @ @ ...
@ @ @
@ @ @
@
@ @ @ @ -
−1 W/fs 1 fd

Figura 1.2: Relaciones entre espectros en el muestreo de señales.


4 CAPı́TULO 1. MUESTREO

resulta la relación:
1 X
X(ejω ) |ω=ΩTs = Xc (fc − n fs ) = Xs (fc ) (1.4)
Ts n

Observemos que Xs (fc ) es a la vez:

La repetición periódica (escalada en amplitud por fs ) del espectro de la


señal original Xc (fc ). En otras palabras, consiste en réplicas centradas
en fc = 0 y fc = ±k fs , del espectro de la señal original.

Un escalado por un factor fs de X(ejω ). Es decir, el valor de X(ejω ) en


fd = 1 corresponde con el que toma Xs (fc ) en fc = fs .

La figura 1.2 muestra dichas relaciones.


Nótese que las relaciones expresadas por la ecuación (1.4) son válidas para
toda señal continua real o compleja.
Finalmente, podemos escribir la relación directa entre X(ejω ) y Xc (fc )

1 X fd − n
 
X(ejω ) = Xc (1.5)
Ts n Ts

Centrémonos ahora en el caso de señales reales continuas paso-bajo, es


decir, señales cuyo espectro se puede considerar nulo para fc > W , siendo
W el ancho de banda. Las señales paso-bajo reales suelen corresponder a las
que producen la mayorı́a de fuentes de señal: audio, voz, televisión, señales
digitales en banda base,. . . Al muestrear una de estas señales, pueden suceder
dos casos:

Que al repetirse el espectro no se produzca solapamiento entre las dife-


rentes repeticiones. Éste es el caso mostrado en la figura 1.2 donde es
fácil observar que fs > 2 W

Que al repetirse el espectro se produzca solapamiento entre las diferentes


repeticiones. En la figura 1.3 se ilustra este caso que corresponde a la
condición fs < 2 W .

Al solapamiento espectral se le conoce habitualmente como aliasing. En el


caso en que no se produzca aliasing, veremos que se puede recuperar la señal
continua paso-bajo x(t) a partir de sus muestras x[n]. En el siguiente apartado
se detalla cómo.
1.2. Muestreo de señales paso-bajo 5

Xc (fc )
6
1
""bb
" b
" b
" b
" b -
W fc

Xs (fc )
6
fs
... "
""bb
b "
""bb
b "
""bb
b ...
b " b " b " b "
b" b" b" b"
"b "b "b "b -
−fs W fs fc

X(ejω )
6
fs
... "
""bb
b "
""bb
b "
""bb
b ...
b " b " b " b "
b" b" b" b"
"b "b "b "b -
−1 W/fs 1 fd

Figura 1.3: Relaciones entre espectros en el muestreo de señales en el


caso de que exista aliasing (W > fs /2).

1.2.1. Recuperación de una señal paso-bajo a partir de


sus muestras
Supongamos que tenemos un conjunto de muestras x[n] que han sido to-
madas a una frecuencia de muestreo fs . Dado dicho conjunto de muestras de
una señal continua, la cantidad de señales continuas que pueden corresponder
a dichas muestras es infinita. Este hecho queda ilustrado en la figura 1.4, donde
se pueden observar dos señales distintas que corresponden a un mismo con-
junto de muestras. Obsérvese que las muestras únicamente permiten conocer
directamente la señal continua en los instantes tk = k Ts .
Para conocer los valores de la señal en instantes de tiempo intermedios, es
necesario hacer alguna hipótesis sobre la naturaleza de la señal muestreada.
Si consideramos que la señal analógica a la que corresponden las muestras es
paso-bajo de ancho de banda fs /2 entonces sólo existe una única señal
continua a la que pueden corresponder las muestras.
6 CAPı́TULO 1. MUESTREO

Si las muestras de la señal no contienen aliasing, es decir si fs > 2 W


entonces la señal que se recupera es xc (t), de la cual se tomaron las muestras.
En caso contrario, la señal que se recupera no coincide con la señal xc (t).
Podemos resumir por tanto, los condiciones necesarias para recuperar una
señal continua a partir de sus muestras:

1. Las muestras x[n] tomadas equiespaciadamente.

2. Conocer el periodo de muestreo Ts para saber a qué instantes correspon-


den las muestras.

3. Saber que la señal xc (t) original es paso-bajo.

4. Que su ancho de banda sea W < fs /2.

Es interesante notar que la falta de cualquiera de los 4 elementos arriba indi-


cados no permite reconstruir la señal analógica original.
El hecho de que se pueda recuperar exactamente una señal a partir de sus
muestras es equivalente a decir que las muestras contienen la misma cantidad
de información que la señal continua. Por lo tanto, cualquier manipulación
de la señal continua que pudiéramos pensar, podrá ser realizada sobre sus
muestras.

−1

−2
0 5 10 15

−1

−2
0 5 10 15

Figura 1.4: Ejemplo de dos señales continuas diferentes cuyas muestras


coinciden.
1.2. Muestreo de señales paso-bajo 7

xs (t)
- Generador - Hr (fc ) -
x[n] Impulsos xc (t)
6
fs D/C
Figura 1.5: Diagrama de bloques de un conversor discreto-continuo.

La figura 1.2 nos da una pista de cómo recuperar la señal analógica a partir
de las muestras.

1. En primer lugar, generaremos xs (t) a partir de x[n]. Esta señal corres-


ponde a un tren de impulsos infinitamente estrechos e infinitamente altos
cuya área coincide con el valor de las muestras. En otras palabras gene-
ramos la señal analógica cuyo espectro se muestra en la figura 1.2-b a
partir de la señal discreta de la figura 1.2-c.

2. Una vez se tiene xs (t) (figura 1.2-b), se aplica a un filtro analógico paso-
bajo ideal cuya ganancia en la banda de paso debe ser Ts y cuyo ancho
de banda es fs /2 para obtener finalmente x(t) (figura 1.2-a).

Al conjunto de operaciones que acabamos de describir, se le denominaconversor


discreto a continuo y lo denotaremos como D/C . Su diagrama se muestra en
la figura 1.5. Conviene notar que esta figura representa un modelo de dichos
conversores pero no expresa una forma de realización práctica, ya que en di-
cho esquema es necesario generar impulsos analógicos infinitamente altos y
estrechos, cosa imposible en la práctica.
El filtro que se muestra en la figura 1.5 recibe el nombre de filtro de recons-
trucción y debe notarse que es un filtro analógico. Su respuesta en frecuencia
y su respuesta impulsiva son respectivamente:
Y  fc  t
Hr (fc ) = Ts hr (t) = sinc (1.6)
fs Ts

A partir de los razonamientos anteriores, podemos escribir fácilmente la


relación entre la señal discreta y continua de un conversor D/C tanto en el
dominio del tiempo:
t − n Ts
X  
xc (t) = x[n] sinc (1.7)
n Ts
8 CAPı́TULO 1. MUESTREO

como en el de la frecuencia:
(
Ts X(ejΩ Ts ) |fc | < fs /2
Xc (fc ) = (1.8)
0 resto

Nótese finalmente que, en el caso de no existir aliasing (figura 1.2), existe


una correspondencia biunı́voca entre los puntos del eje de frecuencias continuas
y discretas:
fd ←→ fc = fs fd |fd | < 0,5 |fc | < fs /2

1.2.2. Consideraciones prácticas


En este apartado veremos algunas de las consideraciones de tipo práctico
que es necesario tener presente.

1. Necesidad del filtrado previo al muestreo de las señales. La mayorı́a


de las señales reales que se pueden encontrar en la práctica tienen un
ancho de banda limitado. Sin embargo, muchas veces interesa únicamen-
te la parte de bajas frecuencias de una señal para, de ese modo, poder
muestrear a una frecuencia más baja. En esos casos se hace necesario
un filtrado analógico previo al muestreo de la señal. Incluso si se puede
considerar el ancho de banda de la señal a muestrear limitado a fs /2,
se hace necesario filtrar la misma debido a que normalmente ésta con-
tendrá ruido fuera de la banda de la señal que habrá de ser eliminado
antes del muestreo.

2. Bandas de guarda. Dado que los filtros antialiasing y de reconstrucción


tienen bandas de transición de anchura finita, será necesario muestrear
a frecuencias superiores al doble del ancho de banda si se desea poder
recuperar la señal en la práctica. Como ejemplo, la señal de audio de 20
kHz se muestrea a 44.1 kHz en el Compact Disc.

3. Muestreo y retención en el D/C. Para recuperar la señal, en la fi-


gura 1.5 se propone generar un tren de impulsos xs (t). Esta señal no
se puede generar en la práctica, por tratarse de impulsos infintamen-
te estrechos y altos. En su lugar se suele utilizar un tren de impulsos
cuadrados (Muestreo y Retención, sample and hold ):

Y  t − n Ts 
x0s (t) =
X
x[n] (1.9)
n Ts
1.3. Procesado discreto de señales continuas 9

Es fácil observar que:


Y t 
x0s (t) = xs (t) ∗ (1.10)
Ts
Por lo que:
fc
Xs0 (fc ) = Xs (fc ) Ts sinc (1.11)
fs
es decir, se obtiene lo mismo que en el caso ideal pero multiplicado por
un sinc. Este producto tiene dos efectos:

Un primer efecto desfavorable: una atenuación creciente con la fre-


cuencia (máxima a fc ≈ fs /2).
Un segundo efecto favorable: Atenuación de las componentes espec-
trales de xs (t) en torno a fs , 2 fs , . . . y ganancia de Ts . Este efecto
hace que el filtro de reconstrucción deba tener ganancia 1 en su
banda de paso, y que su diseño sea más sencillo si el conversor es
del tipo Sample and Hold, pues las repeticiones espectrales están
preatenuadas por los nulos del sinc.

La salida de un convertidor de este tipo tiene un aspecto de escalera en


el dominio del tiempo. Este efecto se debe a las repeticiones del espectro
(atenuadas por el sinc) centradas en los armónicos de la frecuencia de
muestreo. Para eliminar dicho efecto es necesario el filtro de reconstruc-
ción anteriormente mencionado.

1.3. Procesado discreto de señales continuas


El muestreo de una señal analógica suele realizarse para:

Transmitir dichas muestras digitalmente.

Almacenar las muestras, para su posterior reproducción, análisis, etc.

Procesarlas para obtener otro conjunto de muestras que volverá a ser


convertido a continuo. Este último punto es el que trataremos en esta
sección.

Considérese un diagrama como el de la figura 1.6, en el que se muestrea


una señal analógica cuyas muestras son procesadas para obtener un nuevo
conjunto de muestras y[n] que dará lugar a una señal analógica de salida.
En el caso más simple h[n] = δ[n] serı́a el sistema identidad. En ese caso
yc (t) coincide con xc (t) si xc (t) es paso-bajo y el muestreo se realiza sin aliasing.
10 CAPı́TULO 1. MUESTREO

x[n] y[n]
xc (t) yc (t)
- C/D - h[n] - D/C -

6 6
fs fs

Figura 1.6: Procesado discreto de una señal continua.

En el caso más general de que h[n] sea un filtro digital arbitrario, tendre-
mos:
Y (ejω ) = X(ejω ) H(ejω ) (1.12)
Concatenando esta ecuación con las correspondientes al conversor C/D (1.4)
y al D/C (1.8) resulta la siguiente expresión para el espectro de yc (t).
X
H(ejΩ Ts )


 Xc (fc − k fs ) |fc | < fs /2

k
Yc (fc ) = (1.13)


0 resto

Si la señal xc (t) se muestreó sin aliasing (como en la figura 1.2), entonces


del anterior sumatorio sólo es no nulo el término correspondiente a k = 0,
resultando en ese caso:

Yc (fc ) = H(ejΩ Ts ) Xc (fc ) |fc | < fs /2 (1.14)

Es decir, si la señal de entrada se muestrea sin aliasing, y sus muestras se filtran


digitalmente, el efecto es producir un filtrado analógico equivalente sobre la
señal de entrada por un filtro:

Hef f (fc ) = H(ejΩ Ts ) (1.15)

Dicha expresión nos indica que la respuesta en frecuencia analógica equivalente


es simplemente una desnormalización del eje de frecuencias del sistema discreto
empleado. Por poner un ejemplo, si se utiliza una frecuencia de muestreo
de 10 kHz, y tuviéramos un filtro discreto h[n] paso-bajo de frecuencia de
corte discreta 0.1, el conjunto de la figura 1.6 equivaldrı́a a un filtro paso-bajo
analógico de 1 kHz. de ancho de banda.
En la figura 1.7 se muestra un resumen de las relaciones entre espectros al
filtrar señales analógicas de forma discreta.
1.3. Procesado discreto de señales continuas 11

Xc (fc )
1
6
@
@
@ - fc
−W W
Xs (fc )
1/Ts
6
@ @ @
@
@ @
@ @
@ - fc
−1/Ts −W W 1/Ts
- fd
−1 −0,5 0 0,5 1
H(ejω )
1
6

- fd
−1 −f1 f1 1

Y (ejω )
1/Ts 6
@ @ @
@ @ @
- fd
−1 −f1 f1 1

Ys (fc )
6
Ts Hr (fc )
1/Ts
@ @ @
@ @ @
- fc
−1/Ts −f1 /Ts f1 /Ts 1/Ts

Figura 1.7: Relaciones de espectros en el filtrado discreto de una señal


continua.

Conviene recalcar que para que un sistema discreto produzca el efecto de


un filtrado analógico, son necesarias dos cosas:

Que no exista aliasing.

Que el sistema discreto sea LTI.


12 CAPı́TULO 1. MUESTREO

Nótese igualmente que la expresión (1.15) es válida únicamente en el mar-


gen |fc | < fs /2 que es donde la señal de entrada puede tener componentes
espectrales no nulas para no tener aliasing. Un aspecto interesante es que la
respuesta en frecuencia analógica equivalente depende de:

La respuesta en frecuencia del filtro discreto.

La frecuencia de muestreo.

Este hecho puede ser usado, por ejemplo, para implementar filtrados analógicos
diferentes (distintas frecuencias de corte) con un mismo filtro digital cambian-
do únicamente la frecuencia de muestreo.

1.4. Muestreo y reconstrucción de señales paso-banda


Un tipo de señales especialmente útil en telecomunicaciones es el de las
señales paso-banda. Algunos campos donde podemos encontrar estas señales
son en radiocomunicaciones, multiplex por división en frecuencia, radar, . . . La
figura 1.8 muestra una señal de este tipo.
Dicha señal podrı́a muestrearse usando la misma regla aplicada para señales
paso-bajo, a una frecuencia de muestreo que fuera el doble de la máxima fre-
cuencia de la señal, es decir
fs = 2f2
Sin embargo, esto no es lo más eficiente posible, pues si dicha frecuencia f2 es
mucho mayor que el ancho de banda W = f2 − f1 (cosa que suele suceder en
la práctica), la frecuencia de muestreo necesaria serı́a muy alta, lo que llevarı́a
a los siguientes problemas:

Tecnológico: Tal vez no sea posible el muestreo a la suficiente velocidad.

Coste: Suponiendo que sea posible técnicamente, los convertidores rápi-


dos son más caros.

Volumen de información: Suponiendo que se pudiera realizar la conver-


sión, la cantidad de muestras por segundo generadas harı́a su procesa-
miento difı́cil y costoso, cuando no imposible.

La ineficiencia del muestreo se manifiesta en que en el espectro de la señal


discreta resultante aparecerı́an amplios huecos. Vamos a ver en este punto dos
técnicas que se utilizan para que la frecuencia de muestreo necesaria no sea
tan grande. La idea subyacente en ambas es que la cantidad de información
1.4. Muestreo y reconstrucción de señales paso-banda 13

Xc (fc )
16
@
@
@
@ -
f1 f0 f2 fc
Figura 1.8: Espectro de una señal paso-banda.

que transporta una cierta señal es proporcional a su ancho de banda y no


a su frecuencia máxima. Cuando traducimos la frase anterior en términos
de frecuencia de muestreo, diremos que la frecuencia de muestreo deberá ser
proporcional a la cantidad de información de la señal y, por tanto, a su ancho
de banda. Las muestras obtenidas contendrán toda la información de la señal
paso-banda y, por ello, cabrá hacer con ellas todo tipo de demodulaciones,
filtrados, etc. pero de forma discreta.

1.4.1. Muestreo de señales paso-banda como señales reales


Consideremos las operaciones que se describen en la figura 1.9. La señal
de entrada xc (t) corresponde con la señal paso-banda que deseamos muestrear
(cuyo espectro se muestra en la figura 1.8). La señal x1 (t) es una señal paso-
bajo de ancho de banda W = f2 − f1 que puede muestrearse tal y como
se vio en la sección 1.2. Nótese que en el esquema de dicha figura existe un
preprocesado analógico previo al muestreo.
El espectro de la señal x1 (t) se muestra en la figura 1.11. Puede observarse
que dicha señal es paso-bajo y real. Es decir, podremos utilizar una frecuencia
de muestreo:
fs = 2 W = 2 (f2 − f1 ) (1.16)
para que seamos capaces de recuperarla a partir de sus muestras.

continuo 
- discreto
 x1 (t)
xc (t) - × - Hlp (fc ) - C/D - x[n]

6 6
cos 2πf1 t fs

Figura 1.9: Diagrama de bloques para muestrear de forma eficiente una


señal paso-banda como una señal real.
14 CAPı́TULO 1. MUESTREO

Obsérvese que hemos muestreado una señal paso-banda con una frecuencia
de muestreo igual (como mı́nimo) al doble de su ancho de banda. Para poder
recuperar la señal analógica original, hay que conocer los siguientes elementos:

La frecuencia de muestreo fs .

Saber que no se ha producido solapamiento espectral al muestrear x1 (t).

Las muestras x[n].

La frecuencia f1 que se utilizó en el mezclador previo al muestreo.

La banda de frecuencias f1 -f2 ocupada por la señal original.

Conociendo estos elementos, es posible recuperar la señal analógica original


mediante el esquema que se muestra en la figura 1.12.
Esta técnica de muestreo puede considerarse como el muestreo de una señal
paso-banda real de frecuencia central mı́nima, de tal modo que la señal que se
muestrea realmente, x1 (t), es, de hecho, una señal paso-bajo.

1.4.2. Muestreo de señales paso-banda como señales complejas


Otra posibilidad para muestrear una señal paso-banda consiste en despla-
zar el espectro de la señal original xc (t) una cantidad f0 = (f1 + f2 )/2 y filtrar
paso-bajo, tal y como se muestra en la figura 1.14. Recordemos que, filtrar una
señal compleja, como x2 (t), con un filtro de respuesta impulsional real hlp (t),
produce una señal compleja en la que la parte real de la salida es el resultado
de filtrar la parte real de la entrada y lo mismo con la parte imaginaria.

x2 (t) = (xc (t) e−jΩ0 t ) ∗ hlp (t) =

= (xc (t) cos Ω0 t) ∗ hlp (t) − j (xc (t) sen Ω0 t) ∗ hlp (t)

Hlp (fc )
16

-
f2 − f1 fc

Figura 1.10: Filtro tras el mezclador previo al muestreo de la señal


paso-banda.
1.4. Muestreo y reconstrucción de señales paso-banda 15

X1 (fc )
1/2 6
@
@
@
@ -
f2 − f1 fc

Figura 1.11: Espectro de x1 (t).

La señal x2 (t) recibe el nombre de envolvente compleja y su espectro se


muestra en la figura 1.17. La parte real de la envolvente compleja recibe el
nombre de componente en fase y la parte imaginaria, el de componente en
cuadratura. El módulo de x2 (t) recibe el nombre de envolvente de la señal
xc (t) (y no depende de Ω0 ) mientras que la fase de x2 (t) recibe el nombre de
fase instantánea y su derivada, frecuencia instantánea.
Para recuperar xc (t) a partir de x2 (t) hay que deshacer los pasos hechos.
En primer lugar, obtendremos x+ (t), señal compleja correspondiente a las
frecuencias positivas de la señal paso-banda:

x+ (t) = x2 (t) · ejΩ0 t (1.17)

- Continuo
Discreto 
x1 (t)

x[n] - D/C - × - Hbp (fc ) - xc (t)

6 6
fs cos 2πf1 t

Figura 1.12: Recuperación de una señal paso-banda a partir de sus


muestras.

Hbp (fc )
46

-
f1 f2 fc

Figura 1.13: Filtro para recuperar la señal paso-banda.


16 CAPı́TULO 1. MUESTREO

A continuación obtendremos la parte correspondiente a las frecuencias ne-


gativas:
x− (t) = x?+ (t) (1.18)
para finalmente obtener la señal paso-banda original
xc (t) = x+ (t) + x− (t) = 2 Re{x+ (t)} =
= 2 ( Re{x2 (t)} cos Ω0 t − Im{x2 (t)} sen Ω0 t) (1.19)

contı́nuo 
- discreto
 x2 (t)
xc (t) - × - Hlp (fc ) - C/D - x[n]

6 6
e−jΩ0 t fs

Figura 1.14: Diagrama de bloques del muestreo de una señal paso-


banda real como señal paso-bajo compleja. Las lı́neas gruesas repre-
sentan señales complejas. El conversor C/D de señales complejas
muestrea cada uno de los canales de entrada (parte real e imaginaria)
a una frecuencia fs .

 Re{x2 (t)}
xc (t) - × - Hlp (fc ) - C/D - Re{x[n]}

6 6
cos Ω0 t fs
− sen Ω0 t


? ?
xc (t) - × - Hlp (fc ) - C/D - Im{x[n]}
 Im{x2 (t)}

Figura 1.15: Idem a la figura anterior pero con tadas las señales reales.
Nótese la existencia de dos canales, uno para la parte real y otro para
la imaginaria.
1.4. Muestreo y reconstrucción de señales paso-banda 17

Hlp (fc )
16

-
f2 − f1 fc
2
Figura 1.16: Respuesta en frecuencia del filtro de las figuras 1.14
y 1.15.

X2 (fc )
16

-
f2 − f1 fc
2
Figura 1.17: Espectro de x2 (t).

X+ (fc )
16

-
f1 f2 fc

? (−f )
X− (fc ) = X+
16 c
@
@
@
@ -
−f2 −f1 fc

Figura 1.18: Espectro de x+ (t) y x− (t). Frecuencias positivas y nega-


tivas respectivamente de xc (t).

Dado que tanto la parte real como la imaginaria de x2 (t) son señales paso-
bajo reales, se puede muestrear cada una de ellas con una frecuencia de mues-
treo mı́nima igual al doble de su ancho de banda, es decir
f2 − f1
fs ≥ 2 = f2 − f1 (1.20)
2
18 CAPı́TULO 1. MUESTREO

Nótese que, dado que la señal x2 (t) es compleja, el número total de muestras
por segundo será el doble de la cantidad de la ecuación (1.20), y coincide
con el dado por la ecuación (1.16). Ello es consistente con que el número de
muestras por segundo mı́nimo para representar una señal debe ser el mismo,
se considere ésta real o compleja.

1.5. Cambio de la velocidad de muestreo


En esta sección nos ocuparemos de un problema que aparece a menudo en
la práctica. Supongamos que x1 [n] sea un conjunto de muestras de una señal
continua xc (t), tomadas con una frecuencia de muestreo fs1 . Pretendemos
encontrar otro conjunto de muestras x2 [n] que corresponda al muestreo de la
misma señal analógica con una frecuencia de muestreo fs2 .
Una posibilidad trivial para resolver el problema anterior consisitirı́a en re-
cuperar la señal analógica a partir de las muestras x1 [n] para, a continuación,
volver a muestrear la señal a la nueva frecuencia de muestreo. Esquemática-
mente dicha posibilidad se muestra en la figura 1.19. No obstante, vamos a
proponer una solución totalmente discreta al problema anterior, en la que no
sea necesario pasar por la señal analógica.
Abordaremos el problema por fases, estudiando primero los casos sencillos
de relaciones enteras entre las frecuencias de muestreo:

Caso en que fs2 = fs1 /M siendo M entero. Denominaremos este caso


diezmado por un factor entero.
Caso en que fs2 = L fs1 siendo L entero. Denominaremos esta operación
interpolación por un factor entero.
Caso en que fs2 = (L/M ) fs1 , es decir, que exista una relación racional
entre las frecuencias de muestreo. Dependiendo de si L/M es mayor o
menor que la unidad hablaremos de interpolación o diezmado por un
factor racional.

xc (t)
x1 [n] x2 [n]
- D/C - C/D -

6 6
fs1 fs2
Figura 1.19: Solución trivial al problema del cambio de la frecuencia
de muestreo.
1.5. Cambio de la velocidad de muestreo 19

1.5.1. Diezmado por un factor entero


Si la frecuencia de muestreo final, es M veces menor que la inicial, es decir:
fs1
fs2 =
M
el problema es relativamente sencillo. Bastará con tomar una de cada M mues-
tras de la señal de entrada y copiarlas en la salida. Es decir el sistema con la
relación E/S siguiente nos hará la tarea:

x2 [n] = x1 [M n] (1.21)

La figura 1.20 muestra la representación esquemática del sistema descrito por


la ecuación (1.21).

x1 [n] x2 [n]
- ↓M -

Figura 1.20: Representación gráfica de un diezmador por M .

La figura 1.21 muestra la relación en el dominio del tiempo entre las mues-
tras. Cuando se diezma una señal como se acaba de describir, existe un peligro
que consiste en que es posible que aunque x1 [n] no contenga aliasing, dado que
x2 [n] corresponde a una frecuencia de muestreo menor, es posible que x2 [n]

r 1 x [n]
6 r r
··· r r ···
r r r r
r r r 6 -
1 2 3 4 5 n
r
r x2 [n]
r
r
6
··· ···
r r
r 3 -
1 2 n
r

Figura 1.21: Efecto de un diezmador por M = 2 en el dominio del


tiempo.
20 CAPı́TULO 1. MUESTREO

x1 [n] x2 [n]
- H(ejω ) - ↓M -

Figura 1.22: Filtrado previo necesario antes del diezmador.

sı́ que tenga aliasing. De hecho, para que al diezmar por M no existiese alia-
sing, el ancho de banda de la señal original W deberı́a ser:
fs2 fs1
W < =
2 2M
Normalmente se cumplirá únicamente que W < fs1 /2, por lo que será nece-
sario realizar un filtrado paso-bajo digital previo de la señal x1 [n] antes de ser
diezmada. Para determinar la frecuencia de corte discreta necesaria es preciso
conocer:
La frecuencia de corte analógica equivalente necesaria: fs1 /2M
La frecuencia de muestreo a la que trabajará el filtro: fs1
La frecuencia de corte discreta será pues
fs1 /2 M 1
=
fs1 2M
Por tanto el filtro digital que se debe anteponer antes del diezmado será un
filtro digital paso-bajo de frecuencia de corte 1/2M . En la figura 1.22 se mues-
tra el diezmador con el filtro paso-bajo discreto previo para evitar el aliasing.

Es posible encontrar también una relación en el dominio de la frecuencia


entre la entrada y la salida de un diezmador (sin filtro) como el de la figura 1.20.
Para ello, si suponemos que x1 [n] y x2 [n] corresponden a sendos muestreos de
una misma señal analógica podemos escribir:
1 X fd − n
 

X1 (e ) = Xc (1.22)
Ts1 n Ts1
1 X fd − r
 
X2 (ejω ) = Xc (1.23)
Ts2 r Ts2
En esta última expresión, vamos a hacer r = i + k M con 0 ≤ i < M y k
variando de −∞ a ∞. El sumatorio se convierte en el siguiente doble sumatorio:
−1
1 MX 1 X fd − (i + k M )
 
X2 (ejω ) = Xc
M i=0 Ts1 k Ts1 M
1.5. Cambio de la velocidad de muestreo 21

X1 (ejω )
6
A A A A A
···  A  A  A  A  A ···
 A  A  A  A  A - fd
-2 -1 W Ts1 1 2
ω
X1 (ej M )
6
@ @ @
··· @ @ @ ···
@ @ @ - fd
-2 -1 W Ts1 M 1 2
ω−2π
X1 (ej M )
6
@ @
··· @ @ ···
@ @ - fd
-2 -1 1 2
X2 (ejω )
6
@ @ @ @ @
··· @ @ @ @ @ ···
@ @ @ @ @ - fd
-2 -1 1 2
Figura 1.23: Relación entre espectros en el diezmado por M = 2.

−1 fd −i
1 MX
!
jω 1 X M −k
X2 (e ) = Xc
M i=0 Ts1 k Ts1
−1
1 MX  ω−2πi 
X2 (ejω ) = X1 ej M (1.24)
M i=0

1.5.2. Interpolación por un factor entero


En este caso se pretende que la frecuencia de muestreo de salida sea un
múltiplo entero de la de la entrada, es decir:
fs2 = L fs1
Ahora no puede aparecer aliasing por el cambio de frecuencia de muestreo,
pues la nueva frecuencia de muestreo es mayor. Consideremos inicialmente un

x1 [n] y[n]
- ↑L -

Figura 1.24: Diagrama de un insertador de ceros.


22 CAPı́TULO 1. MUESTREO

r x1 [n]
r
r
6
··· ···
r r
r 3 -
1 2 n
r
r y[n]
r
r
6
··· ···
r r
r 6
r r r r r r r r
-
1 2 3 4 5 n
r

Figura 1.25: Relación entre muestras en un insertador de ceros por


L = 2.

sistema denominado insertador de ceros por L cuya relación E/S es:


(
x1 [n/L] n múltiplo de L
y[n] = (1.25)
0 resto

Conceptualmente este sistema inserta L − 1 ceros entre cada dos muestras


de la señal de entrada. La figura 1.25 ilustra el funcionamiento del insertador
de ceros en el dominio del tiempo.
El espectro de la señal rellenada por ceros vale:

y[n] e−jωn = x1 [n] e−jωnL = X1 (ejωL )


X X
Y (ejω ) = (1.26)
n n

Es decir, corresponde a una compresión del espectro por un factor L. Para


lograr la señal interpolada x2 [n] (ver figura 1.26) deberemos:

Eliminar las repeticiones de los espectros centradas en 1/L, 2/L, . . . , L−


1/L

Multiplicar la repetición centrada en el origen por L.

Ambos efectos se pueden lograr filtrando la señal y[n] con un filtro paso-
bajo de respuesta en frecuencia:
(
jω L |fd | < 1/2L
H(e ) = (1.27)
0 1/2L < |fd | < 0,5
1.5. Cambio de la velocidad de muestreo 23

X (ejω )
:6 1
fs1 
@ @ @ @ @
··· @ @ @ @ @ ···
@ @ @ @ @ - fd
-2 -1 1/2 1 2
fs1 X
z6
X X1 (ejωL )
A A A A A A A A A
···  A  A  A  A  A  A  A  A  A ···
 A A A A A A A A A - fd
-2 -1 1 2
X2 (ejω )
A A fs2 
:6
A A A
···  A  A  A  A  A ···
 A  A  A  A  A - fd
-2 -1 1/2L 1 2

Figura 1.26: Relaciones en el dominio de la frecuencia en la interpo-


lación.

Un aspecto importante a tener en cuenta es que la interpolación de señales


no crea nueva información, pues las nuevas muestras de x2 [n] se obtienen a
partir de las originales de x1 [n]. Dicho de otro modo las muestras interpoladas
constituyen información redundante.

x1 [n] x2 [n]
- ↑L - H(ejω ) -

Figura 1.27: Diagrama de bloques de la interpolación de señales.

Interpoladores lineales

Acabamos de ver que para interpolar una señal, es necesario realizar un


relleno por ceros y un filtrado paso-bajo con un filtro de respuesta impulsiva:
n
h[n] = sinc
L
Dicho filtro es irrealizable y, por tanto, se hace necesaria una aproximación a
dicha respuesta impulsiva. Un filtro que se suele utilizar a menudo es el que se
24 CAPı́TULO 1. MUESTREO

conoce como interpolador lineal. Se conoce con este nombre porque las nuevas
muestras se calculan trazando lı́neas rectas entre las disponibles. La figura 1.28
ilustra el proceso de interpolación lineal. Cabrı́a preguntarse qué relación existe
entre dicha interpolación y la ideal con filtro paso-bajo. La respuesta es que
la interpolación lineal equivale a un relleno por ceros seguido de un filtro de
respuesta impulsiva triangular, como la mostrada en la figura 1.29.
La figura 1.30 compara la respuesta en frecuencia del interpolador ideal
con el lineal. Podemos apreciar las siguientes diferencias:

El interpolador lineal atenúa la parte alta de la banda de paso del ideal.

El interpolador lineal no elimina totalmente las repeticiones interme-


dias de la figura 1.26, excepto en torno a las frecuencias k/L, donde la
atenuación es alta.

r x1 [n]
r
r
6
··· ···
r r
r 3 -
1 2 n
r
r x2 [n]
r
r
6
··· ? ? ? ···
? ? r r
r 6
? -
1 2 3 4 5 n
r

Figura 1.28: Relación entre muestras en un interpolador lineal por


L = 2. Los valores interpolados se representan con ∗.

h[n]
1 r6
r r
r r
r r
r r r r r r r r-
L n
Figura 1.29: Respuesta impulsiva de un interpolador lineal.
1.5. Cambio de la velocidad de muestreo 25

Figura 1.30: Comparación de los módulos de las respuestas en frecuen-


cia del filtro de un interpolador ideal y de uno lineal.

Por todo ello, debe concluirse que en el caso en que la señal a interpolar ten-
ga su espectro concentrado en torno a fd = 0, es decir, esté sobre-muestreada,
el interpolador lineal constituye una buena aproximación al interpolador paso-
bajo ideal.

1.5.3. Cambio de la frecuencia de muestreo por un factor ra-


cional
A veces, el factor de cambio de frecuencia no es entero. Supongamos que
deseamos realizar el cambio de frecuencia:
L
fs2 = fs1
M
Es fácil darse cuenta de que concatenando una interpolación y un diezma-
do por factores enteros L y M respectivamente se logra el objetivo deseado.
Cabrı́a la duda de qué debe realizarse antes, la interpolación o el diezmado.
Para responder a esta pregunta hay que recordar que el diezmado destruye in-
formación, hasta dejar la señal analógica equivalente con un ancho de banda
fs1 /(2M ). Como dicho ancho de banda será menor que el de la señal final, se
hace necesario realizar primero la interpolación y luego el diezmado. Es decir,
primero se realizará lo mostrado en la figura 1.27, seguido de lo mostrado en
la figura 1.22. Al concatenar estas operaciones, aparecen dos filtros en cascada
26 CAPı́TULO 1. MUESTREO

que pueden sustituirse por un único filtro cuya respuesta en frecuencia sea el
producto.
El diagrama global para el cambio de frecuencia de muestreo por un racio-
nal se muestra en la figura 1.31. La respuesta en frecuencia del filtro paso-bajo
de dicha figura es:

Ancho de la banda de paso: mı́n (0,5/M, 0,5/L).

Ganancia en la banda de paso: L.

Es importante notar que, de las tres frecuencias de muestreo presentes en la


figura 1.31, el filtro trabaja a la más alta de todas, es decir a fs1 L.

x1 [n] x2 [n]
- ↑L - H(ejω ) - ↓M -

Figura 1.31: Diagrama de bloques de cambio de frecuencia de muestreo


por un racional.

Consideraciones prácticas

Acabamos de ver un procedimiento para el cambio de la frecuencia de


muestreo por un factor racional. Sucede a menudo que aunque la frecuencia
de muestreo no cambie por un factor excesivamente grande, los términos M y
L de la fracción, pueden serlo. Hemos comprobado que si se intenta el cambio
de frecuencia de muestreo en una única etapa, la frecuencia de trabajo del
filtro necesario puede ser muy alta. Para solucionar el problema hay que hacer
lo siguiente:

Factorizar M y L.

Realizar cambios de frecuencia de muestreo por factores de muestreo


racionales resultado de agrupar los factores de M con los de L, de forma
que la frecuencia de muestreo en ningún punto de la cadena sea menor
que mı́n(fs2 , fs1 ).

Veamos un ejemplo de lo que estamos diciendo. Supongamos que desamos


cambiar de la frecuencia normalizada del CD 44.1 kHz. a una de las frecuencias
1.5. Cambio de la velocidad de muestreo 27

normalizadas del DAT 48 kHz. Tendremos


L L
fs2 = 48000 = fs1 = 44100
M M
es decir
L 480 160
= =
M 441 147
Si intentáramos realizar el cambio directamente, el filtro intermedio trabajarı́a
a una frecuencia de 44100 × 160 ≈ 7 106 hz. Factorizando M y L se obtiene:
160 2×2×2×2×2×5
=
147 3×7×7
Serı́a posible por ejemplo la siguiente factorización:
160 845
=
147 737
De este modo, la primera etapa cambiarı́a la frecuencia de muestreo por 8/7
siendo la frecuencia de trabajo del filtro de fs1 ×8. La segunda etapa, cambiarı́a
la frecuencia de muestreo por 4/3 y su correspondiente filtro trabajarı́a a
fs1 × 8/7 × 4 y, por último, el filtro de la tercera etapa trabajarı́a a una
velocidad fs1 × 8/7 × 4/3 × 5

1.5.4. Aplicación del diezmado a la conversión C/D


Supongamos que tenemos una señal continua paso-bajo xc (t) de la cual
nos interesa el margen de frecuencias 0–W . Dicha señal puede tener un ancho
de banda mayor o bien estar inmersa en un fondo de ruido de banda ancha.
Dado que únicamente estamos interesados en el margen 0–W tratarı́amos de
muestrear dicha señal con una frecuencia de muestreo fs = 2W . Sin embargo,
para poder hacer esto deberı́amos realizar un filtrado previo analógico para
prevenir el aliasing. Dicho filtro tendrı́a que tener unas bandas de transición
muy estrechas.
Supongamos que no se quisiera utilizar filtros analógicos de bandas de
transición muy estrechas (orden alto). Vamos a ver como el diezmado nos
puede solucionar el problema. Supongamos que la señal a muestrear xc (t) sea
la mostrada en la figura 1.32 y que el filtro antialiasing utilizado sea el de
la misma figura. Nótese que este filtro analógico tiene bandas de transición
suaves. La señal a la salida del filtro será la yc (t) de la figura. Ésta es la señal
que muestrearemos.
Es fácil darse cuenta de que si muestreamos con una frecuencia de muestreo
fs1 > f1 + W no se nos va a producir solapamiento espectral en la banda
28 CAPı́TULO 1. MUESTREO

0–W . Una vez obtenidas las muestras, podremos filtrar digitalmente con un
filtro paso-bajo cuya frecuencia de corte sea W/fs1 , habiendo eliminado de
este modo el aliasing. Para lograr las muestras a una velocidad fs = 2W sólo
resta realizar un diezmado. Elegiremos fs1 = L fs :

f1 + W = L2W → f1 = W (2L − 1)

A medida que L es mayor, el filtro analógico tiene bandas de transición más


anchas (es más fácil de construir), pero por contra el muestreo deberemos
realizarlo a una velocidad mayor, lo que implica, además, que el filtro digital
previo al diezmador trabaja más deprisa y tiene más coeficientes.

Xc (fc )
6
L
L
L
L
L -
W fc
Haa (fc )
6
@
@
@
@ -
W f1 fc
Yc (fc )
6
L
L
L
 L XX
 L XX -
W f1 fc
Figura 1.32: Aplicación del diezmado a la conversión C/D. Espectros
de las señales involucradas.

1.5.5. Aplicación de la interpolación a la conversión D/C


En los apartados 1.2.1 y 1.2.2 hemos visto como se puede recuperar una
señal a partir de sus muestras. Vimos que era necesario el uso de un filtro
analógico de reconstrucción. Dicho filtro deberı́a tener las siguientes carac-
terı́sticas:
1.5. Cambio de la velocidad de muestreo 29

Banda de paso constante entre fc = 0 y fc = W , siendo W el ancho de


banda de la señal analógica.

Atenuación infinita (o muy grande) a partir de fc = fs − W .

Banda de transición entre W y (fs − W ).

Si fs ≈ 2 W , la banda de transición resultante puede ser muy estrecha, lo


que requerirı́a de un filtro analógico de orden alto. Con el fin de que el filtro
analógico sea más sencillo, lo que se hace a veces es elevar la frecuencia de
muestreo digitalmente justo antes de la conversión. En aplicaciones de audio
las interpolaciones se hacen por factores tı́picamente entre 4–8, hablándose de
convertidores four times oversampling DAC.
Interpolar la señal antes de su conversión también reduce el efecto del
muestreo y retención. La máxima atenuación por muestreo y retención se
produce a la frecuencia W y tiene un valor:
W
 
α(dB) = −20 log sinc
fs

A medida que la frecuencia de muestreo aumenta (gracias a la interpo-


lación), dicha atenuación máxima disminuye. La tabla siguiente muestra los
valores de atenuación para distintos factores de interpolación:

L α(dB)
1 3.9
2 0.9
4 0.2
8 0.06

Además, los nulos del sinc producen una atenuación mı́nima de las dife-
rentes repeticiones espectrales de:
fs − W
 
α(dB) = −20 log sinc
fs

L α(dB)
1 3.9
2 10.45
4 17.13
8 23.58
30 CAPı́TULO 1. MUESTREO

1.6. Introducción a la codificación de señales. Codi-


ficación PCM
En los apartados anteriores, hemos estudiado cómo se puede pasar de una
señal continua a una señal de tiempo discreto. Es interesante destacar que
los valores de las muestras tenı́an para nosotros precisión infinita, es decir,
considerábamos que eran números reales. Sin embargo, cuando se desea trans-
mitir, almacenar o procesar las señales de forma digital, es necesario obtener
una representación binaria de los valores de dichas muestras. En este aparta-
do trataremos este aspecto. La codificación PCM (Pulse Code Modulation) o
MIC (Modulación por Impulsos Codificados) constituye la técnica más sencilla
de codificación de una señal.
Vemos un diagrama conceptual de este tipo de codificación en la figura 1.33.
En dicha figura se pueden distinguir las siguientes operaciones:

Muestreo lo visto en la parte precedente del tema.

Cuantificación Consiste en dividir el eje real de amplitudes en intervalos


y determinar a cuál de ellos, k, pertenece la muestra. La figura 1.34
muestra la relación entrada-salida del cuantificador para el caso de un
cuantificador uniforme, en el que todos los intervalos tienen el mismo
ancho. Esta operación es irreversible, pues a partir del ı́ndice del intervalo
k es imposible saber el valor de la muestra dentro del intervalo.

Codificación consiste en asignar una palabra binaria para cada valor de k.


Es un proceso reversible. Desde el punto de vista del procesado digital
de la señal no tiene importancia la palabra binaria concreta que se use
para representar a k, y se suele usar complemento a 2 o alguna otra
representación de tamaño de palabra fijo. Sin embargo desde el punto
de vista de la codificación es importante asignar palabras binarias más
cortas a aquellos ı́ndices k más probables en aras a lograr un volumen
medio de bits inferior. Los bits producidos por el codificador son los que
fı́sicamente se almacenan, se manipulan por el hardware o se transmiten.

- C/D - Cuantif. - Codificación -


xc (t) x[n] k 1001101 · · ·

Figura 1.33: Diagrama de bloques conceptual de la codificación PCM.


1.6. Codificación de señales 31

0
k

−2

−4

−6

−8
−1.5 −1 −0.5 0 0.5 1 1.5
x

Figura 1.34: Relación entrada-salida de un cuantificador.

1.6.1. Recuperación de la señal


El proceso global de recuperación de la señal se muestra en la figura 1.35.
Tal y como acabamos de ver, en el sistema MIC se obtiene un número entero
k por cada muestra de la señal x[n]. Dicho número entero se representa con
una serie de bits en el codificador. Para recuperar (una aproximación de) la
señal lo que se hace es invertir los pasos anteriores:

Decodificación Consiste en obtener k a partir de los bits. Este proceso es


exacto (si no hay errores de transmisión), es decir el ı́ndice obtenido es
el mismo que se tenı́a en el codificador.
Cuantificador inverso Asociado con cada intervalo de cuantificación, existe
un valor reconstruido. Al valor reconstruido del intervalo k lo denomi-
naremos yk . La figura 1.36 muestra la relación entre el número de inter-
valo k y su correspondiente valor reconstruido yk . En los cuantificadores

- Decodif. - Q−1 - D/C -


1001101 · · · k xq [n] x0c (t)

Figura 1.35: Diagrama de bloques conceptual de la decodificación PCM.


32 CAPı́TULO 1. MUESTREO

1.5

0.5
yk

−0.5

−1

−1.5
−8 −7 −6 −5 −4 −3 −2 −1 0 1 2 3 4 5 6 7 8
k

Figura 1.36: Relación entre ı́ndices k y valores reconstruidos yk en un


cuantificador uniforme.

uniformes, dicho valor suele coincidir con el centro del intervalo de cuan-
tificación. Además en los cuantificadores uniformes existe una relación
lineal k ↔ yk . Ello es importante de cara a procesar señales, pues se
puede operar con los valores enteros k en vez de los valores reales yk .
Al proceso k → yk se le suele llamar Cuantificador Inverso, y se re-
presenta como Q−1 , aunque realmente la cuantificación sea un proceso
irreversible.

Nótese que el proceso x[n] → k → yk hace que yk ≈ x[n]. Por ello se dice que
yk es x[n]-cuantificado o abreviadamente xq [n]. Además es posible establecer
la relación directa x → xq . En la figura 1.37 se muestra dicha relación global.
En dicha gráfica se observa una zona de saturación y una zona con forma
de escalera. La zona de saturación viene definida por un umbral de amplitud
máxima (Amáx ). Dicho umbral se obtiene fácilmente a partir de la gráfica de
la figura 1.38 que muestra el error ε = xq [n] − x[n] cometido en el proceso de
cuantificación; Amáx corresponde al punto en que el error excede el máximo
error de un intervalo de cuantificación de los “normales”.2

2
En el caso de un número de intervalos de cuantificación par (caso habitual), el valor de
saturación positivo y negativo es ligeramente diferente, debido a que el número de niveles de
cuantificación en la parte positiva y negativa del eje difiere en uno.
1.6. Codificación de señales 33

1.5

0.5
xq

−0.5

−1

−1.5
−1.5 −1 −0.5 0 0.5 1 1.5
x

Figura 1.37: Relación entre x y su correspondiente valor cuantificado


xq .

Adviértase que la señal de salida no coincide con la de la entrada, incluso


en ausencia de aliasing, debido a que x[n] 6= xq [n].

1.6.2. El ruido de cuantificación


Los valores cuantificados que resultan de la codificación/decodificación son:
como:
xq [n] = x[n] + ε[n] (1.28)

Si el número de niveles de cuantificación es grande dicho error de cuanti-


ficación se suele modelar como un proceso aleatorio discreto llamado ruido de
cuantificación. En el caso de un cuantificador uniforme tendremos las siguien-
tes propiedades del ruido de cuantificación:

La función densidad de probabilidad es uniforme entre −∆/2 y ∆/2.


(Véase la figura 1.39)

2Amáx
∆ = uk − uk−1 = ∀k
2B
34 CAPı́TULO 1. MUESTREO

0.5

0.4

0.3

0.2

0.1

0
ε

−0.1

−0.2

−0.3

−0.4 Amax

−0.5
−1.5 −1 −0.5 0 0.5 1 1.5
x

Figura 1.38: Error de cuantificación en función del valor de entrada.

Sat. Sat.
 y0 -
y−5 y−4 y−3 y−2 y−1 y1 y2 y3 y4
r r r r r r r r r r -
u−5 u−4 u−3 u−2 u−1 u0 u1 u2 u3 u4 u5 x
Figura 1.39: Intervalos de cuantificación (uk+1 –uk ) y valores recons-
truidos (yk ) en un cuantificador uniforme.

La potencia es:
∆2
σε2 =
12
Es ruido blanco, es decir, los valores de ruido de cuantificación en ins-
tantes diferentes de tiempo están incorrelados.
De acuerdo con el modelo de ruido de cuantificación aditivo, cuando las
muestras cuantificadas se pasan por el D/C, a la salida se obtiene la señal
(supuesto que no existe aliasing):
x0c (t) = xc (t) + r(t)
donde r(t) es el ruido de cuantificación analógico añadido resultado de aplicar
ε[n] al conversor D/C, y que es un proceso aleatorio de varianza σr2 = ∆2 /12
cuyo espectro es plano en la banda de −fs /2 a fs /2.
1.6. Codificación de señales 35

Si suponemos que el cuantificador está normalizado, es decir Amáx = 1,


podemos calcular la relación S/N del proceso codificación/decodificación PCM
cuando se usan B bits como:
! ! !
S σx2 σx2 σx2
(dB) = 10 log = 10 log = 10 log =
N σr2 ∆2 /12 (2/2B )2 /12

S
(dB) = σx2 (dB) + 4,7 + 6B (1.29)
N
Nótese que la anterior expresión indica que por cada bit que añadamos, mejora-
mos en 6 dB la relación S/N (reducimos la potencia del ruido de cuantificación
a la cuarta parte). La relación S/N depende también, como es lógico, de la
potencia de señal que tengamos, pero es interesante el hecho de que aumentan-
do el número de bits podamos hacer el ruido tan pequeño como se quiera (y
la tecnologı́a permita en un momento dado). Pongamos un ejemplo numérico
para ver valores tı́picos de estas relaciones S/N. Si suponemos que la señal
xc (t) es un tono de amplitud 1/2, su potencia será 1/8. Por tanto tendremos:

B S/N (dB)
8 43.74
12 67.64
16 91.74

A la hora de procesar digitalmente muestras de señales, como ya se ha


indicado, nosotros operaremos normalmente con los ı́ndices k de los intervalos
de cuantificación. Interesará que exista una relación de proporcionalidad entre
los ı́ndices k y los valores de reconstrucción asociados yk , para que operar con
los ı́ndices k equivalga a procesar los valores yk escalados. Los cuantificadores
que cumplen esto son los cuantificadores uniformes.
Finalmente, conviene mencionar que los diagramas de bloques presentados
en las figuras 1.33 y 1.35 son conceptuales y no corresponden al funciona-
miento interno de ningún circuito. Igualmente, el modelo de ruido aditivo es
válido para señales y conversores habituales, en los que el número de niveles
de cuantificación es alto y la señal atraviesa muchos niveles de cuantificación
entre dos muestras consecutivas.

1.6.3. Cuantificación no uniforme


En el apartado anterior acabamos de ver los cuantificadores uniformes.
Éstos presentan la particularidad de que todos sus intervalos de cuantifica-
ción son iguales. En realidad no existe a priori ninguna razón para elegir los
intervalos de ese modo.
36 CAPı́TULO 1. MUESTREO

1.5

0.5
xq

−0.5

−1

−1.5
−1.5 −1 −0.5 0 0.5 1 1.5
x

Figura 1.40: Relación entrada salida en cuantificador no uniforme.

Podrı́a pensarse en elegir los intervalos de cuantificación y los valores de


reconstrucción correspondientes de forma óptima. Ello es posible si se conoce
la función densidad de probabilidad de las muestras a cuantificar x[n]. La
idea subyacente consiste en elegir intervalos de cuantificación más estrechos
allá donde la señal x[n] sea más probable.
No estudiaremos aquı́ el diseño de cuantificadores óptimos. Sin embargo,
mencionaremos que, en el caso de las señales de voz, las amplitudes pequeñas
son más probables que las grandes. Ello hace que en el campo de la telefonı́a
se haya estandarizado el uso de dos cuantificadores no uniformes conocidos
como ley µ (EE.UU. y Japón) y ley A (Europa), que hacen que en las am-
plitudes pequeñas los intervalos de cuantificación sean más pequeños. En la
figura 1.40 se muestra el aspecto que presenta la relación entrada/salida de un
cuantificador no uniforme. Compárese con la de la figura 1.37.
Un cuantificador no-uniforme se puede considerar también como una ley
de compresión seguida de un cuantificador uniforme y un expansor, como se
muestra en la figura 1.41. Tanto la ley A como la ley µ utilizan 8 bits por
muestra, y las correspondientes leyes de compresión son:

log(1 + µ |x|)
Fµ (x) = Sig(x) |x| ≤ 1 (1.30)
log(1 + µ)
1.6. Codificación de señales 37

1 + ln A |x|

1
Sig(x) ≤ |x| ≤ 1




 1 + ln A A
FA (x) = (1.31)
A |x| 1


|x| ≤

 Sig(x)

1 + ln A A

Los valores de los parámetros normalizados en telefonı́a son:

USA y Japón: µ = 100

Europa: A = 87,6

En ambos casos la varianza del ruido de cuantificación es menor para las


muestras pequeñas que en el caso de un cuantificador uniforme del mismo
número de bits, y más grande para las muestras grandes. Dado que una señal
contendrá muestras pequeñas y grandes, dependiendo de la probabilidad de
tener muestras grandes o pequeñas (es decir de la función densidad de pro-
babilidad de la señal a codificar) el ruido de cuantificación será diferente. En
el caso de la ley A, los intervalos de cuantificación más pequeños (en torno al
origen) tienen la misma anchura que un cuantificador uniforme de 12 bits.
Desde el punto de vista del tratamiento de las señales, es interesante desta-
car que el ı́ndice k no es proporcional al valor reconstruido. Ello hace que NO
se deba operar con dichos ı́ndices para realizar filtrados, etc. La mayorı́a de los
DSPs poseen instrucciones para convertir palabras de 8 bits correspondientes
a cuantificaciones no uniformes a 16 bits uniforme.

Compresor Expansor
F (x) F −1 (x)
6 6

- - - Cuantif. q- - -
x[n] Unif. xq [n]

Cuantif.
No-Unif.
-k

Figura 1.41: Cuantificador no uniforme.


38 CAPı́TULO 1. MUESTREO
Capı́tulo 2

Transformada Discreta de
Fourier

2.1. Introducción
Hasta ahora hemos visto que para realizar el análisis en frecuencia de una
señal discreta x[n], se aplica sobre ella la Transformada de Fourier, obteniéndo-
se X(ejω ). Dicha transformada es una función continua y por lo tanto no se
puede manejar de forma discreta. Serı́a interesante disponer de una represen-
tación frecuencial discreta que nos facilitara la manipulación de los datos en
el dominio de la frecuencia de forma discreta por medio de un procesador de
señal u ordenador.
En este capı́tulo se presenta la herramienta que nos permite representar el
espectro de forma discreta, llamada Transformada Discreta de Fourier (DFT).
Para el cálculo de dicha Transformada Discreta de Fourier existen algoritmos
muy eficientes que permiten el cálculo de la misma con un número reducido de
operaciones. Ello ha permitido que la DFT constituya una herramienta básica
no sólo para el análisis frecuencial sino en numerosas aplicaciones.

2.2. Representación de Fourier de secuencias de


duración limitada. La DFT
Supongamos una secuencia de duración limitada x[n] tal que:
(
6= 0 0 ≤ n ≤ N − 1
x[n] =
0 resto

39
40 CAPı́TULO 2. TRANSFORMADA DISCRETA DE FOURIER

Se define la Transformada Discreta de Fourier (DFT) de dicha señal como:


N −1
x[n] e−j 2 πkn/N
X
X[k] = k = 0, . . . , N − 1 (2.1)
n=0

y la Transformada Discreta de Fourier Inversa (DFT−1 ) como:


−1
1 NX
x[n] = X[k] ej 2 πkn/N n = 0, . . . , N − 1 (2.2)
N k=0

Por tanto, la DFT puede considerarse como una transformación que toma las
N muestras de una señal para dar lugar a N coeficientes X[k] y viceversa.

Relación con la Transformada de Fourier

La señal x[n] tiene una transformada de Fourier que viene dada por:
∞ N −1
x[n] e−jωn = x[n] e−jωn
X X
X(ejω ) = (2.3)
n=−∞ n=0

donde la última igualdad se debe al hecho de que la señal x[n] es de duración


limitada.
Comparando la anterior ecuación con la definición de DFT se puede ver
que:
2πk k
X[k] = X(ejωk ) donde ωk = , fk = , 0≤k ≤N −1 (2.4)
N N
es decir los N valores de la DFT son muestras de la Transformada de Fourier
X(ejω ) de la señal x[n].
Nótese que las muestras tienen un espaciamiento en frecuencia ∆f = 1/N ,
y que cubren de forma completa un periodo de la Transformada de Fourier

Extensión de la señal con ceros

Es interesante notar que una señal de duración real M muestras puede ser
considerada también como de duración ficticia N , siendo N > M . Para ello
basta considerar que las muestras en exceso son nulas.
Esta observación nos permite, usando la DFT, calcular muestras de la
Transformada de Fourier de una señal, con un espaciamiento arbitrariamente
pequeño sin más que añadir ceros a la señal hasta completar una duración
ficticia igual al número de muestras espectrales que deseemos.
2.3. Propiedades de la DFT 41

La relación entre el valor del ı́ndice de la transformada y la frecuencia de


la Transformada de Fourier es:
k 2πk
k −→ fk = −→ ωk = (2.5)
N N

Periodicidad de la DFT

Si en la ecuación 2.1 intentamos calcular X[k] para un valor k ≥ N se


puede comprobar que:

X[k + N ] = X[k] 0≤k≤N


Lo mismo sucede con la transformada inversa.
En otras palabras, aunque la DFT se calcula normalmene en el intervalo
0 ≤ k ≤ N − 1, la expresión 2.1 se puede calcular para cualquier valor de k y
resulta ser periódica de periodo N .
Esta periodicidad tiene su reflejo en todas las propiedades de la DFT

Notación
Denotaremos como ((n))N , y leeremos n módulo N a lo siguiente:


 resto(n/N ) n≥0
((n))N = N − resto(|n|/N ) n < 0, |n| no múltiplo de N
n < 0, |n| múltiplo de N

 0
Es fácil observar que se cumple siempre:
0 ≤ ((n))N ≤ N − 1 ∀n

2.3. Propiedades de la DFT


Linealidad
Sean dos secuencias x1 [n] y x2 [n] de duraciones N1 y N2 .1 La secuencia
suma de ambas, x3 [n], tendrá una duración N que será el máximo de N1 y
N2 . La DFT de N puntos de x3 [n] será:
DFTN
x3 [n] = x1 [n] + x2 [n] ←→ X3 [k] = X1 [k] + X2 [k]

1
Las señales se consideran no nulas en el intervalo 0, . . . , N1 − 1 y 0, . . . , N2 − 1 respecti-
vamente.
42 CAPı́TULO 2. TRANSFORMADA DISCRETA DE FOURIER

x[n] x[((n − 2))6 ]


6 6
r r
r r r r r r
r r
r r
- -
5 n 2 5 n

Figura 2.1: Desplazamiento circular de señales.

siendo X1 [k] y X2 [k] las DFTs de (N = máx(N1 , N2 )) muestras de x1 [n] y


x2 [n] respectivamente (aumentando con ceros la duración de la más corta).

Desplazamientos circulares
Sea x[n] una señal de duración finita N , definida entre 0 y N − 1. Se define
el operador desplazamiento circular o cı́clico como:

y[n] = x[((n − n0 ))N ]

siendo n0 un desplazamiento entero. El efecto que causa un desplazamiento


cı́clico sobre una señal se muestra en la figura 2.1. Puede observarse que:

La señal desplazada cı́clicamente también es de duración finita N y no


nula en el intervalo 0 ≤ n ≤ N − 1.

El desplazamiento circular es similar a uno normal (llamado en este


contexto lineal) salvo por el hecho de que las muestras que al desplazar
se saldrı́an del intervalo 0 ≤ n ≤ N − 1 reaparecen circularmente por el
otro extremo.

Si la secuencia x[n] de duración N tiene por DFT de N puntos (DFTN ) a


X[k] entonces:
DFTN 2π
x[((n − n0 ))N ] ←→ e−j N
n0 k
X[k]

Nótese que los desplazamientos circulares únicamente afectan a la fase de


la DFT.
2.3. Propiedades de la DFT 43

x[n] x[((−n))6 ]
6 6
r r
r r r r r r
r r
r r
- -
5 n 2 5 n

Figura 2.2: Inversión circular de señales.

Dualidad e inversión cı́clica


Sea x[n] una señal de duración finita N , definida entre 0 y N − 1. Se define
el operador inversión circular o cı́clica como:

y[n] = x [((−n))N ]
El efecto que causa una inversión cı́clica sobre una señal se muestra en la
figura 2.2.
Puede verse lo siguiente:

La señal invertida circularmente también es de duración finita N y no


nula en el intervalo 0 ≤ n ≤ N − 1.
La inversión cı́clica conserva la muestra de n = 0 en su ubicación y el
resto de muestras cambian de orden.
La inversión circular de la inversión circular es la señal original, es decir
si
y[n] = x [((−n))N ]
entonces
y [((−n))N ] = x[n]

Sea una secuencia x[n] de duración finita N tal que:


DFTN
x[n] −→ X[k]
entonces:
DFTN
X[n] −→ N x[((−k))N ]
es decir, si se calcula la DFT (directa) sobre el resultado de una DFT se obtiene
la inversión circular de la señal original (salvo el factor de escala N ).
Esta propiedad puede ser útil para calcular DFTs inversas mediante DFTs
directas y un cierto reordenamiento del resultado.
44 CAPı́TULO 2. TRANSFORMADA DISCRETA DE FOURIER

Simetrı́as
Sea una secuencia x[n] de duración N tal que:
DFTN
x[n] −→ X[k]

entonces se tienen las siguientes relaciones:

DFTN
x[((−n))N ] ←→ X[((−k))N ]
DFTN
x∗ [n] ←→ X ∗ [((−k))N ]
DFTN
x∗ [((−n))N ] ←→ X ∗ [k]

Por tanto, la DFT de una señal real que cumple que

x[n] = x∗ [n]

se tiene que
X[k] = X ∗ [((−k))N ]
Esta es la propiedad de simetrı́a conjugada usual en las transformadas
de Fourier de señales reales.

Para que la DFT de una señal sea real debe cumplirse x[n] = x∗ [((−n))N ],
que en el caso de que la señal x[n] sea real implica x[n] = x[((−n))N ].

Modulación
Sea una secuencia x[n] de duración finita N tal que:
DFTN
x[n] −→ X[k]

entonces:
DFTN
x[n] ej2πk0 n/N ←→ X[((k − k0 ))N ]

Convolución circular
Sean dos secuencias x1 [n] y x2 [n] ambas de duración N (N = max{N1 , N2 },
completando con ceros la más corta si fuera necesario) cuyas DFTN son, res-
pectivamente, X1 [k] y X2 [k]. Supongamos que calculamos:

X3 [k] = X1 [k] X2 [k] k = 0, . . . , N − 1


2.3. Propiedades de la DFT 45

y que obtenemos la secuencia x3 [n]:

x3 [n] = DFT−1 (X3 [k]) n = 0, . . . , N − 1

La relación que existe entre x3 [n] y x1 [n] y x2 [n] es:


N
X −1
x3 [n] = x1 [m] x2 [((n − m))N ] (2.6)
m=0

y recibe el nombre de convolución circular. Se suele escribir:

x3 [n] = x1 [n]
N x2 [n]

En la figura 2.3 puede verse un ejemplo de convolución circular entre dos


secuencias de duración limitada. El valor de N seleccionado para realizar la
convolución es el máximo de las duraciones de ambas secuencias, en este caso
N = 5. Dicho ejemplo puede compararse con la convolución lineal de ambas
secuencias mostrada en la figura 2.4. Comparando ambas convoluciones po-
demos observar que la circular es distinta de la lineal por la aparición de las
muestras que entran al intervalo de suma por la derecha debidas a la inver-
sión ((−m))N , que coinciden con las que aparecen en la parte de m < 0 en la
convolución lineal.
Con respecto a la convolución circular cabe hacer una serie de observacio-
nes:

En general, la convolución circular de dos secuencias NO coincide con la


convolución lineal.

La convolución circular, en la práctica, no se calcula nunca aplicando la


ecuación (2.6).

En la práctica, la convolución circular se calcula siempre mediante DFT


inversa del producto de dos DFTs. Ello se debe a la existencia de algo-
ritmos muy eficientes de cálculo de la DFT que se estudian al final del
tema (FFT).

La convolución lineal es útil para calcular la salida de filtros.

La convolución circular no sirve para nada.

Podrı́amos resumir lo anterior diciendo que la convolución circular es algo que


se calcula muy rápido pero no sirve para nada.
46 CAPı́TULO 2. TRANSFORMADA DISCRETA DE FOURIER

intervalo
de suma
 -
6x1 [m]
q
q
q
q
q
-
m
x2 [m]
6
q
q
q
q q -
m
x2 [((−m))N ]
6
q
q
q
q q -
m
x2 [((1 − m))N ]
6
q
q
q
q q -
m
Figura 2.3: Procedimiento de convolución circular módulo 5 entre dos
secuencias.

En realidad la convolución circular sı́ tiene una utilidad y ésta es que, bajo
determinadas condiciones, puede lograrse que la convolución circular coincida
con la convolución lineal (recordemos que en general esto no sucede). En ese
caso se tiene la eficiencia computacional de la convolución circular y la utilidad
de la lineal. En la siguiente sección nos ocuparemos de ver las condiciones para
que esto suceda.

2.4. Relación entre convolución circular y lineal


En el apartado anterior hemos visto que en general la convolución circular
y lineal son diferentes. En este punto veremos que bajo ciertas condiciones se
2.4. Relación entre convolución circular y lineal 47

intervalo
de suma
 -
6x1 [m]
q
q
q
q
q
-
m
x2 [m]
6
q
q
q
q q -
m
x2 [−m]
6
q
q
q
q q q q q -
m
x2 [1 − m]
6
q
q
q
q q q q -
m
Figura 2.4: Procedimiento de convolución lineal entre dos secuencias
x1 [n] y x2 [n].

puede lograr que algunos e incluso todos los valores de la convolución circular
sean idénticos a la convolución lineal.
Esto nos será de utilidad en la siguiente sección en la que veremos cómo
se pueden realizar filtrados (convoluciones lineales) usando convoluciones cir-
culares (productos de DFTs, que se calculan con pocas operaciones).
48 CAPı́TULO 2. TRANSFORMADA DISCRETA DE FOURIER

2.4.1. Condiciones para la igualdad entre convolución lineal y


circular
En este apartado vamos a establecer las condiciones bajo las cuales la
convolución circular y la lineal coinciden. Supongamos que tenemos dos señales
de duración finita:

x[n] de duración L muestras.

h[n] de duración P muestras.

Llamemos N = máx(L, P ) y calculemos z[n] = x[n] N h[n] e y[n] = x[n] ∗


h[n]. En las figuras 2.3 y 2.4 podemos ver cuál es la causa de que convolución
lineal y circular no coincidan. Las diferencias se deben a las muestras que
intervalo
de suma
 -
6x[m]
q
q
q
q
q
q q q q q -
L−1 N −1 m
h[m]
6
q
q
q
q q q q q q q -
P −1 N −1 m
h[((−m))N ]
6
q
q
q
q q q q q q q -
m
N −1
N −P +1
h[((1 − m))N ]
6
q
q
q
q q q q q q q -
m N −1
Figura 2.5: Determinación del periodo N para realizar la convolución
circular. Hay que lograr que (N − P + 1) > (L − 1).
2.4. Relación entre convolución circular y lineal 49

aparecen en la parte derecha en torno a m = N − 1 en la convolución circular


(figura 2.5). La idea para lograr que ambas coincidan es hacer que dichas
muestras se multipliquen por cero. Para ello, deberemos calcular la convolución
circular de un tamaño superior a L y P . El valor mı́nimo de N necesario es:

N =L+P −1 (2.7)

Ya hemos indicado que las convoluciones circulares se calculan en la práctica


mediante DFTs. Por tanto, podremos resumir el procedimiento a seguir para
realizar la convolución lineal mediante DFTs del siguiente modo:

1. Añadir ceros por la derecha a x[n] y h[n] hasta completar un tamaño


N ≥ (L + P − 1)

2. Calcular las DFTN tanto de x[n] como de h[n].

3. Realizar el producto elemento a elemento de los vectores X[k] y H[k],


con k = 0, . . . , N − 1.

4. Calcular la DFT inversa del resultado del producto anterior.

Para finalizar, en la figura 2.6 se muestra gráficamente el método anterior.

h[n]
- Rell. 0 - DFTN

- ∗ h[n]
?
× -DFT−1 x[n]
 N
x[n] 6
- Rell. 0 - DFTN

Figura 2.6: Método de cálculo de la convolución lineal usando DFT


50 CAPı́TULO 2. TRANSFORMADA DISCRETA DE FOURIER

2.4.2. Coincidencias entre la convolución lineal y la circular


En este apartado supondremos que tenemos dos señales:

x[n] de duración L muestras.

h[n] de duración P muestras.

donde P < L. Supongamos ahora que calculamos c[n], la convolución circular


módulo N de ambas señales, tomando N = L.

c[n] = x[n]
N h[n]

Sea z[n] la convolución lineal entre x[n] y h[n].

z[n] = x[n] ∗ h[n]

Para calcular dichas convoluciones, y teniendo en cuenta que x[n] sólo es


no nula para 0 ≤ n ≤ N − 1

X N
X −1
z[n] = x[n] ∗ h[n] = x[m] h[n − m] == x[m] h[n − m]
m=−∞ m=0

N
X −1
c[n] = x[n]
N h[n] = x[m] h[((n − m))N ]
m=0

donde podemos observar que la única diferencia consiste en que la inversión


y los desplazamientos de la señal h son lineales para la convolución lineal y
circulares para la convolución cı́clica. La figura 2.7 ilustra este hecho. En ella
se puede apreciar que las diferencias surgen por las muestras de la derecha de
la versión desplazada circularmente. Sin embargo, conforme n aumenta resulta
que cada vez hay menos muestras en la parte de la derecha hasta que para
n ≥ 2 (en este ejemplo), se da la siguiente situación

h[2 − m] = h[((2 − m))N ] 0≤m≤N −1

A partir de ese momento, si seguimos desplazando hasta llegar a n = N − 1,


las versiones desplazadas cı́clica y linealmente coinciden, y con ellas coinciden
los correspondientes valores de la convolución lineal y circular.
2.4. Relación entre convolución circular y lineal 51

intervalo intervalo
 de suma-  de suma-
x[m] x[m]
q q
6 6
q q q q q q q q q q q q q q q q
q - q -
m m
h[m] h[m]
6 6
q q q q
q q
q q q q q q q - q q q q q q q -
P −1 m P −1 m
h[((−m))N ] h[−m]
6 6
q q q
q q q q
q q q q q q q - q q q q q q q q q -
m m
h[((1 − m))N ] h[1 − m]
6 6
q q q q q
q
q q q q q q q - q q q q q q q q -
m m
h[((2 − m))N ] h[2 − m]
6 6
q q
q q q q
q q q q q q q - q q q q q q q -
N −1 m N −1 m
a) b)

Figura 2.7: Comparación entre los deplazamientos que suceden cuando


la convolución circular se realiza de un tamaño igual a la longitud de
la señal más larga. a) Convolución circular. b) Convolución lineal.

Analizando un poco la figura, es fácil darse cuenta que en general los


P − 1 primeros valores de la convolución circular no coinciden con los de la
convolución circular, es decir

z[n] 6= c[n] 0≤n<P −1

pero el resto sı́ que coinciden

z[n] = c[n] P − 1 ≤ n ≤ N − 1

El hecho de que aunque no sean idénticas por completo, sin embargo tengan
algunos valores comunes será utilizado por uno de los métodos que se detallan
en la sección 2.5.
52 CAPı́TULO 2. TRANSFORMADA DISCRETA DE FOURIER

2.5. Implementación de filtros LTI utilizando DFT


Acabamos de ver cómo se puede utilizar la DFT para realizar convoluciones
lineales. En esta sección veremos cómo utilizarla para filtrar señales. Consi-
deraremos únicamente filtros FIR causales cuya respuesta impulsiva será de
duración P muestras (definida entre n = 0, . . . , P − 1).
Si la señal a filtrar x[n] es de duración finita, podemos aplicar lo visto en
el punto anterior. No obstante, si la señal a filtrar tuviera duración infinita,
el método anterior no podrı́a llevarse a la práctica. En general tendremos
problemas cuando:

La señal tenga un comienzo, pero no se sepa cuando termina. En ese caso


deberemos esperar hasta que se dé por terminada x[n]. En aplicaciones
interactivas (telefonı́a) esto puede ser inaceptable.

Otro problema será el retardo: para calcular la DFT (y por tanto la


convolución) se necesita que estén presentes todas las muestras de la
señal a filtrar (x[n]), por lo que tendremos un retardo algorı́tmico igual
a la duración de la señal.

Para mitigar los anteriores problemas se utilizan dos métodos basados en


las siguientes ideas:

1. Se divide la señal de entrada en trozos de duración razonable para que


el retardo no sea muy largo.

2. Se calcula la salida para cada trozo.

3. Finalmente, se combinan las respuestas de cada trozo de forma adecuada.

Los dos métodos para filtrar señales basándonos en la DFT se conocen


como el método de solape- suma y el de solape-almacenamiento. En los si-
guientes apartados se describen los mismos.

Método de solape-suma

Los pasos a seguir para filtrar una señal x[n] de duración infinita (o des-
conocida) con un filtro h[n] de duración P utilizando este método son:

1. Se divide x[n] en trozos de longitud L, sin solape y sin dejar huecos.


Es decir, el primer bloque (bloque 0) incluirá las muestras de n =
0, . . . , L − 1, el segundo (bloque 1) las muestras n = L, . . . , 2L − 1, y
2.5. Implementación de filtros LTI utilizando DFT 53

x0 [n] x1 [n] x2 [n]


 - - -
L L L

y0 [n]

+ P −-
1

y1 [n]

+
y2 [n]

Figura 2.8: Método Solape-Suma

ası́ sucesivamente. Llamaremos xk [n] al bloque k-ésimo de muestras de


entrada. Nótese que

X
x[n] = xk [n]
k=0

2. Como cada bloque es de duración finita se calcula la respuesta a cada


bloque utilizando el método visto en la sección 2.4. Para ello:
Se desplaza previamente cada trozo al origen:
x0k [n] = xk [n + kL]
Se calcula y 0 [k] utilizando el esquema de la figura 2.6.
Se desplaza la salida k-ésima a su posición.
yk [n] = yk0 [n − kL]
3. La salida total se calcula como:

X
y[n] = yk [n]
k=0
Dado que los bloques y[k] tienen una duración mayor que la de los blo-
ques x[k], existirá un solapamiento entre las respuestas de los distintos
bloques, lo que obligará a tener que realizar sumas de las colas de un
bloque con el comienzo del siguiente. La cantidad de nuestras que se
solapan es P − 1. (Ver figura 2.8).
54 CAPı́TULO 2. TRANSFORMADA DISCRETA DE FOURIER

Método de solape-almacenamiento

La señal, como en el caso anterior, x[n] de duración infinita, se pretende


filtrar con un filtro h[n] de duración P , para lo cual se debe seguir:

1. Se divide x[n] en trozos de longitud L, (en este método L > P ). Llama-


remos a cada trozo xk [n] con k = 0, 1, . . .

2. Se calculan las DFTs de L puntos tanto del trozo k-ésimo como de h[n].
Se multiplican y se calcula la DFT inversa de L puntos. El resultado,
como sabemos, es un vector de L muestras que contiene la convolución
circular.
zk [n] = xk [n]
L yk [n]

De cada vector zk [n]:

Las primeras P − 1 muestras no coinciden con la convolución lineal


y se desechan.
Las muestras de n = P, . . . , L−1 coinciden con las de la convolución
lineal.

3. Al tomar el bloque siguiente (k + 1), previendo que sus primeras P − 1


muestras de la convolución circular van a ser erróneas, se elige el bloque
de modo que sus P −1 primeras muestras coincidan con las P −1 muestras
finales del bloque k. Finalemente, se desplaza cada salida a su lugar
correspondiente para componer la señal de salida.

4. De ese modo, la salida final, se obtiene yuxtaponiendo las muestras de


cada bloque que coinciden con la convolución lineal.
En el bloque inicial, como no hay bloque anterior con el que solapar las
P − 1 primeras muestras, se anteponen P − 1 ceros.

La figura 2.9 muestra el procedimiento.

2.6. Muestreo de la Transformada de Fourier


Sea x[n] una secuencia cualquiera con transformada de Fourier X(ejω ).
Dicha señal podrá tener duración finita o infinita.
Supongamos ahora que tomamos N muestras equiespaciadas de su trans-
formada de Fourier en fk = Nk (ωk = 2πk/N ) con k = 0, . . . , N − 1.
El anterior conjunto de N muestras de la Transformada de Fourier podrı́amos
suponer que son los coeficientes de la DFS de una señal periódica x̃[n]. Lo que
2.6. Muestreo de la Transformada de Fourier 55

x[n]

x0 [n] 0..,0
P−
-1
x1 [n]
 -
L
x2 [n]

z0 [n] @
@

z1 [n] @
@

z2 [n] @
@

y[n]

Figura 2.9: Método Solape-Almacenamiento

vamos a hacer en este apartado es encontrar la relación existente entre la señal


x[n] cuya transformada de Fourier se muestrea y la señal periódica x̃[n] re-
sultado del cálculo de la DFS−1 sobre las muestras de la Transformada de
Fourier.
Las ecuaciones involucradas se muestran a continuación. En primer lugar
se calcula la TF de la señal x[n]:

x[m] e−jωm
X

X(e ) = (2.8)
m=−∞

En segundo lugar se muestrea dicha TF:



X̃[k] = X(ejω ) = X(ej2πk/N ) (2.9)

ω=2πk/N
56 CAPı́TULO 2. TRANSFORMADA DISCRETA DE FOURIER

Obsérvese que X̃[k] es periódica por serlo X(ej ω ). El periodo de X(ej ω ) es


2π y la separación entre muestras es 2π/N , con lo que el periodo de X̃[k]
resultará ser N . Por otro lado la DFS−1 de los X̃[k] obtenidos resulta ser:
−1
1 NX
x̃[n] = X̃[k] ej2πkn/N (2.10)
N k=0

Sustituyendo en la ecuación (2.10) la expresión de X(ej ω ) dada por la ecua-


ción (2.8) se obtiene:
−1 X∞
1 NX
x̃[n] = x[m] e−j2πkm/N ej2πkn/N
N k=0 m=−∞

Reordenando los sumatorios tenemos:


∞ −1
X 1 NX 2π
x̃[n] = x[m] ej N (n−m) k
m=−∞
N k=0

donde:
−1 ∞
1 NX
( )
2π 1 si n − m = r N X
ej N (n−m) k = = δ[n − m − rN ]
N k=0 0 resto r=−∞

obteniéndose finalmente:

X ∞
X ∞
X
x̃[n] = x[m] δ[n − m − rN ] = x[n] ∗ δ[n − rN ]
m=−∞ r=−∞ r=−∞


X
x̃[n] = x[n − r N ] (2.11)
r=−∞

La ecuación (2.11) indica que la secuencia periódica x̃[n], que tiene como
DFS los coeficientes obtenidos al muestrear la transformada de Fourier de la
secuencia x[n], se obtiene repitiendo la propia secuencia x[n] cada N muestras y
posteriormente sumando todas las repeticiones, como puede verse en el ejemplo
de la figura 2.10.
Podemos realizar las siguientes observaciones:

Si la duración de la secuencia original x[n] es menor o igual que N


(y por tanto finita) no habrá solape entre las distintas repeticiones. Si
conocemos el intervalo en que la señal x[n] era no nula será posible
recuperar dicha señal a partir de x̃[n].
2.6. Muestreo de la Transformada de Fourier 57

x[n]
q
6
q
... q ...
q q q q q q -
n
x[n] ∗ δ[n − 3]
q
6
q
... q ...
q q q q q q q q -
n
x̃[n]
q q q
6
q q q
... q q q ...
-
n
Figura 2.10: Obtención de x̃[n] a partir de x[n] (periodo N=3).

Si la duración de la secuencia original x[n] es mayor que N habrá solape.


En ese caso no es posible conocer la secuencia inicial a partir de x̃[n].

El razonamiento anterior nos viene a decir que si la señal es de duración finita


y menor que el número de muestras tomadas de la TF, las muestras de la TF
(coeficientes de la DFS de x̃[n]) contienen toda la información de x[n] (o de
forma equivalente de su TF X(ejω )).
Nótese la dualidad que existe entre el muestreo de la TF de una señal
discreta y el muestreo de señales continuas en el tiempo:

En el caso del muestreo en el dominio del tiempo, para que el muestreo


de una señal continua x(t) contenga toda la información de la señal, la
separación de las muestras mı́nima debe ser:
1
∆t =
Ancho del espectro
donde ancho del espectro es la anchura del intervalo del eje de frecuencias
(positivas y negativas) en que la TF de la señal es no nula.
En el caso del muestreo de la TF, la separación entre muestras espectrales
debe ser:
1
∆f =
Duración de la señal
en ambos casos la separación entre muestras consecutivas debe ser menor que
la inversa de la extensión de la señal en el dominio contrario al que se muestrea.
58 CAPı́TULO 2. TRANSFORMADA DISCRETA DE FOURIER

2.7. Cálculo eficiente de la Transformada Discreta


de Fourier (La FFT)
La FFT es un método rápido de cálculo de la transformada discreta de
Fourier que fue publicado en 1964 por Cooley y Tukey, el cual es ya conocido
universalmente por sus siglas en inglés FFT (Fast Fourier Transform). La
eficiencia de este método se muestra en la tabla 2.1, donde se compara el
número de operaciones a realizar para implementar la DFT de N puntos por
el método directo (N 2 ) y por el algoritmo rápido (N log2 N ), ası́ como la
N2
eficiencia conseguida utilizando la FFT ( N log N ).
2

N Directo FFT Eficiencia


32 1024 160 6.4
64 4096 384 10.7
128 16384 896 18.3
256 65536 2048 32
. . . .
. . . .
. . . .
4096 ≈ 17,106 ≈ 49,103 341

Cuadro 2.1: Eficiencia de la FFT

La FFT es un método muy eficiente de cálculo, como puede verse en la


tabla 2.1, si se requieren los N valores de X[k]; si no, puede resultar ineficiente.
En este capı́tulo veremos dos tipos de algoritmos para implementar la FFT:

Algoritmos de diezmado en el tiempo.

Algoritmos de diezmado en frecuencia.

2.7.1. Consideraciones previas


Antes de proceder a describir los algoritmos realizaremos algunas conside-
raciones previas.

Número de operaciones en el método directo

En este apartado trataremos de establecer de forma aproximada el número


de operaciones necesario para el cálculo de la DFT directa e inversa. La DFT
2.7. La FFT 59

(o su inversa) consisten en calcular las expresiones de las ecuaciones (2.12


y 2.13), que se reproducen a continuación:

Ecuación de Análisis (Transformada Directa)

N
X −1
X[k] = x[n] WNk n (2.12)
n=0
donde
WN = e−j2π/N

Ecuación de Sı́ntesis (Transformada Inversa)

−1
1 NX
x[n] = X[k] WN−k n (2.13)
N k=0

Ası́, según la ecuación (2.12), para implementar la DFT por el método


directo, para cada valor de k (o para cada n si se trata de la DFT inversa) se
deben realizar N productos complejos y N − 1 sumas complejas, por lo que
en total, el número de operaciones a realizar será:
 
Nvalores de k Nproductos complejos + (N − 1)sumas complejas
2
Num. de ops. = Nproductos complejos + N (N − 1)sumas complejas
Los productos complejos tienen mayor carga computacional2 , por lo que
para medir el número de operaciones se mide el número de productos complejos
necesarios, que en el caso del cálculo de la DFT es N 2 . Por otro lado, el
número de operaciones reales que habrá que realizar siempre será proporcional
al número de productos complejos, ya que:
2 2 2
Num. de ops. ≈ 4 Nproductos reales +4 Nsumas reales ∝ Nproductos complejos

2
Sean dos números complejos z1 = a + j b y z2 = c + j d, el número de operaciones reales
necesarias para realizar su suma es:
z1 + z2 = (a + c) + j (c + d) −→ 2 sumas reales
y para calcular su producto:
z1 × z2 = (ac − bd) + j (ad + bc) −→ 4 productos reales y 2 sumas reales
60 CAPı́TULO 2. TRANSFORMADA DISCRETA DE FOURIER

Propiedades de las exponenciales complejas

Las propiedades de las exponenciales complejas a usar para disminuir el


número de operaciones necesarias son:

Simetrı́a conjugada.
k (N −n)
WN = WN−k n = (WNk n )∗

Periodicidad en n y en k.
k (n+N ) (k+N ) n
WNk n = WN = WN

Si N par, entonces:
r+N/2
WN = −WNr

WN/2 = WN2

Transformada inversa

En el resto del tema, sólo desarrollaremos los distintos tipos de algoritmos


para el cálculo de la DFT, ya que las estructuras necesarias para implementar
la DFT inversa son similares (únicamente se diferencian en los coeficientes
multiplicativos). Además, la DFT inversa se puede incluso calcular utilizando
el algoritmo rápido de cálculo de la DFT ya que hay relaciones entre ellas que
nos permiten hacerlo. Como ejemplo, presentaremos dos formas de relacionar
ambas transformaciones:

1. DFT y DFT inversa se diferencian únicamente en el factor 1/N y en



el signo de la exponencial ej N k , como puede observarse comparando
las ecuaciones de análisis y sı́ntesis (2.12 y 2.13). Por tanto, se podrı́a
realizar la DFT inversa usando una FFT y utilizando la expresión (2.14),
resultando un algoritmo cuyo diagrama de bloques se muestra en la
figura 2.11.
−1
!∗
1 NX ∗ −j 2Nπ n k
x[n] = X [k] e (2.14)
N k=0

2. Aplicando la propiedad de la dualidad de la DFT. Si


DFT
x[n] −→ X[k]
2.7. La FFT 61

entonces
DFT
X[k] −→ N x[((−n))N ] 0≤n≤N −1

Basándonos en esta expresión podemos obtener x[n] utilizando un al-


goritmo FFT al que se introduce como entrada los coeficientes de la
DFT (X[k]), simplemente reordenando el resultado y multiplicando las
muestras de salida por un factor 1/N .

2.7.2. Algoritmos de diezmado en el tiempo


En esta sección se van a explicar el primer tipo de algoritmos FFT, los
de diezmado en el tiempo. Estos algoritmos, al igual que los de diezmado en
frecuencia que veremos en la sección 2.7.3, son más eficientes si la DFT a
calcular es de N puntos, con N potencia de 2 (N = 2υ υ ∈ Z). Sin embargo,
en la sección 2.7.5 veremos una generalización de los mismos para el caso en
que N no sea potencia de 2.
Los algoritmos de diezmado en el tiempo se basan en descomponer x[n]
en subsecuencias recursivamente, calcular las DFTs de cada subsecuencia y
combinarlas para componer la DFT de subsecuencias mayores, hasta llegar a
la secuencia x[n] de N puntos.
Tomando como partida la ecuación de análisis de la DFT,
N
X −1
X[k] = x[n] WNk n
n=0

se separa el sumatorio en términos de n par e impar, resultando:


X X
X[k] = x[n] WNk n + x[n] WNk n =
n par n impar

N N
2
−1 2
−1
X X (2 r+1) k
= x[2 r] WN2 r k + x[2 r + 1] WN
r=0 r=0

X[k]- x[n]-
( )∗ - FFT - ( )∗ - 1
N

Figura 2.11: FFT inversa usando la FFT directa.


62 CAPı́TULO 2. TRANSFORMADA DISCRETA DE FOURIER

G[0]
x[0] b - 0 0 - b - b X[0]
@ WN0
x[2] b - 1 1 - G[1]
b @ -  b
X[1]
@
DFTN/2 @ @ WN1
x[4] b - 2 2 - G[2]
b @ @ -  b
X[2]
@
@ @R
@ W 2
 N
@
x[6] b - - G[3]
b @ b X[3]
@
3 3 @
@ - @
WN3
@ @R
@ @
@ @
@ @ @
@ @ @
@
@ @ R @
x[1] b - - b @ b X[4]
@ @
0 0 @ @
@ -
H[0] @ 4
@WN
@R
@ @
x[3] b - - b @ b X[5]
@
1 1 @
@ -
DFTN/2 H[1] @ 5
@ @WN
x[5] b - 2 2 - b @ - @ b X[6]
H[2] @ 6
@WN
x[7] b - 3 3 - b -@ b X[7]
H[3] WN7

Figura 2.12: Algoritmo FFT de diezmado en el tiempo (N = 8): des-


composición inicial.

A a -a aB B =a×A

A a - aB B=A

A a - a
 C C =A+B



*
a 
B 
Figura 2.13: Sı́mbolos utilizados en los diagramas de bloques del algo-
ritmo FFT.

Si se tiene en cuenta que:


WN2 = W N
2
2.7. La FFT 63

resulta:  
N N
2
−1 2
−1
X X
rk rk k
X[k] = x[2 r] W N + x[2 r + 1] W N  WN

2 2
r=0 r=0

llamando:
N/2−1
X
rk
G[k] = x[2 r] WN/2
r=0
N/2−1
X
rk
H[k] = x[2 r + 1] WN/2
r=0
se obtiene la nueva ecuación de análisis reducida.

X[k] = G[k] + H[k] WNk (2.15)

Obsérvese que G[k] es la DFT de N/2 puntos de las muestras pares de


x[n] y H[k] de las impares, sin embargo, la ecuación (2.15) es válida para
k = 0 . . . N − 1. Para completar la DFT de N puntos se utiliza la propiedad
de periodicidad, ya que ambas DFTs calculadas (G[k] y H[k]) son periódicas
en k, de periodo N/2.
La figura 2.12 muestra cómo serı́a el cálculo de la DFT realizada de la
forma vista arriba para una secuencia de N = 8 muestras. El significado de
los distintos elementos que aparecen en dicha figura están especificados en la
figura 2.13.
El número de operaciones necesarias para llevar a cabo la DFT de la forma
mostrada en la figura 2.12 serán las necesarias para realizar dos DFTs de 4
puntos y 8 productos complejos. Generalizando a una DFT de N puntos, el
número de operaciones (productos complejos) será:
2
N N2

2× +N =N + productos complejos
2 2
es decir, las necesarias para realizar dos DFTN/2 más N productos.
Si N > 2 −→ N + N 2 /2 < N 2 , ası́ pues, se demuestra que con este método el
número de operaciones será menor (si N > 2) que con el método directo.
El proceso puede repetirse para cada una de las DFTs de N/2 puntos de la
figura 2.12 (en nuestro ejemplo, DFTs de 4 puntos como la de la figura 2.14),
para ello, cada bloque de DFT de N/2 se divide en dos de N/4 seleccionando
muestras pares e impares, resultando el diagrama de la figura 2.15.
Si además, aplicamos a las exponenciales que aparecen en figura 2.15 la
propiedad WN/2 k = WN2k , obtenemos la figura 2.16 en la que todas las expo-
nenciales aparecen expresadas en la misma base (WN ).
64 CAPı́TULO 2. TRANSFORMADA DISCRETA DE FOURIER

Iterando, se podrı́a llegar a DFTs de dos puntos, como la de la figura 2.17.


Si sustituimos en nuestro ejemplo cada bloque DFT de N/4 puntos por el
grafo de la figura 2.17 se obtine el diagrama de bloques de la FFT de 8 puntos
(figura 2.18).
Como puede observarse en la figura 2.18, el algoritmo se divide en 3 etapas,
en general en log2 N etapas. Cada una de ellas parte de N valores de entrada
y obtiene N valores de salida, combinando los valores de entrada por medio
de una serie de productos y sumas.

G[0]
x[0] c - 0 0 - c - c X[0]
DFTN/2 @
WN0
G[1] @
x[2] c - 1 - c @ - c X[1]

1
WN1
@@@
R
@ @ 
@ @
@@
R @
x[1] c - c @ c X[2]
@ @
0 0 - @ -
DFTN/2 H[0] @ WN2

x[3] c - 1 - c @ c X[3]
@
1 -
H[1] WN3

Figura 2.14: Algoritmo FFT de diezmado en el tiempo (N = 4).


2.7. La FFT 65

x[0] c - 0 0 - c - c - cX[0]
DFTN/4
@ 0 @
WN 0
R
@
@ WN/2 @
x[4] c - 1 1 - c @ - c @ - cX[1]
@ @  1@ @
WN 1
@ WN/2 @
R
@
@ @
R
@
@ @ @ @
x[2] c - 0 0 - c @ -@c
@
@ 2 @
@ @
- cX[2]
DFTN/4 W
@ N/2 @
@
R
@
@
@
WN 2
@
x[6] c - 1 1 - c -@c
@ @ @
- @ cX[3]
3 @
WN/2 @ @ 3
@ WN
@
@ @ @
R
@ @
@ @ @
x[1] c - c c @ cX[4]
@ @
0 0 - - @ -@
@ @ @
W 4
DFTN/4
@ 0 R
@
R
@
@ WN/2 @ @ @ N
x[5] c - 1 1 - c @ - c @ @ -@ cX[5]
@
@ @ 1 @ @ WN5
@ WN/2
R
@ @
@ @
@ @ @ @
x[3] c - c @c @ cX[6]
@ @
0 0 - -@ -@
@ 2 @ 6
DFTN/4 W
@ N/2 @WN
x[7] c - 1 1 - c -@c
@ -@ cX[7]
@
3
WN/2 WN7

Figura 2.15: Algoritmo FFT de diezmado en el tiempo (N = 8): re-


sultado de descomponer las DFTs de N/2 en DFTs de N/4.

El número de operaciones (productos complejos) del algoritmo FFT, de-


sarrollado hasta las DFTs de 2 puntos (como el de la figura 2.18) será:3

N productos × N umetapas = N × log2 N


etapa

En la figura 2.18 se observa también que el procedimiento para pasar de


una etapa a la siguiente se basa en el grafo de la figura 2.19, el cual a partir
de un par de valores de una etapa y dos exponenciales, potencias de WN con

3
El número de operaciones calculado es para cálculos generalizados, pero particularizando
se podrı́an optimizar más, por ejemplo, eliminando la multiplicación por coeficientes que
valen la unidad. Por contra, no están contabilizadas las operaciones de control (por ejemplo
el control de las iteraciones de los bucles). No obstante la mayorı́a de los DSPs tienen
arquitecturas que hacen que el coste computacional de estas operaciones sea nulo.
66 CAPı́TULO 2. TRANSFORMADA DISCRETA DE FOURIER

x[0] c - 0 0 - c - c - cX[0]
DFTN/4
@ R
@  0 @
WN 0
@ WN @
x[4] c - 1 1 - c @ - c @ - cX[1]
@ R
@ @  2@ @
WN 1
@ @ WN @ @
R
@
@ @ @ @
x[2] c - 0 0 - c @ -@c
@ @ @
- cX[2]
@
W 4 @ @ 2
DFTN/4
@ R
@
@ N @ @ @ WN
x[6] c - 1 1 - c -@c
@ @ @
- @ cX[3]
WN6 @ @ @ 3
@ WN
@
@ @ @
R
@ @
@ @ @
x[1] c - c c @ cX[4]
@ @
0 0 - - @ -@
@ @ @
W 4
DFTN/4
@ R
@
R
@
@
 0
WN @ @ @ N
x[5] c - 1 1 - c @ - c @ @ -@ cX[5]
@
@ R
@ @  2 @ @ WN5
@ @ WN @ @
@ @ @ @
x[3] c - c @c @ cX[6]
@ @
0 0 - -@ -@
4 @ 6
@WN
@
DFTN/4 WN
@
x[7] c - 1 1 - c -@c
@ -@ cX[7]
@
WN6 WN7

Figura 2.16: Algoritmo FFT de diezmado en el tiempo (N = 8): dos


etapas finales.

x[0] b- b
X[0]
@ 0
@  WN = 1
R
@
@
x[1] b b
@
-@ X[1]
N
WN2 = −1
Figura 2.17: Algoritmo FFT de diezmado en el tiempo (N = 2).

exponentes separados N/2, obtiene un par de valores de la etapa siguiente. El


grafo de la figura 2.19 representa la estructura de cálculo más básica y recibe
el nombre de mariposa, debido a su forma.
2.7. La FFT 67

x[0] bP
PP -
q b
1 @

- b- b X[0]
PP 0 @ 0
W W
@
 PPPN
 R  0
WN @  N
b Pb - b- @ b X[1]
 @
x[4] - @
WN4 @ @
WN 1
W2
R
@ @  @
@ @ N @ R
@@
@ @
x[2] bP
q
PP -  b @
@
@
- b - @
@ b X[2]
PP 0 1


WN4 R
@ @
2
WN WN
@ @ @
 P P @
b Pb @b- @ b X[3]
 @ @ @
x[6] - P - @
WN4 WN6 @
@
3
@ WN
@ @
@ @
R
@@ @
@ @
x[1] bP b - b @ @ -@ b
PP -  @ W 4 X[4]
q 
1 @ @
PP  0 @ R
@ @
 PPPN
 W R
WN
 0 @ @ @ N
b - Pb b -@ b X[5]
@ @
x[5] @ - @
WN4 WN5
@ @ @
R
@ @  W 2 @
@ @ N @
@
@ @
x[3] bP b @ b @ -@ b
@ W 6 X[6]
q
PP -  @ @
-
PP 1

0 @WN4
 P W
PPN @ N
b - Pb @b -@ b X[7]
 @
x[7] -
WN4 WN6 WN7
Figura 2.18: Algoritmo FFT de diezmado en el tiempo (N = 8).

Si se tiene en cuenta que:


N 2π N
WN2 = e−j( N )2
= e−j π

r+ N
2
y por tanto el factor WN que aparece en la mariposa puede ser sustituido
por:
r+ N N
WN 2
= WN2 WNr = −WNr
el cálculo de la mariposa de la figura 2.19 puede simplificarse, resultando la

b- b
@
R
@ WNr
@ 
etapa m − 1 @ etapa m
b -@ b
@
r+ N
2
WN
Figura 2.19: Grafo de una mariposa genérica de la figura 2.18.
68 CAPı́TULO 2. TRANSFORMADA DISCRETA DE FOURIER

de la figura 2.20, la cual requiere únicamente un producto complejo en lugar


de dos para calcular los dos valores de salida.

a- a- a
R
@
etapa m − 1 @
etapa m
Wr
a- N a
@
−1
- @a

Figura 2.20: Grafo simplificado de una mariposa.

Usando la estructura de mariposa simplificada de la figura 2.20 en el grafo


del algoritmo de la FFT de 8 puntos de la figura 2.18, se obtiene el grafo
de la figura 2.21. Con esta simplificación se consigue reducir el número de
operaciones finales por un factor 2, ya que el número de productos complejos
a realizar en cada mariposa se reduce a la mitad. Ası́, el número de operaciones
totales queda reducido a:
N
num. de ops = log2 N
2

x[0] b- bP qP -
P 1


b- b - b- b - bX[0]
P  @R
@ @
W 0 P 
b b b b - b- b @ - bX[1]
 PP 
x[4] - N  - P - @
−1 @R @
@  @ @
@ @ @ @ 

x[2] b- bP W0
 b- Nb @ b- b - bX[2]
@ @ @ @
qP -
P 1



-
@ −1 @ @
P  @
WN0 b WN2b @ @
PP
x[6] b- - PP b- @
-@ b- b @ @ - bX[3]

−1 −1
@ @
@ @ @ @@ 
@ @ @ @@
W 0
x[1] b- bP  b- b - b- N b @ bX[4]
@ @ @ @
R
qP - @ -
−1
P 1


 @ @ @
P  @
R
@ @
WN0 b WN1 b
P  @
x[5] b- P b- b @ - b- @ @@ -@ bX[5]
PP @ @
@
R
-
−1 @
R
@ @
 @ @@ −1
@ @ @ @@
W 0 @ W2
x[3] b- bP b- Nb @ b- N b @ bX[6]
@ @@ -@
R
qP -
P 1



-
@ −1 @−1
P  @
WN0 b WN2b @ W3
P
x[7] b- P b- @ b- N b @ bX[7]
PP @
@
R
- - -
−1 −1 −1
Figura 2.21: Algoritmo FFT de diezmado en el tiempo (N = 8) con
mariposas simplificada.
2.7. La FFT 69

2.7.3. Algoritmos de diezmado en frecuencia


Como hemos visto en el punto 2.7.2, los algoritmos de diezmado en el
tiempo se basan en dividir la secuencia de entrada x[n] en subsecuencias, las
cuales se vuelven a dividir hasta obtener una subsecuencia de tamaño 2. Luego,
las DFTs de estas subsecuencias se combinan para obtener la DFT completa.
Si en vez de dividir x[n] lo que se divide en subsecuencias es X[k], el algoritmo
resultante recibe el nombre de algoritmo de diezmado en frecuencia.
Sea x[n] una secuencia de N puntos, donde N es potencia de 2 y cuya DFT
es X[k]:
N
X −1
X[k] = x[n] WNn k
n=0

Si separamos X[k] en dos subsecuencias de coeficientes en función del valor de


k, tenemos:

N
X −1
k par −→ k = 2 r −→ X[2 r] = x[n] WNn 2 r (2.16)
n=0

N −1
X n (2 r+1)
k impar −→ k = 2 r + 1 −→ X[2 r + 1] = x[n] WN (2.17)
n=0

Empezaremos el estudio por los valores que ocupan una posición par en la
secuencia de coeficientes de la DFT. Separando el sumatorio de la ecuación
(2.16) en dos sumatorios tenemos:
N/2−1 N −1
X X
nr nr
X[2 r] = x[n] WN/2 + x[n] WN/2
n=0 n=N/2

Arreglando el segundo sumatorio para que ambos tengan los mismos lı́mites,
se obtiene:
N/2−1 N/2−1
X
nr
X r (n+N/2)
X[2 r] = x[n] WN/2 + x[n + N/2] WN/2
n=0 n=0
70 CAPı́TULO 2. TRANSFORMADA DISCRETA DE FOURIER

x[0] c - g[0]
c - 0 0 - cX[0]
@

- g[1]
@
x[1] c @ c - 1 1 - cX[2]
DFTN/2
@ @

- g[2]
@
x[2] c c cX[4]
@
@ @ - 2 2 -
@ @ @ 
- g[3]
@
x[3] c c cX[6]
@ @
@ @ @ - 3 3 -
@ @ @ @
@ @ 
@ @
@ @ @@
@ @ @ @
@ 0
x[4] c
@ @ @h[0]
c W cX[1]
@ @ R
@
@ -@ -N 0 0 -
−1
@ @
@ @ @
@ 1
x[5] c
@ @ @h[1]
c W cX[3]
@ R
@
-@ -N 1 1 -
−1
@ @
DFTN/2
@ @
@ 2
x[6] c
@ @ @h[2]
c W cX[5]
R
@
-@ -N 2 2 -
@ −1
@
@ 3
@h[3] W
@
x[7] c c cX[7]
R
@
-@ -N 3 3 -
−1

Figura 2.22: Algoritmo FFT de diezmado en frecuencia (N = 8): des-


composición inicial.

Aplicando la propiedad de periodicidad de las exponenciales 4

N/2−1 N/2−1
X X
nr rn
X[2 r] = x[n] WN/2 + x[n + N/2] WN/2
n=0 n=0

N/2−1
X
nr
X[2 r] = (x[n] + x[n + N/2]) WN/2 (2.18)
n=0

4
La exponencial es periódica, de periodo N/2, por lo que:
r (n+N/2) rn
WN/2 = WN/2
2.7. La FFT 71

Procediendo de la misma forma con los coeficientes de orden impar, desa-


rrollaremos la ecuación (2.17), obteniendo:
N/2−1 N −1
X X
nr
X[2 r + 1] = x[n] WN/2 WNn + nr
x[n] WN/2 WNn
n=0 n=N/2

Arreglando los lı́mites de los sumatorios:


N/2−1 N/2
X
nr
X (n+N/2) r n+N/2
X[2 r + 1] = x[n] WN/2 WNn + x[n + N/2] WN/2 WN
n=0 n=0

Si aplicamos, ahora, la propiedad de periodicidad en N/2 de la exponencial:


N/2−1 N/2
X
nr
X n+N/2
X[2 r + 1] = x[n] WN/2 WNn + nr
x[n + N/2] WN/2 WN
n=0 n=0

x[n]
6
HH
H -
N/2 n

6
-
N/2 − 1 n
+m- g[n]
?
6
HH 6
H -
N/2 − 1 n

6
-
N/2 − 1 n
+ ?
m- h[n]
6 − 6
H
HH -
N/2 − 1 n

Figura 2.23: Obtención de g[n] y h[n] a partir de x[n].


72 CAPı́TULO 2. TRANSFORMADA DISCRETA DE FOURIER

n+N/2
Teniendo en cuenta que WN = −WNn :

N/2−1 N/2
X X
nr
X[2 r + 1] = x[n] WN/2 WNn + nr
x[n + N/2] WN/2 (−WNn )
n=0 n=0

Finalmente, se obtiene la expresión (2.19) que nos permite obtener los coefi-
cientes impares de X[k] a partir de muestras de x[n]
N/2−1
X
nr
X[2 r + 1] = (x[n] − x[n + N/2]) WN/2 WNn (2.19)
n=0

Si en las ecuaciones (2.18) y (2.19) hacemos el cambio:

x[n] + x[n + N/2] = g[n]

y
x[n] − x[n + N/2] = h[n]
se obtienen dos nuevas ecuaciones (2.20 y 2.21) que nos sirven de base para
el desarrollo del grafo que representa el algoritmo de diezmado en frecuencia.
Gráficamente, puede observarse en la figura 2.23 cómo se obtendrı́an g[n] y
h[n] a partir de x[n].
N/2−1
X
nr
X[2 r] = g[n] WN/2 (2.20)
n=0
N/2−1
X
X[2 r + 1] = (h[n] WNn ) WN/2
nr
(2.21)
n=0

El grafo para realizar la FFT de 8 puntos con un algoritmo de diezmado en


frecuencia serı́a el de la figura 2.22. De la misma manera que en los algoritmos
de diezmado en el tiempo, se podrı́a seguir iterando hasta descomponer X[k]
en subsecuencias de 2 elementos.

2.7.4. Consideraciones adicionales sobre la FFT


Una vez vistos los dos tipos de algoritmos para realizar la FFT, en este
punto vamos a ocuparnos de una serie de consideraciones prácticas a tener en
cuenta a la hora de implementarlos, como:

Cantidad de memoria utilizada en la implementación del algoritmo, la


cual se minimiza con los algoritmos en el sitio.
2.7. La FFT 73

x[0] b- bP
PP -
q 1


b- b - b- b - bX[0]
P  @ R
@ @
W 0  PPP b-
P 
x[4] b- N b - b @ - b- b @ - bX[1]

−1 @ R @
@  @ @
@ @ @ @ 
W 0 @ @- @
x[2] b- bP  b- Nb @ b- b - bX[2]
@
qP -
P 1


 @ −1 @ @
P  @ @
W 0  PPP b- WN2 b
P @ @
x[6] b- N b - @ b- b @ - bX[3]

- @ @
−1 −1 @ @ @
@ @ 
@ @ @ @ @
W 0 @ @
x[1] b- bP b- b - b- N b @ bX[4]
@ @@ @
R
@
qP - @ -
−1
P 1


 @ @@
P  @ R
@ @
W 0  PPP b- b @ WN1 b
P  @ @
x[5] b- N b - - b- @ bX[5]
@ @
R
@
@ -
−1 @ R
@ @
 @ @@ −1
@ @ @ @ @
W 0 @
W 2 @
x[3] b- bP  b- Nb @ b- N b @ bX[6]
@ @@ @
R
@
qP - - -
P
P  1


 @ −1 @@−1
W 0  PPP b- WN2 b WN3 b
P @ @
x[7] b- N b - @ b- @ bX[7]
@
R
@
- -
 −1 - −1- −1-
etapa 1 etapa 2 etapa 3

Figura 2.24: Algoritmo FFT de diezmado en el tiempo (N = 8) con


mariposa simplificada.

Ordenación de los datos de entrada al algoritmo.

Formas alternativas de realizar el algoritmo FFT.

Minimización de los cálculos de las exponenciales involucradas en el pro-


ceso utilizando distintas estrategias.

Algoritmos en el sitio
El diagrama de flujo de la FFT (figura 2.21) representa el algoritmo a
implementar. Dentro de este grafo aparecen una serie de nodos que representan
las variables necesarias para realizar el programa, es decir, la cantidad de
almacenamiento necesario. En un grafo como el de la figura 2.24 se observa
que el algoritmo se divide en υ = log2 N etapas, en nuestro ejemplo el número
de etapas es 3. Cada etapa obtiene N complejos de salida (8 en el ejemplo), a
partir de otros N complejos de entrada.
Una forma de almacenar los datos y resultados necesarios para realizar el
programa que implemente un algoritmo como el de la figura 2.24 es utilizando
vectores que permitan almacenar los valores complejos de las entradas y las
salidas de las distintas etapas. Para tener almacenados N complejos de entrada
74 CAPı́TULO 2. TRANSFORMADA DISCRETA DE FOURIER

Xm−1 (p) c - c- c Xm (p)


@R
@
@ 
@
@
Wr −1
Xm−1 (q) c - N c - @ c Xm (q)
@

Figura 2.25: Obtención de los elementos p y q para la etapa m.

y otros N de salida en cada etapa se necesitan 2 vectores de complejos para


todo el algoritmo, ya que el vector de salida de una etapa se convierte en el
vector de entrada de la siguiente, y por tanto, en principio sólo se necesita
el vector con los resultados de la etapa anterior y el correspondiente a los
resultados que se están calculando en la etapa actual.
Los elementos de cada vector de salida se obtienen como resultado de
aplicar sobre los elementos del vector de entrada estructuras mariposas como
la de la figura 2.25, en la que Xm (l) representa el elemento l-ésimo del vector
de salida de la etapa m-ésima. En la primera etapa, X0 será la secuencia de
entrada x[n], mientras que en la última, Xυ serán los coeficientes de la DFT.
En la figura 2.25 puede observarse que para obtener los valores de cual-
quier par de elementos de una etapa (Xm (p) y Xm (q)) sólo se necesitan los
valores de los elementos que están en la misma posición en el vector de la
etapa anterior (Xm−1 (p) y Xm−1 (q)). Por este motivo, de los dos vectores que
necesitábamos inicialmente para implemtar el algoritmo, podemos prescindir
de uno. Ası́, el almacenamiento necesario en el programa será solamente un
vector de complejos junto con una variable auxiliar. Los cálculos realizados de
esta forma reciben el nombre de cálculos en el sitio, ya que los resultados se
almacenan en el mismo vector que contenı́a los datos.

Orden de los datos


En el punto anterior hemos visto que en el grafo del algoritmo FFT se
utilizan estructuras del tipo de la de la figura 2.25, las cuales nos permiten
realizar los cálculos en el sitio. Este tipo de estructuras ha sido propiciado por
el hecho de que los datos de entrada están ordenados en orden bit inverso.
Para explicar el significado de orden bit inverso vamos a ver un ejemplo de
una secuencia de 8 muestras, la cual hay que ordenar. En esta secuencia de 8
muestras, el orden que ocupa cada una de ellas puede almacenarse con 3 bits
2.7. La FFT 75

n2 n1 n0
-0 x[000] = x[0]
-0
-1 x[001] = x[1]
-0
-0 x[010] = x[2]
-1
-1 x[011] = x[3]
x[n2 n
-1 n0 ]
-0 x[100] = x[4]
-0
-1 x[101] = x[5]
-1
-0 x[110] = x[6]
-1
-1 x[111] = x[7]

Figura 2.26: Ordenamiento de una secuencia en orden natural.

x[n2 n1 n0 ], donde n0 es el bit menos significativo (LSB), de tal forma que el


orden de cada muestra viene dado por una combinación de estos tres bits.
La forma de ordenación más normal es el orden natural, mostrado en la
figura 2.26, el cual consiste en ir dividiendo la secuencia en función del valor
de estos tres bits, empezando por el más significativo (n2 ); es decir, si n2 es 0
la muestra quedará ordenada en una mitad, si es 1 en la otra. A continuación
se repite el proceso en ambas mitades, pero observando ahora el bit n1 . Final-
mente se repite el proceso para todas las subsecuencias obtenidas en el paso
anterior teniendo en cuenta el bit n0 .
Otra forma de ordenar la secuencia es en orden bit inverso, como en la
figura 2.27, donde la filosofı́a de ordenación es la misma que en el orden na-
tural pero el sentido de la misma es del bit menos significativo (n0 ) al más
significativo (n2 ).
En los diagramas de flujo que representan el algoritmo de la FFT (2.18
y 2.21) se observa que antes de empezar el algoritmo, la secuencia debe ser
ordenada en orden bit inverso, para poder ası́ implementar un algoritmo en el
sitio, resultando una secuencia de coeficientes X[k] ordenada en orden natural.
En la figura 2.12 podemos observar que la secuencia x[n] se divide en mues-
tras pares (mitad superior) e impares (mitad inferior), lo cual equivale a una
separación de las muestras examinando el LSB (n0 ), es decir, las muestras
con n0 = 0 (pares) quedarán ordenadas en la mitad superior y las que tienen
76 CAPı́TULO 2. TRANSFORMADA DISCRETA DE FOURIER

n0 n1 n2
-0 x[000] = x[0]
-0
-1 x[100] = x[4]
-0
-0 x[010] = x[2]
-1
-1 x[110] = x[6]
x[n2 n
-1 n0 ]
-0 x[001] = x[1]
-0
-1 x[101] = x[5]
-1
-0 x[011] = x[3]
-1
-1 x[111] = x[7]

Figura 2.27: Ordenamiento de una secuencia en orden bit inverso.

n0 = 1 (impares) pasarán a la mitad inferior. Para las dos subsecuencias obte-


nidas se debe repetir el mismo proceso (N veces), hasta obtener subsecuencias
de un solo elemento (figuras 2.17 y 2.15). Ası́ pues, la ordenación bit inverso
de la figura 2.27 es equivalente a separar la secuencia en muestras que ocupan
lugares pares o impares en la misma.

Formas alternativas
Si observamos las figuras que representan el grafo del algoritmo FFT (figu-
ras 2.18 y 2.21) podemos darnos cuenta que podrı́amos cambiar el orden de los
datos de entrada al algoritmo FFT siempre y cuando, con la nueva ordenación,
una muestra siga el mismo proceso, es decir, pase por las mismas ramas que
en el algoritmo original. Lo realmente importante es que una muestra sufra
los cálculos necesarios para que a la salida se obtengan los coeficientes de la
DFT, sin importar el orden en que se realicen los mismos. Ası́ pues, se podrı́a
pensar en nuevas ordenaciones de los datos que den lugar a nuevos grafos para
representar el algoritmo FFT. En la figura 2.28 puede observarse la forma del
grafo cuando el orden de la secuencia de entrada corresponde al orden natural,
que es, precisamente, el grafo original presentado por Cooley y Tukey.
Las implementaciones con las muestras de entrada en orden natural son
muy útiles en procesos en los que haya que concatenar FFT e FFTi, por ejem-
plo un filtrado (figura 2.29). De esta forma se pueden evitar varias ordenaciones
2.7. La FFT 77

x[0] b - b - b - b - b - b
H - b X[0]
*
 
@ @ H 
WN0 b -
 H

@ 
x[1] b - b b b @- b H b X[4]
@ H
jH
H
- - -
@
@
@ −1
WN0 b @ -@
@  @
x[2] b - b b @b bH - b X[2]
@ R
@ - - @ -
@
@ @ @
−1 H  
*

W0 2
@ @ H
H
WN b -H

x[3] b - b @- b - N b @b H b X[6]
@ @ R
@ jH
@ -@ -
@
@ @ @ −1 −1
W0
@
x[4] b - N b @b - b - b bH - b X[1]
@ @ R
@@
@ - -
−1
@ @ 
@ @ @ H *

W0 1
@ H
H
@  WN b -H
x[5] b - N b @- @ b - b @- b H b X[3]
@ R
@@ jH
@ -
@ @−1 @ −1
WN0 @ W2
@

x[6] b b @- @ b - N b @- @ b bH- b X[5]
@ R
@ @ @R
- @ -
@−1 −1 H *
 
W0 WN2 b 3
@ H

WN b -H
x[7] b - N b @b - @b H b X[7]
R
@ R
@ H
jH
-@ -@ -
−1 −1 −1

Figura 2.28: Algoritmo FFT de diezmado en el tiempo (N = 8) con


entrada en orden natural.

orden orden orden


natural
- Relleno natural
- FFTN bit inverso
x[n] con 0 
?
× - FFT−1 -
N
 orden orden
h[n]- Relleno - FFTN 6bit inverso natural
orden con 0 orden orden
natural natural bit inverso

Figura 2.29: Filtrado utilizando FFTs.

de la secuencia, proceso que puede resultar cada vez más lento a medida que
N crece.
Además de la estructura de la figura 2.28 existen otras formas derivadas
de las distintas ordenaciones de los datos de entrada y los nodos intermedios,
de las cuales no vamos a ocuparnos aquı́.
78 CAPı́TULO 2. TRANSFORMADA DISCRETA DE FOURIER

Cálculo de coeficientes
Como hemos visto anteriormente, para implementar el algoritmo FFT hace
falta una serie de coeficientes exponenciales WNr donde r = 0 . . . (N/2) − 1,
cuyo cálculo es un proceso que debe ser optimizado. Para ello se utilizan dos
métodos diferentes:

Uso de una tabla: calcular previmente todos los coeficientes necesarios


para implementar el algoritmo y guardarlos en una tabla. Este método
minimiza el tiempo de cálculo, pero necesita memoria para almacenar la
tabla.

Cálculo recursivo: consiste en calcular los coeficientes cuando sean nece-


sarios. En una etapa dada todos los coeficientes necesarios son múltiplos
de WN . Para optimizar se aplica la siguiente fórmula recursiva:
(l−1)
WNl = WN WN

es decir, para obtener el l-ésimo múltiplo de WN se necesita esta ba-


se y el último coeficiente calculado. Este método minimiza la memoria
necesaria optimizando también el tiempo de cálculo. Sin embargo, hay
que tener en cuenta que los coeficientes sufren un error de cuantificación
al almacenarlos, el cual se irá acumulando al ir aplicando la recursión,
haciéndose inaceptable si N crece mucho. Este problema tiene un pe-
queño arreglo introduciendo puntos de inicialización en la recursión, por
N
ejemplo WN4 = −j.

2.7.5. Algoritmos con N 6= 2υ


Hasta ahora hemos visto únicamente algoritmos rápidos de cálculo de la
DFT si la secuencia sobre la que se quiere realizar tiene un número de puntos
potencia de 2 (N = 2υ ). Estos algoritmos pueden generalizarse para valores
de N 6= 2υ , aunque ya no son tan eficientes. Los pasos a llevar a cabo para
implementar el algoritmo, en el caso general, serı́an los siguientes:

1. Descomponer el número de puntos en factores primos N = n1 n2 . . . nL .

2. La DFT de N puntos se divide en n1 DFTs de N/n1 combinándolas por


medio de unas operaciones auxiliares.

3. Cada DFT de N/n1 puntos se dividen en n2 DFTs de N/(n1 n2 ) puntos.


2.7. La FFT 79

4. El proceso continuarı́a hasta tener que implementar DFTs de nL puntos,


las cuales habrı́a que realizarlas por el método directo, por eso interesa
que nL sea el factor más pequeño.
El caso óptimo de este algoritmo general serı́a que todos los factores fueran
iguales e igual, a su vez, al factor primo menor, es decir, n1 = n2 = . . . = nL =
2; este serı́a el caso visto en secciones anteriores N = 2υ . El caso peor serı́a
que N fuera un número primo, ya que entonces no se podrı́a descomponer en
factores y habrı́a que calcular una DFT de N puntos por el método directo.
Vamos a ver un ejemplo que nos ayudará a comprender cómo se extenderı́an
estos algoritmos de diezmado en el tiempo al caso general en que N 6= 2υ .

Ejemplo: N = 3γ
Tendremos que realizar 3 DFTs de N/3 puntos.
N
X −1
X[k] = x[n] WNk n
n=0
◦ ◦ ◦
Separando las muestras en las situadas en 3, 3 +1 y 3 +2, tenemos5 :
N N N
3
−1 3
−1 3
−1
X X (3 r+1) k X (3 r+2) k
X[k] = x[3 r] WN3 r k + x[3 r + 1] WN + x[3 r + 2] WN
r=0 r=0 r=0
siendo
WN3 r k = W N
rk
3

tenemos finalmente que:

   
N N N
3
−1 −1 3 3
−1
X X X
rk  r k k  r k 2k
X[k] = x[3 r] W N + x[3 r + 1] W N  WN + x[3 r + 2] W N  WN
3 3 3
r=0 r=0 r=0
(2.22)
N N
3
−1 3
−1
X X
rk rk
En la ecuación (2.22) puede observarse que x[3 r] W N , x[3 r + 1] W N
3 3
r=0 r=0
N
3
−1
X
rk
y x[3 r + 2] W N , son DFTs de N/3 puntos combinadas entre sı́ por coefi-
3
r=0
cientes exponenciales múltiplos de WN . Este proceso debe iterarse hasta obte-
ner DFTs simples de 3 puntos. Con esto queda visto que el algoritmo general


5
La notación 3 indica múltiplos de 3.
80 CAPı́TULO 2. TRANSFORMADA DISCRETA DE FOURIER

conserva la misma idea que los algoritmos de diezmado en el tiempo (idem pa-
ra frecuencia) vistos en secciones anteriores para N = 2υ , aunque en nuestro
ejemplo la base en vez de 2 es 3. Si los factores en los que se descompone N
son diferentes (n1 6= n2 6= . . . 6= nL ), la base será mixta.

2.8. Problemas
1. Demuestre las propiedades de la sección 2.3.
2. Sea x[n] una señal real de duración N . Se define la señal x1 [n] de la
siguiente forma:
(
x[n] 0≤n≤N −1
x1 [n] =
x[2N − 1 − n] N ≤ n ≤ 2N − 1

Dibuje una señal arbitraria de 3 puntos y su correspondiente x1 [n]


Si llamamos X1 [k] a la DFT de 2N puntos de x1 [n], demuestre que:

Cx [k] = ejπk/2N X1 [k]

es real.
Encuentre qué simetrı́as existen en los valores de Cx [k].
Demuestre que se puede obtener x[n] a partir de Cx [k], k =
0, . . . , N − 1 e indique cómo. 6
3. Considere que x[n] sea una señal real y par que sea no nula en el intervalo
n = −M, . . . , M . Indique de qué señal z[n] (no nula de n = 0, . . . , N − 1
habrı́a de calcularse la DFTN para que los N valores obtenidos consti-
tuyan muestras de X(ejω ).
4. Demuestre que para una secuencia de N muestras, y su correspondiente
DFT de N muestras se cumple:
N −1 −1
X
2 1 NX
|x[n]| = |X[k]|2
n=0
N k=0

5. Sean dos señales de duración finita x[n] e y[n] tal que


( (
x[n] si 0 ≤ n ≤ 19 y[n] si 0 ≤ n ≤ 4
x[n] = y[n] =
0 resto 0 resto

6
A Cx [k] se le denomina Transformada del coseno.
2.8. Problemas 81

a) ¿Cuál es el máximo número posible de valores distintos de 0 en el


resultado de la convolución lineal entre x[n] e y[n]? b) La convolución
circular de 20 puntos de x[n] e y[n] es:

x[n]
20 y[n] = 15 0 ≤ n ≤ 19

Los primeros 4 puntos de la convolución lineal de x[n] e y[n] son:

x[n] ∗ y[n] = 4 0≤n≤3

Determine el valor del máximo número posible de puntos de la convolu-


ción lineal entre x[n] e y[n].

6. Determine el número medio de operaciones por muestra en los métodos


solape-suma y solape- almacenamiento usando FFTs.

7. Indique cómo generalizar el método de diezmado en frecuencia al caso


N = 3ν . Indique cuánto vale el número de productos complejos en este
caso.

8. Demuestre que una DFT de 4 puntos se puede realizar sin productos


complejos.

9. Desarrolla hasta la FFT2 el algoritmo de diezmado en frecuencia para


N = 8 de la figura 2.22.

10. Dibuje el diagrama de flujo del algoritmo FFT de diezmado en el tiempo


cuando N = 9 (ver sección 2.7.5).¿Cuál será en este caso el orden de los
datos de entrada?. ¿Cuántas operaciones por etapa se realizan? ¿Cuántas
operaciones totales?.

11. Determine el número de operaciones a realizar para implementar el al-


goritmo FFT de diezmado en el tiempo cuando N = aγ siendo a, γ ∈ Z.
82 CAPı́TULO 2. TRANSFORMADA DISCRETA DE FOURIER
Capı́tulo 3

Implementación de Filtros
Digitales

3.1. Introducción
En este tema se estudian los filtros digitales desde el punto de vista de su
implementación. Es decir, partiendo de su función de transferencia, H(z), se
tratan las técnicas para llevar a la realidad el filtro. Aunque el enfoque del tema
es genérico en cuanto a la tecnologı́a (hardware cableado o programado), en
algunas secciones se tratan aspectos especı́ficos de dispositivos programables
para tratamiento de señal (DSP).
También se estudian en el tema los efectos de precisión finita en filtros
digitales.

3.1.1. Aplicaciones de los filtros


Los filtros, sean estos digitales o analógicos, tienen un gran número de
aplicaciones. En este punto veremos algunas de ellas que permitan ilustrar
brevemente el gran número de aplicaciones que poseen los conceptos que se
irán estudiando a lo largo del tema.
En casi todas las aplicaciones subyace una de las dos posibles formas de
considerar un filtro:
En el dominio de la frecuencia: como sabemos, los filtros actúan modifi-
cando la amplitud y fase de las componentes sinusoidales de una señal.
Recordemos que cualquier señal puede considerarses como suma de si-
nusoides a través de la transformada de Fourier. Este hecho es usado en
distintas aplicaciones que veremos a continuación para:

83
84 CAPı́TULO 3. IMPLEMENTACIÓN DE FILTROS

• Eliminar determinadas componentes espectrales.


• Enfatizar o atenuar algunas componentes espectrales.
• Desfasar de forma distinta las diferentes componentes espectrales

En el dominio del tiempo: en este dominio, como es conocido, la relación


entre la entrada y la salida de un filtro viene dada por la convolución.
Notemos que la convolución indica que la señal de salida, para un cier-
to instante, no es otra cosa que una suma (finita o infinita) de valores
ponderados de la entrada en ciertos instantes (normalmente próximos).
En función de los coeficientes de ponderación, que dependen de la res-
puesta impulsional, encontraremos filtros que realizan un promedio en
un determinado intervalo de tiempo, o que buscan las transiciones en el
mismo,. . .

Pasemos a continuación a revisar algunas de las posibles aplicaciones y


observemos cómo siempre corresponden a una de las dos formas anteriores de
considerar las señales.

Limitación del ancho de banda En telecomunicación, existe muy a me-


nudo la necesidad de limitar el ancho de banda de las señales. Algunos
ejemplos de esta necesidad los encontramos en:

Multiplexado por división en frecuencia. Mediante esta técnica se


comparte un mismo medio fı́sico para transmitir diversas señales.
Para ello se desplaza cada una de las señales mensaje mediante
una portadora a una frecuencia diferente. A cada mensaje se le
reserva un cierto ancho de banda. Normalmente, el ancho de banda
de las señales mensaje es mayor que el asignado al mismo. Para
evitar que los espectros de los distintos mensajes se solapen se hace
necesario que antes de mezclar los distintos mensajes se asegure que
sus espectros no se solaparán. El filtrado se puede realizar tanto en
banda base como en paso-banda, pero en cualquier caso siempre
antes de la mezcla de las señales.
Multiplexado por división en tiempo. La idea es también transmitir
por un mismo medio fı́sico diversos mensajes, aunque en este caso
la forma de realizarlo es mediante la transmisión cı́clica de mues-
tras de los distintos mensajes. Dado que se transmiten muestras, es
necesario que las mismas se hayan obtenido de modo que no exista
aliasing. Ello implica la necesidad de que el ancho de banda de las
señales, antes de ser muestreadas, sea menor que la mitad de la
frecuencia de muestreo.
3.1. Introducción 85

Separación de señales multiplexadas en frecuencia Tal y como se aca-


ba de mencionar, cuando se multiplexan señales en frecuencia, cada una
de ellas ocupa una banda de frecuencias diferente. Para extraer una señal
es necesario el uso de un filtro que deje pasar la banda de frecuencias
ocupada por la misma y atenúe el resto. Si se desean obtener todas las
señales será necesario el uso de banco de filtros.

Controles de tono en audio De todos son conocidos los controles de gra-


ves y agudos de los equipos de audio. Estos controles no son otra cosa
que filtros cuyas caracterı́sticas podemos variar mediante un mando, de
forma que enfaticemos o atenuemos a voluntad bien las frecuencias altas,
bien las bajas.

Ecualizadores de audio Permiten controlar de forma más flexible la res-


puesta en frecuencia. Consisten normalmente en agrupaciones en cas-
cada o paralelo de filtros paso-banda centrados en distintas frecuencias
en los que es posible variar su ganancia. Dado que permiten variar in-
dividualmente la respuesta en frecuencia en un número más grande de
frecuencias, permiten un control más exacto de la respuesta en frecuencia
que los controles de tono.

Interpolación y diezmado de señales discretas Esta es una aplicación


tı́pica de los filtros digitales. Recordemos que la señal debe ser prefil-
trada antes de ser diezmada, y cuando se interpola hay que filtrar la
señal tras el relleno por ceros.

Conversión D/A Para eliminar las frecuencias imagen, es necesario el uso


de un filtro reconstructor tras la conversión D/A.

La anterior relación no pretende ser exhaustiva y únicamente pretende ilustrar


algunas de las aplicaciones más conocidas de los filtros.

3.1.2. Ventajas e inconvenientes de los filtros digitales


A la hora de plantearse la realización de un filtro, hay que realizar una
primera elección en cuanto a si el diseño lo realizaremos de forma analógica
o digital. Cada una de estas alternativas presenta ventajas e inconvenientes,
siendo misión del ingeniero que realice el diseño decidir la mejor opción en
cada caso.
De entre las ventajas de los filtros digitales podemos citar:

Posibilidad de lograr fase lineal exacta.


86 CAPı́TULO 3. IMPLEMENTACIÓN DE FILTROS

Insensibilidad a condiciones externas, especialmente la temperatura. No


precisan calibración ni compensaciones.

Posibilidad de filtrar varias señales a la vez. Dado que normalmente


se implementan mediante programas en un microprocesador (DSP), es
posible filtrar varias señales sin más que añadir conversores A/D y D/A
extra de modo que se puede rentabilizar el uso del DSP.

Posibilidad de integración. Dado que existen DSP’s con conversores A/D


y D/A integrados, es posible integrar varios filtros en un único chip.

Gran margen dinámico. En filtros analógicos es difı́cil lograr en la prácti-


ca atenuaciones mayores de 60–70 dB. En digital el lı́mite viene impuesto
por la calidad de los conversores A/D y D/A y el número de bits usados
en la aritmética del DSP.

Repetitividad. Un aspecto importante en la producción en serie es el ser


capaz de realizar cientos o miles de filtros idénticos. En el caso de filtros
digitales esto se logra sin más que ejecutar el mismo programa en cada
DSP. Con filtros analógicos, y dado que todos los componentes tienen
una cierta tolerancia, esto es difı́cil de lograr especialmente si el orden
del filtro es alto.

Posibilidad de reprogramación. Para cambiar la repuesta en frecuencia


del filtro basta con cambiar el programa que ejecuta el DSP. No será ne-
cesario realizar un nuevo hardware.

Posibilidad de realizar funciones adicionales. Dado que normalmente la


capacidad de cálculo del DSP permite disponer de tiempo de sobra para
realizar otras funciones, es posible utilizar este tiempo para realizar cosas
tales como codificar, controlar, etc.

Posibilidad de uso en muy bajas frecuencias. Los filtros analógicos des-


tinados a trabajar en muy bajas frecuencias precisan de capacidades e
inductancias grandes, lo que normalmente es problemático a la hora de
reducir el volumen y el coste. Los filtros digitales, tienen un comporta-
miento normalizado con respecto a la frecuencia, es decir, el filtro digital
trabaja de la misma forma con altas o bajas frecuencias analógicas con
tal de que su frecuencia digital normalizada sea la misma (recordemos
que la frecuencia normalizada depende de la frecuencia de muestreo).

Pasemos a comentar brevemente ahora los inconvenientes y limitaciones


fundamentales de los filtros digitales:
3.2. Planteamiento general del filtrado digital 87

x[n] y[n]
x(t) y(t)
- A/D - h[n] - D/A -

fs
6 fs
6

Figura 3.1: Esquema de filtrado de una señal analógica mediante un


filtro digital.

Calidad del A/D y el D/A. Cuando un filtro digital se usa para filtrar
señales analógicas, (figura 3.1) es necesario un interfaz analógico. La
calidad en cuanto a número de bits, linealidad, etc. de los conversores va
a condicionar mucho la calidad del filtrado analógico equivalente que se
logre.
Velodidad del A/D y el D/A. Para poder filtrar señales analógicas usan-
do filtros digitales ya hemos dicho que se hace necesario un interfaz
analógico. En la medida en que se disponga de conversores suficiente-
mente rápidos y precisos se podrá llevar a cabo el filtrado digital. Ac-
tualmente (1998) la tecnologı́a ofrece conversores de muy bajo coste y
alta calidad en frecuencias de audio (fs ≈ 45 Khz), donde es posible
encontrar conversores de más de 20 bits. En el margen de frecuencias
de video (fs ≈ 13 Mhz) existen conversores estandar de 8 bits, pero se
pueden encontrar de 10 y 12. Existen también conversores A/D y D/A
para aplicaciones especiales capaces de trabajar a frecuencias muy eleva-
das (con pocos bits). De entre ellos se puede mencionar los que utilizan
algunos osciloscopios digitales con frecuencias de muestreo de 2 Ghz, con
6 bits de resolución.
Efectos de precisión finita. Se deben a redondeos en las operaciones que
realizan los filtros digitales. Se estudiarán a lo largo del tema.
Tiempo y coste del desarrollo del hardware. Un filtro digital impli-
cará normalmente el desarrollo de un sistema microprocesador con in-
terfaz analógico.

3.2. Planteamiento general del filtrado digital


Las propiedades que caracterizan totalmente un filtro digital son una de
las siguientes:

La respuesta impulsional h[n].


88 CAPı́TULO 3. IMPLEMENTACIÓN DE FILTROS

La respuesta en frecuencia H(ejω ).

La función de transferencia H(z) más una región de convergencia (ROC)


que suele corresponder a las condiciones de estabilidad y/o causalidad.

Para que un filtro digital sea implementable, se deben dar las siguientes cir-
cunstancias:

Causalidad. Este requerimiento sólo afecta a los sistemas que funcionan


en tiempo real. En aquellos casos en los que el filtro digital opere sobre
señales almacenadas previamente, o cuando la variable independiente
no sea el tiempo, este requisito no es necesario. No obstante nosostros
supondremos, salvo indicación en contra, que los filtros serán causales.

Estabilidad. Aunque estrictamente no es necesaria, suele cumplirse siem-


pre en los sistemas prácticos para evitar que la señal de salida crezca
indefinidamente. Prácticamente todos los filtros que estudiaremos serán
estables y salvo que se indique lo contrario asumiremos la estabilidad.

Cantidad de almacenamiento finita. Como veremos, un filtro digital cal-


cula valores de la salida en función de valores anteriores de la entrada y
de la propia salida. Para que el filtro no se colapse y pueda seguir fun-
cionando por tiempo indefinido, es necesario que la cantidad de valores
a almacenar no crezca con el tiempo.

Cantidad de operaciones por muestra de salida finita. Relacionado con


el anterior punto, el número de operaciones por muestra a realizar debe
ser finito, es decir, no crecer con el tiempo. Esta condición (y la an-
terior) imponen ciertas limitaciones a la hora de saber qué filtros son
implementables y cuáles no.

Los filtros analógicos suelen implementarse con elementos circuitales que


dependen de la frecuencia, tı́picamente bobinas, condensadores, lineas de trans-
misión, . . . Los diferentes métodos de cálculo de la salida y(t) en función de la
entrada x(t) tienen por tanto un carácter analı́tico o de diseño pero nunca de
implementación.
Por contra, la expresión de la convolución:

X
y[n] = x[n] ∗ h[n] = h[k] x[n − k] (3.1)
k=−∞

sirve no sólo para analizar el comportamiento del filtro sino para implemen-
tarlo. Ello es debido a que la expresión (3.1) incluye únicamente productos y
3.2. Planteamiento general del filtrado digital 89

sumas que son realizables en un microprocesador. Si en dicha expresión (3.1)


imponemos la causalidad, resulta:

X
y[n] = x[n] ∗ h[n] = h[k] x[n − k] (3.2)
k=0

3.2.1. Implementabilidad de filtros FIR


En el caso en que el filtro a implementar sea FIR, es decir de respuesta
impulsional finita, la expresión (3.2) se convierte en:
L
X
y[n] = h[k] x[n − k] (3.3)
k=0

Es fácil ver que para calcular cada valor de la salida y[n] es necesario:

Realizar L + 1 productos.

Realizar L sumas.

Almacenar L valores anteriores de la entrada x[n]

Dado que tanto la cantidad de almacenamiento como el número de opera-


ciones por muestra de salida es finito podemos decir que los filtros FIR son
implementables, y que la expresión de la convolución constituye una forma
directa de implementación. Ya se han estudiado otras formas de implementar
filtros FIR como las vistas en el tema de DFT/FFT. Éstas no serán objeto
de tratamiento aquı́. Más adelante, estudiaremos otras formas de implementar
filtros FIR. Recordemos que la función de transferencia de un filtro FIR causal
es de forma polinómica:

H(z) = h[0] + h[1] z −1 + h[2] z −2 + · · · + h[L] z −L (3.4)

en la que se puede observar que los coeficientes de la función de transferen-


cia (3.4) coinciden con los de la expresión (3.3) de filtrado.
Un aspecto importante que conviene tener presente y en el que luego se
insistirá, es que un mismo filtro puede ser implementado de formas diferentes.
Podrı́a surgirnos la pregunta ¿Qué interés puede tener conocer distintas im-
plementaciones posibles de un mismo filtro? Si la aritmética utilizada fuera de
precisión infinita, es decir, si dispusieramos de un microprocesador con capa-
cidad de manejar tamaños de palabra infinitos, la respuesta a esta pregunta
serı́a ninguno. Ahora bien, si la aritmética empleada es de precisión finita,
puede tener ventajas el uso de una u otra implementación.
90 CAPı́TULO 3. IMPLEMENTACIÓN DE FILTROS

Cuando el filtro digital se utilice para el filtrado de señales analógicas con


la configuración mostrada en la figura 3.1, las muestras de la entrada serán
proporcionadas de forma secuencial al filtro digital. Para que pueda funcionar,
el tiempo necesario para realizar los cálculos necesarios para calcular un valor
de la salida (L + 1 productos y L sumas) debe ser menor que el periodo de
muestreo Ts .

3.2.2. Implementabilidad de filtros IIR


En el caso de filtros IIR causales, la ecuación (3.2) siempre contendrá un
número infinito de términos y por tanto no será util a la hora de implementar
filtros. Existen no obstante algunos filtros IIR que permiten ser implementados
con un número finito de operaciones por muestra. La clave para que esto resulte
posible no es otra que:

Procesar las muestras de salida en orden creciente, es decir, calcular y[n]


desde n = −∞ hacia n = ∞. Los filtros FIR también calculan la salida
normalmente de esta forma, aunque no existe ninguna razón para ello,
ya que los distintos valores de y[n] se calculan de forma independiente.

Utilizar valores de la salida calculados previamente, para calcular y[n]

En otras palabras, aquellos filtros IIR que permitan ser expresados como:
L
X N
X
y[n] = bk x[n − k] + ar y[n − r] (3.5)
k=0 r=1

y siempre y cuando los valores de x[n] se vayan teniendo disponibles secuen-


cialmente y los de y[n] se tengan que calcular del mismo modo (caso habitual),
podrán ser implementados con un número finito de operaciones por muestra.
La función de transferencia de los sistemas IIR que se pueden escribir la
forma de la ecuación (3.5) es:

b0 + b1 z −1 + · · · + bL z −L
H(z) = (3.6)
1 − a1 z −1 − · · · − aN z −N
es decir, de forma racional. Este tipo de funciones de transferencia tiene una
respuesta impulsional en forma de suma de exponenciales. Podemos decir por
tanto que, aquellos sistemas IIR causales cuya respuesta impulsiva sea una
suma de exponenciales serán implementables con un número finito de opera-
ciones por muestra.
3.2. Planteamiento general del filtrado digital 91

3.2.3. Proceso de implementación de un filtro digital


En esta sección veremos cuales son los principales pasos que deberemos
seguir desde que decidimos construir un filtro digital hasta que lo tenemos
funcionando.

1. Obtención de especificaciones. El primer paso de todo diseño consiste


en establecer lo que se quiere realizar. Este primer paso no es en abso-
luto trivial, pues tiene influencia en el resto de procesos. En concreto
habrá que tener en cuenta que:
Las especificaciones dependen de la aplicación.
Las especificaciones pueden venir dadas por normas.
En general, cuanto más exigentes seamos con las especificaciones
mayor será el coste del diseño.
2. Diseño del filtro. Consiste en obtener los coeficientes de H(z). A este
punto le dedicaremos un tema.
3. Selección del hardware. En este punto existen varias opciones:
Hardware dedicado. Se trata de construir un circuito integrado es-
pecı́fico para realizar este filtrado. Normalmente sólo es rentable si
se pretenden construir grandes series, y/o si la (alta) frecuencia de
muestreo impide el uso de dispositivos programables.
Hardware programable (DSP): Se trata en este caso de usar micro-
procesadores especializados para el tratamiento de señal en tiempo
real. Dentro de estos a su vez hay dos alternativas básicas:
• DSP coma fija. Suelen tener un menor coste que los de coma
flotante. El consumo es menor, lo que los hace preferibles en
aplicaciones portátiles basadas en baterı́as. Existen versiones
con velocidades mayores de reloj. Como contrapartida el sof-
tware es más costoso de programar, lo que incrementa el coste
de este aspecto. Un ejemplo tı́pico de aplicación de este tipo de
DSP es en los terminales de telefonı́a móvil GSM.
• DSP coma flotante. Tienen como principal ventaja la menor
dificultad del desarrollo del software.
La elección del DSP a usar debe depender de su capacidad para
realizar las operaciones requeridas por unidad de tiempo (depende
del orden del filtro y de la frecuencia de muestreo), ası́ como de
otros aspectos como la facilidad del desarrollo (disponibilidad de
herramientas de diseño), soporte del fabricante, precio unitario,. . .
92 CAPı́TULO 3. IMPLEMENTACIÓN DE FILTROS

4. Elección de la estructura del filtro. Una vez elegido el hardware es nece-


sario realizar un programa que ante una muestra de la entrada calcule
una muestra de la salida. Existen diversas formas, que veremos más ade-
lante, todas ellas equivalentes con precisión infinita en los cálculos, para
calcular las muestras de la salida. Cada una de estas formas recibirá el
nombre de estructura.

5. Análisis de los efectos de precisión finita. Sobre todo con los DSP de
punto fijo es necesario realizar un estudio de los efectos secundarios que
se producen por el hecho de no usar aritmética de precisión infinita.

6. Implementación del hardware incluyendo interfaz analógico. Será bási-


camente un diseño digital con microprocesador.

7. Implementación del software. Consiste en programar en el lenguaje ade-


cuado la rutina que ante una muestra de la entrada calcula la muestra de
la salida. Puede ser desarrollado en lenguajes de alto nivel (normalmente
C) y mediante un compilador generar el código. No obstante, sobre todo
en diseños crı́ticos, muchas veces se prefiere la programación directa en
ensamblador ya que de esta forma el código puede ser optimizado más.

3.3. Implementación de filtros digitales


En este apartado supondremos que conocemos los coeficientes de un filtro,
y pretendemos implementarlo, es decir, pretendemos realizar algo que dada
una señal cualquiera de entrada x[n] vaya calculando las muestras de la señal
filtrada y[n]. Ası́ mismo, en esta sección veremos los efectos de precisión finita
sobre los filtros digitales.

3.3.1. Diagramas de flujo


Consideremos, por ejemplo, el caso de un sistema IIR causal. La ecua-
ción (3.5) que reproducimos a continuación expresa una forma de implementar
el filtrado. En otras palabras, expresa explı́citamente qué operaciones hay que
realizar para calcular de forma recursiva la salida.
L
X N
X
y[n] = bk x[n − k] + ar y[n − r] (3.7)
k=0 r=1

Resulta útil realizar una representación gráfica de las operaciones que ex-
presa la ecuación (3.7). Para ello utilizaremos los denominados diagramas de
3.3. Implementación de filtros digitales 93

flujo o grafos. Un diagrama de flujo es una red de ramas dirigidas que in-
terconectan nodos. Los nodos corresponden normalmente a variables y tienen
asociado un cierto valor. Las ramas son conexiones orientadas que en su origen
están conectadas a un nodo del que toman su valor, y tras aplicarle una cierta
operación entregan, a otro nodo, el valor procesado de su entrada. Los tipos
de rama que consideraremos en los filtros lineales son:
Constantes multiplicativas El valor de salida de la rama es el de la entrada
multiplicado por una cierta constante. Se representa como muestra la
figura 3.2.

b a
- b

Figura 3.2: Rama multiplicativa.

Retardo Los valores de los nodos deben ser recalculados cada vez que lle-
ga una nueva muestra. Interesa a menudo guardar el valor de un nodo
para el instante siguiente. Esto lo haremos con ramas de retardo y lo
representaremos como se muestra en la figura (3.3).
−1
z-
b b

Figura 3.3: Rama Retardo.

Conexión La salida de la rama es igual a su entrada. Equivale a una rama


multiplicativa cuya constante vale a = 1. No representaremos el valor de
a.
Observemos que en ambos tipos de rama, la etiqueta corresponde con la fun-
ción de transferencia de la misma.
En cuanto a los nodos serán los puntos donde confluyan ramas. Distingui-
remos los siguientes tipos de nodo:
Nodo fuente A él no entran ramas, únicamente salen. Suele corresponder
con generadores o fuentes de señal.
Nodos sumidero De él no salen ramas, únicamente entran. Suelen corres-
ponder con la salida de los filtros.
Nodos intermedios Son los que tienen ramas entrantes y salientes. El valor
del nodo es la suma de los valores de salida de las ramas que entran. Si
hay varias ramas de salida, el valor del nodo es pasado a todas ellas.
94 CAPı́TULO 3. IMPLEMENTACIÓN DE FILTROS

x[n] b
0 y[n]
r - r - r - r - r - r

z −1 ? 6 6 z −1
?
b
1 a1
r - r r  rX
y
X

*

 XX
y[n − 1]
x[n − 1] 
z −1 ? 6 6 ? z −1
b
2 a2
r - r r  r

z −1 ? 6 6 z −1
?
b
3 a3
r - r r  r

z −1 ? 6 6 z −1
?
b
4 a4
r - r r  r

Figura 3.4: Representación mediante diagrama de flujo de las opera-


ciones para implementar un filtro IIR en forma directa I. La figura se
ha particularizado para L = N = 4.

Una vez definidos los elementos básicos de un grafo, veamos en la figu-


ra 3.4 la representación gráfica de la ecuación (3.7). La misma muestra una
descripción gráfica de las operaciones a realizar cada vez que llega una nueva
muestra de entrada. Los nodos normalmente se asocian con variables en un
programa. Todos los nodos deben actualizar su valor cada vez que llega una
nueva muestra de entrada. El nodo marcado con x[n] es un nodo fuente. El
nodo y[n] es un nodo sumidero. Puede observarse también las cadenas de ele-
mentos retardadores de la entrada y de la salida que permiten almacenar los
valores de instantes anteriores de ambas señales.

3.3.2. Formas directas


La figura 3.4 muestra lo que se conoce como Forma Directa I de un filtro
IIR. Se pueden distinguir claramente dos etapas. Como cada una de ellas es un
LTI es posible permutarlas. Si además, tras la permutación, se repara en que
ambas cadenas de retardadores son alimentadas con las mismas muestras, es
posible llegar a la estructura que se muestra en la figura 3.5. La misma expresa
una forma alternativa de realizar los cálculos necesarios para determinar cada
3.3. Implementación de filtros digitales 95

x[n] b
0 y[n]
r - r - r - r - r

6 z −1
? 6
a1 b1
r  r - r

6 z −1
? 6
a2 b
2
r  r - r

6 z −1
? 6
a3 b3
r  r - r

6 z −1
? 6
a4 b
4
r  r - r

Figura 3.5: Representación mediante diagrama de flujo de las opera-


ciones para implementar un filtro IIR en forma directa II.

muestra de la salida ante una nueva muestra de la entrada. Esta estructura


recibe el nombre de Forma Directa II de un filtro IIR. Tiene como principal
ventaja el hecho de que como normalmente N = L se precisa la mitad de la
memoria (elementos z −1 ).
Mediante los diagramas de flujo hemos sido capaces de encontrar dos for-
mas distintas de calcular las muestras de salida. Ambas son equivalentes con
precisión infinita.
Los diagramas de flujo proponen una implementación hardware directa de
los filtros digitales. Nótese que las cadenas de retardadores se pueden imple-
mentar con registros de desplazamiento y los sumadores y multiplicadores son
circuitos digitales combinacionales.
También existen dispositivos analógicos de tiempo discreto que utilizan
estructuras como las mostradas en las figuras 3.4 y 3.5. Un ejemplo de los
mismos son los filtros con tecnologı́a CCD empleados en los receptores de TV.
En cuanto a los filtros FIR, la ecuación (3.3) permite dibujar el grafo de
la figura 3.6. Dicha estructura se corresponde con la llamada forma directa de
un filtro FIR. También se le suele denominar filtro transversal.
96 CAPı́TULO 3. IMPLEMENTACIÓN DE FILTROS

−1
z- −1
z- −1
z- −1
z-
x[n] r - r r r r r

h[0]
? h[1]
? h[2]
? h[3]
? h[4]
?
r - r - r - r - r - r y[n]

Figura 3.6: Forma Directa de un filtro FIR.

3.3.3. Realización en Cascada


Dada la función de transferencia racional de un filtro, es posible factori-
zarla:
L
(1 − ck z −1 )
Y
b0 + b1 z −1
+ · · · + bL z −L
H(z) = = b0 k=1 (3.8)
1 − a1 z − · · · − aN z −N
−1 N
(1 − dk z −1 )
Y

k=1
donde ck son los ceros de H(z) y y dk sus polos. Una vez realizada la facto-
rización, es posible descomponer H(z) como producto (cascada) de secciones
de orden 1 (ceros/polos reales) u orden 2 (ceros /polos complejos agrupados
por pares conjugados). Veamos un ejemplo. Supongamos la siguiente función
de transferencia:
1 − 0,8z −1 + 0,37z −2 − 0,05z −3
H(z) = =
1 + 0,9z −1 + 0,4z −2 + 0,1z −3
(1 − 0,6z −1 + 0,25z −2 ) (1 − 0,2z −1 )
=
(1 + 0,5z −1 ) (1 + 0,4z −1 + 0,2z −2 )
A través de esta factorización, es inmediata la implementación que se muestra
en la figura 3.7.
Obsérvese que:

En la figura 3.7 las secciones de orden 1 ó 2 se han realizado con formas


directas II. También podrı́an haberse realizado con secciones en forma
directa I.
Aunque la relación entrada-salida es la misma que si se hubiera imple-
mentado en forma directa el filtro de orden 3, los cálculos intermedios
involucrados son diferentes.
El orden de las secciones podrı́a ser cambiado. La relación E/S no cam-
biarı́a pero sı́ las operaciones internas.
3.3. Implementación de filtros digitales 97

La forma de emparejar los ceros y los polos puede cambiar. Es decir,


podrı́a haber emparejado el cero real con los polos complejos y haber
formado ası́ una de las secciones.

Resumiendo, podemos decir que existen múltiples posibilidades de realización


en cascada todas ellas equivalentes con precisión infinita.
Los filtros FIR también admiten una realización en cascada.

r - r - r - r - r - r - r - r
x[n] y[n]
z −1
? 6 z −1
? 6
-0.5
 r -0.2
- r -0.4
 r -0.6
- r

z −1
?
−0,2 0.25
 -

Figura 3.7: Realización en cascada del ejemplo del texto.

r - r - r - r - r
x[n] y[n]
6 z −1
? 6
−0,9 −0,8
r  r - r

6 z −1
? 6
−0,4 0,37
r  r - r

6 z −1
? 6
−0,1 −0,05
r  r - r

Figura 3.8: Realización en forma directa II del ejemplo de la figura 3.7.


98 CAPı́TULO 3. IMPLEMENTACIÓN DE FILTROS

3.3.4. Realización en paralelo


Consideremos la función de transferencia H(z) de un filtro IIR de coefi-
cientes reales:
L
bk z −k
X

k=0
H(z) = N
(3.9)
an z −n
X
1−
n=1

En el caso más general podemos descomponer la anterior expresión como suma


de fracciones simples:
Np N1 N
Ak 2
Bk (1 − ek z −1 )
ck z −k +
X X X
H(z) = + (3.10)
k=0 k=1
1 − dk z −1 k=1 (1 − fk z −1 ) (1 − fk∗ z −1 )

donde:

El primer término sólo existe si el grado del numerador de H(z) en z −1


es mayor o igual que el del denominador. En ese caso Np = L − N .

El segundo término existe únicamente si H(z) tiene polos reales. En ese


caso N1 es el número de polos reales.

El tercer término existe si H(z) tiene polos complejos. En ese caso N2


es el número de pares de polos complejos conjugados.

Veamos un ejemplo que sólo tiene polos reales:

1 + 2 z −1 + z −2 18 25
H(z) = =8+ −
1 − 0,75 z −1 + 0,125 z −2 1 − 0,5z −1 1 − 0,25z −1

Dado que los filtros FIR no tienen polos, estos no admiten realización en
paralelo.

3.3.5. Formas transpuestas


Existe un teorema de la teorı́a de grafos (cuya demostración no veremos)
que dice:

En sistemas con una entrada y una salida, si se invierte el sentido


de todas las ramas de un grafo sin cambiar sus pesos, el sistema
obtenido es equivalente
3.3. Implementación de filtros digitales 99

-
8

r - r - r - r 18
- r - r
x[n] y[n]
z −1
?
0.5
 r
- r - r -25
-

z −1
?
0.25
 r

Figura 3.9: Realización en paralelo del ejemplo del texto.

Nótese que para aplicar el teorema anterior hay que considerar la entrada del
nuevo sistema (con las ramas en sentido inverso) en el punto donde el sistema
original tenı́a la salida y viceversa.
El anterior teorema puede aplicarse a cualquier grafo: FIR, IIR, cascada,
paralelo, . . .
Veamos un ejemplo. En la figura 3.11 vemos cómo serı́a la forma directa
II de un filtro cuya función de transferencia es:

b0 + b1 z −1 + b2 z −2
H(z) = (3.11)
1 − a1 z −1 − a2 z −2
r - r - r - r - r
x[n] y[n]
6 z −1
? 6
0,75 2
r  r - r

6 z −1
? 6
−0,25
r  r - r

Figura 3.10: Realización en forma directa del ejemplo de realización


en paralelo de la figura 3.9.
100 CAPı́TULO 3. IMPLEMENTACIÓN DE FILTROS

b
0
r - r - r - r - r
x[n] y[n]
6 z −1
? 6
a1 b1
r  r - r

6 z −1
? 6
a2 b2
r  r - r

Figura 3.11: Realización en forma directa II de la función de transfe-


rencia de la ecuación (3.11).

b
0
r - r - r - r - r
x[n] y[n]
? z −1
6 ?
b
1 a1
r - r  r

z −1
6
b
2 a2
- r 

Figura 3.12: Forma transpuesta de la forma directa II de la función


de transferencia de la ecuación (3.11).

Si cambiamos el sentido de todas las ramas, obtenemos el grafo de la figura 3.12


correspondiente a la forma transpuesta de la figura 3.5.
Aunque en principio la apariencia de la forma transpuesta es similar a la
original, un examen detallado de las ramas permite descubrir que las operacio-
nes intermedias realizadas son totalmente distintas en ambos casos. Aunque
no veremos una demostración del teorema de transposición de grafos, en la
sección siguiente comprobaremos que la función de transferencia H(z) de la
forma transpuesta coincide con la original de la ecuación (3.11).

3.3.6. Determinación de la función de transferencia de un grafo


En esta sección presentaremos un procedimiento general de análisis de gra-
fos que nos permitirá determinar su H(z). Para centrar la explicación utilizare-
3.3. Implementación de filtros digitales 101

mos como ejemplo la forma transpuesta de la figura 3.12 de la que calcularemos


su función de transferencia.
Para analizar un grafo, los pasos a seguir son:

Asignar variables a los distintos nodos. El nodo de la entrada lo llama-


remos x, el de la salida y, y al resto vk . Hay que tener presente que:

• si en un nodo entra una sola rama de peso 1, la variable de ese nodo


será la misma que la del nodo origen de la rama.
• podemos reducir el número de nodos si eliminamos aquellos que
correspondan a sumas parciales.

En el ejemplo analizado, la figura 3.13 muestra los nombres dados a cada


nodo.

Dado que el grafo representa las operaciones a realizar por muestra, si


consideramos todos los instantes de tiempo tendremos una secuencia
para cada nodo. El siguiente paso consiste en establecer las relaciones
entre (las transformadas Z de) los distintos nodos. Tendremos que plan-
tear tantas ecuaciones como nodos intermedios tengamos más uno (de
la salida). En nuestro ejemplo:

y Y (z) = b0 X(z) + V1 (z) z −1


v1 V1 (z) = b1 X(z) + V2 (z) z −1 + a1 Y (z)
v2 V2 (z) = b2 X(z) + a2 Y (z)

Finalmente, dado que tendremos una ecuación menos que incógnitas (la
entrada no tiene ecuación), sólo resta despejar la relación Y (z)/X(z) =

b y
0
r - r - r - r - r
x y
z −1
? 6 ?
b1 v1 a1
r - r  r
z −1
6
b v2 a
2
- r  2

Figura 3.13: Forma transpuesta con variables asignadas a nodos.


102 CAPı́TULO 3. IMPLEMENTACIÓN DE FILTROS

H(z) para obtener la función de transferencia. Realizando esto en nuestro


caso se obtiene:
Y (z) b0 + b1 z −1 + b2 z −2
H(z) = =
X(z) 1 − a1 z −1 − a2 z −2

que puede comprobarse que coincide con (3.11) de la forma directa de


la figura 3.11.

3.3.7. Secuencia de cálculo


Los grafos indican las operaciones a realizar cada vez que llega una nue-
va muestra de entrada. En muchas ocasiones, dichas operaciones deben ser
programadas en un lenguaje que realice las operaciones de forma secuencial.
En ese caso habrá que realizar un programa que implemente exactamente las
operaciones descritas en el grafo.
El primer paso consiste en asignar a cada nodo una variable. Los programas
realizados tendrán el aspecto de una subrutina en el que todas las variables
deben actualizar sus valores de forma ordenada. Inicialmente, consideraremos
las siguientes reglas a la hora de decidir el orden de actualización:

Al comienzo de la subrutina, todas las variables se considerarán del ins-


tante n − 1.

Cuando una variable se actualiza pasa a ser del instante n. A la salida


de la subrutina todas las variables se considerarán del instante n.

Cuando se suman variables, tienen que corresponder al mismo instante.

Hay que evitar sobreescribir cosas que puedan ser necesarias.

Veremos a continuación algunos ejemplos para centrar las ideas.

Ejemplo 1: Forma directa II de un filtro IIR

Consideremos la estructura de la figura 3.14 en la que se han se señalado


los nodos. El procesador sobre el que se vaya a implementar el filtrado, en
estado normal estará sin hacer nada (IDLE). Supondremos que cuando el
A/D digitaliza una nueva muestra se genera una interrupción. El programa
que realmente realiza el filtrado será una rutina de interrupción.
Inicialmente se está en estado de reposo. Este estado suele corresponder
a un modo de bajo consumo de los DSP. De este estado se sale únicamente
cuando se produce una interrupción (debida a la llegada de una muestra del
3.3. Implementación de filtros digitales 103

v b
r - r - r 0 -0 r - r
x y
6 z −1
? 6
a1 v b
r  r 1 -1 r

6 z −1
? 6
a2 v2 b2
r  r - r

Figura 3.14: Forma directa II con asignación de variables a nodos.

VARS x, y, v0 , v1 , v2
ESPERAR: IDLE
GOTO ESPERAR
INTERR:
X=INPUT /* Leer muestra de A/D */
V2=V1
V1=V0
V0=X+ A1 V1
V0=V0 + A2 V2
Y=B0 V0 + B1 V1
Y=Y+B2 V2
OUT (Y) /*Sacar muestra al D/A */
RTI /*Retorno de interrupcion*/

Figura 3.15: Programa en pseudocódigo que implementa la forma di-


recta II de la figura 3.14.

A/D). Al llegar la interrupción se ejecuta la rutina de atención de la misma


y se pasa a ejecutar la siguiente instrucción, que nos devuelve al estado IDLE
hasta que llegue una nueva muestra.
El programa que implementarı́a los cálculos de la figura 3.14 se muestra
en la figura 3.15. Existe una primera sección con la declaración de las varia-
104 CAPı́TULO 3. IMPLEMENTACIÓN DE FILTROS

bles necesarias, un pequeño programa principal y la rutina de atención a la


interrupción que es propiamente lo que nos interesa. Dicha rutina comienza
leyendo la nueva muestra del A/D. A continuación hemos de actualizar el resto
de los nodos. Cabrı́a preguntarse ¿Por qué se comienza por V2? La respuesta
serı́a: por eliminación.
Si hubiéramos empezado por V1 hubiéramos perdido su valor en el ins-
tante anterior, que ya no habrı́amos podido copiar a V2.
Lo mismo con respecto a empezar por V0.
Y no puede ser calculado al principio pues para ello son necesarios los
valores en el instante actual de V0, V1 y V2.
Por lo tanto el único orden posible es el que se muestra en la figura 3.15.

Ejemplo 2: Forma directa de un filtro FIR (versión 1)

Consideremos ahora la forma directa de un filtro FIR de orden 4 que se


muestra en la figura 3.16. En ella ya se han representado las variables que
utilizaremos en nuestro programa.
El programa necesario para implementar los cálculos que expresa la figu-
ra 3.16 se muestra en la figura 3.17. Hay que notar que el orden en que se
han de realizar las operaciones es necesariamente el mostrado, por las mismas
razones que en el ejemplo 1. Se pueden realizar las siguientes observaciones.
Los cálculos que se hacen en los filtros suelen ser de la forma Y =
Y + A · B, es decir un producto y una acumulación (MAC: Multiply and
Acumulate). La mayorı́a de los DSP comerciales son capaces de realizar
estas operaciones en una única instrucción.
El resto de las operaciones son simples desplazamientos de datos. Nótese
que en este caso la cantidad de instrucciones útiles es prácticamente la
misma que de desplazamientos (inútiles).

Xr −1 V 1 z −1 V 2 z −1 V 3 z −1 V 4
z-
X r - r - r - r - r

b0
? b1
? b2
? b3
? b4
?
r - r - r - r - r - rY

Figura 3.16: Forma directa con variables asignadas a nodos de un filtro


FIR.
3.3. Implementación de filtros digitales 105

VARS X, Y, V1, V2 ,V3, V4


ESPERAR: IDLE
GOTO ESPERAR
INTERR:
V4=V3
V3=V2
V2=V1
V1=X
X=INPUT /* Lee muestra de A/D */
Y= B0 X
Y= Y + B1 V1
Y=Y+B2 V2
Y=Y+B3 V3
Y=Y+B4 V4
OUT (Y) /*Saca muestra al D/A */
RTI /*Retorno de interrupcion*/

Figura 3.17: Programa en pseudocódigo que implementa la forma di-


recta del filtro FIR de la figura 3.16.

Para evitarnos las instrucciones de los desplazamientos, los DSP tienen


alguna de las siguientes soluciones:

• Al mismo tiempo que hago el MAC copio uno de los factores a


una posición de memoria correlativa. Llamaremos a esta instruc-
ción MACD (MAC con Desplazamiento). Es tı́pica de los DSP de
la marca Texas Instruments entre otros. En la figura 3.18 se muestra
como deberı́a reescribirse el programa para reducir a aproximáda-
mente la mitad el número de instrucciones que ejecuta el DSP.
Nótese que el orden en que se realizan las sumas es el inverso al de
la figura 3.17. Esto es necesario para poder utilizar las instruccio-
nes MACD. Nótese también que a diferencia de lo explicado más
arriba, cada ciclo de la interrupción prepara las variables para el
instante siguiente, es decir a la entrada de la rutina de interrupción
las variables son del instante n y al final de la misma son las del
instante n + 1.
106 CAPı́TULO 3. IMPLEMENTACIÓN DE FILTROS

VARS X, Y, V1, V2 ,V3, V4


ESPERAR: IDLE
GOTO ESPERAR
INTERR:
X=INPUT /* Leer muestra de A/D */
Y= B4 V4

Y=Y+B3 V3 /*1a instrucción MACD */


V4=V3

Y=Y+B2 V2 /*2a instrucción MACD */


V3=V2

Y=Y+B1 V1 /*3a instrucción MACD */


V2=V1

Y=Y+B0 X /*4a instrucción MACD */


V1=X

OUT (Y) /*Sacar muestra al D/A */


RTI /*Retorno de interrupcion*/

Figura 3.18: Programa en pseudocódigo que implementa la forma di-


recta del filtro FIR de la figura 3.16 utilizando instrucciones MACD.

• Uso de buffers circulares por hardware. Consiste en no mover las


muestras, sino variar un puntero. Ejemplos tı́picos de DSP que tie-
nen este tipo de recurso son el TMS32050 (Texas Instruments) la
familia 2100 de Analog Devices entre otros.

Buffers Ciculares

Consisten básicamente en una zona de memoria, a la que se accede con un


puntero. Sobre dicho puntero se pueden realizar operaciones aritméticas del
tipo incremento o decremento con las siguientes particularidades:

Cuando al incrementar el puntero se supera la última dirección de me-


moria del buffer, automáticamente se apunta a la primera.
3.3. Implementación de filtros digitales 107

Puntero Muestras
?
Buffer Muestras
x[n]
x[n − M ] x[n − 1] @@ x[n − M − 1]
x[n − L]
x[n − 2]

Buffer Coeficientes
b0 b1 bL
6
Puntero Coeficientes

Figura 3.19: Buffer Circular.

Cuando se decrementa el puntero y se supera la primera dirección, au-


tomáticamente el puntero apunta a la última.

Los DSP que utilizan esta técnica tienen una arquitectura que permite rea-
lizar los incrementos y comprobaciones de si se ha alcanzado el final por har-
dware (sin necesitar instrucciones adicionales). El esquema de cómo se podrı́a
realizar un filtrado FIR utilizando esta técnica se muestra en la figura 3.19.
Supongamos, por ejemplo, un filtro FIR:
L
X
y[n] = h[k] x[n − k]
k=0

Para calcular un valor de la salida, nos hacen falta la muestra actual x[n] y
L muestras anteriores de la entrada. Supondremos que tenemos un buffer de
L + 1 elementos que contiene dichas muestras y un puntero que apunta a la
muestra actual.
Cuando llega una nueva muestra:

1. El puntero se incrementa. Ahora apunta a la muestra más antigua del


buffer

2. Se escribe la nueva muestra en el lugar apuntado por el puntero.

Tras esto, el puntero apunta a la muestra más reciente. A continuación, para


realizar los productos y sumas, se realizan L + 1 operaciones, de decremento
sobre el puntero de las muestras, y de incremento (circular) sobre el de los
coeficientes, de forma que se va recorriendo las mismas y se van efectuando los
108 CAPı́TULO 3. IMPLEMENTACIÓN DE FILTROS

productos y sumas. Nótese que como el buffer es de tamaño L+1, si realizamos


L + 1 incrementos (o decrementos) el puntero tendrá la misma posición al final
que la que tenı́a al inicio.
Obsérvese que, dado que además, el control de los bucles no consume ciclos
de CPU en la mayorı́a de DSP, es posible implementar un filtro FIR con una
instrucción por muestra.

3.4. Efectos de precisión finita


En esta sección se estudian los efectos que se producen debido a que los
números involucrados en la implementación de filtros digitales (coeficientes y
muestras) están cuantificados.
Los efectos de precisión finita son normalmente despreciables si se emplea
aritmética de coma flotante. Sin embargo si la aritmética es de coma fija es
necesario tenerlos presentes. En el resto de esta sección se presentan los dife-
rentes efectos debidos a la precisión finita en sistemas con aritmética de coma
fija.

3.4.1. Cuantificación de los coeficientes


Cuando se diseña un filtro, se emplean diversos métodos que proporcionan
un conjunto de coeficientes bk y ak para numerador y denominador respec-
tivamente. A la hora de implementar el filtro, dichos coeficientes deben ser
introducidos en un programa y por lo tanto codificados con un número finito
de bits.
N (z)
H(z) = (3.12)
D(z)
Si consideramos una forma directa, los coeficientes a introducir en el procesa-
dor serán directamente los coeficientes de H(z). Centrémonos por ejemplo en
el numerador:

N (z) = b0 + b1 z −1 + b2 z −2 + · · · + bM z −M (3.13)

Si llamamos b̂k a los coeficientes cuantificados (los que utilizamos realmente


en el DSP):
b̂k = Q[bk ]
y consideramos el polinomio formado por los coeficientes cuantificados

N̂ (z) = b̂0 + b̂1 z −1 + b̂2 z −2 + · · · + b̂M z −M (3.14)

es fácil darse cuenta que:


3.4. Efectos de precisión finita 109

El hecho de que los coeficientes estén cuantificados cambia la respuesta


en frecuencia del filtro. Para ello basta con darse cuenta que la respuesta
en frecuencia es el cociente de los polinomios numerador y denominador
particularizados en z = ejω

Al cuantificar los coeficientes de un polinomio (numerador o denomina-


dor), sus raı́ces cambian de lugar. Si llamamos zj a las raı́ces, tenemos:

ẑj = zj + ∆zj

La cuantificación de los coeficientes en una forma directa afecta de forma


independiente al numerador y al denominador. Es decir, la cuantificación
de los coeficientes del numerador afecta sólo a los ceros, mientras que los
del denominador a los polos únicamente.

Mediante un análisis de sensibilidad, se puede llegar a la conclusión de que


lo que se mueve una raı́z, ∆zj , por el hecho de cuantificar los coeficientes del
polinomio:

Es mayor cuantos menos bits se empleen en cuantificar los coeficientes.

Es mayor cuanto mayor es el grado del polinomio. Cuanto mayor es el


grado del polinomio, más coeficientes se cuantifican, y dado que todos
los coeficientes influyen en cada raı́z, ésta se moverá más.

Es mayor si la raı́z tiene raı́ces próximas. Los filtros suelen tener muchos
polos próximos si el filtro tiene una respuesta en frecuencia abrupta.

IMPORTANTE: Al cuantificar los coeficientes del denominador de un


filtro IIR puede suceder que alguna raı́z (polo) se salga de la circunferen-
cia unidad. Ello provocarı́a que aunque el filtro con los coeficientes sin
cuantificar sea estable, el filtro de coeficientes cuantificados sea inestable.
Esta situación se dará si tenemos muchos polos y/o están muy próximos
entre sı́ y/o se usan pocos bits y/o los polos están muy próximos a la
circunferencia unidad. Si tenemos sospechas de que puede suceder esto,
deberemos comprobar siempre la estabilidad del filtro con los coeficientes
cuantificados.

En la figura 3.20 se muestra un ejemplo correspondiente a un filtro IIR de


Butterworth, en el que se puede apreciar en la figura (a) el efecto sobre la
banda de paso por el hecho de que los coeficientes estén cuantificados y en
la figura (b) el efecto sobre la banda atenuada. Nótese, que normalmente la
110 CAPı́TULO 3. IMPLEMENTACIÓN DE FILTROS

Butterworth-8 Butterworth-8
0
-10
1 Coef. cuantif. 8 bits
Coef sin cuantificar -20
-30
Coef. cuantif. 8 bits
-40 Coef sin cuantificar
-50
-60
-70
-80
-90
0 -100
0 0.25 0.5 0 0.25 0.5
f f

(a):Escala lineal (b):Escala en dB

Figura 3.20: Efectos en la respuesta en frecuencia de la cuantificación


de los coeficientes.

cuantificación de los coeficientes empeora la respuesta en frecuencia (mayor


rizado en la banda de paso y menor atenuación en la banda atenuada.
En la figura 3.21 se muestran los polos del mismo filtro de Butterworth
con coeficientes sin cuantificar y cuantificados con 8 bits. Puede apreciarse
cómo los polos cambian de ubicación. Nótese como los polos que tienen menos
polos cerca (el D y el D’) se mueven menos que aquellos que tienen más polos
próximos (el A y el A’).
Para reducir los efectos de la cuantificación de los coeficientes interesarı́a
que:

Los polinomios del numerador y denominador tuvieran un grado pe-


queño.

Los polos estuvieran lo más separados posible.

La forma en cascada, como hemos visto, descompone H(z) como producto de


secciones de orden 1 y 2. De esta forma cada coeficiente influye únicamente
en un par de raı́ces complejas conjugadas. Además los coeficientes del deno-
minador influyen únicamente en los polos y los del numerador en los ceros. Es
por ello que la respuesta en frecuencia de las secciones en cascada se degrada
menos que en una forma directa, especialmente si el orden del filtro es alto
y/o los polos están muy próximos.
En cuanto a la forma paralelo, ésta descompone H(z) como suma de frac-
ciones simples. Cada una de ellas tiene un denominador que corresponde a un
3.4. Efectos de precisión finita 111

Polos Butterworth 8. o: cuantif. 8 bits *: Sin cuantif


90
0.9
120 60
D

0.6
C
150 30

180 0
A'

B'

210 C' 330

D'
240 300
270

Figura 3.21: Movimiento de los polos de un filtro de Butterworth de


orden 8 al cuantificar los coeficientes.

polo real o un par de polos complejos conjugados. Por tanto los coeficientes del
denominador de una fracción sólo influyen en los polos asociados a la misma
(lo mismo que en la forma en cascada). Por contra, en la forma paralelo, los
ceros dependen de todos los coeficientes de los denominadores y todos los de
los numeradores. Cabe esperar por tanto que los ceros se muevan más que en
la forma directa.
En general, con respecto a la cuantificación de los coeficientes, la mejor es
la forma en cascada, seguida por la forma en paralelo, y finalmente la forma
directa. Como contrapartida, las formas cascada y paralelo suelen requerir un
mayor número de operaciones por muestra para ser implementadas.

Mallas de raı́ces en secciones de segundo orden

En la sección anterior hemos visto que interesa descomponer polinomios


de grados altos en productos de polinomios de grados 1 y 2. Vamos a estudiar
en este punto, las raı́ces de los polinomios de segundo grado con coeficientes
112 CAPı́TULO 3. IMPLEMENTACIÓN DE FILTROS

6 bits
1

0.8

0.6

0.4

0.2

−0.2

−0.4

−0.6

−0.8

−1
−1 −0.5 0 0.5 1

Figura 3.22: Malla de raı́ces de una sección de orden 2 con coeficientes


cuantificados con 6 bits.

cuantificados. Consideremos un polinomio de grado 2, 1 − a1 z −1 − a2 z −2 , y


sus raı́ces r e±jθ

1 − a1 z −1 − a2 z −2 = (1 − r ejθ z −1 )(1 − r e−jθ z −1 )

= 1 − 2r cos θz −1 + r2 z −2 (3.15)
Por simple identificación es fácil ver que a1 corresponde con (el doble de) la
parte real de la raı́z mientras que a2 corresponde con el módulo al cuadrado
de la misma. Si cuantificamos a1 y a2 de forma uniforme, consideramos todas
las posibles combinaciones de valores cuantificados de a1 con cada valor cuan-
tificado a2 , y realizamos una representación gráfica de las raı́ces se obtiene la
figura 3.22, denominada malla de raı́ces. Es posible observar que las raı́ces no
se distribuyen de forma uniforme por el plano z siendo menos densa la rejilla
en las proximidades del eje real, y más densa cerca del eje imaginario. Los
puntos de la rejilla representan el conjunto de las raı́ces posibles del polino-
mio de grado 2 con coeficientes cuantificados. En otras palabras, los filtros
implementados tendrán sus raı́ces en uno de los puntos marcados. Si el filtro
que deseamos realizar tiene sus raı́ces (ceros o polos) cerca del eje imaginario,
no habrá problemas, pero si las raı́ces están cerca del eje real, como aquı́ la
densidad es menor, el error que se comete en la ubicación de las raı́ces (y por
tanto en la respuesta en frecuencia) será mayor.
3.4. Efectos de precisión finita 113

s - s - s
x[n] 

a 6 −1
?z a = r cos θ
Hs
HH
b = r sen θ
−b 6
?b

s - s y[n]



a 6 −1
?z
@
@XX
Xs
HH
XX X H

Figura 3.23: Forma acoplada de una sección de segundo orden.

Para solucionar el problema de la no-homogeneidad de la malla de raı́ces


surgen las formas acopladas. Éstas no son más que estructuras, en las que
los coeficientes que intervienen en la misma son la parte real e imaginaria de
los polos. Por tanto, cuando se cuantifican los coeficientes uniformemente, se
está cuantificando uniformemente la parte real e imaginaria de los polos. La
forma acoplada se muestra en la figura 3.23. La función de transferencia (ver
problema 3) de la estructura de la figura 3.23 es:

r sin θ z −1
H(z) = (3.16)
1 − 2r cos θ z −1 + r2 z −2
Las posibles ubicaciones de los polos al cuantificar uniformemente los coefi-
cientes de la forma acoplada se muestra en la figura 3.24. Las formas acopladas
son interesantes si tenemos polos cerca del eje real. Tienen el inconveniente de
requerir más operaciones por muestra.

Efectos de la cuantificación de los coeficientes en filtros FIR

Los filtros FIR resultan interesantes por dos propiedades que tienen:

Son siempre estables.

Si los coeficientes son simétricos tienen fase lineal.


114 CAPı́TULO 3. IMPLEMENTACIÓN DE FILTROS

6 bits
1

0.8

0.6

0.4

0.2

−0.2

−0.4

−0.6

−0.8

−1
−1 −0.5 0 0.5 1

Figura 3.24: Malla de raı́ces de una forma acoplada.

Cabrı́a preguntarse si por el hecho de que los coeficientes estén cuanti-


ficados se pierden estas propiedades. Con respecto a la estabilidad, ésta se
mantiene pues cualquier filtro FIR es estable. Con respecto a la linealidad de
fase, ésta se produce si existe simetrı́a en los coeficientes. Nótese que por el
hecho de cuantificar los coeficientes no se pierde la simetrı́a, por lo que la cuan-
tificación de los coeficientes no afecta a la linealidad de la fase de los filtros
FIR.
Por tanto, el único efecto de la cuantificación de los coeficientes será una
variación en la posición de los ceros y del módulo de H(ejω ).

3.4.2. Cuantificación de las muestras de entrada


Sea x[n] la secuencia de muestras de entrada a un filtro digital. En la prácti-
ca dichas muestras están cuantificadas, es decir toman un conjunto discreto
de valores posibles. (véase el apartado 1.6)
El efecto de la cuantificación se puede ver como si las muestras (sin cuan-
tificar) antes de entrar en el filtro se hubieran hecho pasar por un sistema no
lineal sin memoria cuya relación entrada salida se muestra en la figura 3.25.
De esta forma, el filtro digital H(z) con muestras de entrada cuantificadas,
se puede considerar como si tuviéramos muestras sin cuantificar aplicadas a
un sistema no lineal (el cuantificador) seguido del filtro H(z). El análisis del
3.4. Efectos de precisión finita 115

comportamiento del filtro precedido por una no linealidad es complicado. Si


se cumple que:

El número de niveles de cuantificación es alto.

Entre dos muestras consecutivas, hay muchos niveles de cuantificación


de diferencia.

es posible usar un modelo que simplifica el análisis de los efectos de la cuan-


tificación. Dicho modelo consiste en suponer que la señal cuantificada x̂[n]
es:
x̂[n] = x[n] + e[n] (3.17)
siendo x[n] las muestras sin cuantificar y e[n] un proceso aleatorio con las
siguientes propiedades:

e[n] es ruido blanco, es decir las muestras de e[n] en diferentes instantes


están estadı́sticamente incorreladas.

e[n] está incorrelada con la señal de entrada x[n].

La media de e[n] es nula.

1.5

0.5

0
y

-0.5

-1

-1.5
-1.5 -1 -0.5 0 0.5 1 1.5
x

Figura 3.25: Relación entrada salida de un cuantificador.


116 CAPı́TULO 3. IMPLEMENTACIÓN DE FILTROS


x[n] - Q - H(z) - ./ x[n] - + - H(z) -
 x̂[n]
x̂[n] 6

e[n]

Figura 3.26: Modelado de la cuantificación de las muestras de entrada


como un ruido aditivo a la entrada del filtro.

La varianza (potencia) vale


∆2
σe2 = (3.18)
12
siendo ∆ el tamaño del escalón de cuantificación.
La función densidad de probabilidad es uniforme entre −∆/2 y ∆/2.

Por lo tanto a la hora de analizar el efecto de la cuantificación de las muestras


de entrada en la salida del mismo, supondremos que:

Las muestras de entrada están sin cuantificar.


Tenemos una segunda señal, el ruido de cuantificación e[n], a la entrada
del filtro y sumada con la anterior.
Como el filtro es un sistema lineal, para determinar la salida determi-
naré independientemente la señal a la salida, y la potencia y DEP del
ruido de cuantificación tras pasar por el filtro.

En otras palabras, modelaremos el comportamiento de la no linealidad supo-


niendo que tenemos un ruido añadido en la salida.
Nótese que el uso del modelo de ruido aditivo simplifica notablemente el
análisis. Sin embargo el modelo no es más que eso, un modelo, que únicamente
es válido si se cumplen las hipótesis vistas más arriba. Es decir, por ejemplo no
es posible intentar medir el ruido de cuantificación anulando las muestras de
entrada y observando la potencia de ruido a la salida del filtro, ya que en ese
caso los valores cuantificados también son cero, y la salida del filtro también.

3.4.3. Redondeos en las operaciones


Las operaciones básicas que se realizan para implementar filtros digitales
son productos y sumas. Vamos a ver en este punto como influye el hecho de
que los números estén representados en coma fija para realizar las operaciones.
3.4. Efectos de precisión finita 117

En sistemas de coma fija, los números (coeficientes y muestras) se repre-


sentan utilizando B bits de los cuales:

1 bit corresponde al signo.

B − 1 bits corresponden a la mantisa según un determinado formato. Se


suelen emplear los formatos signo y módulo, complemento a 1 y comple-
mento a 2. El más utilizado es complemento a 2 por una razón que se
verá más adelante.

Sea cual sea el formato empleado, se tendrán B − 1 bits que denotaremos


como b0 , . . . , bB−2 , siendo b0 el bit menos significativo (LSB) y bB−2 el más
significativo (MSB).
Hay dos formas habituales de considerar el número representado por un
conjunto de bits. En la primera forma, el número representado es un entero:
B−2
X
I= bk 2k (3.19)
k=0

En la segunda forma, se considera que el número representado es un número


menor que la unidad, que denominaremos fraccionario:

F = bB−2 2−1 + bB−3 2−2 + · · · + b0 2−(B−1) (3.20)

En la implementación de filtros digitales se suele preferir esta segunda forma


debido a que el producto de dos números fraccionarios (menores que uno) da
como resultado un número fraccionario.
Cuando se multiplican dos números fraccionarios, el resultado requiere ser
representado con más bits. Para entender la afirmación anterior pensemos en
números fraccionarios en base 10, y pongamos un ejemplo en que los factores
tienen dos dı́gitos:
0,31 × 0,47 = 0,1457
Como puede verse, el resultado tiene un tamaño de mantisa que es el doble
de la de los factores. Si dicho resultado, debe ser almacenado de nuevo con
dos dı́gitos se estarı́a cometiendo un error que podrá ser por truncamiento o
redondeo. Habitualmente en los DSP se redondea el resultado. El redondeo del
resultado se suele modelar como una cuantificación, de forma similar a como
vimos en el apartado 3.4.2.
Estrictamente hablando, la cuantificación representa una no linealidad, lo
que convierte el filtro implementado en no lineal. Sin embargo, bajo las mismas
hipótesis que se vieron en el apartado 3.4.2 se puede modelar cada redondeo
118 CAPı́TULO 3. IMPLEMENTACIÓN DE FILTROS

como una fuente de ruido aleatorio que denominaremos ruido de redondeo,


con las siguientes caracterı́sticas:

Es ruido blanco, es decir las muestras del ruido de redondeo en diferentes


instantes están estadı́sticamente incorreladas.

El ruido de redondeo está incorrelado con la señal de entrada x[n].

La media del ruido de redondeo es nula en el caso del redondeo y −∆/2


en el caso del truncamiento.

La varianza vale
∆2
σe2 = (3.21)
12
siendo ∆ el tamaño del escalón de cuantificación.

La función densidad de probabilidad es uniforme entre −∆/2 y ∆/2 en


el caso de redondeo y entre −∆ y cero en el caso de truncamiento.

Los distintos ruidos de redondeo son estadı́sticamente independientes.

Los diferentes ruidos de redondeo, se propagarán por las ramas del filtro
manifestándose a la salida del filtro como un ruido añadido. En la sección 3.4.3
veremos como se calcula dicha potencia de ruido a la salida del filtro.
Con respecto a las sumas, éstas no presentan ningún problema en cuanto a
errores de redondeo: la suma de dos números con dos decimales es un número
con dos decimales. Sin embargo, hay que prestar atención a que la suma de
dos números menores que la unidad puede ser mayor que la unidad. Este tema
será tratado en el punto 3.4.4

Arquitecturas de DSP

Las operaciones producto y suma (acumulación) constituyen el núcleo de


las operaciones a realizar en los filtros digitales; se suelen llevar a cabo en
unidades de cálculo especializadas de los DSP denominadas MAC (Multiply
Acumulate). Existen dos tipos de arquitecturas básicas que denominaremos de
acumulador de simple ancho (o los MAC antiguos) y de acumulador de doble
ancho (o MAC modernos). La mayorı́a de los DSP actuales corresponden al
segundo tipo, pero dado que aún existen DSP del otro tipo (principalmente
debido a su menor coste), ambos serán tratados aquı́.
La figura 3.27 muestra ambos tipos de MAC para un tamaño de palabra
de B bits.
3.4. Efectos de precisión finita 119

B B B B

B  
- ×  B B - ×  B
 

B más significativos 2B

? 
?
+

 +



B
? B 2B
? 2B
Acumulador B Acumulador 2B
?B ?B
Salida al bus Salida al bus
(a) (b)

Figura 3.27: Modelos de arquitectura de MAC. (a):MAC con acumu-


lador de simple ancho. (b):MAC con acumulador de doble ancho.

En el MAC con acumulador de simple ancho se realiza el redondeo in-


mediatamente después de cada producto.

En el MAC con acumulador de doble ancho el redondeo se realiza cuando


el resultado final es extraı́do del MAC, es decir las acumulaciones se
realizan con toda la precisión del resultado del producto. El resultado se
extrae del MAC para:

• Almacenar su valor para un instante posterior (z −1 )


• Cuando el resultado se corresponde con el nodo de salida del filtro
y por lo tanto el resultado debe ser enviado al D/A con B bits.
• En implementaciones en cascada y paralelo, cuando el resultado
corresponde a la salida de un bloque de la estructura.1

En la figura 3.28 se muestran las fuentes de ruido para acumulador de


simple y doble ancho en una forma directa II. Mientras que con acumuladores

1
Existen dos posibles formas de implementar estas estructuras. Una consistirı́a en imple-
mentar cada una de las secciones independientemente, tomando la salida de una etapa como
entrada de la siguiente. La otra consistente en implementar de forma global la estructura.
En este segundo caso es posible realizar implementaciones con menos redondeos a costa de
una mayor complejidad de implementación, ya que en vez de implementar un bloque bási-
co (sección de segundo orden) y utilizarlo repetidamente hay que hacer una estructura a
medida.
120 CAPı́TULO 3. IMPLEMENTACIÓN DE FILTROS

n3 n1 n2
r - r - b0
r - r r
? - r r - r-
r ? b0
r - r-
r ? r

6n1 z −1 n4 6
? 6 z −1
? 6
a1 r -
r r?  b1 r-r
? r
 a b1
1 r - -r

6n2 z −1 n5 6
? 6 z −1
? 6
r r?  b2
a2 r - r-r
? r
 a b2
2 r - -r
(a) (b)

Figura 3.28: Fuentes de ruido de redondeo en una forma directa II.


(a):con acumuladores de simple ancho. (b): con acumuladores de doble
ancho

de simple ancho tras cada producto hay un redondeo (una fuente de ruido), con
acumulador de doble ancho hay una fuente de ruido cada vez que se termina
de hacer productos y acumulaciones. La ventaja de los acumuladores de doble
ancho es que reducen el número de redondeos que se efectúan. Ello hace que
la potencia de ruido de redondeo a la salida del filtro sea menor.

Cálculo de la potencia de ruido de redondeo a la salida

Acabamos de ver como el redondeo en las operaciones se puede modelar


como unas fuentes de ruido aditivo. Normalmente, lo que interesa conocer es
la potencia de ruido de redondeo a la salida del filtro.
Este ruido es algo similar al ruido introducido por los componentes que
procesan las señales analógicas en los filtros analógicos. La diferencia funda-
mental con el caso analógico es que el ruido en los filtros digitales puede hacerse
arbitrariamente pequeño sin más que aumentar el número de bits con que se
realizan las operaciones.
Para calcular la potencia de ruido total a la salida del filtro, hay que
determinar la potencia de ruido de cada una de las fuentes a la salida del filtro
y finalmente sumarlas en potencia (debido a que realizamos la hipótesis de que
los diferentes ruidos son procesos aleatorios independientes). En el caso de la
figura 3.28-(b) vemos como el ruido n2 está directamente en la salida, mientras
que el ruido n1 es como si estuviera a la entrada. Por tanto, dicho ruido n1
se manifiesta a la salida tras ser filtrado por una función de transferencia que
coincide en este caso con la H(z) del filtro. Recordemos que si un ruido blanco
3.4. Efectos de precisión finita 121

de potencia σ 2 atraviesa un filtro de respuesta impulsional h[n] presentará a


la salida del mismo una potencia Pout que vendrá dada por:
X
Pout = σ 2 |h[n]|2 (3.22)
n
Si suponemos que tenemos B bits (incluyendo el signo), la potencia de cada
fuente de ruido será:  2
2/2B 2−2B
σ2 = = (3.23)
12 3
Por lo tanto la potencia total de ruido, debida a ambos redondeos, valdrı́a en
el caso de acumuladores de doble ancho:
2−2B 2−2B X
Pout = + |h[n]|2 (3.24)
3 3 n

En el caso de acumuladores de simple ancho (figura 3.28-(a)), se deberı́a


determinar la función de transferencia desde cada una de las fuentes de ruido
hasta la salida. Suele ser conveniente, dado que muchas de esas funciones de
transferencia son la misma, agrupar las fuentes de ruido en fuentes con mayor
potencia. Ası́ por ejemplo, las fuentes n1 y n2 podrı́an agruparse en una única
fuente de potencia doble en la entrada mientras que n3 , n4 y n5 se pueden
agrupar en una fuente de ruido de potencia triple a la salida. La potencia
total de ruido en el caso de acumuladores de simple ancho resulta pues:
2−2B 2−2B X
Pout = 3 +2 |h[n]|2 (3.25)
3 3 n
Para poder agrupar las fuentes, es necesario moverlas. Para ello hay que seguir
unas reglas:
Si una fuente inyecta ruido de cuantificación en un nodo del que sólo
sale una rama cuyo peso es ±1 o z −1 , dicha fuente de ruido puede ser
movida al nodo destino de dicha rama. En la figura 3.29, consistirı́a en
mover la fuente de donde está en a) a b).
Si una fuente inyecta ruido de cuantificación en un nodo al que llega una
rama cuyo peso es ±1 o z −1 , y dicha rama es la única que sale del nodo
origen de la misma, la fuente de ruido puede ser movida al nodo origen.
En la figura 3.29, consistirı́a en mover la fuente de donde está en b) a
a).
Es importante tener en cuenta que en caso de duda no se debe mover las
fuentes de ruido, ya que no agrupar al máximo las fuentes de ruido única-
mente nos hará realizar más cálculos de los mı́nimos necesarios, mientras que
agruparlas mal provocará que todos los cálculos sean erróneos.
122 CAPı́TULO 3. IMPLEMENTACIÓN DE FILTROS

r r r r
@ c c3 @ c c3
R 1
@ R 1
@
c c
@r - 1 r - r @r 1 r - r
@ @
4 - 4
K z −1
A @ c z −1 @ c
A @ 5  @ 5
c n1 c n1
r @r r @r
I
@ I
@
2 2
a) b)

Figura 3.29: Movimiento de fuentes de ruido.

Ruido de redondeo en formas en cascada

En las formas en cascada, el ruido de redondeo de una etapa es filtrado


por las siguientes. Dicho filtrado puede amplificar o atenuar el ruido. Existirán
varias formas de agrupar ceros y polos. Dependiendo del agrupamiento y el
orden, existirán formas más o menos ruidosas. Aunque no existe una regla
universal, se ha encontrado una regla empı́rica para agrupar ceros y polos:

1. Tomar los polos más cercanos a la circunferencia unidad.

2. Emparejar los anteriores polos con los ceros que tengan más próximos.

3. Repetir los dos pasos anteriores para el resto de ceros y polos.

Una vez realizado el emparejamiento, se ordenan de una de las dos siguien-


tes formas:

Las secciones se ordenan por proximidad de los polos a la circunferencia


unidad.

Las secciones se ordenan por lejanı́a de los polos a la circunferencia


unidad.

Productos por coeficientes mayores que uno

En ocasiones, hay filtros que tienen coeficientes mayores que la unidad. Con
el formato fraccionario para números de coma fija, hemos visto que el mayor
número representable es (ligeramente menor que) la unidad. Las unidades de
cálculo de los DSP permiten ser configuradas para realizar el producto de un
número fraccionario por un entero. De este modo para realizar el producto por
1.4 hay que realizar dos productos, primero por 0.7 y a continuación por 2.
3.4. Efectos de precisión finita 123

Los productos por números enteros, no introducen ruido de redondeo ya


que el producto de un entero por un número fraccionario no genera nuevos
decimales.
En la figura 3.30-(b) y (c) se muestra un ejemplo de realización en forma
directa II, en la que todos los coeficientes son menores que la unidad o enteros.

0,16 0,16
q - q - q - q - q q - q - q - q - q
x[n] y[n] x[n] y[n]
6 z −1
? 6 26 z −1
? 6
1,42 0,24 0,71 0,24
q  q - q q  q - q

6 ?z −1 6 6 ?z −1 6
−0,80 0,18 −0,40 0,18
q  q - q q  q - q

(a) (b)

0,08
q - q - q - q - q
x[n] 2 y[n]
6 z −1
? 6
0,71 0,12
q  q - q

6 ?z −1 6
−0,40 0,09
q  q - q

(c)

Figura 3.30: Implementación de filtros con coeficientes mayores que


uno. (a):Filtro original. (b): Primera forma de hacer que todos los
coeficientes sean menores que uno o enteros. (c): Segunda forma de
hacer que los coeficientes sean enteros o menores que uno.

3.4.4. Escalado en sistemas de coma fija


Cuando los valores de los nodos de un filtro se representan en coma fija
caben como hemos visto dos interpretaciones. En la primera los números son
enteros (ec. (3.19)) y en la segunda son fraccionarios (ec. (3.20)). Ya vimos
que en filtros digitales se suele utilizar más la segunda.
124 CAPı́TULO 3. IMPLEMENTACIÓN DE FILTROS

Cuando se suman dos de estos números fraccionarios, el resultado puede ser


mayor que la unidad. En este caso se produce una saturación (overflow) cuyos
efectos concretos dependen del DSP concreto. Normalmente lo que sucede en
caso de saturación es:

Se produce una verdadera saturación: 0,7 + 0,5 = 1


Se obtiene un resultado cı́clico: 0,7 + 0,5 = −0,8 (= 1,2 − 2)

En ambos casos el resultado es erróneo. Otra posible circunstancia que puede


hacernos tener valores mayores que la unidad es cuando multipliquemos un
valor fraccionario por un coeficiente entero (mayor que la unidad).
Ası́ como el ruido de redondeo es inevitable, la saturación es evitable. Para
ello lo que debe hacerse es garantizar que la señal de entrada es lo suficiente-
mente pequeña como para que en ningún nodo se supere la amplitud máxima
posible.
Para determinar qué amplitud máxima debe tener la señal de entrada
vamos a realizar el siguiente análisis. Supongamos que:
|x[n]| ≤ M
Sea hxa [n] la respuesta impulsional desde la entrada del filtro hasta el nodo a.
Llamemos ya [n] la señal asociada a dicho nodo.
X
ya [n] = x[n] ∗ hxa [n] = hxa [k] x[n − k]
k

por tanto:
X X X
|ya [n]| = | hxa [k] x[n − k]| ≤ |hxa [k] x[n − k]| ≤ M |hxa [k]|
k k k

Si deseo que |ya [n]| sea menor que C debo hacer que:
C
|x[n]| < M = X (3.26)
|hxa [k]|
k

Normalmente C = 1 (señales normalizadas). No obstante, si el valor del


nodo va a ser multiplicado por un coeficiente mayor que la unidad, r, debemos
hacer que el valor a la entrada de dicho nodo sea menor que C = 1/r.
Si la señal de entrada, está acotada en el margen |x[n]| < 1, deberé preesca-
lar la señal de entrada para reducir su amplitud antes de introducirla al filtro
multiplicándola por M (M < 1). De esa forma aseguraré que la señal a la
entrada del filtro tiene la amplitud correcta. El único efecto del preescalado es
una reducción de la ganancia del filtro. Dicha ganancia puede ser compensada:
3.4. Efectos de precisión finita 125

M
u - u - H(z) -
|x[n]| < 1 |x1 [n]| < M y[n]

Figura 3.31: Preescalado para prevenir saturaciones.

De forma analógica, aumentando la ganancia de las etapas que siguen a


la salida y[n].

De forma digital, multiplicando por 1/M la salida y[n]

De forma digital modificando algunos coeficientes del filtro. Por ejemplo:

b0 + b1 z −1 + · · · + bL z −L
H(z) = =
1 − a1 z −1 − · · · − aN z −N

b0 /M + b1 /M z −1 + · · · + bL /M z −L
=M
1 − a1 z −1 − · · · − aN z −N
Si tengo varios nodos, debo garantizar la anterior condición para todos los
nodos en que se producen sumas. Ello implica tomar el menor M de los dis-
tintos nodos.
Si se utiliza complemento a 2, no será necesario comprobar aquellos nodos
que sean sumas parciales cuyo valor únicamente se sume con otros nodos. Ello
es debido a una propiedad de los números en complemento a 2 (para más
detalles se pueden consultar libros de electrónica digital o fundamentos de
computadores) que dice que:

Si al hacer sumas (y restas) encadenadas de números en comple-


mento a 2, se producen overflows parciales y se desprecian los bits
de acarreo, el resultado final será correcto si éste no presenta over-
flow
126 CAPı́TULO 3. IMPLEMENTACIÓN DE FILTROS

Un ejemplo de lo que queremos decir en base 10 serı́a, en el que suponemos


números fraccionarios (menores que la unidad):

((0,7 + 0,4) − 0,6)) + 0,3) = 0,8

En cálculos en complemento a 2, 0,7 + 0,4 = 0,1 (se desprecia el acarreo), y


tras restar 0.6 y sumar 0.3 obtendrı́amos el resultado correcto. Esta propiedad
no la tienen otro tipo de representaciones numéricas como el complemento a
1 o signo y mantisa.
En la práctica, dado que las estructuras de los filtros contienen retardado-
res, muchas veces nos podremos ahorrar comprobaciones sin más que compro-
bar un nodo de la cadena de retardadores.
El criterio dado por la expresión (3.26) es el único que garantiza totalmente
la no saturación. Sin embargo en muchas ocasiones puede resultar demasiado
conservador. Nótese que el ruido de redondeo, es independiente de la amplitud
de la señal de entrada, y por tanto, reducir en exceso la amplitud de entrada
implica una disminución (innecesaria) de la relación S/N a la salida del filtro.
Existen otros criterios, que aunque no garantizan totalmente el que no se
produzca saturación, sı́ que lo hace si se cumplen ciertas hipótesis. Si la señal
de entrada es un tono de frecuencia ω0 (o una señal de banda estrecha centrada
en la misma frecuencia), la condición que se debe cumplir es:
C
M< (3.27)
|Hxa (ejω0 )|
tomándose el mı́nimo M de los distintos nodos. Si se sabe que es un tono pero
no se conoce la frecuencia del tono, la condición es:
C
M< (3.28)
máxω {|Hxa (ejω )|}

3.4.5. Ciclos lı́mite


Cuando las operaciones se realizan con redondeos y saturaciones, los filtros
lineales pasan a comportarse como no lineales. Si no se producen saturaciones y
el número de niveles de cuantificación de diferencia entre muestras consecutivas
es alto, se puede ignorar el comportamiento no lineal y pasar a modelar las
cuantificaciones como ruido aditivo.
Los ciclos lı́mite son oscilaciones que se producen a la salida de los filtros
IIR cuando la señal de entrada se hace nula. Como se sabe, los filtros IIR causa-
les y estables que hemos visto a lo largo del tema, tienen respuestas impulsivas
que decrecen de forma exponencial. Ello hace que cuando la entrada del filtro
3.5. Problemas 127

es cero, la salida tiende a cero de forma exponencial. Sin embargo, cuando la


señal de salida comienza a hacerse pequeña, el filtro empieza a comportarse de
forma no lineal. La no linealidad combinada con la realimentación de los filtros
IIR puede producir unas oscilaciones llamadas ciclos lı́mite. Resumiendo, para
que se puedan producir ciclos lı́mite debe suceder:

Que el filtro tenga realimentaciones (IIR).

Que el filtro presente un comportamiento no lineal. Esto sucede cuando


la amplitud es muy pequeña (y la relación E/S del cuantificador es una
escalera) o cuando la amplitud de salida es muy grande (saturación).

Existen determinadas estructuras especiales que garantizan que nunca se


puedan producir ciclos lı́mite, a costa de realizar un mayor número de opera-
ciones por muestra.

3.5. Problemas
1. Determine la longitud máxima de un filtro FIR que se pueda implementar
usando un DSP que utiliza buffers circulares y que ejecuta 16 millones
de instrucciones por segundo siendo la frecuencia de muestreo 44.1 Khz.

2. Implemente un programa para realizar los cálculos de la forma directa


II transpuesta de la figura 3.13.

3. Determinar la función de transferencia de la estructura de la figura 3.23


y verificar que coincide con la de la ecuación (3.16).

4. Realizar un programa que permita implementar los cálculos para calcular


una muestra de salida cuando llega una de entrada de la estructura de
la figura 3.23.

5. Dibuje las fuentes de ruido de redondeo de un filtro IIR de orden 4


implementado en forma directa I. Considere los casos de acumuladores
de simple y de doble ancho. Agrupe las fuentes tanto como le sea posible
y determine la función de transferencia de cada fuente hasta la salida.

6. Indique las fuentes de ruido de cuantificación en un filtro FIR en forma


transpuesta tanto en el caso de acumuladores de simple como de doble
ancho.

7. Indique las fuentes de ruido de redondeo en las operaciones en una for-


ma acoplada (figura 3.23. Agrupe las fuentes tanto como sea posible.
128 CAPı́TULO 3. IMPLEMENTACIÓN DE FILTROS

Determine la potencia total de ruido de redondeo a la salida. Realice el


ejercicio para acumuladores de simple y doble ancho.

8. Determinar el número de posibles realizaciones en cascada para un filtro


de orden 2N (todos los polos y los ceros complejos).

9. Considere el filtro:
0,0102 + 0,0408 z −1 + 0,0613z −1 + 0,0408z −3 + 0,0102z −4
H(z) =
1 − 1,9684 z −1 + 1,7359z −2 − 0,7245z −3 + 0,1204z −4
Se pide (utilizando Matlab para los cálculos):

Dibuje las formas directas I y II del anterior filtro.


Determine la amplitud máxima de la entrada en ambos casos para
que no se pueda producir saturación en caso de señal de entrada
arbitraria.
Determine la amplitud máxima de la entrada en ambos casos para
que no se pueda producir saturación en caso de que la señal de
entrada sea un tono.
Suponiendo que se implementa el filtro con un DSP de 16 bits, con
acumulador de doble ancho, determine la potencia de ruido a la
salida para las formas directas I y II.
Calcular la relación S/N máxima a la salida cuando la entrada es
un tono para la forma directa I y II.

10. Considere la H(z) del problema anterior.

Factorice (con la ayuda de Matlab) para poder realizar una im-


plementación en cascada.
G1 1 + b11 z −1 + b21 z −2 G2 1 + b12 z −1 + b22 z −2
 
H(z) = G
1 − a11 z −1 − a21 z −2 1 − a12 z −1 − a22 z −2
Dibuje todas las posibles realizaciones en cascada. Implemente cada
sección en forma directa II. Note que tiene dos grados de libertad
adicionales, pues puede elegir libremente dos de las variables G, G1
y G2 con tal que:
0,0102 = G × G1 × G2
Elija G lo mayor posible de modo que no se produzca saturación en
ningún nodo de la primera sección. A continuación G1 para que no
se produzca saturación en la segunda etapa. Considere que la señal
a la entrada serán tonos de frecuencia arbitraria.
3.5. Problemas 129

Para cada una de las cuatro posibilidades, determine el ruido de


redondeo a la salida si el DSP tiene un tamaño de palabra de B = 14
bits.

11. Compruebe que las tres estructuras de la figura 3.30 tienen la misma
H(z). Indique las fuentes de ruido de redondeo en las tres si se realiza una
implementación en coma fija con DSP de acumulador de doble ancho.

12. Considere la siguiente H(z):

0,0102 + 0,0408 z −1 + 0,0613z −1 + 0,0408z −3 + 0,0102z −4


H(z) =
1 − 1,9684 z −1 + 1,7359z −2 − 0,7245z −3 + 0,1204z −4
Dibuje la implementación en forma directa II transpuesta.
Determine la máxima amplitud a la entrada.
Determine la potencia de ruido de redondeo a la salida si el DSP
tiene una longitud de palabra de 16 bits y se utilizan acumuladores
de doble ancho. ¿Y para el caso de acumuladores de ancho simple?
Proponga ahora una realización en la que todos los coeficientes sean
enteros o menores que uno. Indique cuales serı́an las fuentes de ruido
ahora.
130 CAPı́TULO 3. IMPLEMENTACIÓN DE FILTROS
Capı́tulo 4

Filtros Adaptativos

4.1. Introducción
Un filtro adaptativo no es más que un filtro cuyos coeficientes varı́an con
el tiempo. Lo que los hace especialmente interesantes es que la variación de
los coeficientes es automática. En otras palabras, diseñar un filtro adaptati-
vo consistirá en determinar la regla de variación de los coeficientes. El resto
será automático.
Existen dos razones fundamentales para elegir un filtro adaptativo frente
a un filtro de coeficientes fijos:

Porque no sepamos qué filtro usar a priori.

Porque el filtro óptimo que necesitemos, debido a que la señal no sea


estacionaria, deba variar con el tiempo.

4.1.1. Ejemplos de sistemas adaptativos


En esta sección vamos a presentar algunos ejemplos de sistemas adaptativos
con los que estamos familiarizados.

CAG es un circuito usado ampliamente que permite variar su ganancia en


función de la amplitud de la señal de entrada. Cuando la señal de entrada
es de poca potencia el factor de amplificación es grande y a la inversa,
de modo que la potencia a la salida tiene una amplitud prácticamente
independiente de la amplitud de entrada.

Pupila sistema biológico que regula su apertura en función inversa a la luz


incidente, de modo que el margen de variación de energı́a luminosa que

131
132 CAPı́TULO 4. FILTROS ADAPTATIVOS

reciben las células de la retina sea mucho menor que las variaciones de
luminosidad que se pueden encontrar en la naturaleza.

Los ejemplos anteriores son ejemplos sencillos de sistemas que varı́an su


comportamiento en función de las señales recibidas. En el caso de sistemas
artificiales para el filtrado de señales, aunque conceptualmente serı́a posible
pensar en sistemas analógicos adaptativos, en la práctica únicamente se han
desarrollado sistemas adaptativos discretos de cierta complejidad.

4.1.2. Caracterı́sticas fundamentales de los sistemas adaptati-


vos
Las caracterı́sticas fundamentales de los sistemas adaptativos son:

Automáticamente se adaptan (auto-optimizan) de acuerdo al entorno


cambiante (no estacionario).
Pueden ser entrenados: pueden aprender cómo funcionar de forma ópti-
ma.
No hay métodos de sı́ntesis de filtros adaptativos, se autodiseñan. Lo
que existen son reglas de aprendizaje (algoritmos de adaptación).
El estudio se hace considerándolos sistemas no lineales variantes.
Son más complejos y difı́ciles de analizar que los sistemas fijos. Su com-
portamiento, sin embargo, es mejor ante señales de caracterı́sticas des-
conocidas o variantes. El análisis se suele hacer por simulación.

4.1.3. Fundamentos de los de sistemas adaptativos


Todos los sistemas adaptativos que veremos, independientemente de su
aplicación responden a un esquema general que se muestra en la figura 4.1. En

x[n] - Filtro. Adapt. - y[n]

-
d[n] - Algor. Adapt. 

Figura 4.1: Esquema general de un sistema adaptativo.


4.2. Aplicaciones 133

dicho esquema, existen dos elementos básicos:


El filtro adaptativo propiamente dicho.
Un algoritmo de adaptación, que recibe como entradas la señal de en-
trada x[n], la salida del filtro y[n] y una señal auxiliar llamada señal de
referencia o señal deseada, d[n].
El algoritmo de adaptación compara la salida y[n] con la señal de referencia
d[n] y trata de calcular los mejores coeficientes del filtro para que y[n] se
parezca (de forma estadı́stica) a d[n].
En los sistemas adaptativos siempre encontraremos un conjunto de señales:
x[n]: Señal de entrada al filtro adaptativo.
y[n]: Señal de salida del filtro adaptativo.
d[n]: Señal de referencia.
e[n] = d[n] − y[n]: Señal error entre la señal de referencia y la salida del
filtro.
Los algoritmos adaptativos tratan normalmente de minimizar algún paráme-
tro de dicha señal de error, tı́picamente su potencia.
En el resto del capı́tulo veremos, en la sección 4.2, algunas aplicaciones
tı́picas de los filtros adaptativos. Seguiremos con una aproximación a la teorı́a
de los filtros óptimos. Finalmente presentaremos los algoritmos adaptativos
basados en el gradiente y su implementación práctica, el LMS.

4.2. Ejemplos de aplicación de sistemas adaptativos


En esta sección vamos a estudiar algunos ejemplos de aplicación de los
sistemas adaptativos que nos van a ir permitiendo descubrir sus ventajas y
limitaciones.

4.2.1. Identificación de sistemas


Lo que se hace en esta aplicación es modelar un sistema lineal desconocido,
denominado planta, con un filtro adaptativo. Para ello se aplica una señal tanto
a la Planta como al sistema adaptativo y se varı́an los coeficientes hasta que
el error entre las dos salidas sea mı́nimo. En ese momento, las respuestas
en frecuencia de la planta y del filtro adaptativo serán lo más parecidas que
se pueda. Como del filtro adaptativo se conocen los coeficientes, podremos
conocer la respuesta en frecuencia de la planta.
134 CAPı́TULO 4. FILTROS ADAPTATIVOS

d[n]
- Planta???

?+ e[n]
x[n] -


6−

- Filtro. Adapt.
y[n]



Figura 4.2: Identificación de Sistemas.

4.2.2. Predicción
En esta aplicación se trata de predecir valores futuros de la señal de en-
trada. Para ello se enseña al sistema adaptativo qué coeficientes deberı́a tener
para minimizar el error entre la muestra actual y una predicción de la misma
hecha en base a muestras anteriores de la misma señal de entrada. Los coe-
ficientes obtenidos se copian en otro filtro que filtra la señal de entrada sin
retardar. Si la señal de entrada es estacionaria, la salida de este segundo filtro
es una predicción de la muestra que está por venir.

x[n − 1]  d[n]
+


x[n] ?

- z −1 - Filtro Adap. - e[n]
y[n] 



???
- Coef. Copiados - x̂[n + 1]

Figura 4.3: Predicción lineal.

4.2.3. Cancelación de ruido


Para entender esta aplicación fijemos un escenario tı́pico donde se pue-
de encontrar la misma. Imaginemos un micrófono que recoge la voz en un
4.2. Aplicaciones 135

ambiente ruidoso. Dicho micrófono entregará una señal que será suma de la
voz (s) más un ruido (n1 ). Supongamos que situamos otro micrófono en el
mismo ambiente ruidoso. Dicho micrófono captará otro ruido n2 distinto (por
estar captado en un lugar diferente) pero correlado con n1 . La relación entre
ambos ruidos viene dada por un filtrado lineal y supondremos que el segundo
micrófono, por su ubicación, no capta voz. Se supone que la voz está incorre-
lada con el ruido ambiente.
El esquema del origen de las señales se muestra en la figura 4.4. Las
señales que introduciremos a nuestro filtro adaptativo serán las captadas por
los micrófonos.
Lo que se hace es introducir un filtrado adaptativo en el canal que tiene
sólo ruido y, mediante el algoritmo de adaptación, minimizar la potencia de
la señal e. Si el filtro adaptativo tuviera un número de coeficientes suficiente,
tras la adaptación, el ruido n3 a la salida del filtro adaptativo deberı́a ser igual
a n1 , obteniendo en la salida únicamente voz.
Para entender cómo funciona, pensemos que el filtro adaptativo únicamente
sabe ajustar sus coeficientes de forma que la potencia de la señal e sea lo más
pequeña posible. Dado que la voz está incorrelada con el ruido ambiente, la
única señal que el filtro puede cancelar es el ruido ambiente que está correlado
en ambas ramas.

E{e2 } = E{(s + n1 − n3 )2 } =

= E{s2 } + E{(n1 − n3 )2 } + 2E{s (n1 − n3 )} =


= E{s2 } + E{(n1 − n3 )2 }
Dado que s2 no depende de los coeficientes del filtro, el error será mı́nimo
cuando:
E{(n1 − n3 )2 } = 0

En la práctica hay una serie de consideraciones que conviene tener en


cuenta.

La primera de ellas es relativa a la causalidad. El filtro adaptativo


será necesariamente causal. Ello implica que introducirá un cierto re-
tardo sobre la señal n2 . Para que se pueda producir la cancelación, la
señal n1 deberá estar retrasada con respecto a n2 . En caso contrario no
se podrá lograr la cancelación.

Es posible que existan componentes de ruido incorreladas en las señales


captadas por los dos micrófonos. En ese caso, el filtro tratará de atenuar
136 CAPı́TULO 4. FILTROS ADAPTATIVOS

s + n1
s - +

+

6
n1
? e Salida
H -
 
 −
n2 6
n - Filtro Adap.
n3

Señales disponibles 
como entrada 

Figura 4.4: Cancelación de ruido.

dichas componentes de la rama que se filtra. Las componentes incorre-


ladas de la rama superior pasarán a la salida, pues para el algoritmo
adaptativo son indiscernibles de la señal de voz.

El número de coeficientes del filtro debe ser suficientemente largo. Si


fuera FIR, la duración de la respuesta impulsional deberı́a coincidir o ser
superior a la de H. En caso contrario, no se podrá lograr la cancelación
total.

4.2.4. Canceladores de eco


En los circuitos internacionales de muy larga distancia, aparecen problemas
de ecos producidos en las bobinas hı́bridas conversoras de dos a cuatro hilos
(figura 4.5). Debido a desadaptaciones de impedancias, parte de la señal B de
la figura 4.5 pasa a C (sumada con la señal que procede de E), retornando
hasta D. Si la distancia del tramo a cuatro hilos es larga, se producen retardos
apreciables en los ecos que resultan muy molestos si superan unas decenas de
milisegundos.
La primera solución que se dio al problema fueron los llamados supresores
de eco. Los mismos se situaban en cada uno de los extremos del circuito a cua-
-
B
A - E

D
 C

Figura 4.5: Ecos en circuitos vocales de larga distancia.


4.2. Aplicaciones 137

- D.A.
?

?
  

Figura 4.6: Supresor de ecos.

tro hilos; consistı́an en un circuito detector de actividad que, cuando detectaba


voz proveniente del extremo lejano abrı́a el circuito hacia el mismo convirtien-
do la transmisión en semiduplex y suprimiendo con ello el eco (figura 4.6).

Los primeros circuitos supresores analógicos de eco eran del tipo mostrado
en la figura 4.6. En ellos se puede ver que en la rama receptora de la parte
de cuatro hilos de la bobina hı́brida habı́a un detector de actividad (DA) de
señal remota. Si se detecta señal remota, se abrı́a un contacto en el extremo
transmisor a cuatro hilos que impedı́a el retorno de la señal remota. Este
sistema, sin embargo, tiene el inconveniente de que no permite que los dos
interlocutores hablen a la vez, convirtiendo el circuito en semiduplex. Esto, en
el caso de las comunicaciones vocales no es grave, pues normalmente, durante
las conversaciones, un interlocutor habla y el otro escucha. Sin embargo, si la
lı́nea telefónica se utiliza para transmitir datos utilizando un modem duplex,
ésta solución no sirve.
En los modems duplex también existe una separación de dos a cuatro hilos
en el terminal. En este caso no cabe utilizar la técnica del supresor de ecos
pues la transmisión debe ser duplex. Además, debe tenerse presente que la
señal que pasa del extremo transmisor a cuatro hilos al receptor es de mucho
mayor nivel que la señal recibida del extremo remoto, por lo que, aunque la
atenuación transhı́brida sea grande, la interferencia del transmisor local sobre

RCX 
Linea

TRX 6

Figura 4.7: Interfaz telefónico de un modem.


138 CAPı́TULO 4. FILTROS ADAPTATIVOS

A ?

: ? D


C
?
 B


Figura 4.8: Cancelador adaptativo de ecos.

el receptor puede ser elevada. A esta interferencia se la denomina eco local y


provoca un aumento de la tasa de errores que puede llegar a ser inaceptable.
El problema de los ecos puede resolverse con filtros adaptativos permitien-
do una comunicación duplex. La figura 4.8 explica cómo se pueden emplear
filtros adaptativos para este fin. Lo que se hace es reproducir en el sistema
adaptativo el sistema lineal equivalente que recorre la señal de eco desde la
rama A receptora hasta la rama B y restar las señales. En este caso también,
el algoritmo de adaptación trata de minimizar la potencia de la señal de error.
La señal en B se compone de dos términos, la señal proviniente de D y la señal
indeseada A’, que es el resultado de que parte de la señal A pasa a través de la
hı́brida. Suponiendo que la señal recibida y la transmitida están incorreladas,
dado que el filtro adaptativo únicamente contiene en su entrada (A) la señal
que origina el eco, el filtro adaptará su respuesta en frecuencia de modo que
cancele la señal A’, no viéndose afectada la señal procedente de D.
Aunque en principio cabrı́a pensar en canceladores fijos, en la práctica
esto no se hace ası́ pues el filtro que hay que poner para lograr la cancelación
depende de la lı́nea concreta empleada.
Para finalizar este punto, conviene puntualizar un aspecto práctico impor-
tante. Aunque teóricamente serı́a posible adaptar el filtro durante su funcio-
namiento duplex, en la práctica no se hace ası́ por razones que se comentarán
más adelante. Lo que se hace realmente, en el caso de circuitos vocales, es
adaptar los coeficientes únicamente durante los periodos en que la señal provi-
niente de D (figura 4.8) es nula o muy pequeña. La diferencia con el supresor
de eco es que durante los periodos de conversación simultánea de los dos extre-
mos, suponiendo que la función de transferencia del eco no varı́e excesivamente
rápido, es posible mantener una conversación duplex sin ecos. En el caso de los
modems, la solución consiste en la transmisión semiduplex durante un periodo
de inicialización de unas señales que permiten adaptar los canceladores. Una
vez lograda la adaptación, el filtro adaptativo deja de adaptarse para pasar a
comportarse como un filtro fijo.
4.2. Aplicaciones 139

4.2.5. Ecualizadores adaptativos


En comunicaciones digitales aparecen dos causas de error: Interferencia
entre sı́mbolos (ISI) y ruido.
La señal a la entrada de un receptor digital se puede escribir como:
X
y(t) = aj p(t − jT ) + r(t) (4.1)
j

donde ak son los sı́mbolos transmitidos, r(t) es el ruido, y p(t) es la convolu-


ción entre el pulso transmitido, la respuesta impulsiva del canal y el filtro del
receptor. Dicha señal se muestrea en los instantes tk = kT obteniendo:
X
y(tk ) = ak p(0) + aj p(kT − jT ) + r(tk ) (4.2)
j6=k

El primer término de la ecuación anterior está relacionado con el sı́mbolo trans-


mitido en el instante tk . El segundo término es lo que se denomina interferencia
entre sı́mbolos y el tercero, es el ruido. Esta señal discreta se debe filtrar en
recepción para minimizar los términos indeseados, tanto de interferencia entre
sı́mbolos como de ruido. El filtro óptimo depende del canal concreto empleado
para la transmisión (p(t)) y por lo tanto desconocido, ası́ como de la forma
del espectro del ruido aditivo.
La figura 4.9 muestra un ecualizador adaptativo que minimiza el error en
los instantes de muestreo. El conmutador estará en (2) en un primer momento.
Durante este tiempo el transmisor genera una secuencia conocida por el re-
ceptor y que es la misma que genera Test . El filtro adaptativo modificará sus
coeficientes de modo que la señal error (suma de interferencia entre sı́mbolos
y ruido) sea lo más pequeña posible.
Tras la fase de aprendizaje el conmutador está en (1) y se toma como
señal deseada la propia detectada. Si la probabilidad de error es pequeña esto
será correcto. Además la velocidad de adaptación deberá ser suficientemente

âk
Decisión - Salida

- Ec. Adapt.

1- 2
 -
E Test
 E
 - y Er
e  +
 d
?


Figura 4.9: Ecualizador adaptativo para transmisión de datos.


140 CAPı́TULO 4. FILTROS ADAPTATIVOS

lenta como para que un sı́mbolo erróneo aislado no afecte demasiado y desco-
rrija el filtro de un modo irrecuperable.
Si las caracterı́sticas del canal varı́an lentamente, el filtro se adaptará tam-
bién, siempre y cuando la variación sea suficientemente lenta como para que
la probabilidad de error no aumente en exceso y el sistema deje de funcionar.

4.2.6. Filtro en hendidura


El objetivo de esta aplicación es eliminar una componente de frecuencia
de una señal.

Entrada d + e Salida


- -

W0 -
6
-
y
cos ω0 t 
?
- +
x 
6
- 90o -
W1

Figura 4.10: Diagrama del filtro en hendidura

Para ello, se introduce en el filtro adaptativo un tono de la frecuencia que


se desea eliminar. En este caso, el algoritmo de adaptación también minimiza
la potencia de la señal de error, y lo hace ajustando la amplitud y la fase del
tono a la salida, y, de modo que se cancele con la componente de la misma
frecuencia de la rama d. Una ventaja del sistema es que variando la frecuencia
de la señal x puedo variar la frecuencia que se elimina.

4.3. Filtrado Óptimo


Una vez vistas algunas de las posibles aplicaciones de los filtros adaptativos,
vamos a comenzar en esta sección el estudio de su funcionamiento. En este
punto estudiaremos cómo influye en la potencia de la señal error el valor de
los coeficientes del filtro adaptativo, y encontraremos el valor de los coeficientes
que minimizan dicha potencia.
4.3. Filtrado Óptimo 141

r x0 r x1 r xL
w0 ? w1 ? ··· wL ?

y
?

Figura 4.11: Combinador lineal.

4.3.1. El combinador lineal


El combinador lineal es una estructura del tipo mostrado en la figura 4.11.
En ella podemos apreciar un vector de entradas xk , cada una de las cuales se
multiplica por un coeficiente wk para, a continuación, sumar el resultado. Se
llama combinador lineal porque, para un vector de coeficientes fijo, es lineal.
Todas las entradas, pesos y salida varı́an con n (tiempo). Durante el proceso
de adaptación, si los coeficientes wk dependen de los valores de las entradas
xk , el sistema dejará de ser lineal.
Las entradas del combinador lineal, en la aplicación de filtrado adaptativo,
son muestras con diferentes retardos de la señal de entrada x. A esta estructura
se la conoce como filtro transversal (FIR). La estructura de un filtro transver-
sal (FIR) se muestra en la figura 4.12. En el caso de filtros adaptativos, los
coeficientes dependerán del tiempo.
x[n] z −1 z −1 z −1
r - r - r - r r - r

w0 ? w1 ? w2 ? wL−1 ? wL ?
y[n]
r - r - r r - r - r

Figura 4.12: Filtro Transversal.


142 CAPı́TULO 4. FILTROS ADAPTATIVOS

4.3.2. Notación matricial


En el filtro transversal de la figura 4.12 podemos expresar la salida y[n] en
cualquier instante como:
L
X
y[n] = wk [n] x[n − k] (4.3)
k=0

Dicha expresión se puede formular matricialmente de la forma:

y[n] = W T [n] X[n] = X T [n] W [n] (4.4)

donde el producto de matrices está definido en la forma habitual, W [n] es un


vector columna1 que contiene los pesos del combinador lineal:

W T [n] = [w0 [n], w1 [n], . . . , wL [n]] (4.5)

y X[n] es un vector que contiene muestras de la señal x[n]:

X T [n] = [x[n], x[n − 1], . . . , x[n − L]] (4.6)

4.3.3. Respuesta deseada y error


Los sistemas que vamos a estudiar en estas notas serán todos de lazo ce-
rrado. En ellos existen siempre las siguientes señales(figura 4.13):

x[n]: Señal de entrada al filtro adaptativo.

y[n]: Señal de salida del filtro adaptativo.

d[n]: Señal de referencia.

e[n] = d[n] − y[n]: Señal error entre la señal de referencia y la salida del
filtro.

En función de la aplicación concreta (ver sección 4.2), dichas señales tendrán


un origen u otro. Sin embargo, en todos los ejemplos de aplicación vistos, es
posible identificar las mismas.
Consideraremos que el filtro adaptativo es un filtro transversal (FIR). Aun-
que existen algoritmos adaptativos para filtros IIR, no los consideraremos en

1
Los vectores se considerarán siempre vectores columna. Para considerar un vector como
fila deberá aparecer transpuesto (X T ).
4.3. Filtrado Óptimo 143

d[n]

?+ e[n]
-


6−

x[n] - Filtro. Adapt. y[n]




Figura 4.13: Estructura tı́pica de filtrado adaptativo.

estas notas, debido a que se emplean mucho menos, y las estrategias de adap-
tación que siguen son más complejas.
El objetivo de los algoritmos adaptativos que veremos será siempre mini-
mizar la potencia media de la señal error e[n]. De algún modo, determinarán
los coeficientes del filtro transversal de modo que la señal y[n] se cancele lo
más posible con d[n].

4.3.4. Superficie de error


Supongamos inicialmente que x[n] y d[n] son procesos aleatorios estacio-
narios. La potencia de la señal e[n] depende de los coeficientes que pongamos
en el filtro adaptativo transversal. A la función que expresa la potencia de la
señal error en función de los coeficientes del filtro la denominaremos Superficie
de Error. Supongamos momentáneamente que el vector de pesos del filtro W
no varı́a con el tiempo n. La señal de error es:

e[n] = d[n] − y[n] = d[n] − W T X[n] (4.7)

Su potencia instantánea vale:

(e[n])2 = (d[n])2 + W T X[n] X T [n] W − 2 d[n] X T [n] W (4.8)

Tomando esperanzas matemáticas en la anterior expresión y teniendo en cuen-


ta que el vector de coeficientes W lo hemos fijado (es decir no es aleatorio)
resulta:

E{(e[n])2 } = E{(d[n])2 } + W T E{X[n] X T [n]} W − 2 E{d[n] X T [n]} W (4.9)


144 CAPı́TULO 4. FILTROS ADAPTATIVOS

n o
A la matriz R = E X[n] X T [n] se la denomina matriz de autocorrelación de
la señal de entrada y vale:
  

 x[n] 

 
 x[n − 1]

 h i


R=E  ..  x[n] x[n − 1] · · · x[n − L] (4.10)
.
  

  

 
 x[n − L] 
 

 x[n] x[n] x[n] x[n − 1] ··· x[n] x[n − L] 

 


 x[n − 1] x[n] x[n − 1] x[n − 1] ··· x[n − 1] x[n − L] 

R=E  .. .. .. ..  =
. . . .
 

 

 
 x[n − L] x[n] x[n − L] x[n − 1] · · · x[n − L] x[n − L] 

  (4.11)
Rx [0] Rx [1] Rx [2] ··· Rx [L]

 Rx [1] Rx [0] Rx [1] · · · Rx [L − 1] 

R= .. .. .. .. ..  (4.12)
. . . . .
 
 
Rx [L] Rx [L − 1] Rx [L − 2] · · · Rx [0]
Análogamente, se define el vector de correlaciones cruzadas entre la entrada y
la señal de referencia P = E {d[n] X[n]}:
    

 x[n] 
 
 d[n] x[n] 

   



 x[n − 1] 


 d[n] x[n − 1]
 

P = E {d[n] X[n]} = E d[n]  ..  =E  .. 
. .
    

  
 
 

   
 x[n − L]   d[n] x[n − L] 

 
Rdx [0]

 Rdx [1] 

P = ..  (4.13)
.
 
 
Rdx [L]
Estamos suponiendo que las señales x[n] y d[n] son estacionarias. En ese caso
ni la matriz de autocorrelación R ni el vector de correlaciones cruzadas P
dependen del tiempo2 . Usando la matriz de autocorrelación y el vector de
correlaciones cruzadas es posible escribir la potencia media de la señal error
en función de los coeficientes de la siguiente forma:
E{(e[n])2 } = ξ = E{(d[n])2 } + W T R W − 2P T W (4.14)

2
Aunque al principio del tema se dijo que una de las utilidades de los filtros adaptativos
era su uso con señales no estacionarias, supondremos por el momento que las señales de
entrada son estacionarias, discutiendo más adelante qué sucede si no lo son.
4.3. Filtrado Óptimo 145

La anterior ecuación expresa el valor medio de la potencia de la señal error en


el caso de que:

Los coeficientes no varı́en. En la práctica, y dado que el filtro es adap-


tativo, lo que sucederá es que un algoritmo de adaptación tratará de
encontrar el valor de los coeficientes W que minimice ξ.

Las señales sean estacionarias. En realidad, en los métodos que veremos,


será suficiente con que las señales tengan una estadı́stica que varı́e sufi-
cientemente despacio como para que el algoritmo de adaptación pueda
converger correctamente y seguir las variaciones estadı́sticas de la señal.
En el caso de señales no estacionarias lo que sucederá es que la función
ξ irá modificándose lentamente con el tiempo.

La ecuación (4.14) expresa una función que tiene una forma muy peculiar
denominada cuádrica. En el caso de dos coeficientes (L = 1) dicha ecuación
es un paraboloide (figura 4.14). Cabrı́a la duda de si es un paraboloide con
un máximo o con un mı́nimo. Por reducción al absurdo es fácil ver que debe
tener un mı́nimo, porque si no necesariamente existirı́an valores de los pesos
que harı́an que ξ fuese negativo, cosa imposible, pues es un valor cuadrático
medio.

350

300

250

200
MSE

150

100

50

0
20
10 20
0 10
0
−10
−10
w1 −20 −20
w0

Figura 4.14: Potencia media de la señal error en función de los pesos


del filtro transversal para dos coeficientes.
146 CAPı́TULO 4. FILTROS ADAPTATIVOS

Resumiendo pues, la función que me indica cuál es la potencia


media de la señal error en función de los coeficientes de un filtro
FIR es una cuádrica con un único mı́nimo local que coincide con
el mı́nimo global.

4.3.5. Gradiente y error cuadrático medio mı́nimo


Se define el gradiente de una función escalar que depende de un vector
como:
∂ξ ∂ξ ∂ξ T
 
∇ξ = , , ..., (4.15)
∂w0 ∂w1 ∂wL
El vector gradiente en un cierto punto tiene las siguientes propiedades:

La dirección es la de máxima pendiente en un punto (crecimiento).

Su módulo es el valor de esa máxima pendiente.

Los mı́nimos (y máximos) locales de la función se corresponden con


puntos de gradiente nulo.

Dado que la función valor cuadrático medio de la señal error (ξ) tiene un único
mı́nimo local, podremos hallar los coeficientes óptimos W ∗ , es decir los que
minimizan la potencia de la señal error, sin más que calcular el gradiente de
la función ξ, anularlo y despejar el valor de los peso óptimos.
Para calcular el gradiente, tomamos la ecuación (4.14), calculamos las de-
rivadas parciales, y formamos el vector gradiente. Dicho gradiente se puede
expresar de nuevo en forma matricial del siguiente modo:

∇ξ = 2R W − 2P (4.16)

El error cuadrático medio mı́mimo se producirá cuando los pesos del filtro
anulen el gradiente.
∇ξ = 0 = 2R W ∗ − 2P (4.17)

Suponiendo que R sea no singular (es decir, invertible) entonces el vector


de coeficientes óptimo, W ∗ , vale:

W ∗ = R−1 P (4.18)

Al vector de pesos obtenido de esta forma se le denomina Filtro Óptimo de


Wiener, y representa el mejor conjunto de pesos posible en el sentido de mi-
nimizar la potencia de la señal error.
4.3. Filtrado Óptimo 147

Es fácil ver cuánto vale ξmı́n , es decir, el valor de la potencia media cuando
los coeficientes del filtro son los óptimos. Tras unas operaciones matriciales
elementales, y teniendo en cuenta que la matriz R es simétrica, se llega a:

ξmı́n = E{d2 } − P T W ∗ (4.19)

A partir de las anteriores ecuaciones podemos hacer una serie de comentarios:

Los coeficientes óptimos dependen de la estadı́stica de las señales de


entrada x[n] y d[n]. Por esta razón suele hablarse de filtrado estadı́stico.

Si la señal x[n] y la señal d[n] están incorreladas, el vector P será nulo


y por tanto los pesos óptimos (ecuación 4.18) también lo serán.

Si conociera la autocorrelación de la señal x[n], la correlación cruzada


entre x[n] y d[n] y además las señales fueran estacionarias, podrı́a utilizar
un filtro fijo con los coeficientes W ∗ .

Normalmente la autocorrelación de la señal de entrada y la correlación


cruzada son desconocidas, por lo que deben ser estimadas a partir de las
propias muestras de las señales para poder determinar W ∗ .

El filtro óptimo NO anula siempre la señal error; lo que hace siempre es


minimizar su potencia.

En el caso de que la matriz R sea singular, se utilizará la pseudoinversa


para determinar los pesos óptimos. Intuitivamente, lo que sucede, cuando
la matriz es singular, es que el paraboloide de la figura 4.14 se degenera
convirtiéndose en un canal. En ese caso existen multitud de vectores W
que presentan la misma potencia de la señal error (todos los del fondo
del canal). En ese caso, si se considera la pseudoinversa de la matriz R
lo que se obtiene es el vector de menor norma de los que constituyen el
fondo del canal.

Otra posibilidad para encontrar los pesos óptimos consiste en realizar un


algoritmo iterativo, en el que nos movamos en dirección contraria al gradiente
(es decir, cuesta abajo) con pasos de un tamaño proporcional al gradiente.
Éste se puede escribir también como:

∇ξ = 2R (W − W ∗ ) (4.20)

es decir, el gradiente es proporcional a la distancia entre el vector de pesos W


y el vector de pesos de error cuadrático medio mı́nimo W ∗ . El hecho de que el
gradiente sea proporcional a la diferencia entre los pesos y los pesos óptimos
148 CAPı́TULO 4. FILTROS ADAPTATIVOS

justifica el hecho de que los pasos de los algoritmos iterativos sean de tamaño
proporcional al gradiente. La estrategia de variar los pesos iterativamente en
dirección contraria al gradiente es el fundamento del algoritmo adaptativo más
utilizado, el LMS, que veremos más adelante.

4.3.6. Ejemplo de superficie de error


Consideremos un sistema como el de la figura 4.13 con dos coeficientes
(L = 1) y supongamos que las señales que se aplican a su entrada son:

d[n] = 2 cos (2πn/N + φ)

x[n] = sen (2πn/N + φ)

siendo φ una variable aleatoria uniforme entre −π y π.


Puedo ahora obtener R y P :
" #
0,5 0,5 cos 2π/N
R= (4.21)
0,5 cos 2π/N 0,5
h i
PT = 0 − sen 2π/N (4.22)

Además E{d2 } = 2. Particularizando la ecuación (4.14) para este caso se


obtiene:   2π 2π
ξ = 2 + 0,5 w02 + w12 + w0 w1 cos + 2 w1 sen (4.23)
N N
Los pesos óptimos, particularizando en la expresión (4.18), son:
h i
W∗ = 2cotg (2π/N ) −2cosec (2π/N ) (4.24)

siendo el valor mı́nimo de la potencia de la señal error ξmı́n = 0.


La figura 4.15 muestra las curvas de nivel de la superficie de error para
N = 4 y N = 10. En ella es posible apreciar que, en función del valor de N , no
sólo cambia la posición del punto mı́nimo sino que la superficie de error tiene
una forma u otra, pasándose de curvas de nivel de aspecto circular a curvas de
nivel con un marcado carácter elı́ptico. Si las curvas de nivel son circulares, el
gradiente es el mismo en cualquier punto de la curva de nivel, mientras que si
la curva de nivel es elı́ptica, el gradiente sobre distintos puntos de una misma
curva de nivel varı́a de un punto a otro, siendo mayor en las zonas estrechas
de la elipse (curvas de nivel más próximas). Este hecho será importante en los
algoritmos de gradiente.
4.4. Algoritmos de gradiente 149

N=4
20

15

10

5
w1

−5

−10

−15

−20
−20 −15 −10 −5 0 5 10 15 20
w0
N=10
20

15

10

5
w1

−5

−10

−15

−20
−20 −15 −10 −5 0 5 10 15 20
w0

Figura 4.15: Ejemplo de superficie de error para distintos valores de


N . Se indica con ‘∗’ el mı́nimo de la superficie de error.

4.4. Algoritmos de gradiente


En la sección anterior hemos visto que la función que mide la potencia de
la señal error, en función del valor de los pesos del filtro FIR, presenta un
único mı́nimo local que a la vez es el mı́nimo global de la misma.
Existen procedimientos de adaptación que estiman la matriz de autocorre-
lación y el vector de correlaciones cruzadas muestra a muestra determinando
150 CAPı́TULO 4. FILTROS ADAPTATIVOS

los pesos óptimos mediante la ecuación (4.18) con las matrices estimadas. Es-
tos métodos emplean técnicas eficientes que evitan el tener que invertir una
matriz cada vez que llega una nueva muestra.
Los procedimientos que vamos a estudiar más en profundidad son los de-
nominados algoritmos de gradiente. Se les llama de este modo porque buscan
el vector de pesos óptimo de forma recursiva, moviéndose pequeños pasos de
longitud proporcional al gradiente y en dirección contraria al mismo. El vector
de pesos se actualiza mediante la ecuación:

W [n + 1] = W [n] − µ∇ξ[n] (4.25)

El parámetro µ controla el tamaño de los pasos del algoritmo:

Si µ aumenta, la velocidad de convergencia será más rápida. Si es exce-


sivamente grande, el método puede hacerse inestable y diverger en lugar
de converger. Además, ya veremos que la solución final alcanzada es más
inestable en la práctica.

Si µ disminuye, la convergencia se ralentiza pero, a cambio, la solución


final es más estable.

Para analizar el comportamiento del algoritmo, vamos a estudiar inicialmente


el caso unidimensional (L = 0) para pasar luego al caso multidimensional.

4.4.1. Caso Unidimensional


En el caso de un coeficiente, la superficie de error es una simple parábola.
Es posible escribir la parábola en función del valor del mı́nimo local:

ξ = ξmı́n + λ (w − w∗ )2 (4.26)

La constante λ controla el ancho de las ramas de la parábola, w∗ la posición


del mı́nimo y ξmı́n la altura del mı́nimo. El gradiente en este caso es la derivada
y vale:
∂ξ
= 2λ (w − w∗ ) (4.27)
∂w
La recursión (4.25) particularizada para nuestro caso de un solo coeficiente
resulta:
w[n + 1] = w[n] − 2µλ(w[n] − w∗ ) (4.28)
Esta ecuación en diferencias recursiva, tiene por solución:

w[n] = w∗ + (1 − 2µλ)n (w[0] − w∗ ) (4.29)


4.4. Algoritmos de gradiente 151

r=0.8
3
w

1
r=−0.7

−1
0 5 10 15 20 25 30
n

Figura 4.16: Formas de convergencia por gradiente en función de la


razón geométrica r para un coeficiente.

Para que w[n] tienda al óptimo w∗ , cuando n → ∞, debe cumplirse que:

|1 − 2µλ| < 1

Al valor
r = 1 − 2µλ
se le denomina razón geométrica y juega un papel fundamental en la velocidad
y forma de convergencia:

Si |r| ≥ 1 el proceso iterativo no converge.

Si 0 < r < 1 (0 < µ < 1/2λ) el proceso converge de forma no oscilatoria,


tanto más rápido cuanto más parecido sea r a cero.

Si −1 < r < 0 (1/2λ < µ < 1/λ) el proceso converge de forma oscilatoria,
tanto más rápido cuanto más parecido sea r a cero.

Resumiendo, para que el algoritmo converja debe cumplirse:

1
0<µ<
λ
En cuanto a ξ también decrece de forma exponencial pero como (r2 )n , es
decir, de forma no oscilatoria.
152 CAPı́TULO 4. FILTROS ADAPTATIVOS

4.4.2. Caso Multidimensional


En el caso de que el filtro tenga más de un coeficiente, la superficie de
error deja de ser una parábola para convertirse en un (hiper)paraboloide. Si
observamos la figura 4.15, podemos ver el aspecto que toman las curvas de
nivel para el caso de dos coeficientes. Es posible realizar un cambio de ejes en
la superficie de error de forma que los ejes se alineen con los ejes principales de
las elipses de la superficie de error. Dichos ejes coinciden con los autovectores
de la matriz R. Si realizáramos cortes de la superficie de error por los ejes
principales, obtendrı́amos parábolas cuyo λk asociado es el autovalor asociado
al autovector de R correspondiente a la dirección en la que realizamos el corte.
Puede demostrarse que la convergencia del vector de pesos es independiente
en cada una de las direcciones asociadas a los autovectores, teniendo cada uno
de estos modos una razón geométrica de adaptación que vale:

rk = (1 − 2µλk ) 0≤k≤L (4.30)

Para garantizar la convergencia debe cumplirse |rk | < 1 para todos los
modos. Esto implica que:
1
µ< (4.31)
λmáx
La convergencia se alcanza cuando han convergido todos los modos. La con-
vergencia es más lenta cuanto más parecido sea |rk | a 1. Esto suele producirse
para λmı́n . La razón geométrica del modo más lento, en el caso de tomar µ lo
más grande posible para asegurar la convergencia, vale:
λmı́n
 
r = 1−2 (4.32)
λmáx
Si la razón λmáx /λmı́n es grande, el valor de la constante geométrica de la
ecuación (4.32) puede ser muy próximo a uno, con lo que la convergencia del
algoritmo del gradiente se hace muy lenta.
La figura 4.17 muestra un ejemplo de convergencia por gradiente. En ella
puede apreciarse cómo inicialmente el algoritmo converge rápidamente hasta
uno de los ejes principales del paraboloide. Se puede decir que el modo asociado
al eje más estrecho del paraboloide (λ mayor) converge rápidamente, pero
puede observarse cómo el modo asociado a la convergencia en el eje mayor de
las elipses (λ menor) converge mucho más lentamente; será la convergencia de
este modo la que limite la velocidad de convergencia global. Obsérvese también
cómo, inicialmente, el tamaño de los pasos es mayor; mientras que conforme
nos acercamos al óptimo, debido a que el valor del gradiente es menor, se van
acortando.
4.5. El algoritmo LMS 153

20

15

10

5
w1

−5

−10

−15

−20
−20 −15 −10 −5 0 5 10 15 20
w0

Figura 4.17: Convergencia de una algoritmo de gradiente.

Resumiendo, podemos decir que:

El autovalor más grande de R condiciona el valor máximo de µ para


garantizar la estabilidad de la convergencia.

El valor λmáx /λmı́n determina la máxima velocidad de convergencia al-


canzable por un algoritmo de gradiente.

4.5. El algoritmo LMS


En la sección anterior hemos visto una estrategia para encontrar el mı́nimo
de la superficie de error consistente en moverse pequeños pasos en dirección
contraria al gradiente. En la práctica se dispone de muestras de las señales
d[n] y x[n], pero se desconoce el valor del gradiente.
El algoritmo conocido como LMS (Least Mean Squares) consiste en sus-
tituir el gradiente en la ecuación (4.25) por una estima del mismo obtenida
154 CAPı́TULO 4. FILTROS ADAPTATIVOS

20

15

10

5
w1

−5

−10

−15

−20
−20 −15 −10 −5 0 5 10 15 20
w0

Figura 4.18: Convergencia de los coeficientes en el algoritmo LMS.

con muestras de las señales. En concreto, para actualizar los pesos, se sigue la
ecuación:
W [n + 1] = W [n] + 2µ e[n] X[n] (4.33)
donde la estima del gradiente es:
ˆ
∇ξ[n] = −2e[n] X[n] (4.34)
Es fácil comprobar que la media de la estima del gradiente coincide con el
gradiente teórico:
n o n o  
ˆ
E ∇ξ[n] = E {−2e[n] X[n]} = E −2(d[n] − X T [n] W ) X[n] = 2 R W − P
(4.35)
expresión que coincide con el gradiente teórico de la ecuación (4.16). El hecho
de que el gradiente no sea más que una estima hace que el comportamiento del
algoritmo LMS sea similar al de un algoritmo con gradiente en media aunque
la trayectoria seguida por los coeficientes sea más errática.
En las figuras 4.18, 4.19 y 4.20 se muestra un ejemplo de adaptación usando
el algoritmo LMS. Las señales usadas son las del ejemplo de la sección 4.3.6,
4.5. El algoritmo LMS 155

e[n]
10

−2

−4

−6

−8

−10
0 100 200 300 400 500 600 700 800 900 1000
n

Figura 4.19: Señal error en el algoritmo LMS.

salvo que la señal d[n] tiene añadido un ruido blanco de σ 2 = 0,05. Ello influye
únicamente en que la superficie de error tiene el mı́nimo ligeramente más
alto. Recordemos que tenemos dos coeficientes. En la figura 4.18 se muestra
la evolución de los pesos. Puede observarse que es similar a un algoritmo de
gradiente pero más errática.
La figura 4.19 muestra la evolución temporal de la señal de error. Podemos
apreciar como disminuye su amplitud llegando a un punto donde no parece
decrecer más. En ese momento, el algoritmo habrı́a finalizado su adaptación,
y la potencia media de la señal error una vez concluı́da la misma, serı́a ξmı́n .
La figura 4.20 muestra la evolución temporal de los pesos. Podemos apre-
ciar cómo alcanzan un valor en torno a su valor final para luego permanecer
oscilantes alrededor del mismo. Ello es debido a lo que se denomina desajuste
y que se explica más abajo.

4.5.1. Ejemplo numérico del algoritmo LMS


En esta sección vamos a dar un ejemplo numérico del proceso de adaptación
de un algoritmo LMS. Como hemos podido ver en la sección anterior, este
algoritmo es bastante simple, pero es necesario ser cuidadoso a la hora de
156 CAPı́TULO 4. FILTROS ADAPTATIVOS

w0[n] w1[n]
10

5
w0

−5 w1

−10

−15

−20
0 100 200 300 400 500 600 700 800 900 1000
n

Figura 4.20: Evolución temporal de los pesos en el algoritmo LMS.

implementarlo. Básicamente hay que realizar una serie de pasos que se repiten
cada nuevo instante:

Recibir x[n] y d[n].

Actualizar el vector de entradas X.

Calcular la salida y[n] = W T [n] X[n].

Calcular la señal e[n] = d[n] − y[n].

Actualizar los pesos W [n + 1] = W [n] + 2µe[n]X[n]

La tabla 4.1 muestra un fragmento de los anteriores valores en un caso de dos


coeficientes, con 2µ = 0,1 .

4.5.2. Aspectos prácticos del algoritmo LMS


En los apartados anteriores hemos visto cómo el algortmo LMS es una
aproximación a un algoritmo de gradiente que utiliza una estima del mismo
consistente en muestras de la señal de entrada y la señal error. Existen algunas
consideraciones que conviene hacer en la práctica debido al hecho de no utilizar
el verdadero gradiente.
4.5. El algoritmo LMS 157

n d[n] x[n] w0 [n] w1 [n] y[n] e[n]


.. .. .. .. .. .. ..
. . . . . . .
-2 1.6 0
-1 1.8 0.6 -2 1 -1.2 3
0 0.6 0.9 -1.82 1 -1.038 1.638
1 -0.8 0.9 -1.673 1.0983 -0.517 -0.282
.. .. .. .. .. .. ..
. . . . . . .

Cuadro 4.1: Ejemplo numérico de adaptación LMS.

La primera se refiere al valor máximo que podemos dar a la constante


de adaptación µ. Según se dijo, su valor deberı́a ser menor que la inversa
del mayor autovalor de la matriz R. Desgraciadamente, en la práctica, no
conocemos dicha matriz por lo que resulta imposible calcular sus autovalores.
Dado que los autovalores de la matriz de autocorrelación R son todos positivos,
el mayor autovalor será menor que la suma de todos ellos. Además existe una
propiedad de las matrices que dice que la suma de los autovalores coincide con
la traza de la misma, siendo la traza la suma de los elementos de la diagonal
principal. En la matriz R los elementos de la diagonal principal valen todos
Rx [0], es decir, la potencia de x[n]. Llamando P otx a dicha potencia podemos,
pues, encontrar una cota para el valor máximo de µ de forma que se garantice
la estabilidad de la convergencia.
1
µ< (4.36)
(L + 1) · P otx
En esta expresión intervienen únicamente el número de coeficientes del filtro y
la potencia media de la señal x[n], fácilmente estimable. Si la señal x[n] pudiera
variar su potencia (es decir, fuera no estacionaria), deberı́amos introducir algún
mecanismo de monitorización de la misma o situarnos en el caso de la máxima
potencia esperada, pues en caso contrario, el algoritmo de adaptación podrı́a
diverger.
La segunda consideración se refiere a que el vector
ˆ
∇ξ[n] = −2 e[n] X[n]

altera los coeficientes en cada nueva muestra. Ello hace que aunque en media el
incremento de los pesos una vez alcanzada la adaptadación sea nulo, estos no
dejen de variar si la señal e[n] no tiende a cero. Se podrı́a ver el fenómeno como
si nos estuvieramos moviendo por el fondo del paraboloide constantemente.
158 CAPı́TULO 4. FILTROS ADAPTATIVOS

Ello provoca un aumento en la potencia media de la señal error, y variaciones


en los pesos de media nula pero varianza distinta de cero.
La varianza de las variaciones de los pesos es proporcional a µ y ξmı́n . A
dicha varianza se le llama desajuste. Se define el exceso de error cuadrático
medio, como la diferencia entre la potencia media de la señal error alcanzable
en la práctica con el LMS y ξmı́n . Dicha diferencia, conocida como exceso de
potencia de error, también es proporcional a µ y ξmı́n . Ello explica la nece-
sidad de que µ no se escoja demasiado grande pensando en la velocidad si
ξmı́n 6= 0, ya que, en caso contrario, tendrı́amos un exceso de potencia de error
inaceptable.
Ésta es la razón por la que cuando estudiamos los canceladores de eco,
dijimos que, durante el funcionamiento full duplex, el algoritmo no actualizaba
sus coeficientes.

4.6. Conclusiones
En este punto revisaremos las principales ideas vistas en el tema:

Los filtros adaptativos constituyen una solución a problemas de filtrado


en muchas situaciones.

Se basan en filtrar una señal x de modo que la salida del filtro y se


parezca lo más posible a una señal de referencia d.

El criterio más empleado es minimizar la potencia de la señal error.

Si el filtro adaptativo es FIR la superficie de error tiene un único mı́nimo


local que además es el mı́nimo global.

El algoritmo LMS es, por su sencillez, el más utilizado.

La constante de adaptación:

• interesa grande para convergencia rápida.


• interesa pequeña para reducir el desajuste.

La estabilidad de la convergencia viene determinada por el autovalor


más grande de la matriz de autocorrelación.

La velocidad de convergencia viene limitada por el cociente λmáx /λmı́n .


Si este cociente es grande, la convergencia puede ser muy lenta.
4.7. Problemas 159

Si la señal es no estacionaria es como si el paraboloide se moviese/deformase


lentamente.

Si la potencia de x[n] puede variar con el tiempo, hay que monitorizarla


para evitar que el algoritmo pueda hacerse inestable.

4.7. Problemas
1. Suponga que la matriz de autocorrelación de la señal de entrada de una
filtro adaptativo que funciona según el algoritmo LMS es:
" #
3 2
R=
2 3

a) Comprobar que es una matriz de autocorrelación válida.


b) Determinar los autovalores y autovectores de R.
c) Dibuje de forma aproximada las curvas de nivel de la función error
cuadrático.
d ) Determine el valor de µ máximo para que el algoritmo LMS con-
verja.
e) Suponiendo W T [0] = [ 0 0 ] y W ∗ = [ 2 −1 ] dibujar de forma
aproximada la evolución de los pesos. (µ = 2/3 µmáx )

2. Partiendo de los valores de las tres columnas de la izquierda de la ta-


bla 4.1, rellenar el resto de las columnas y comprobar el resultado.

4.7.1. Ejercicios con Matlab


En la dirección
http://ttt.upv.es/∼aalbiol/librotds
se encuentran los ficheros que hacen falta para realizar estos ejercicios.
El programa LMS.M implementa el algoritmo de adaptación del mismo nom-
bre.

1. En este primer ejercicio comprobaremos una de las aplicaciones de la pre-


dicción lineal. En codificación de señales interesa muchas veces codificar
la diferencia entre una señal y una predicción de la misma. Normalmente
la predicción se hace de forma lineal y en base a muestras anteriores. En
160 CAPı́TULO 4. FILTROS ADAPTATIVOS

el receptor es posible reconstruir la señal original si se recibe el error de


predicción y los coeficientes utilizados para realizar la predicción.

e[n] = x[n] − x̂[n] = x[n] − a1 x[n − 1] − · · · − ap x[n − p]

Interesa utilizar unos coeficientes para realizar la predicción de forma


que la potencia del error de predicción sea mı́nima. Suponiendo que
las señales a codificar sean señales de voz, y dado que éstas son no
estacionarias, parece lógico que los coeficientes de predicción óptimos
deban ir variando con el tiempo. Una forma de determinar los coeficientes
es mediante un filtrado adaptativo de la señal x[n].
En el fichero voz.mat encontrará las señales que necesita. Para ello,
ejecute el algoritmo LMS tomando los siguientes valores de entrada:

Señal d[n]: el vector voz.


Señal x[n]: lo mismo retrasado una muestra.
Número de coeficientes: 10.
Valores iniciales de los coeficientes: todo ceros.
Valor de µ: 0.15 de su valor máximo. Teniendo en cuenta que la señal
x es no estacionaria, para estimar su potencia utilice el fragmento
o1 correspondiente a una zona de máxima amplitud y estime su
valor cuadrático medio.

Se pide:

a) Determine la potencia media de la señal voz y de la señal error.


b) Compruebe que los coeficientes varı́an lentamente. Represente grá-
ficamente la evolución temporal de los pesos. En una aplicación
de codificación dichos coeficientes deberı́an transmitirse al receptor
como información lateral junto a la señal error de predicción. Ello
supondrı́a una información adicional a transmitir, reduciendo de
este modo la eficiencia de la compresión. Una forma de evitar esto
consiste en darse cuenta que los coeficientes varı́an lentamente, por
lo que pueden transmitirse sólo de vez en cuando, realizando una
interpolación de los mismos en el receptor.

2. En este ejercicio, supondremos que tenemos una configuración de identi-


ficación de sistemas (figura 4.2). En el fichero IDSIST.MAT encontrará las
señales que necesita. Se ha introducido el vector x como entrada de un
sistema planta y se ha obtenido a su salida el vector d. Las muestras del
vector x son ruido blanco.
4.7. Problemas 161

a) Determine el valor de µmáx para que el algoritmo LMS converja


suponiendo que el filtro adaptativo tiene 8 coeficientes.
b) Sabiendo que la planta tiene una respuesta impulsional de duración
menor que 8, encuentre la respuesta en frecuencia de la planta, es
decir, el filtro que aplicando x a su entrada produce d a su salida.
Utilice para ello el algoritmo LMS, con un µ de valor 0.1 veces el
máximo. Dibuje la señal error y la evolución temporal de los pesos
para comprobar que el algoritmo ha terminado de converger.
c) Un problema que surge en la práctica, es que la señal d[n] tiene
añadido un ruido incorrelado. Demuestre que si añadimos un ruido
incorrelado con x[n] a la señal d[n] el único cambio en la superficie
de error consiste en que su valor mı́nimo ξmı́n aumenta.

d-
- Planta??? +  r[n]


y X
X
?+ Xe[n]
X dn
x[n] -


6−

- Filtro. Adapt.
y[n]



Figura 4.21: Ruido aditivo a la salida de la planta. El algoritmo adap-


tativo no tiene acceso a d[n] sino a dn[n].

d ) Vamos a simular lo que sucede cuando la salida de la planta tiene


un ruido aditivo incorrelado con la entrada. Genere un vector r
de muestras aleatorias gaussianas y varianza 0.01. Genere el vector
dn = d + r. Suponiendo que cuando la señal d no tenı́a ruido la
potencia de la señal error tras la adaptación valı́a cero, calcule cuál
es el valor de ξmı́n en el caso de utilizar dn.
e) Utilice un filtro adaptativo de 8 coeficientes con un valor de µ igual
a una décima parte de su valor máximo. y ejecute el algoritmo LMS
tratando de estimar la respuesta en frecuencia de la planta. Dibuje
la evolución temporal de los pesos. ¿Qué observa con respecto al
caso en que no tenı́amos ruido en la salida de la planta?
f ) Repita el punto anterior pero con un valor de µ igual a 1/5 del valor
máximo. Dibuje nuevamente la evolución temporal de los pesos y
compare qué sucede cuando se incrementa µ.
162 CAPı́TULO 4. FILTROS ADAPTATIVOS

g) Considere un margen de muestras de las señales error en los que se


haya producido la adaptación para ambos casos (µ = 1/10 µmáx y
µ = 1/5 µmáx ), por ejemplo entre la 400 y la 900. Calcule la potencia
media de la señal error para los dos valores de µ en ese intervalo de
muestras. Determine el exceso de potencia de error debido a que los
coeficientes siempre están readaptándose (y por lo tanto nunca en
el óptimo) en cada caso. Compruebe la relación de µ con el exceso
de potencia de error que se vio en teorı́a.
h) En los anteriores apartados hemos comprobado la adaptación cuan-
do la señal de entrada x es blanca. En este caso todos los autovalores
son iguales y por lo tanto la convergencia es rápida. En este aparta-
do considere la señal x2 (no blanca) que se aplica a la planta para
obtener d2.
Estime los valores de autocorrelación de la señal x2.
Determine los autovalores de la matriz de autocorrelación y
determine la dispersión de autovalores.
Ejecute el algoritmo LMS y compruebe que no se ha alcanzado
la adaptación. Verifique que la adaptación es mucho más lenta
que en el caso en que la señal de entrada era blanca.
Determine la respuesta en frecuencia de los coeficientes en la
última adaptación. Compárela con la respuesta en frecuencia de
la planta. Compruebe que el error en la respuesta en frecuen-
cia no es uniforme en todas las frecuencias. Para determinar
la respuesta en frecuencia utilice la función freqz() y para
compararlas utilice abs(H1-H2)
Calcule el espectro de la señal de entrada x2 utilizando el pro-
grama wosa.m que se encuentra en el servidor de la asignatura
en el directorio anespec.
[E, f]=wosa(x2,30,256,10,hamming(30));
plot(f,E)
¿Determine la relación que existe entre el error en la estima de
la respuesta en frecuencia y el espectro de la señal de entrada
Resuma los principales efectos de que la señal de entrada no
sea blanca en la identificación de sistemas.
Capı́tulo 5

Análisis Espectral

5.1. Introducción
¿Qué es el análisis espectral? El análisis espectral de señales no es otra cosa
que el tratar de ver las señales de una forma distinta a como se manifiestan
normalmente. Concretando un poco más, las señales que habitualmente mane-
jamos se presentan como variaciones de una magnitud fı́sica (corriente, voltaje,
presión acústica, . . . ) en función del tiempo. Podrı́amos decir, que las señales
se producen de forma natural en el dominio del tiempo. Sin embargo, muchas
veces, mirar una señal en su dominio natural (el tiempo generalmente) no ayu-
da demasiado a comprender la misma. En muchas ocasiones, descomponer la
señal como suma de sinusoides resulta de gran interés práctico. En general,
se entenderá por análisis espectral en el sentido más amplio del término, el
descomponer una señal como suma de una colección de señales (ortogonales).
En la gran mayorı́a de los casos, y es lo que se estudiará en este tema, las
señales en las que descompondremos serán sinusoides. La razón de ello, es que
las sinusoides son autofunciones de los sistemas lineales.
El análisis espectral, resumiendo, será pues el conjunto de herramientas
que permiten considerar las señales desde un punto de vista diferente, cuando
ello resulta de interés.
Otra forma de hablar, diferente pero equivalente a la vez, y poco formal,
podrı́a ser decir que las señales, en su dominio temporal, nos indican la fuerza
de la señal a lo largo del tiempo, mientras que en su dominio espectral, la
fuerza de la misma para cada frecuencia. De un modo más técnico diremos
que el análisis espectral nos da la distribución de energı́a (o potencia según el
caso) por frecuencias, es decir, cuánta energı́a (o potencia) tiene la señal en
cada frecuencia.

163
164 CAPı́TULO 5. ANÁLISIS ESPECTRAL

5.2. Tipos y tecnologı́as de analizadores espectrales


El análisis espectral es una herramienta profusamente utilizada en Teleco-
municaciones y un sinfı́n de otras disciplinas. Existen distintos tipos de anali-
zadores espectrales, fundamentalmente en función del rango de frecuencias a
analizar y de la aplicación. Los principales son:

Analizador espectral por banco de filtros.

Analizadores de barrido.

Analizadores digitales.

En las secciones siguientes expondremos los principios de funcionamiento de


cada uno de ellos ası́ como algunas de sus aplicaciones más tı́picas.

5.2.1. Analizadores por banco de filtros


Prácticamente todos hemos podido ver los displays que presentan algunos
equipos de alta fidelidad, en los que un conjunto de barras indican en cada
momento la amplitud de la señal en la correspondiente banda de frecuencias.
Este tipo de presentación corresponde al resultado de un análisis espectral
mediante un banco de filtros.
Consisten en un conjunto de filtros paso-banda (figura 5.1), cada uno de
los cuales tiene a su salida un medidor de potencia. Cada canal (salida del
filtro) proporciona una indicación del comportamiento medio en su correspon-
diente banda de paso. Los medidores de potencia consisten básicamente en un
elevador al cuadrado seguido de un filtro paso-bajo (figura 5.2). El ancho de

- H1 - Pot1 -

- H2 - Pot2 -

- .. ..
. .

- HN - PotN -

Figura 5.1: Esquema general de analizador espectral por banco de fil-


tros.
5.2. Tipos y tecnologı́as de analizadores espectrales 165

- x2 - Hkpb -

Potk

Figura 5.2: Esquema de un medidor de potencia de un analizador es-


pectral por banco de filtros.

banda de este filtro paso-bajo es el responsable de que la salida de cada canal


sea más o menos fluctuante. El criterio para fijar el ancho de banda de estos
filtros paso bajo es:

Para señales estacionarias interesarı́a anchos de banda pequeños. Ello


implicarı́a retardos de grupo altos (desfase entre lo que se oye y lo que
se mide). Esto no obstante, no serı́a ningún problema para señales esta-
cionarias, pues por definición de estacionariedad el contenido espectral
de la misma no varı́a con el tiempo.

Para señales dinámicas interesarı́a anchos de banda grandes, para que las
respectivas salidas pudieran seguir la evolución temporal de las señales
en los diferentes canales. El problema que presentarı́a tomar anchos de
banda excesivamente grandes, serı́a lo fluctuante que resultarı́a la estima
espectral. Esto se comprenderá mejor al final del tema.

En la práctica, los equipos profesionales de medida suelen tener anchos de


banda normalizados dependientes del ancho de la banda analizada.
La utilidad (teórica al menos) de dichos displays no es distraernos la vista
mientras escuchamos la música (aunque para la gran mayorı́a sı́ lo sea), sino
permitirnos ecualizar la sala de audición de forma que todas las frecuencias
suenen igual si originalmente son iguales. Para ello, se debe disponer de una
fuente de señal cuyo contenido en frecuencia se conozca, se reproduce a través
del equipo de audio y se analiza espectralmente (mediante el banco de filtros)
la señal captada en un micrófono (calibrado). Actuando sobre los mandos del
ecualizador del equipo es posible compensar los distintos niveles de amplifi-
cación de la señal acústica debidos a no idealidades de altavoces, distintas
absorciones acústicas de los materiales del recinto,. . .
Este tipo de analizadores es válido cuando el número de canales espec-
trales deseado no es excesivamente grande ni se requiere una gran resolución
espectral. Pueden implementarse de forma analógica (operacionales, bobinas,
166 CAPı́TULO 5. ANÁLISIS ESPECTRAL

condensadores, . . . ) o digital (digitalizando la señal e implementando los fil-


tros digitalmente). Presentan la ventaja de que se hace un análisis espectral
simultáneo de todas las frecuencias.

5.2.2. Analizadores de barrido


Mientras que los analizadores de banco de filtros, presentan la importante
ventaja de realizar un análisis espectral en paralelo (todas las frecuencias a
la vez), tienen el inconveniente de que cuando los anchos de banda a analizar
son grandes y/o los anchos de banda de los canales son pequeños, el número
de filtros necesarios se dispara, y con ello la complejidad y el coste. Para ello
surgen los analizadores espectrales de barrido. Su diagrama general se muestra
en la figura 5.3.
El sistema consta de un oscilador local, un mezclador (multiplicador), un
filtro llamado de frecuencia intermedia o predetección, y un medidor de po-
tencia análogo a los vistos en los analizadores por banco de filtros (elevador al
cuadrado y filtro paso-bajo o de postdetección).
Supongamos que inicialmente, la frecuencia del oscilador local es fija. Cuan-
do se multiplica un tono por otro, como se sabe, aparecen las frecuencias suma
y resta de las originales con la frecuencia del oscilador local. Si a la entrada
tenemos una señal de frecuencia f1 = f0 − fOL al batirse con el oscilador lo-
cal obtendremos dos términos, uno en f0 y otro en |f0 − 2fOL |. El filtro de
frecuencia intermedia se encargará de rechazar el término de |f0 − 2fOL |. Si
a la entrada tenemos la frecuencia f2 = f0 + fOL , tras el mezclador también
obtendremos un término en f0 . Supongamos que la señal de entrada ha si-
do filtrada de modo que sólo una de las dos frecuencias (f1 por fijar ideas)
está presente en la entrada del analizador (este filtrado se denomina rechazo
de frecuencia imagen y está presente en todos los sistemas superheterodinos).
Si f0 es una frecuencia genérica de la banda de paso del filtro de frecuencia
intermedia, resultará que para una cierta frecuencia del oscilador local, una
cierta banda de la señal de entrada (f1 ) coincidirá con la banda de paso del
filtro de frecuencia intermedia. Es fácil darse cuenta que el sistema mide la


- × - HF I - x2 - Hpb -

6

OL

Figura 5.3: Esquema de un analizador de espectros de barrido.


5.3. Planteamiento del problema 167

potencia en la banda de frecuencias que al mezclarse con el oscilador local va


a caer en la banda de paso del filtro de frecuencia intermedia.
Variando la frecuencia del oscilador local, es posible variar la banda de
frecuencias de la señal original que se corresponderá con la banda de paso
del filtro de frecuencia intermedia. Esto permite un análisis secuencial de las
distintas bandas de frecuencia. En la práctica, la velocidad de cambio de la
frecuencia del oscilador local no puede ser demasiado elevada, lo que lleva
a que puedan ser necesarios tiempos de medida grandes si se desea analizar
amplias bandas de frecuencia.
Fijémonos que, en este caso, también se mide la distribución de potencia
de la señal en distintas frecuencias, pero esta vez de modo secuencial, con lo
que si la señal no es estacionaria y el tiempo de medida es demasiado largo,
pueden presentarse resultados erróneos.
Este tipo de analizadores se emplea sobre todo en radio-frecuencia. En
cuanto a la tecnologı́a empleada suele ser analógica hasta el filtro de frecuencia
intermedia inclusive y analógica o digital, según modelos de equipos, a partir
de dicho filtro.
Algunas de entre las muchas aplicaciones de este tipo de analizadores
podrı́an ser el análisis de ocupaciones de canales de RF (en un sistema de
TV cable o en el aire), o el análisis de emisiones parásitas de cualquier equipo
electrónico (medidas EMI).

5.2.3. Analizadores digitales


Van a constituir el resto del tema. En este punto, sólo diremos que las
señales a analizar son digitalizadas, y se analizan mediante distintos proce-
dimientos las muestras obtenidas. Son los métodos más potentes que existen
por la complejidad de los procedimientos implementables. Su única limita-
ción práctica está en la disponibilidad/calidad de los convertidores de datos
(A/D) y en el ancho de banda de la señal (número de muestras por segundo
a procesar).

5.3. Planteamiento del problema del análisis espectral


En esta sección vamos a centrar un poco más el problema que pretendemos
resolver mediante el análisis espectral. En general, podemos hablar de una
serie de tipos de señales que podemos estar interesados en analizar. En los
siguientes apartados iremos viendo para cada uno de estos tipos qué es lo que
pretendemos obtener analizando espectralmente, y los posibles problemas.
168 CAPı́TULO 5. ANÁLISIS ESPECTRAL

5.3.1. Señales deterministas de duración limitada


Este tipo de señales es el que ofrece conceptualmente menos problemas.
La herramienta a utilizar será la transformada de Fourier, y en la práctica
la FFT. Ello es posible porque la FFT recibe como entrada un vector de
muestras de duración limitada, y proporciona como resultado un vector de
muestras espectrales. Si se desea una mayor finura de muestreo espectral,
siempre podremos añadir ceros al final de las muestras antes de calcular la
FFT.
Si se eleva al cuadrado el módulo de la FFT se obtiene la denominada
Densidad Espectral de Energı́a (DEE).

5.3.2. Señales deterministas de duración ilimitada


Cuando las señales son de duración ilimitada, nos encontramos con el pri-
mer obstáculo insalvable del análisis espectral. La Transformada de Fourier
(TF), es una operación que permite pasar de un dominio (el tiempo) a otro
(la frecuencia). Sin embargo, por la propia definición, para calcular la TF en
cualquier frecuencia, es necesario conocer la señal en todo instante. Esto, para
señales de duración infinita, implicarı́a esperar hasta el final de los tiempos
antes de poder empezar a calcular la TF, ası́ como haber conocido dicha señal
desde el principio de los mismos (eso sin contar con los problemas de conver-
gencia de la serie).
En primer lugar, no estábamos aquı́ para grabar el principio de la señal.
En segundo lugar, tampoco lo estaremos para el final de la misma. Además
es bastante improbable que la señal que pretendemos analizar existiera desde
siempre ni vaya a durar por siempre. Todas estas cuestiones, aparentemente
filosóficas, conducen al procedimiento de medida siguiente. Lo que haremos
será tomar un trozo de señal y analizarlo utilizando los métodos de señales
de duración limitada (cualquier trozo de señal tiene duración limitada), su-
poniendo que el segmento seleccionado es suficientemente representativo de la
señal total.
Dentro de este tipo de señales consideraremos, por su importancia, el es-
tudio más en detalle de sumas de tonos y señales periódicas.

5.3.3. Señales aleatorias estacionarias


Para describir en el dominio de la frecuencia señales aleatorias estacionarias
existe un concepto llamado Densidad Espectral de Potencia (DEP).
5.3. Planteamiento del problema 169

Recordemos que la DEP (Φx (ejω )) de una señal aleatoria estacionaria x[n]
viene dada por:
Φx (ejω ) = TF {Rx [m]} (5.1)
donde Rx [m] es la autocorrelación de la señal x[n] dada por

Rx [m] = E {x∗ [n]x[n + m]} (5.2)

Obsérvese que para que la ecuación 5.2 no dependa de n el proceso aleatorio


debe ser estacionario. Nótese también que, para señales de este tipo, es total-
mente equivalente el cálculo de la autocorrelación o el cálculo directo de la
DEP, pues del uno al otro se pasa simplemente por una TF. Ası́ pues, vere-
mos más adelante en el desarrollo del tema, cómo existen ciertos métodos de
análisis espectral que se basan en la estima de la función de autocorrelación
para, a partir de ella, mediante la TF, calcular la DEP.
La relación entre la autocorrelación y la DEP, nos permite presentar el
análisis espectral desde otro punto de vista. Es conocido que la autocorrelación
mide el parecido de una señal consigo misma desplazada. El que una señal se
parezca en distintos instantes de tiempo puede verse como que el proceso
aleatorio tiene una cierta memoria, es decir, que el valor del proceso aleatorio
en un instante no es totalmente independiente de lo que vale en instantes
próximos. Desde ese punto de vista, la autocorrelación (y con ella la DEP)
puede verse como una medida de esa memoria del proceso aleatorio.
El proceso que menos memoria tiene es el ruido blanco. Como se sabe, la
DEP de dicho ruido es constante, y la autocorrelación es una δ en el origen.
Ello quiere decir que la señal no se parece (estadı́sticamente) a sı́ misma sal-
vo en el mismo instante. De esto es posible sacar una conclusión. Espectros
suaves (que varı́en lentamente con la frecuencia) corresponderán a señales con
poca memoria (gran cantidad de información por unidad de tiempo) mientras
que señales con autocorrelación ancha (espectros estrechos) corresponderán a
señales con bastante memoria (poca información por unidad de tiempo).
Para terminar esta sección, un último aspecto teórico. Existe otro concepto
relativo a los procesos aleatorios que es el de ergodicidad. Dicha propiedad
viene a decir que, si un proceso estacionario además es ergódico, resulta que
observando una única realización desde −∞ a ∞ se tiene toda la información
del proceso. En otras palabras, esta propiedad es la que permite que, cogiendo
una realización (cualquiera) del proceso, se pueda inferir el comportamiento
estadı́stico del conjunto de infinitas realizaciones posibles del mismo. Esto,
que puede parecer de poca importancia, es de importancia suprema a la hora
de dar un fundamento teórico sólido a lo que estamos haciendo, pues en la
práctica siempre dispondremos únicamente de una realización del proceso (la
170 CAPı́TULO 5. ANÁLISIS ESPECTRAL

señal a analizar). No obstante, indicaremos también que la ergodicidad es una


propiedad de los procesos aleatorios que siempre supondremos pero que nunca
comprobaremos (porque no se pueden conocer las infinitas realizaciones del
proceso aleatorio y, si se conocieran, la propiedad no nos servirı́a para nada).
La ergodicidad, como acabamos de ver, es la propiedad teórica que nos
permite analizar un proceso aleatorio a partir de una única realización. Esto, de
todos modos, aún no resuelve el análisis espectral práctico pues serı́a necesario
conocer la realización para todo tiempo. Para solucionar este problema se
recurre a lo mismo que en el caso de señales deterministas de duración infinita.
Se cogerá un trozo de señal, y se realizará el análisis de dicho fragmento. La
forma de pasar del análisis de un fragmento a la DEP de la señal aleatoria
será estudiada con detalle en los apartados correspondientes.

5.3.4. Señales no estacionarias


Si la señal a analizar es no estacionaria resulta que la ecuación (5.2) de-
pende no sólo de m sino de n. En ese caso la DEP no existe estrictamente
hablando. Para solventar este problema, presente en muchas señales de interés
práctico (voz, sonar, radar,. . . ), se recurrirá a un concepto nuevo llamado dis-
tribución tiempo frecuencia.
En la sección correspondiente estudiaremos con más profundidad estos pro-
cedimientos, pero de momento pensemos que lo que haremos será considerar
que el espectro varı́a con el tiempo. Este concepto, fácil de comprender in-
tuitivamente, choca frontalmente con nuestros conocimientos teóricos hasta el
momento, en donde los dominios del tiempo y la frecuencia, NUNCA aparecen
juntos.

5.3.5. Aspectos prácticos del análisis espectral digital


En este apartado vamos a revisar sucintamente cuales son las limitaciones
y condicionantes de tipo práctico que surgen en el análisis espectral mediante
procedimientos digitales.
El primer paso para analizar espectralmente una señal (analógica) de forma
digital será digitalizarla. En dicho proceso aparecerán dos elementos:
El filtro anti-aliasing.
El convertidor A/D.
El primero, es necesario siempre para evitar la mezcla de componentes espec-
trales que se producirı́a si no estuviera presente. Dado que los filtros imple-
mentables no tienen atenuaciones infinitas en las bandas atenuadas ni bandas
5.3. Planteamiento del problema 171

- Haa - A/D - An. Dig. -

Figura 5.4: Esquema del interfaz necesario para analizar digitalmente


el espectro de una señal analógica.

de transición abruptas, el espectro que se presentará al conversor A/D no


será exactamente el mismo de la señal a analizar. Interesará pues que este
filtro tenga buenas prestaciones, y compensar las medidas en función del filtro
utilizado.
El segundo elemento, el conversor A/D, idealmente no deberı́a introducir
ningún efecto negativo sobre el análisis. En la práctica introduce dos.

Ruido de cuantificación.

No linealidades.

El ruido de cuantificación es sobradamente conocido y, desde el punto de


vista del análisis espectral, es como si la señal que realmente vamos a analizar
fuera la suma de la que deseamos analizar más un ruido (blanco). Ello puede
llevar a errores importantes en la estima espectral, especialmente en aquellas
frecuencias en que la señal de entrada es comparable al ruido de cuantificación.
Este efecto no es corregible, y sólo es posible saber si lo estamos haciendo bien
o mal.
El efecto de las no linealidades se produce porque no todos los escalones de
cuantificación son idénticos. Ello lleva a los fenómenos de distorsión e intermo-
dulación, consistentes, en que si la entrada al sistema fuera un tono analógico,
a la salida del A/D tendrı́a la suma de varios tonos digitales armónicamente
relacionados. Como los métodos digitales procesan la salida del A/D los resul-
tados serán erroneos, es decir, verı́a más tonos de los que realmente hay. Este
tipo de errores no es evitable (salvo cambiando el A/D) ni compensable, por
lo que debe tenerse plenas garantı́as sobre la calidad del A/D antes de intentar
el análisis espectral.
Con respecto a la duración infinita de las señales ya se ha mencionado
más arriba la solución que adoptaremos, consistente en coger fragmentos de
duración limitada. Finalmente indicaremos que los procedimientos que van
a ser vistos a lo largo del resto del tema, corresponden a procedimientos de
análisis de señales discretas. Los resultados que dan dichos procedimientos
lo son en frecuencias digitales fd entre -0.5 y 0.5. Para pasar los resultados a
172 CAPı́TULO 5. ANÁLISIS ESPECTRAL

frecuencias analógicas fa es necesario multiplicar por la frecuencia de muestreo


fs .
fa = fd · fs (5.3)

5.4. Análisis espectral de señales deterministas


Esta sección se va a dedicar al análisis espectral de sumas de tonos. Dado
que las señales periódicas son sumas de tonos, este apartado incluirá el análisis
de señales periódicas como extensión.
Supondremos que la señal a analizar es la suma de dos tonos:
x[n] = A1 cos(ω1 n + φ1 ) + A2 cos(ω2 n + φ2 ) (5.4)
No contemplamos el caso de un único tono, puesto que los efectos que vamos a
presentar en breve necesitan de la presencia de varios tonos. Para no recargar
la notación, y dado que no se pierde generalidad, vamos a suponer que las fases
iniciales de los tonos son ambas cero φ1 = φ2 = 0. La figura 5.5 reperesenta
un ejemplo de señal de este tipo con f1 = 0,15 y f2 = 0,28.

1.5

0.5
x[n]

-0.5

-1

-1.5

-2
0 20 40 60 80 100 120 140 160 180 200
n

Figura 5.5: Suma de dos tonos en el dominio del tiempo.

Para poder realizar el análisis, se considera un número finito, L, de mues-


tras de la señal. Supongamos que asignamos a dicho trozo (arbitrariamente)
5.4. Análisis espectral de señales deterministas 173

al intervalo n = 0, · · · , L − 1. En principio se puede suponer cualquier instante


inicial para la señal, puesto que la elección del origen de tiempos es total-
mente arbitraria (salvo que se vayan a comparar dos señales). Además, si
supusieramos otro intervalo, esto sólo afectarı́a a la fase y no al módulo de la
transformada, y normalmente estaremos interesados en el módulo.
Supondremos igualmente, que la señal fuera del segmento de muestras
disponibles es nula. El proceso pues, de selección de un trozo de señal, se puede
ver como multiplicar la señal x[n] de duración infinita por otra de duración
finita w[n] que denominaremos ventana.

xw [n] = x[n] w[n] (5.5)


donde (
6= 0 0 ≤ n ≤ L − 1
w[n] = (5.6)
0 resto
Una vez tenemos una señal de duración finita, simplemente calcularemos
la TF de la misma:
L−1
xw [n]e−jωn = X(ejω ) ∗ W (ejω )
X

Xw (e ) = (5.7)
n=0
donde ∗ es la convolución periódica de transformadas de Fourier
1 π
Z
X(ejω ) ∗ W (ejω ) = X(ej(ω−θ) ) W (ejθ ) dθ (5.8)
2π −π
En la figura 5.6 se muestra la transformada de Fourier de la señal de la figu-
ra 5.5 utilizando como ventana la siguiente función (L = 200):
(
1 0≤n≤L−1
w[n] = (5.9)
0 resto
Dicha ventana recibe el nombre de ventana rectangular de duración L y su
efecto práctico es la simple truncamiento de la señal.
De dicha figura se pueden extraer una serie de conclusiones interesantes:
Se ven claramente los dos picos correspondientes a los dos tonos (más
los respectivos de frecuencias negativas).
La amplitud de los picos, contrariamente a lo que dice la teorı́a no es
infinita. Ello es debido a haber cogido únicamente una porción de dura-
ción finita de la señal. En concreto, para un tono aislado de amplitud A
y pulsación ω0 , el valor del pico de la transformada vale:
A
Xw (ejω0 ) = W (ej0 ) (5.10)
2
174 CAPı́TULO 5. ANÁLISIS ESPECTRAL

120

100

80

60

40

20

0
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5
f

Figura 5.6: Módulo de la transformada de Fourier de dos tonos trun-


cados.

La anchura de los picos de cada tono no es nula. En efecto presentan


un cierto ancho. Para evaluar cuánto es este ancho, pensemos que la
convolución por una delta (TF teórica de un tono) consiste en desplazar
la función a donde está la delta. Ası́ pues, la forma que vemos en cada
pico es la TF de la ventana desplazada a ese pico.
Aparecen una serie de oscilaciones espúreas de menor amplitud, prácti-
camente por todo el espectro. También son debidas a la convolución con
la TF de la ventana.

De todo ello se puede deducir que, los efectos indeseados anteriores, son
todos debidos al hecho de truncar la señal con una ventana. Eligiendo dife-
rentes ventanas, podremos alterar el aspecto de la transformada de Fourier de
forma que los picos sean más o menos anchos, y las oscilaciones espúreas sean
más o menos grandes.

5.4.1. Ventanas de análisis


En el apartado anterior, hemos concluido que las propiedades del anali-
zador espectral de tonos, dependen únicamente de la ventana de truncación
5.4. Análisis espectral de señales deterministas 175

-5
NLS

-10

-15
dB

-20

-25

-30

-35

ALP
-40
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5
f

Figura 5.7: Módulo de la transformada de Fourier de una ventana


rectangular de 30 puntos.

empleada. Existen muchas posibles elecciones para las ventanas. Las dos prin-
cipales caracterı́sticas que afectan sus propiedades de análisis espectral son:

El ancho del lóbulo principal, ALP , definido como el ancho de la trans-


formada de Fourier entre los dos nulos más proximos al origen de fre-
cuencias. Se expresa en hercios.

El nivel de lóbulos secundarios, NLS definido como la diferencia de am-


plitud entre el máximo local de la TF en el origen y el siguiente más
grande. Se suele expresar en dB (20 log A0 /A1 , siendo A0 el módulo de
la TF en el origen y A1 el módulo del siguiente máximo local de la TF).

La figura 5.7 muestra dichos parámetros para una ventana rectangular de


duración 30.
Cada uno de los parámetros anteriormente mencionados, es decir, el ancho
del lóbulo principal y el nivel de lóbulos secundarios, es responsable de uno de
los problemas que se manifiestan en la figura 5.6:

El hecho de tener en cada tono anchos de pico no nulos se debe al ancho


del lóbulo principal de la TF de la ventana.
176 CAPı́TULO 5. ANÁLISIS ESPECTRAL

La presencia de múltiples pequeños picos espúreos es debida a los lóbulos


secundarios de la TF de la ventana.

Las ventanas más empleadas suelen ser funciones simétricas decrecientes


hacia los extremos del margen de valores no nulos de la misma, y con un valor
máximo de 1 en el centro del intervalo. De entre las más usuales están las
rectangulares, triangulares, Hanning y Hamming. Las expresiones analı́ticas
de las distintas ventanas pueden encontrarse en la bibliografı́a [6]. Además
Matlab tiene funciones que generan un gran número de ventanas diferentes
de todas las longitudes.
Para nuestros propósitos de análisis espectral conviene conocer las propie-
dades de las más conocidas, que se muestran en la tabla 5.1.

Tipo ALP (Hz) NLS (dB)


Rectang. 2/L 13
Triang. 4/L 26
Hanning 4/L 32
Hamming 4/L 42

Cuadro 5.1: Principales parámetros de las ventanas más usuales.

La figura 5.8 muestra las ventanas triangular, Hanning y Hamming en el


dominio del tiempo. La figura 5.9 muestra las transformadas de Fourier de
las ventanas rectangular y triangular normalizadas por su valor máximo y la
figura 5.10, lo mismo para las ventanas de Hanning y Hamming, todas ellas de
duración 31. A la vista de dichas figuras y de la tabla 5.1, es posible establecer
una serie de conclusiones o reglas prácticas a la hora de elegir una ventana:

Para una longitud de ventana L dada, la ventana rectangular es la que


presenta un lóbulo principal más estrecho (mejor resolución), y un nivel
de lóbulos secundarios más grande.

El nivel de lóbulos secundarios más pequeño (de las ventanas considera-


das en esta comparativa) corresponde a la de Hamming.

El ancho del lóbulo principal es inversamente proporcional a la duración


de la misma.

Aunque no se puede deducir de las gráficas mostradas, el nivel de lóbulos


secundarios NO depende de la duración de la ventana sino de la forma
(tipo) de la misma.
5.4. Análisis espectral de señales deterministas 177

0.9

0.8

0.7

0.6

0.5

0.4
Triangular
0.3

0.2
Hamming
0.1
Hanning
0
0 5 10 15 20 25 30
n

Figura 5.8: Ventanas triangular, Hanning y Hamming en el dominio


del tiempo.

Aunque la ventana de Hanning tiene un nivel de lóbulos secundarios


mayor que la ventana de Hamming, éstos decrecen más rápidamente.
En general, para una misma duración de la ventana, mejorar en alguno
de los aspectos implica empeorar en otro.

Un aspecto práctico no mencionado hasta ahora pero que conviene tener


en cuenta es que siempre utilizaremos ventanas de duración lo más pequeña
posible para lograr nuestros propósitos. Ello es debido a dos razones:

El tiempo de medida será mas corto, pues tardaremos menos tiempo en


tener las muestras necesarias.
El coste computacional y de memoria será menor.

Para concluir este apartado, mencionaremos simplemente que existe un


gran número de ventanas distintas, cada una con sus pros y sus contras [1],
entre las que merece destacarse la ventana de Kaiser. Dicha ventana permite
fijar ambos parámetros de la misma (ancho del lóbulo principal y nivel de
lóbulos secundarios) a voluntad. Para una discusión más detallada sobre la
ventana de Kaiser puede consultarse [6].
178 CAPı́TULO 5. ANÁLISIS ESPECTRAL

Rectangular
0

−10

−20

−30

−40

−50
−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.5

Triangular
0

−10

−20

−30

−40

−50
−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.5
f

Figura 5.9: Ventanas rectangular y triangular en el dominio de la fre-


cuencia.
Hamming
0

−10

−20

−30

−40

−50
−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.5

Hanning
0

−10

−20

−30

−40

−50
−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.5
f

Figura 5.10: Ventanas Hanning y Hamming en el dominio de la fre-


cuencia.

5.4.2. Resolución en frecuencia y margen dinámico


Si en vez de tener dos tonos de frecuencias bastante diferentes como en el
ejemplo de la figura 5.6, hubiéramos tenido dos tonos de frecuencias pareci-
das, hubiera resultado que sus correspondientes picos habrı́an estado bastante
5.4. Análisis espectral de señales deterministas 179

próximos. Si la separación en frecuencia de los dos tonos hubiera sido menor


que el ancho del lóbulo principal de la ventana, en vez de dos picos, se habrı́a
visto un único pico. En este caso dirı́amos que no somos capaces de resolver
los dos tonos.
Definiremos la resolución de un estimador espectral como la separación
mı́nima en frecuencia que deben tener dos tonos de igual amplitud para que el
estimador presente dos picos claramente diferenciados. La resolución coincide
aproximadamente con el ancho del lóbulo principal de la ventana de trunca-
miento empleada. La figura 5.11 muestra el estimador espectral de dos tonos
de frecuencias 0.15 y 0.151 con la misma ventana rectangular de L = 200 de
la figura 5.6. En este caso la resolución es de ∆f = 2/200 mientras que la
separación de frecuencia de los tonos es de 1/1000, por lo que no se resuelven.
Si en vez de considerar una duración de 200 muestras para la ventana,
hubiéramos tomado 4000, hubiéramos obtenido el resultado de la figura 5.12
en la que claramente aparecen los dos tonos.
Si en vez de tener dos tonos de la misma amplitud, hubiéramos tenido
dos tonos de amplitud bastante diferente, habrı́a resultado que, incluso si la
frecuencia de los mismos hubiera sido bastante diferente, habrı́a sido difı́cil
distinguir el tono de pequeña amplitud de un lóbulo lateral del tono de mayor
amplitud. Dicho de otro modo, es más fácil distinguir tonos de amplitudes si-

-1

-2
0 20 40 60 80 100 120 140 160 180 200
n

150

100

50

0
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5
f

Figura 5.11: Suma de dos tonos de frecuencias similares, que no son


resueltos mediante el análisis espectral.
180 CAPı́TULO 5. ANÁLISIS ESPECTRAL

2500

2000

1500

1000

500

0
0.14 0.142 0.144 0.146 0.148 0.15 0.152 0.154 0.156 0.158 0.16

Figura 5.12: Suma de dos tonos de frecuencias similares, que sı́ son
resueltos mediante el análisis espectral (detalle de una zona del eje de
frecuencias).

milares que no de amplitudes muy dispares. La diferencia de amplitud máxima


que puede tener un tono frente al otro (en dB) para que se garantice que se
detecta (suponiendo que la separación en frecuencia garantiza su detección en
cuanto a resolución) es lo que denominaremos margen dinámico del analizador
espectral. Este parámetro está ı́ntimamente relacionado con el nivel de lóbulos
secundarios de la ventana de análisis.
La figura 5.13 muestra el resultado del análisis espectral1 de dos tonos de
frecuencias 0.15 y 0.2 y amplitudes con 30 dB de diferencia, cuando se utiliza
una ventana rectangular de 100 puntos. En esta figura es imposible afirmar la
presencia del tono de menor amplitud, pese a que por resolución, no tendrı́amos
ningun problema. La figura 5.14 muestra el resultado del análisis espectral de
la misma señal de la figura 5.13, pero utilizando una ventana Hamming de
100 puntos. Ahora es fácil distinguir la presencia del tono de menor amplitud
gracias al menor nivel de lóbulos secundarios de la ventana utilizada.

1
Las escalas en dB (logarı́tmicas) suelen ser útiles para visualizar señales de amplitudes
muy distintas.
5.4. Análisis espectral de señales deterministas 181

40

30

20

10

-10

-20

-30

-40
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f

Figura 5.13: Estima espectral de la suma de dos tonos de amplitudes


muy dispares, usando ventana rectangular.

40

30

20

10

-10

-20

-30

-40
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f

Figura 5.14: Estima espectral de los dos tonos de la figura 5.13 usando
ventana Hamming de la misma duración.

5.4.3. Uso de la FFT. Muestreo en frecuencia


Hasta ahora, el procedimiento empleado para realizar el análisis espectral
de tonos, implicaba que una vez truncada la señal, se calculaba la TF de la
misma.
182 CAPı́TULO 5. ANÁLISIS ESPECTRAL

La TF de una señal discreta, no obstante, es una función contı́nua. Dichas


funciones son bastante engorrosas de manejar por ordenador, por lo que fre-
cuentemente se manejan muestras de dicha TF. De hecho, todas las gráficas
presentadas en los apartados anteriores, corresponden realmente a muestras
suficientemente próximas de la TF (función contı́nua).
La herramienta natural para obtener muestras de la TF de una señal de
duración finita es la FFT. En principio cabrı́a pensar que dado que tenemos
segmentos de L muestras, las FFT a utilizar deberı́an ser del mismo tamaño.
Sin embargo, aunque la teorı́a nos dice que dicho número de muestras espec-
trales es suficiente para representar sin ambigüedad la señal, en aplicaciones
de análisis espectral puede inducir a errores de interpretación. Veámoslo con
algunos ejemplos. En la figura 5.15 se muestra el análisis de una señal que es
un único tono de frecuencia 0.05, utilizando una ventana de análisis rectangu-
lar y de duración L = 100. Se ha empleado para confeccionar dicha figura una
FFT de 100 puntos. La figura muestra los valores de la FFT como cı́rculos
y unos trazos rectos que los unen. Aparentemente, el resultado es excelente
porque dado un tono tengo una delta como espectro. Nada más engañoso como
veremos dentro de un momento.
La figura 5.16 muestra lo mismo que la figura 5.15 pero esta vez para
un tono de frecuencia 0.0438, no muy diferente de la del ejemplo anterior. Si
observamos lo que sucede vemos que el aspecto de la figura 5.16 es totalmente

50

45

40

35

30

25

20

15

10

0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f

Figura 5.15: Estima espectral de un tono de frecuencia 0.05 con una


ventana rectangular de duración 100 puntos.
5.4. Análisis espectral de señales deterministas 183

40

35

30

25

20

15

10

0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f

Figura 5.16: Estima espectral de un tono de frecuencia 0.0438 con una


ventana rectangular de duración 100 puntos.

distinto al de la figura 5.15. La explicación de la drástica diferencia de ambas


gráficas, ante una pequeña diferencia en la frecuencia de la señal a analizar,
hay que buscarla en el hecho de que lo que estamos viendo no son más que un
conjunto de muestras de la TF unidas por rectas. Puede darse el caso, y de
hecho ası́ sucede, que dicho número de muestras, aun siendo suficiente para
recuperar la señal, produzca impresiones visuales muy engañosas si dichas
muestras se utilizan para realizar un analizador espectral.
Si antes de calcular la FFT de la señal truncada le añadiéramos ceros, sa-
bemos que lo que obtendrı́amos serı́a simplemente un muestreo más denso de
la TF. Si hacemos esta operación rellenando con ceros las L = 100 muestras
hasta tener un total de N = 1000 obtenemos los resultados de las figuras 5.17
y 5.18. En ellas puede observarse la posición de las muestras de las figuras 5.15
y 5.16 respectivamente. Vemos que en la figura 5.15 ha sido toda una casuali-
dad tomar las muestras en los nulos y en el pico, mientras que en la figura 5.16
parece como si hubiéramos tenido peor suerte.
184 CAPı́TULO 5. ANÁLISIS ESPECTRAL

60

50

40

30

20

10

0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f

Figura 5.17: Estima espectral de un tono de frecuencia 0.05 con una


ventana rectangular de duración 100 puntos, rellenando con ceros antes
de hacer la FFT, y las muestras anteriores superpuestas.

Los efectos que produce el submuestreo de la TF al analizar espectralmente


tonos son los siguientes(ver figura 5.18):

Errores en la amplitud de los picos detectados (suponiendo que consi-


deremos como amplitud del tono la correspondiente al máximo de la
gráfica).
Errores en la frecuencia de los picos detectados (suponiendo que consi-
deremos como frecuencia del tono la posicion del máximo de la gráfica).
Interpretaciones confusas de los lóbulos laterales. (¿tenemos un tono o
varios de distintas amplitudes?)

Todos estos efectos, tienen fácil solución sin más que muestrear de forma
más fina la TF. Esto, como ya se ha comentado, se hace añadiendo ceros al
final de la señal antes de tomar la FFT, tomando de este modo la FFT de
tamaño N puntos con N > L. Es fácil ver que a medida que tomamos más
muestras en la FFT los errores cometidos disminuyen. Como regla práctica
podemos decir que el número de puntos N de la FFT deberı́a ser de al menos
3 o 4 veces el número de puntos, L, de la ventana de señal tomada.
Una cuestión a la que hay que prestar atención es al orden de las ope-
raciones de enventanado y rellenado con ceros. Siempre se realiza primero el
5.4. Análisis espectral de señales deterministas 185

60

50

40

30

20

10

0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f

Figura 5.18: Estima espectral de un tono de frecuencia 0.0438 con


una ventana rectangular de duración 100 puntos, rellenando con ceros
antes de hacer la FFT.

enventanado de las muestras, para una vez hecho esto añadir tantos ceros al
final como se deseen. Hacerlo en orden inverso, provoca resultados erróneos.
Para terminar este apartado, deberı́amos incidir en un aspecto que provoca
no pocos errores. Muchas veces, se tiende a pensar, que añadiendo ceros al final
de una señal y tomando la FFT se aumenta la resolución del análisis efectuado.
Esto es falso.
La resolución viene dada únicamente por la ventana de análisis w[n] (ancho
del lóbulo principal de su TF). Rellenar con ceros únicamente proporciona
una versión más suave del estimador espectral. La resolución (recordemos,
capacidad de distinguir tonos de frecuencias similares) no se afecta en absoluto
por añadir más o menos ceros antes de tomar la FFT.

5.4.4. El problema de la media


El valor medio o componente contı́nua puede ser considerado como un
tono de frecuencia nula. Muchas veces estamos interesados en las componentes
de alterna de la señal. Además, dado el diferente origen de la componente
contı́nua (polarizaciones, señalizaciones, etc.) y de las componentes alternas,
puede haber una gran disparidad de amplitudes entre las mismas. Cuando se
186 CAPı́TULO 5. ANÁLISIS ESPECTRAL

analizan espectralmente señales cuya media es no nula aparecen los mismos


problemas que para cualquier tono:
El ancho del lóbulo principal me impide ver otras componentes de muy
baja frecuencia.
Los lóbulos secundarios de la componente contı́nua pueden ser de mayor
amplitud que otras componentes espectrales.
Dichos problemas, no son observables si se utilizan ventanas rectangulares
y un número de muestras espectrales igual a la duración de la ventana. Sin
embargo, si se usan otras ventanas o el número de muestras espectrales es
mayor que la duración de la ventana (porque se rellena con ceros antes de
calcular la FFT), dichos efectos pueden no permitir realizar un análisis correcto
del resto de componentes espectrales. El procedimiento a seguir, partiendo de
un segmento de L muestras es:
Restar la media de las L muestras.
Enventanar el resultado con la ventana deseada de L muestras.
Opcionalmente, añadir los ceros necesarios para obtener el muestreo en
frecuencia deseado.

5.5. Análisis espectral no paramétrico


En esta sección vamos a abordar el análisis espectral de señales aleato-
rias estacionarias. Por lo tanto, el objetivo será tratar de estimar la DEP del
proceso aleatorio del cual disponemos de un fragmento temporal.
Los métodos que veremos en esta sección se denominan métodos no-paramétri-
cos. Esto es ası́ porque no presuponen nada sobre la señal que estamos anali-
zando. Más adelante, veremos otros métodos que presuponen que las señales
bajo análisis son de un determinado tipo (métodos paramétricos). En este ca-
so, y si las señales realmente son del tipo supuesto, los métodos paramétricos
dan mucho mejor resultado que los que veremos en esta sección. No obstante,
en ausencia de conocimiento del tipo de señal que vamos a analizar, los méto-
dos no-paramétricos son mejores puesto que simplemente nos dan muestras de
la DEP sin ninguna suposición.

5.5.1. Sesgo y Varianza


Cuando las señales a analizar son aleatorias, nos encontramos con que
ante una serie de operaciones deterministas, el resultado será diferente en
5.5. Análisis espectral no paramétrico 187

función de la realización concreta del proceso que estemos utilizando. Ello


lleva a que la estima espectral sea considerada como aleatoria. Esto quiere
decir que en función del trozo que cojamos de señal para analizar, el resultado
será diferente.
Si denominamos Φx (ejω ) a la verdadera (y desconocida) DEP del proceso
x[n] y Φ̂x (ejω ) a la estima que estamos haciendo, resulta que Φ̂x (ejω ) es una
variable aleatoria para cada ω. Para saber la bondad de un estimador, cabrı́a
preguntarse dos cuestiones:

¿La media (esperanza) de Φ̂x (ejω ) coincide con Φx (ejω )? Esto es equi-
valente a preguntarse si repitiendo la misma medida muchas veces y
tomando la media nos iremos acercando al valor teórico. Si

E{Φ̂x (ejω )} = Φx (ejω ) (5.11)

diremos que el estimador es insesgado. En caso contrario será sesgado,


esto querrá decir que, por mucho que repitamos el experimento, nun-
ca llegaremos a la solución correcta. En caso de estimadores sesgados,
diremos que una estima es mejor cuanto menor sea el sesgo.

¿Es grande la varianza del estimador?, es decir, ¿obtengo cosas muy


distintas con distintos trozos de señales? Un estimador será mejor cuanto
menor sea la varianza.

Los estimadores espectrales que veremos a continuación, se caracterizan


todos porque ante una cantidad dada de muestras, es posible inclinar la calidad
de la estima hacia uno de los dos aspectos anteriores, reducir el sesgo o reducir
la varianza, pero no los dos a la vez.

5.5.2. El periodograma
El periodograma es el estimador espectral más simple, y por ello suele ser
el más utilizado.
Supongamos que tenemos L muestras de un proceso aleatorio x[n]. Defini-
remos el estimador periodograma como:
2
1 L−1


x[n] e−jωn
X

Φ̂x (e ) = (5.12)

L n=0

Tal y como se mencionó más arriba, en función de las muestras que cojamos
el resultado será uno u otro. La figura 5.19 muestra un fragmento de ruido
blanco (potencia unidad) en el dominio del tiempo. La figura 5.20 muestra
188 CAPı́TULO 5. ANÁLISIS ESPECTRAL

-1

-2

-3
0 50 100 150 200 250 300
n

Figura 5.19: Muestras de ruido blanco en el domino del tiempo.

el periodograma considerando L = 128 muestras de dos fragmentos de señal


distintos de la figura 5.19. Como puede apreciarse, los resultados obtenidos
con el periodograma dependen del trozo concreto de señal analizado, y resulta
difı́cil a la vista de la figura 5.20 concluir que la señal analizada es ruido blanco.

Cabrı́a preguntarse qué obtendrı́amos si tomáramos no dos fragmentos sino


un número muy elevado de ellos y tomásemos la media (frecuencia a frecuencia)
de los respectivos periodogramas. Halları́amos de este modo el periodograma
medio que se puede demostrar que vale:
n o 1 2
E Φ̂x (ejω ) = Φx (ejω ) ∗ WR (ejω ) (5.13)

L
siendo WR (ejω ) la TF de la ventana rectangular de duración L (número de
muestras empleadas). Como puede verse la media del periodograma no coin-
cide en general con la verdadera DEP Φx (ejω ), por la convolución de la expre-
sión (5.13), por lo que en general el periodograma será un estimador espectral
sesgado. Únicamente en el caso del ruido blanco, dicha convolución coinci-
dirá con Φx (ejω ).
2
El sesgo será pequeño cuando WR (ejω ) se parezca a una delta con res-

pecto a la forma que tenga Φx (ejω ). Para ello bastará con tomar ventanas más
5.5. Análisis espectral no paramétrico 189

0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f

0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f

Figura 5.20: Periodogramas de dos fragmentos distintos de


ruido blanco.

largas (valores de L mayores). Obviamente, cuantas más muestras intervengan


en la estima del espectro mejor será el resultado, pero el precio a pagar es un
mayor tiempo para hacer la medida (y coste computacional). A la vista de la
expresión (5.13) es fácil prever lo que sucederá en el caso de que la señal a ana-
lizar con el periodograma sean tonos (de fase aleatoria). Aparecerán en media,
los mismos problemas de resolución y lóbulos laterales vistos en la sección 5.4.
Sin embargo, el principal problema del periodograma no es su sesgo (com-
batible tomando ventanas más largas cuando se pueda) sino su varianza. En la
figura 5.20 hemos podido ver el aspecto totalmente errático de un periodogra-
ma correspondiente a una DEP que vale 1 para todo ω. Se puede demostrar
que, cuando el sesgo es pequeño, la varianza del periodograma vale aproxima-
damente: n o n o2
VAR Φ̂x (ejω ) ≈ E Φ̂x (ejω ) (5.14)
La ecuación anterior expresa que la desviación tı́pica de nuestro estimador
es comparable a la media. Esto quiere decir que nuestro estimador tiene de-
masiada varianza (es demasiado aleatorio). Éste es el principal problema del
periodograma y, tal y como puede verse en la expresión (5.14), la varianza no
se puede mejorar aumentando el número de muestras utilizadas en el análisis.
Para comprobar que la varianza no depende del número de muestras empleadas
190 CAPı́TULO 5. ANÁLISIS ESPECTRAL

0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f

Figura 5.21: Periodograma para una longitud de ventana de L = 256.

en el análisis, en la figura 5.21 se puede observar lo que sucede si tomamos


L = 256. Como vemos, la amplitud de las fluctuaciones no ha cambiado. La
diferencia más sustancial con la figura 5.20 es que las fluctuaciones son más
estrechas. Ello se debe a que con L = 256 la resolución mejora y aparecen más
picos.

El periodograma modificado

Hemos visto, en el apartado anterior, que el periodograma tenı́a un sesgo


que venı́a dado por una convolución con la TF de una ventana rectangular.
Si en vez de seleccionar las muestras de las que calculamos la TF del periodo-
grama mediante una ventana rectangular, utilizamos otra ventana arbitraria
w[n] de duración L, tenemos lo que se denomina periodograma modificado. Se
calcula como: 2
L−1

1
x[n]w[n] e−jωn
X
Φ̂x (ejω ) = (5.15)


LU n=0

Las ventanas que se suelen emplear son las mismas vistas en la sección 5.4.
La constante U de la anterior expresión se elige para compensar el efecto de
atenuación en los extremos de las ventanas; de no tenerse en cuenta infraes-
timarı́amos siempre la potencia de la señal. Su valor se elige de modo que
5.5. Análisis espectral no paramétrico 191

cuando la señal a analizar es ruido blanco, el estimador resulte insesgado:

1 L−1
X
U= (w[n])2 (5.16)
L n=0

U vale 1 para la ventana rectangular y U < 1 para el resto de ventanas usuales.


La esperanza matemática del periodograma modificado vale:
n o 1 2
E Φ̂x (ejω ) = Φx (ejω ) ∗ W (ejω ) (5.17)

LU
Como se ve, la diferencia con el periodograma está en que la convolución se
realiza con el módulo al cuadrado de la ventana usada en vez de la rectangular.
Esto permite elegir la ventana más apropiada en función del ancho del lóbulo
principal y nivel de lóbulos secundarios deseados.
Con respecto a la varianza, el periodograma modificado tiene, a igualdad
de longitud de ventana, una varianza ligeramente menor que el periodograma.

Componentes tonales y no tonales

En el espectro de una señal aleatoria podemos distinguir dos tipos de


señales diferentes:

Componentes tonales: Son aquellas que condensan una potencia finita


en una única frecuencia (ancho de banda nulo).

Componentes no tonales. Son aquellas que para disponer de una potencia


finita es necesario integrar la potencia de un cierto ancho de banda no
nulo.

Las componentes tonales y no-tonales de una señal aleatoria tienen compor-


tamientos diferentes cuando se analizan mediante el periodograma (o modi-
ficado). Mientras que para las no-tonales, a partir de una cierta longitud de
ventana el estimador se vuelve insesgado, para las tonales, el estimador siempre
es sesgado.
Una forma posible de distinguir componentes tonales y no-tonales es cal-
culando periodogramas de diferentes longitudes. Mientras que para las com-
ponentes no-tonales no varı́a2 la amplitud del estimador, para las tonales, la

2
La variación se supone en media. Obviamente, dado el carácter aleatorio del estimador,
si se toma un número distinto de muestras el resultado será diferente, pero en media no varı́a
con la longitud de la ventana.
192 CAPı́TULO 5. ANÁLISIS ESPECTRAL

L=128
80

60

40

20

0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5

L=256
80

60

40

20

0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f

Figura 5.22: Periodograma de un tono más ruido, para distintos valores


de longitud de ventana.

amplitud del estimador es directamente proporcional a la longitud de ventana


empleada (figura 5.22). Para entenderlo, considere el periodograma de un tono
e intente determinar cuál será la amplitud del pico del periodograma.

Periodogramas y DFT

El cálculo del periodograma implica el cálculo de una TF. En la práctica,


lo que se calcula son muestras de dicha TF mediante una DFT (normalmente
usando el algoritmo FFT). Los mismos comentarios relativos al relleno con
ceros visto en la sección 5.4 son aplicables aquı́. Es decir, suele ser conveniente
rellenar con ceros las muestras enventanadas antes de calcular la DFT, pa-
ra que no aparezcan artefactos debidos al submuestreo del periodograma ya
estudiados. Conviene insistir en que el relleno por ceros:

No mejora la resolución (sesgo) del estimador.

No reduce ni aumenta la varianza del estimador.

Únicamente proporciona una versión interpolada en frecuencia, con res-


pecto a no rellenar con ceros.
5.5. Análisis espectral no paramétrico 193

L=N=128
6

0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5

L=128 N=1024
6

0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f

Figura 5.23: Periodogramas del mismo fragmento de ruido blanco con


y sin relleno con ceros antes de hacer la DFT.

La figura 5.23 muestra el periodograma usando una ventana rectangular de


L = 128 muestras, con relleno por ceros (hasta un total de N = 1024) y sin él.
De alguna forma, el periodograma únicamente contiene L valores independien-
tes (para L pulsaciones distintas, mientras que para el resto de pulsaciones sus
valores son interpolados, bien con rectas (sin relleno de ceros) bien con curvas
( con relleno de ceros).

5.5.3. Autocorrelación
Al principio de esta sección recordamos que la DEP y la autocorrelación
estaban relacionadas mediante una TF. Resulta, por tanto, equivalente, cal-
cular la una o la otra. En este apartado, veremos procedimientos para estimar
la autocorrelación de una señal aleatoria. Además descubriremos la razón de
la excesiva varianza del periodograma.
Recordemos que la autocorrelación de un proceso aleatorio se define como:

Rx [m] = E {x∗ [n] x[n + m]} (5.18)


194 CAPı́TULO 5. ANÁLISIS ESPECTRAL

Si sustituimos las esperanzas matemáticas por promedios temporales (asu-


miendo ergodicidad), podemos llegar a dos estimadores de la autocorrelación.
Suponiendo que tenemos L muestras de una señal real, definimos el estimador
insesgado de la autocorrelación R̂x [m] como:

L−1−|m|

 1 X
x[k] x[k + |m|] |m| < L

R̂x [m] = L − |m| (5.19)

 k=0
 0 |m| ≥ L

Análogamente, definimos el estimador sesgado R̃x [m] como:



L−1−|m|
 1 X


x[k] x[k + |m|] |m| < L
R̃x [m] = L (5.20)

 k=0
 0 |m| ≥ L

Obsérvese cómo estos dos estimadores sólo se diferencian en la constante


que divide. Mientras en el insesgado, se divide por el número de muestras
que se solapan al desplazar la señal, en el sesgado se divide siempre por el
número total de muestras. La figura 5.24 muestra el número de muestras que
se solapan (número de productos que se pueden realizar) al ir desplazando las
señales.

x[k + |m|]
|m|
 - x[k]
-
0 L − 1 − |m| L−1 k

Figura 5.24: Diagrama de los desplazamientos de señales para la estima


de la autocorrelación.

A partir de las expresiones (5.19) y (5.20) es inmediato deducir la relación


entre ambos estimadores
L − |m|
R̃x [m] = R̂x [m] (5.21)
L
Es decir, en el intervalo de valores de m (−L + 1 ≤ m ≤ L − 1) donde los
estimadores son no nulos, la relación existente es que el estimador sesgado es
5.5. Análisis espectral no paramétrico 195

el resultado de enventanar con una ventana triangular (de ancho total 2L − 1


muestras) el estimador insesgado.
Debemos insistir en este punto, en que al igual que el periodograma tenı́a
un resultado distinto según el conjunto concreto de muestras que tomemos,
a los estimadores de autocorrelación les sucede exactamente lo mismo, es de-
cir el resultado obtenido será aleatorio (dependerá de las muestras concretas
utilizadas en los cálculos), y tendrá una media y una varianza (función del
desplazamiento m). Con respecto a la media se puede demostrar:
n o
E R̂x [m] = Rx [m] |m| < L (5.22)

de ahı́ que a R̂x [m] se le denomine insesgado, y


n o L − |m|
E R̃x [m] = Rx [m] |m| < L (5.23)
L

Aparentemente, y dado que los estimadores insesgados son mejores podrı́a


parecer una inutilidad tener un estimador sesgado de la autocorrelación. En
breve entenderemos por qué se utiliza también el estimador sesgado. También
debemos darnos cuenta, que la media del estimador insesgado únicamente
coincide con la verdadera autocorrelación para |m| < L, ya que fuera de ese
intervalo no podemos estimar la autocorrelación por no disponer un fragmento
de señal de duración suficiente.
La figura 5.25 muestra los estimadores sesgado e insesgado de la autoco-
rrelación de un fragmento de 100 muestras de ruido blanco de potencia media
unidad. En ella podemos observar una serie de detalles. En primer lugar, vemos
que no coincide con la δ en el origen teórica correspondiente a la autocorre-
lación de un ruido blanco. En segundo lugar, vemos que el valor en el origen
no coincide con la potencia media teórica. Esto se debe al carácter aleato-
rio del estimador comentado más arriba. En tercer lugar, vemos que en las
zonas donde la autocorrelación teórica es cero tenemos una serie de valores
aleatorios. Vemos además que en el caso del estimador insesgado, la amplitud
de los errores aleatorios crece a medida que aumenta |m|. Ello es debido a
que a medida que aumenta |m| el número de muestras solapadas de la señal
desplazada y sin desplazar es menor, lo que hace que el número de productos
a promediar sea menor, produciendo un aumento de la varianza. En el caso
del estimador sesgado, la amplitud de las aleatoriedades disminuye debido al
efecto de enventanado triangular (recordemos que el sesgado es el insesgado
multiplicado por una ventana triangular).
En la figura 5.26 se muestran las estimas de la autocorrelación usando esta
vez L = 400 muestras de ruido blanco. Puede observarse que, para un mismo
196 CAPı́TULO 5. ANÁLISIS ESPECTRAL

Insesgado
1

0.5

-0.5

-1
-100 -80 -60 -40 -20 0 20 40 60 80 100

Sesgado
1

0.5

-0.5
-100 -80 -60 -40 -20 0 20 40 60 80 100
m

Figura 5.25: Estimadores de la autocorrelación de un fragmento de 100


muestras de ruido blanco.

valor de |m| en las figuras 5.25 y 5.26, la varianza del estimador es menor en
el caso de tener más muestras.
Se pueden establecer una serie de observaciones con respecto a los estima-
dores de la autocorrelación:

Para un desplazamiento m fijo, la varianza de ambos estimadores decrece


a medida que aumentamos el número de muestras disponible L. Esto
es en cierto modo lógico, pues a medida que tenemos más muestras la
cantidad de muestras que se solapan es más grande (ver figura 5.24) y
por lo tanto la cantidad de productos a promediar es mayor.
Para el estimador insesgado, para un número total de muestras L fijo,
la varianza del estimador crece a medida que |m| aumenta.
La relación entre las varianzas de los estimadores sesgado e insesgado es:
2
L − |m|
n o  n o
VAR R̃x [m] = VAR R̂x [m] |m| < L (5.24)
L
lo que explica el carácter decreciente de las aleatoriedades de las figu-
ras 5.25 y 5.26.
5.5. Análisis espectral no paramétrico 197

Insesgado
1

0.5

-0.5

-1
-400 -300 -200 -100 0 100 200 300 400

Sesgado
1

0.5

-0.5

-1
-400 -300 -200 -100 0 100 200 300 400
m

Figura 5.26: Estimadores de la autocorrelación de un fragmento de 400


muestras de ruido blanco.

Transformada de Fourier de los estimadores de autocorrelación

En el punto anterior hemos visto cómo podemos estimar la autocorrelación


de un proceso aleatorio a partir de un conjunto de muestras del mismo. Recor-
demos que nuestro objetivo en este tema no es la correlación en sı́ misma sino
tratar de estimar la DEP del proceso. Podemos entonces, pensar que ya que
la DEP es la TF de la autocorrelación, podremos tener un estimador espectral
realizando la TF de la autocorrelación estimada. Dado que nuestra estima de
la autocorrelación es de duración finita podemos escribir:
L−1
R̂x [m]e−jωm
X

Φ̂x (e ) = (5.25)
m=−L+1

Dicho estimador, dado que la estima de la autocorrelación es aleatoria (depen-


derá de las muestras concretas empleadas), también será aleatorio, y tendrá por
lo tanto una media y una varianza para cada ω. La media se puede demostrar
que vale: n o
E Φ̂x (ejω ) = Φx (ejω ) ∗ WR (ejω ) (5.26)
198 CAPı́TULO 5. ANÁLISIS ESPECTRAL

donde WR (ejω ) es la TF de la ventana rectangular wR [m]3 :


(
1 |m| ≤ L − 1
wR [m] = (5.27)
0 resto

Este resultado, era en cierto modo esperable, pues el estimador insesgado


de la autocorrelación R̂x [m] tiene por media el enventanado con una ventana
rectangular de la verdadera autocorrelación. Como sabemos, multiplicar en un
dominio equivale a convolucionar en el otro, lo que explica la expresión (5.26).
Dada la relación mediante una ventana triangular entre los dos estimadores de
autocorrelación es fácil deducir lo que sucederá si tomamos la TF del estimador
sesgado R̃x [m] de la autocorrelación.
L−1
R̃x [m]e−jωm
X
Φ̃x (ejω ) = (5.28)
m=−L+1
n o
E Φ̃x (ejω ) = Φx (ejω ) ∗ WT (ejω ) (5.29)

donde WT (ejω ) es la transformada de Fourier de la siguiente ventana triangu-


lar: (
(L − |m|)/L |m| ≤ L − 1
wT [m] = (5.30)
0 resto

Las expresiones (5.26) y (5.29) explican la razón de ser del estimador sesga-
do de la autocorrelación. La expresión (5.29) es siempre positiva, debido a que
la transformada de Fourier de una ventana triangular es positiva para todo ω
(una ventana triangular es la convolución de dos rectangulares). Dado que la
DEP teórica Φx (ejω ) es positiva siempre, la convolución de dos funciones posi-
tivas también es siempre positiva. De alguna forma, tomar la TF del estimador
sesgado garantiza que la media de los resultados obtenidos será positiva. Sin
embargo, esto mismo no sucede con la TF del estimador insesgado dado que
la TF de una ventana rectangular tiene lóbulos negativos. Resumiendo:

Las DEP teóricas son siempre positivas.

La TF del estimador sesgado de la autocorrelación R̃x [m] está garanti-


zado que es positiva.

La TF del estimador insesgado de la autocorrelación R̂x [m] no está ga-


rantizado que sea positiva en todas las frecuencias.

3
Nótese que ésta es una ventana rectangular simétrica con respecto al origen, a diferencia
de la vista con el periodograma.
5.5. Análisis espectral no paramétrico 199

La posible no positividad de la estima de la DEP nos lleva a que en las


frecuencias en que la estima de la DEP es negativa, tengamos un resultado to-
talmente absurdo. El uso del estimador sesgado de la autocorrelación, permite
que este problema no se manifieste nunca.
Es posible establecer una relación adicional entre las transformadas de
Fourier de los estimadores de la autocorrelación y el periodograma. Se puede
demostrar que el periodograma coincide con Φ̃x (ejω ), es decir:

TF{R̃x [m]} ≡ Periodograma (5.31)

Adicionalmente, la relación (5.31) permite explicar la gran varianza del


periodograma. Antes hemos concluido que, cuando estimamos la autocorrela-
ción, hay algunos valores que estimamos bastante bien (los de |m| pequeño)
y otros que los estimamos con bastante error (los valores de |m| próximos a
L) debido a que tenemos pocas muestras que se solapen para calcular la me-
dia de los productos). Estos valores erróneos de la autocorrelación, hacen que
cuando calculamos la TF todos los valores de la TF tengan una gran varianza.
De alguna forma, en la autocorrelación, las varianzas grandes están localiza-
das mientras que en el periodograma tenemos una gran varianza para todo
ω. En la sección 5.5.4 veremos cómo podemos emplear este conocimiento para
obtener un estimador espectral mucho menos fluctuante que el periodograma.

Cálculo de la autocorrelación mediante DFT

El método de estima espectral Blackman-Tukey que se verá en la siguiente


sección, parte de la estima de la autocorrelación, por lo que es interesante
disponer de métodos de cálculo rápido de la misma.
Las expresiones vistas en el punto anterior para el cálculo de la autoco-
rrelación (5.19) y (5.20) son directamente aplicables para el cálculo de los
estimadores. Sin embargo, el número de operaciones a realizar para su cálculo
cuando se requieren los 2L − 1 valores (L − 1 se pueden obtener por la simetrı́a
conjugada de la autocorrelación), es proporcional a L2 . Es posible establecer
un procedimiento para usar DFT (junto con algunas operaciones auxiliares)
para calcular las estimas de autocorrelación de forma eficiente. El método se
basa en que R̃x [m] es la TF−1 del periodograma. Como R̃x [m] tiene duración
2L − 1 muestras, si tomamos el mismo (o mayor) número de muestras del pe-
riodograma mediante una DFT inversa obtendremos R̃x [m]. Recordemos que
el número de muestras espectrales del periodograma se puede fijar fácilmente
sin más que rellenar con ceros antes de hacer la DFT. El procedimiento para
obtener R̃x [m] es:
200 CAPı́TULO 5. ANÁLISIS ESPECTRAL

DFT−1
Q 
Q 
Q 
Q  -

 N −1 m
s
?
 Q
 Q Autocorr
 Q
 Q -
0 m

Figura 5.27: Diagrama de los desplazamientos de señales para la estima


de la autocorrelación usando DFT.

Partimos de L muestras de señal. Las completamos añadiendo ceros has-


ta un total de N , con N ≥ (2L − 1). Normalmente elegiremos un valor
de N potencia de 2 para poder usar la FFT de forma lo más eficiente
posible.
Calculamos la DFT directa del anterior vector.
Tomamos el módulo al cuadrado y dividimos por L, es decir, calculamos
el periodograma (N muestras del mismo).
Calculamos la DFT inversa. El resultado es R̃x [m] en un orden un poco
particular.

Para entender el orden en que tenemos los valores de R̃x [m] pensemos que la
DFT inversa nos devuelve una porción de una señal periódica en el intervalo 0
a N − 1. Dado que la autocorrelación que queremos, se corresponde a valores
positivos y negativos de m hay que reordenar el resultado como muestra la
figura 5.27.

5.5.4. El método Blackman-Tukey


En la sección anterior, hemos visto cuál es el origen del problema de va-
rianza del periodograma.
El método Blackman-Tukey (BT) resuelve el problema de la varianza en-
ventanando (truncando) la estima de la autocorrelación de modo que única-
mente se consideren para tomar la TF aquellos valores de la correlación que
resulten fiables (gran número de muestras solapadas al desplazar). El estima-
dor BT consiste pues en:
5.5. Análisis espectral no paramétrico 201

Estimar la autocorrelación (sesgado o insesgado).

Enventanar la autocorrelación, para descartar los valores erróneos de la


misma.

Tomar la TF.

Para estimar la autocorrelación se emplean los procedimientos vistos en el


apartado anterior. Para truncar la autocorrelación:

R̂xBT [m] = R̂x [m] w[m] (5.32)

donde la ventana w[n] es una ventana simétrica alrededor del origen de dura-
ción impar (2M + 1). Nótese que se puede emplear tanto el estimador sesgado
como el insesgado de la autocorrelación, ya que el sesgado no es más que el
insesgado enventanado, por lo que, enventanar el sesgado, no es otra cosa que
enventanar el insesgado con una ventana que sea el producto de la ventana
triangular y w[n].
A continuación se calcula la TF:
M
R̂xBT [m]e−jωm
X
Φ̂BT jω
x (e ) = (5.33)
m=−M

1.2

0.8

0.6

0.4

0.2

-0.2

-0.4

-0.6
-200 -150 -100 -50 0 50 100 150 200
m

Figura 5.28: Estima de la autocorrelación de un fragmento de 200


muestras de ruido blanco.
202 CAPı́TULO 5. ANÁLISIS ESPECTRAL

1.5

0.5

-0.5

-1
-200 -150 -100 -50 0 50 100 150 200
m

Figura 5.29: Autocorrelación de la figura 5.28 enventanada con una


ventana hamming de M = 20.

El resto de expresiones que se darán en este apartado se refieren el estima-


dor insesgado de la autocorrelación.
Se puede demostrar que la media del estimador espectral BT vale:
n o
E Φ̂BT jω jω jω
x (e ) = Φx (e ) ∗ W (e ) (5.34)

es decir, la convolución de la verdadera DEP con la TF de la ventana empleada


para truncar la autocorrelación. Si dicha TF de la ventana es positiva para todo
ω, se garantizará la positividad de la media del estimador, en caso contrario,
no.
Recordemos que la convolución produce un sesgo en la estima. Dicho sesgo
se manifestaba como una pérdida de resolución y unos lóbulos laterales.
Si recordamos que el periodograma era la TF del estimador sesgado (en-
ventanado triangular del insesgado), podemos decir que el periodograma es
un caso particular del estimador BT. Comparado con el periodograma, una
estima BT con M < L − 1 tendrá peor resolución (la TF de una ventana
es más ancha cuanto menos muestras tiene la ventana). Por contra, el mis-
mo estimador BT tendrá menor varianza que el periodograma, pues a la hora
de calcular la TF estamos descartando los valores de la autocorrelación de
gran varianza. Nótese que enventanar la autocorrelación equivale a forzar que
5.5. Análisis espectral no paramétrico 203

0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f

Figura 5.30: TF de la figura 5.29. Esta serı́a la estima espectral BT


del ruido blanco analizado.

determinados valores (los de |m| grande) tengan por correlación un valor nulo.
En el caso de señales ruidosas (autocorrelaciones estrechas), si realmente la
autocorrelación es nula para |m| el método BT no producirá ninguna pérdida
de resolución y sı́ una reducción de la varianza. Podrı́amos decir que el método
BT produce una pérdida de resolución en la estima si y sólo si al enventanar
estoy truncando valores no-nulos de la autocorrelación teórica.
La figura 5.28 muestra la estima de la autocorrelación de 200 muestras de
ruido blanco. La figura 5.29 muestra la misma autocorrelación enventanada
con una ventana de Hamming de M = 20 (duración total igual a 41). La
figura 5.30 muestra la TF de dicha autocorrelación. Puede apreciarse cómo el
resultado es mucho menos fluctuante que el del periodograma de las mismas
muestras que se muestra en la figura 5.31.
Resumiendo, podrı́amos decir que el método BT es un estimador espec-
tral, que con respecto al periodograma tiene más sesgo (peor resolución) pero
menor varianza (siempre a igualdad del número de muestras disponibles). La
reducción de la varianza se logra descartando los valores poco fiables de la
autocorrelación.
204 CAPı́TULO 5. ANÁLISIS ESPECTRAL

0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f

Figura 5.31: Periodograma de las mismas 200 muestras de las figuras


5.28, 5.29 y 5.30.

Uso de la DFT en el método Blackman Tukey

Tal y como acabamos de ver en la ecuación 5.33, el método BT implica el


cálculo de la TF de una autocorrelación. Como siempre, dicha TF se calcula
mediante una DFT. Como siempre, se pueden utilizar DFT del tamaño N que
se quiera, sin más que rellenar con ceros adecuadamente. Para calcular la TF
de la autocorrelación enventanada hay que reordenar los datos antes, pues la
autocorrelación tiene un margen de ı́ndices −M ≤ m ≤ M mientras que la
DFT tiene un margen de ı́ndices 0 ≤ n ≤ N − 1.
Como siempre, para entender de qué se ha de calcular la DFT basta pensar
en la periodicidad de la DFT. Si llamamos g[m], con 0 ≤ m ≤ N − 1, al vector
del que se debe calcular la DFT, tenemos (suponiendo N ≥ 2M + 1):

BT 0≤m≤M
 R̂x [m]

g[m] =

R̂xBT [m − N] N − M ≤ m ≤ N − 1 (5.35)

0 resto

La figura 5.27 puede ayudar a comprender la ecuación (5.35).


5.5. Análisis espectral no paramétrico 205

5.5.5. El método de Welch o WOSA


En el apartado anterior hemos visto cómo el método de Blackman-Tukey
permite reducir la excesiva varianza del periodograma. Otra idea posible para
reducir la varianza serı́a la de promediar diferentes periodogramas para, de este
modo, reducir la varianza. Promediar, es una de las técnicas clásicas usadas
en estadı́stica para reducir la varianza. Ası́, por ejemplo, si imaginamos que
tratamos de estimar la estatura media de una población, la estima será más
fiable (menor varianza) si tomamos 100 individuos que si tomamos uno. Algo
similar ocurre con el periodograma. Si en vez de coger un único periodograma,
promediamos un determinado número de ellos K, la varianza de la estima se
reducirá. En esto consiste el método de Welch también conocido como WOSA
(Weighted Overlapped Segment Averaging).
El método consiste en realizar el periodograma K veces sobre conjuntos
de muestras diferentes pertenecientes a la misma señal. Con respecto a este
punto, conviene recordar que una de las condiciones que debe darse para que
el promediado reduzca la varianza, es que los valores a promediar tienen que
ser independientes. Si esto no ocurre, el promediado no reduce la varianza.
Para entender esto, supongamos que queremos estimar la media de las tiradas
de un dado. Si realizamos 1000 tiradas, anotamos los resultados y sumamos
y dividimos por 1000, tenemos una estima fiable (varianza pequeña) debido a
que estamos promediando 1000 valores independientes. Si por contra, tiramos

-1

-2

-3
0 20 40 60 80 100 120 140 160 180 200
n

Figura 5.32: Suma de tono y ruido blanco en el dominio del tiempo.


206 CAPı́TULO 5. ANÁLISIS ESPECTRAL

el dado 10 veces, pero apuntamos cada número 100 veces y dividimos por
1000, obviamente el resultado será menos fiable (mayor varianza) que en el
caso anterior, pues aunque también hemos promediado 1000 números, en un
caso eran independientes y en otro no.
Centrándonos en nuestro problema, supongamos que se registra una señal
y se graban un número total de muestras igual a LT . La idea consiste en coger
ventanas de longitud L (L < LT ), realizar el periodograma (o periodograma
modificado) de cada una de ellas y promediar los resultados. El número de pe-
riodogramas que promediaremos, K, dependerá de la relación LT /L ası́ como
del solape entre ventanas consecutivas. Cuanto mayor sea el solape, mayor
será el número de ventanas que podremos tomar para un número dado de
muestras LT . Por contra, si el solape es muy grande, el resultado de los perio-
dogramas no será independiente, lo que reducirá la eficacia del promediado a
la hora de reducir la varianza. Se ha comprobado experimentalmente que la
máxima reducción de varianza se corresponde con un factor de solape de 1/2,
es decir, cuando se coge una nueva ventana para calcular su periodograma,
se toma como primera mitad de la nueva ventana, la segunda de la ventana
anterior y se añaden L/2 muestras nuevas.
(k)
Si denotamos como Φ̂x (ejω ) al periodograma de la k-ésima ventana, y que

0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f

Figura 5.33: Periodograma de un fragmento de 128 muestras de señal


de la figura 5.32.
5.5. Análisis espectral no paramétrico 207

0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f

Figura 5.34: Método de WOSA, utilizando 15 ventanas de longitud 128


con solape 1/2. El número total de muestras es de 1024.

promediamos los periodogramas de K ventanas, el estimador WOSA vale:


K
1 X
Φ̂W
x
OSA jω
(e ) = Φ̂(k) (ejω ) (5.36)
K k=1 x

Con respecto a la media del estimador de Welch, podemos escribir:


n o n o
E Φ̂W
x
OSA jω
(e ) = E Φ̂(k) jω
x (e ) (5.37)

Como se ve, con respecto al sesgo, se comporta como un periodograma único


de longitud L. Si recordamos que tenemos LT muestras, que hemos dividido
en ventanas de L muestras, y comparamos el estimador de Welch con el perio-
dograma único de las LT muestras, vemos que el método de Welch tiene peor
resolución (más sesgo) que el periodograma único, debido a que la longitud de
la ventana que utiliza es menor.
Con respecto a la varianza, y suponiendo que las K ventanas cuyo perio-
dograma se promedia se tomen con un solape máximo de 1/2 (es decir, los
periodogramas son prácticamente independientes), la varianza vale:
n o 1 n o
VAR Φ̂W
x
OSA jω
(e ) ≈ VAR Φ̂(k) jω
x (e ) (5.38)
K
En las figuras siguientes vamos a examinar un ejemplo de análisis espectral
utilizando el método WOSA y lo compararemos con el periodograma. La señal
208 CAPı́TULO 5. ANÁLISIS ESPECTRAL

50

45

40

35

30

25

20

15

10

0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f

Figura 5.35: Periodograma de las 1024 muestras de la figura 5.34.

a analizar será la suma de un ruido blanco de potencia unidad y un tono de


amplitud 0.5. La figura 5.32 muestra el aspecto temporal de la mencionada
señal, en el que es prácticamente imposible discernir la presencia del tono.
En la figura 5.33 podemos apreciar el periodograma (modificado, usando
una ventana de Hamming) de un fragmento de 128 muestras de la señal. Po-
demos observar, que aunque aparece un pico, éste es difı́cilmente discernible
de las fluctuaciones de la estima espectral del ruido. Podrı́amos decir que con
128 muestras, NO serı́a posible detectar el tono mediante el periodograma.
En la figura 5.34, se dispone de 1024 muestras de la misma señal, a partir
de las cuales se generan 15 ventanas (solape 1/2) para cada una de las cuales se
calcula el periodograma de longitud 128 y se promedian los resultados. Com-
parando con la figura 5.33 vemos que se han reducido mucho las fluctuaciones
de la estima del espectro del ruido que ahora aparece mucho más concentrado
alrededor de su valor teórico (uno). Ahora, podemos apreciar claramente el
pico en el espectro debido al tono. Podemos apreciar que la resolución de las
figuras 5.33 y 5.34 es la misma.
En la figura 5.35 se han tomado las mismas muestras de la figura 5.34,
1024, y se ha calculado un periodograma único de 1024 muestras. Podemos
observar que el tono también resulta fácilmente detectado en este caso, que
utiliza 1024 muestras. Sin embargo, la forma en que se detecta es diferente
de la de la figura 5.34. Mientras que en la figura 5.34 se han reducido las
fluctuaciones aleatorias y se ha mantenido la altura del pico con respecto a
5.5. Análisis espectral no paramétrico 209

5.33, en la figura 5.35, la amplitud de las fluctuaciones (varianza del estimador)


es la misma que en la figura 5.33, pero la amplitud del pico debido al tono
ha aumentado debido a haber utilizado una ventana más larga (con mejor
resolución).
La pregunta de qué interesa más dado un número de muestras total, si
calcular un único periodograma de una ventana larga, o promediar varios de
ventanas cortas, tiene por respuesta un “depende” de lo que pretendamos.
Si únicamente pretendemos detectar un tono en ruido, hemos visto que da
igual. Si en vez de un tono hubiéramos tenido 2, nos verı́amos obligados a
utilizar ventanas que permitieran resolver los mismos. Si no estamos interesa-
dos únicamente en la detección sino en conocer ”bien.el espectro, promediar
varios periodogramas nos da una estima más fiable. Además, si disponemos
de muchas muestras es posible promediar varios periodogramas de ventanas
largas,. . .
Resumiendo, y a la vista de las figuras, podemos extraer las siguientes
conclusiones:

Dado un número total de muestras LT , el método de Welch tiene:


• Peor resolución que el periodograma único de longitud LT .
• Menor varianza que el periodograma único de longitud LT .
Dado un tamaño de ventana fijo L, el método de Welch presenta:
• La misma resolución que el periodograma.
• Menor varianza que el periodograma.
Sin embargo debe tenerse presente que el método de Welch en este se-
gundo caso juega con ventaja pues dispone de más muestras de partida.

5.5.6. Resumen métodos no-paramétricos


Como resumen de los métodos no-paramétricos vistos en esta sección po-
demos establecer una serie de conclusiones:

El periodograma es el método básico de análisis. Es computacionalmente


eficiente (FFT).
• Su sesgo se puede reducir tomando más muestras.
• Su varianza no se puede reducir y es siempre grande.
Los otros métodos, Blackman-Tukey y Welch, permiten reducir la va-
rianza de la estima del periodograma.
210 CAPı́TULO 5. ANÁLISIS ESPECTRAL

El periodograma es un caso particular de los métodos Blackman-Tukey


y Welch.

Para un número de muestras total dado, la reducción de la varianza se


logra siempre a base de aumentar el sesgo.

Podrı́amos resumir lo anterior diciendo que estos métodos proporcio-


naran buenos resultados cuando el número de muestras disponible sea
grande.

5.6. Análisis Tiempo-Frecuencia


En las secciones anteriores se ha considerado el análisis espectral de señales
estacionarias. Para dichas señales, tiene sentido hablar de un espectro para to-
da la señal. Cuando la señal es no estacionaria, la autocorrelación deja de
depender únicamente de la diferencia de instantes para depender también del
instante concreto considerado. En ese caso, aunque puede hablarse de un espec-
tro medio, en realidad carece de sentido práctico la mayor parte de las veces.
Para entender lo que queremos decir pensemos en un tono cuya frecuencia
varı́a lentamente. Muchas veces estaremos interesados en saber la frecuencia
del tono en función del tiempo. Veamos un ejemplo. La figura 5.36 muestra
una señal que es un pulso de envolvente trapezoidal, con una portadora cuya
frecuencia comienza siendo 0.05 para ir aumentando hasta llegar a 0.15; dicha
figura muestra igualmente el módulo de su TF.
La figura 5.37 muestra una señal similar pero en este caso la frecuencia
disminuye desde 0.15 hasta 0.05. Puede observarse que las transformadas de
Fourier son idénticas en ambos casos y proporcionan una especie de espectro
medio de las frecuencias ocupadas por la señal (de 0.05 a 0.15 en ambos casos).
¿Cómo puede ser que dos señales diferentes tengan la misma TF? La respuesta
a esta pregunta es que realmente no tienen la misma TF. La diferencia está en
la fase. Sin embargo, su espectro de energı́a coincide y no aporta ninguna
información sobre el orden en que se suceden las distintas frecuencias. Dicha
información se encuentra naturalmente en la fase. Recordemos que la TF de
una señal desplazada en el tiempo, sólo difiere en la fase de la TF de la señal
original. De alguna forma, la posición temporal de cada componente espectral
está imbricada (de forma no obvia) en la información de fase de la TF.
Tal vez resulta más interesante, en vez de ver la señal de forma global,
mirar pequeños fragmentos donde la frecuencia fuera constante, e ir viendo
cómo evoluciona la frecuencia con el tiempo. Ésta es la idea de la TF de Fourier
5.6. Análisis Tiempo-Frecuencia 211

S1
1

0.5
x[n]

-0.5

-1
0 50 100 150 200 250 300 350 400 450 500
n

40

30
|X(f)|

20

10

0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f

Figura 5.36: Pulso de RF de frecuencia creciente y su TF.

dependiente del tiempo que se verá en el siguiente apartado. De alguna forma,


intercambiaremos parte de la información contenida en la fase por información
temporal explı́cita.

5.6.1. La TF dependiente del tiempo


Se define la TF dependiente del tiempo, o de tiempo corto (STFT) como:

w[m] x[n + m] e−jλm
X
X[n, λ) = (5.39)
m=−∞

Analicemos un poco la anterior expresión. Lo primero que llama la atención


es que la STFT es una función de dos variables; la primera n es discreta
y representa el instante de tiempo al que se refiere el cálculo de la TF. La
segunda, λ, es contı́nua y, como puede verse en la expresión, hace el papel de
ω en las TF’s normales. Dentro de poco entenderemos el porqué de usar una
letra diferente. Para expresar claramente el hecho de que la primera variable
es discreta y la segunda contı́nua, utilizamos la notación ”[·)”. La variable λ
es además periódica (como ω); no obstante, y para no recargar la notación, no
escribiremos ejλ . Continuando con nuestro análisis, vemos que X[n, λ) no es
212 CAPı́TULO 5. ANÁLISIS ESPECTRAL

S2
1

0.5
x[n]

-0.5

-1
0 50 100 150 200 250 300 350 400 450 500
n

40

30
|X(f)|

20

10

0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f

Figura 5.37: Pulso de RF de frecuencia decreciente y su TF.

otra cosa que la TF ordinaria de la señal:

w[m] x[n + m] (5.40)

w[m] es una ventana similar a las vistas que limita el trozo de señal a analizar.
Supondremos que es no nula en torno al origen. x[n + m] es la versión despla-
zada n hacia la izquierda de la señal que estamos analizando. Lo que estamos
haciendo es desplazar la señal de modo que el fragmento que originariamente
estaba en m = n, tras el desplazamiento esté situado en m = 0. De este modo,
variando n, cada vez tenemos un trozo distinto de señal cerca del origen.
Un aspecto no mencionado hasta ahora, es el relativo a la representación de
la STFT. Dicha transformada es compleja y de dos variables. Lo que se suele
hacer es representar el módulo (o la fase) como una función bidimensional, en
la que un eje representa el tiempo y el otro (entre −π y π) la pulsación λ. Entre
los métodos habitualmente empleados para representar funciones de este tipo
están las curvas de nivel, las imágenes de falso color o las representaciones
tridimensionales. Las figuras 5.38, 5.39 y 5.40 muestran la STFT de la señal
de la figura 5.36. En ellas se puede apreciar que para cada instante, tenemos
un pico (tono) y que la posición de este pico va aumentando de frecuencia a
medida que aumenta el tiempo.
5.6. Análisis Tiempo-Frecuencia 213

30

25

20

15

10

0
0.5
0.4 500
0.3 400
0.2 300
200
0.1 100
0 0

Figura 5.38: Módulo de la STFT de la señal de la figura 5.36 vista en


3D.

0.5

0.45

0.4

0.35

0.3

0.25
f

0.2

0.15

0.1

0.05

0
0 50 100 150 200 250 300 350 400 450 500
n

Figura 5.39: Módulo de la STFT de la señal de la figura 5.36 vista con


curvas de nivel.

5.6.2. Elección de la ventana


En el apartado anterior hemos visto que, en cada instante n, tenemos
una TF de la señal enventanada con una ventana w[m] que supondremos de
214 CAPı́TULO 5. ANÁLISIS ESPECTRAL

f
6

-
n

Figura 5.40: Módulo de la STFT de la señal de la figura 5.36 vista con


niveles de gris. Colores más claros representan, valores más grandes.
Pueden apreciarse los lóbulos laterales debidos al uso de una ventana
rectangular

longitud L. La elección de la ventana a utilizar sigue los mismos criterios vistos


en los apartados anteriores con respecto a la resolución y lóbulos laterales.
Si queremos tener una buena resolución en frecuencia emplearı́amos venta-
nas largas. Esto, que en el caso de señales estacionarias no representa ningún
problema, en el caso de señales no estacionarias puede dar lugar a que dentro
de la ventana de análisis estemos considerando porciones no estacionarias de
señal. En ese caso, la elección de una ventana larga nos llevarı́a de nuevo a
obtener espectros medios de lo que sucede en la ventana. Diremos que en ese
caso estamos perdiendo resolución temporal.
No vamos a dar aquı́ una definición rigurosa de resolución temporal, pe-
ro intuitivamente, podrı́amos decir que tendrı́a que ver con la capacidad de
detectar correctamente eventos de duración corta. Parece obvio que para de-
tectar el fenómeno de duración corta, es necesario que al menos para algún
n, la ventana esté situada únicamente sobre el fenómeno de duración corta.
Vemos por tanto que para tener una buena resolución temporal nos interesan
ventanas cortas.
Tras la anterior discusión estamos llegando a una de las limitaciones fun-
damentales del análisis de señales que podrı́amos enunciar del siguiente modo:
5.6. Análisis Tiempo-Frecuencia 215

1.5

0.5

-0.5

-1

-1.5

-2
0 50 100 150 200 250 300 350 400 450 500
n

Figura 5.41: Señal que es la suma de dos tonos de freceuncias simila-


res, salvo en un intervalo de 25 muestras en que es un único tono de
frecuencia bastante distinta de las anteriores.

Es imposible conocer simultáneamente con infinita resolución el


contenido tiempo-frecuencial de una señal.

Esta afirmación resume el hecho contradictorio que acabamos de ver:

Si deseamos buena resolución frecuencial, es decir, conocer bien la señal


en la frecuencia, interesan ventanas de análisis largas.

Si deseamos una buena resolución temporal, es decir, conocer bien cómo


evoluciona la señal en el tiempo, interesan ventanas de análisis cortas.

En la práctica, en función de la señal que vayamos a analizar y de la


información que deseemos utilizaremos una longitud de ventana u otra.
La figura 5.41 muestra una señal que es la suma de dos tonos salvo en un
intervalo de 25 muestras que es un tono de frecuencia y amplitud diferente.
Dicha señal es analizada en la figura 5.42 con una ventana corta (21 mues-
tras) de modo que se aprecia perfectamente el transitorio, pero muy mal los
dos tonos de frecuencias similares. En la figura 5.43 se realiza una análisis
pero utilizando una ventana más larga (71 muestras). Ahora, los 2 tonos se
distinguen claramente, pero es difı́cil decir qué sucede en el transitorio.
216 CAPı́TULO 5. ANÁLISIS ESPECTRAL

f
6

-
n
Figura 5.42: Análisis de la señal de la figura 5.41 con una ventana de
duración 21.

f
6

-
n
Figura 5.43: Análisis de la señal de la figura 5.41 con una ventana de
duración 71.

5.6.3. Interpretación como banco de filtros de la TF depen-


diente del tiempo
Supongamos que tomamos la Transformada de Fourier de Tiempo Cor-
to X[n, λ) y la particularizamos para λ = λ0 . Obtendremos de esta forma
5.6. Análisis Tiempo-Frecuencia 217

una secuencia (compleja) que denominaremos xλ0 [n]. Veamos qué propiedades
tiene.

w[m] x[n + m] e−jλ0 m
X
xλ0 [n] = X[n, λ0 ) = (5.41)
m=−∞

Realizando en la anterior expresión el cambio de m por −m0 obtenemos:



0
x[n − m0 ] w[−m0 ] ejλ0 m = x[n] ∗ hλ0 [n]
X
xλ0 [n] = (5.42)
m0 =−∞

con
hλ0 [n] = w[−n] ejλ0 n (5.43)
Es posible calcular la respuesta en frecuencia de este filtro tomando, como
siempre, la TF de la respuesta impulsional.

Hλ0 (ejω ) = W (ej(λ0 −ω) ) (5.44)

Es decir, para cada λ la secuencia xλ [n] es el resultado de filtrar la señal original


x[n] con un filtro de respuesta impulsiva hλ [n]. Suponiendo que la TF de la
ventana sea paso bajo (caso habitual) el filtro hλ [n] es un filtro paso-banda
cuya banda de paso está centrada en la frecuencia ω = λ, y cuya respuesta
en frecuencia tiene la forma de la TF de la ventana utilizada desplazada en
frecuencia
Esta interpretación de la TF es sumamente interesante, puesto que nos
dice que realizar consecutivamente TF equivale a implementar un banco de
filtros, cuyas respuestas en frecuencia dependen de la ventana elegida.

5.6.4. Transformada Inversa


La STFT se ha aplicado, entre otros, al campo de la codificación de señales
vocales. En esta aplicación lo que se hace es, en vez de codificar las muestras
de la señal, codificar valores de la STFT. Dado que los valores de la STFT se
corresponden a diferentes frecuencias, y que el oı́do no tiene la misma sensi-
bilidad al ruido de cuantificación en todas las frecuencias, es posible asignar
los bits de forma no uniforme a cada frecuencia. Además, dado que las señales
no son estacionarias, es posible variar la asignación binaria en función de las
frecuencias activas en cada instante.
Lo anterior lleva a la necesidad de recuperar la señal original x[n] a partir
de X[n, λ). Para ello hay que deshacer ordenadamente los pasos hechos.
218 CAPı́TULO 5. ANÁLISIS ESPECTRAL

1. Para cada n se hace una TF−1 . Obtenemos con ello w[m] x[n + m], es
decir un fragmento enventanado de la señal.

2. Para recuperar x[n] basta con particularizar el resultado anterior para


m = 0 y dividir por w[0].

Para finalizar esta sección, haremos un comentario de tipo práctico. Ob-


servemos que de toda la TF−1 del punto 1 únicamente estamos interesados
en un valor (el de m = 0). En ese caso, resulta mucho más eficaz calcular
únicamente la TF−1 para ese valor de m concreto que no utilizar una FFT−1
(ver siguiente sección) para luego quedarnos con un único valor.

5.6.5. Muestreo en frecuencia y en tiempo


En la definición hecha en la ecuación (5.39) de la STFT, aparece una TF.
Supondremos que la ventana w[n] tiene únicamente L valores no nulos. Como
cabe esperar, dicha TF se calcula en la práctica como una FFT. Es decir, se
realiza un muestreo en frecuencia (λ) de la transformada. Para que no exista
ambigüedad, el número de muestras espectrales, N , deberá ser al menos igual a
la longitud de la ventana w[n]. Para realizar las FFT, como siempre, podemos
rellenar con ceros las L muestras de señal enventanadas antes de hacer la FFT.
En la misma definición de la ecuación (5.39) se ve que en cada transformada
de Fourier intervienen L muestras. Esto permite, si se desea, no tener que
calcular las transformadas de Fourier para todo n sino únicamente cada R
muestras. Si se cumple R ≤ L será posible recuperar la señal original, pues en
cada TF−1 se recuperan hasta L muestras de la misma.
Resumiendo, si:

L es la longitud de la ventana.

N es el número de puntos de la FFT.

R es el factor de diezmado temporal.

para poder recuperar la señal debe cumplirse:

R≤L≤N (5.45)

Esta relación es interesante tenerla presente en aplicaciones de codificación


donde es de suma importancia guardar el mı́nimo número de valores de la
STFT para ser capaces de recuperar la señal.
5.7. Análisis Espectral Paramétrico 219

5.7. Análisis Espectral Paramétrico


En la parte precedente del tema, se han estudiado métodos de análisis
espectral de los denominados no-paramétricos. Se denominan ası́ porque no
suponen nada sobre la naturaleza de la señal bajo análisis y porque simple-
mente producen como resultado muestras en frecuencia de la estima de la
DEP. Estos métodos tienen unas limitaciones que son:

Poca resolución con registros cortos de señal. La razón última de la li-


mitación en resolución de estos métodos, reside en que se asume que la
autocorrelación es nula fuera del intervalo que se puede calcular. Pense-
mos por ejemplo en el periodograma, que es la TF del estimador sesgado
de la autocorrelación; si tomamos una ventana de L muestras es imposi-
ble estimar la correlación para |m| > L. Lo que hacemos es suponer que
fuera del intervalo en que podemos calcularla, la autocorrelación vale 0.

Mucha varianza. Hemos analizado anteriormente las causas de la varian-


za y formas de reducirla. Podemos dar otra visión estadı́stica de por
qué la varianza es grande. Supongamos inicialmente el periodograma.
Si suponemos que el número de muestras espectrales que tomamos, N ,
coincide con la longitud de la ventana de muestras, L, resulta que lo que
estamos haciendo es estimar un conjunto de L muestras espectrales a
partir de L muestras temporales. En estadı́stica, hay una regla práctica
que dice que si la cantidad de valores a estimar es igual a la cantidad de
datos que tenemos, la estima tendrá gran varianza. Si recordamos lo que
sucedı́a tanto en el método de BT como de Welch, allı́ tenı́amos muchas
más muestras totales que muestras espectrales calculábamos (supuestas
FFT’s sin relleno de ceros, pues con relleno con ceros la FFT simple-
mente interpola como sabemos). Es por ello que estos métodos tenı́an
una varianza menor, porque la relación entre valores estimados y datos
disponibles era pequeña.

La idea de los métodos paramétricos consiste básicamente en presuponer que


la DEP (o la autocorrelación) son de una determinada forma que depende
de esos pocos parámetros. De ese modo, con muchas menos muestras que los
métodos no paramétricos:

Sólo tendremos que estimar unos pocos parámetros, para estimar la DEP.
La relación entre los parámetros y la DEP la suponemos conocida.

Al ser muy pocos los parámetros a estimar, es posible utilizar pocas


muestras y aún ası́ tener una estima de poca varianza.
220 CAPı́TULO 5. ANÁLISIS ESPECTRAL

Rx [m]
6
@
@
 Estimado a partir de muestras
Extrapolación por modelo
-
m

Figura 5.44: Extrapolación de la autocorrelación usando un modelo.

Utilizando pocas muestras, es posible estimar únicamente unos (pocos)


valores de la autocorrelación. Si con esos pocos valores somos capaces
de extraer los parámetros del modelo, seremos capaces de inferir la por-
ción de autocorrelación que no podemos medir. Para entender lo que
queremos decir, pensemos en un ejemplo (figura 5.44). Supongamos que
hacemos la hipótesis de que la autocorrelación de la señal que estoy ana-
lizando tiene forma de triángulo. Supongamos que estimo unos pocos
valores de correlación a partir de las muestras; como dichos valores son
pocos, es posible estimarlos con poca varianza. A partir del conocimiento
de parte de la autocorrelación puedo deducir el resto teniendo en cuenta
la hipótesis de que la autocorrelación tiene forma de triángulo.

La esencia de los métodos paramétricos, consiste pues en asumir un modelo de


señal, y bajo esa hipótesis realizar el análisis. Observemos que si se cumple el
modelo, estos métodos dan mejores resultados que los métodos no paramétricos
debido a que puedo extrapolar la autocorrelación a partir de valores fiables en
vez de suponer que es cero o estimarla con mucha varianza.
Un aspecto que se plantea de inmediato es: ¿cómo sé cuál es el modelo
correcto que se ajusta a la señal que estoy analizando?. Esta pregunta lamen-
tablemente no tiene una respuesta clara. En la práctica, en algunos casos, el
módelo fı́sico de generación de la señal nos puede dar una pista sobre el tipo
de modelo a aplicar a la señal analizada. Es el caso de la voz. Si no tengo
ningún conocimiento sobre el mecanismo fı́sico que origina la señal que estoy
tratando de analizar, los métodos no paramétricos y la experiencia me pueden
ayudar a seleccionar el modelo adecuado.
Vamos a ver a continuación los principales modelos utilizados en el análisis
espectral. Todos tienen en común el que suponen que la señal analizada puede
ser considerada como el resultado de filtrar un ruido blanco de potencia media
unidad. (Figura 5.45)
5.7. Análisis Espectral Paramétrico 221

Suponiendo conocido el filtro h[n] (real) y por las relaciones de correlación


entre entrada y salida de un filtro lineal, tenemos que:

Rx [m] = h[m] ∗ h[−m] (5.46)

Φx (ejω ) = |H(ejω )|2 (5.47)


expresiones en las que se ha hecho uso de que e[n] es un ruido blanco de
potencia media unidad.
El problema consiste pues, en estimar cuáles son los parámetros del filtro
(sus coeficientes), de modo que el filtro aplicado a un ruido blanco genere
nuestra señal; tenemos como dato muestras de nuestra señal x[n]. El anterior
problema es imposible de resolver en general. Lo que se hace en la práctica es
suponer que el filtro es de un determinado tipo y orden, y calcular entonces
los parámetros del filtro que mejor se ajustan al modelo supuesto.
Los principales tipos de modelos empleados son:

MA (Moving Average): En este caso se supone que el filtro h[n] es FIR.


por lo que la autocorrelación también tiene extensión finita (ver ecua-
ción (5.46)). Esta hipótesis es la misma que hace, por ejemplo, el método
de BT. Por tanto, estos modelos, se pueden considerar estudiados dentro
de los métodos no-paramétricos.

AR (Auto-Regresive): En este caso se supone que el filtro es todo polos, es


decir, que el numerador de su función de transferencia es una constante.
La expresión que estamos suponiendo para el filtro es de la forma:
G
HAR (z) = (5.48)
1 − a1 z −1 − a2 z −2 − · · · − ap z −p

donde se ve claramente que conociendo los coeficientes del filtro, conozco


el filtro y mediante la ecuación (5.47) la DEP de la señal. Al valor p
se le denomina orden del modelo, y se suele hablar de modelos AR-p.
Dado que la respuesta impulsional de estos filtros es infinita, también lo
será su autocorrelación. Este tipo de modelos permiten pues, conociendo

Ruido blanco Señal a analizar


- h[n] -
e[n] x[n]

Figura 5.45: Modelo de generación de señales en análisis espectral pa-


ramétrico.
222 CAPı́TULO 5. ANÁLISIS ESPECTRAL

los coeficientes del filtro, conocer la autocorrelación para todo m de modo


análogo a como hicimos en la figura 5.44.

ARMA (Auto-Regresive and Moving Average): Este tipo de modelos supo-


nen que el filtro tiene por numerador y denominador polinomios en z −1 ,
es decir:
b0 + b1 z −1 + b2 z −2 + · · · + bq z −q
HARM A (z) = (5.49)
1 − a1 z −1 − a2 z −2 − · · · − ap z −p

Por su mayor complejidad, no estudiaremos aquı́ este tipo de modelos. El


lector interesado puede consultar [4].

5.7.1. Modelos AR
En esta sección estudiaremos cómo se pueden estimar los coeficientes del
filtro del modelo a partir de las muestras de señal.
Estamos suponiendo que el filtro es todo polos. Por lo tanto:

X(z) G
HAR (z) = = (5.50)
E(z) 1 − a1 z − a2 z −2 − · · · − ap z −p
−1

La anterior ecuación permite establecer la ecuación en diferencias que relaciona


las muestras de e[n] con las de x[n]:

x[n] = G e[n] + a1 x[n − 1] + a2 x[n − 2] + · · · + ap x[n − p] (5.51)

Multiplicando por x[n] ambos miembros de la ecuación anterior, y tomando


esperanzas matemáticas, se obtiene:

Rx [0] = G Rxe [0] + a1 Rx [1] + a2 Rx [2] + · · · + ap Rx [p] (5.52)

Por las propiedades de la correlación cruzada entre la entrada y la salida de


un filtro, sabemos que:

Rxe [m] = E{x[n + m] e[n]} = h[m] ∗ Re [m] = h[m] (5.53)

Aplicándolo en la ecuación (5.52):

Rxe [0] = h[0] = G (5.54)

por lo que podemos escribir:

Rx [0] = G2 + a1 Rx [1] + a2 Rx [2] + · · · + ap Rx [p] (5.55)


5.7. Análisis Espectral Paramétrico 223

Multipliquemos ahora por x[n − 1] ambos miembros de la ecuación (5.51) y


volvamos a tomar esperanzas matemáticas:

Rx [1] = G Rxe [−1] + a1 Rx [0] + a2 Rx [1] + · · · + ap Rx [p − 1] (5.56)

Por la ecuación (5.53) sabemos que

Rxe [−1] = h[−1] = 0

por lo que obtenemos:

Rx [1] = 0 + a1 Rx [0] + a2 Rx [1] + · · · + ap Rx [p − 1] (5.57)

Si multiplicamos ahora por x[n − 2] y tomamos esperanzas, y repetimos el


proceso hasta x[n − p] obtenemos un sistema de ecuaciones:

G2 + a1 Rx [1] + a2 Rx [2] + · · · + ap Rx [p] = Rx [0]


0 + a1 Rx [0] + a2 Rx [1] + · · · + ap Rx [p − 1] = Rx [1] (5.58)
··· = ···
0 + a1 Rx [p − 1] + a2 Rx [p − 2] + · · · + ap Rx [0] = Rx [p]

Dicho sistema de ecuaciones de p + 1 ecuaciones y p + 1 incógnitas se conoce


como Ecuaciones de Yule-Walker y permite obtener los coeficientes del filtro
del modelo AR a partir de valores de correlación de la señal. Dichos valores
se estiman directamente a partir de las muestras de la señal tal y como se vio
en la sección 5.5.3. El mencionado sistema se suele escribir en forma matricial
del siguiente modo:

G2
    
Rx [0] Rx [1] ···
Rx [2] Rx [p] 1

 Rx [1] Rx [0] · · · Rx [p − 1]
Rx [1] 
 −a1  
  0 

Rx [2] Rx [1] · · · Rx [p − 2]
Rx [0] −a2 0
    
  = 

.. .. .. .. .. 
..  
.. 
. . . . . . .
    
    
Rx [p] Rx [p − 1] Rx [p − 2] · · · Rx [0] −ap 0
(5.59)

Resumiendo el método de análisis espectral mediante modelos AR, consis-


tirı́a en:

Elegir el orden y el tipo de modelo.

Estimar los valores de correlación necesarios para plantear las ecuaciones


de Yule-Walker. Suele utilizarse el estimador sesgado.
224 CAPı́TULO 5. ANÁLISIS ESPECTRAL

10

-2

-4

-6

-8

-10
0 5 10 15 20 25 30 35 40 45 50
n

Figura 5.46: Muestras pertenecientes a un fragmento de proceso alea-


torio tipo AR de orden 4.

Resolver las ecuaciones de Yule-Walker.

Mediante la expresión (5.47) calcular la DEP.

Vamos a ver a continuación algunos ejemplos de análisis mediante esta


técnica para tener una idea de lo que se puede lograr con ella. La figura 5.46
muestra un fragmento de 50 muestras de un proceso AR de orden 4. Dicho
fragmento ha sido obtenido filtrando un ruido blanco con un filtro todo polos
de orden 4 conocido. Por tanto, conocemos la DEP teórica de dicho fragmento
de señal. En un problema de análisis real no conocerı́amos la DEP verdadera
del proceso (¡es lo que tratamos de averiguar!). Cuando veamos los resultados
obtenidos por diferentes métodos compararemos lo que se obtiene con cada
uno de ellos con dicha DEP teórica.
En la figura 5.47 vemos el resultado de realizar un análisis espectral utili-
zando un modelo AR de orden 4 (el correcto). Vemos que el resultado obtenido
se acerca mucho al real (pocos dB de diferencia), pese a haber utilizado muy
pocas muestras. Las diferencias se deben a que la autocorrelación empleada
en las ecuaciones de Yule-Walker es estimada y no la teórica.
Para que entendamos la potencia de este tipo de análisis, vamos a comparar
el análisis de las mismas 50 muestras de señal mediante un periodograma.
5.7. Análisis Espectral Paramétrico 225

25

20

15

10
dB

-5

-10
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f

Figura 5.47: Comparación entre la DEP teórica y la estima AR de


orden 4 de la señal de la figura 5.46.

La figura 5.48 muestra el resultado. Como puede apreciarse, el periodograma


presenta un resultado totalmente aleatorio.
Podrı́a pensarse en utilizar alguna de las técnicas vistas en los métodos
no paramétricos para reducir la varianza. Veamos que sucede, si por ejemplo
consideramos el método BT con un ancho de ventana de 21 (rectangular). El
resultado se muestra en la figura 5.49.
A la vista de las figuras 5.47, 5.48 y 5.49 uno podrı́a tener la idea de
que los métodos paramétricos son muy superiores a los no paramétricos. Y
en efecto ası́ es siempre que acertemos con el modelo adecuado. Si se utiliza
un modelo no adecuado, los resultados obtenidos son totalmente absurdos.
En la figura 5.50 se muestra el resultado de realizar el análisis de las mismas
muestras de señal pero suponiendo modelo AR de orden 2 y en la figura 5.51
suponiendo orden 8 (recordemos que el orden verdadero es de 4).
Como puede verse los resultados son totalmente insatisfactorios debido a
no haber elegido correctamente el modelo.
226 CAPı́TULO 5. ANÁLISIS ESPECTRAL

30

25

20

15

10
dB

-5

-10

-15

-20
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f

Figura 5.48: Comparación entre la DEP teórica y periodograma de la


señal de la figura 5.46.

30

25

20

15

10
dB

-5

-10

-15

-20
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f

Figura 5.49: DEP teórica, estima mediante BT del espectro de la señal


de la figura 5.46 y diferencia en dB.
5.7. Análisis Espectral Paramétrico 227

25

20

15

10
dB

-5

-10
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f

Figura 5.50: Comparación entre la DEP teórica y la estima mediante


un modelo AR de orden 2 del espectro de la señal de la figura 5.46.

25

20

15

10
dB

-5

-10
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f

Figura 5.51: Comparación entre la DEP teórica y la estima mediante


un modelo AR de orden 8 del espectro de la señal de la figura 5.46.
228 CAPı́TULO 5. ANÁLISIS ESPECTRAL

5.8. Problemas
1. La transformada de Fourier de tiempo corto se puede definir de una
forma diferente a como se expresa en la ecuación (5.39). Dicha forma
alternativa es:

x[m] w[n − m] e−jλm
X
X̌[n, λ) =
m=−∞

a) Realice una interpretación gráfica de la anterior definición y compáre-


la con la de la ecuación (5.39).
?
b) Encuentre la relación X[n, λ) ←→ X̌[n, λ).
c) Demuestre que s[n] = X̌[n, λ0 ) es una señal paso-bajo ∀λ0
d ) Sea x[n] una señal arbitraria que se aplica a la entrada de un filtro
FIR de respuesta impulsiva h[n] para obtener y[n] a la salida.
M
X
y[n] = h[k] x[n − k]
k=0

?
Encuentre la relación X[n, λ) ←→ Y [n, λ) si se utiliza en ambos
casos la misma ventana.
e) Demuestre que si la longitud de la ventana es larga comparada con
M , la longitud del filtro h[n] se cumple:

Y̌ [n, λ) ' H(ejλ ) X̌[n, λ)

siendo H(ejω ) la respuesta en frecuencia del filtro.

Ejercicios con MATLAB


Los archivos necesarios para realizar estos ejercicios se encuentran en:
http://ttt.upv.es/∼aalbiol/librotds

1. Identificar pares multifrecuencia. En este ejercicio, vamos a tratar de


comprobar la utilidad del análisis espectral en la decodificación de señali-
zación telefónica multifrecuencia. Como se sabe en telefonı́a existe una
forma de transmitir señalización consitente en transmitir una pareja de
frecuencias diferente para cada número que se desee transmitir. La tabla
de frecuencias se muestra a continuación. Las fases de los tonos genera-
dos, es en general aleatoria, lo que hace que el aspecto temporal de las
señales pueda ser bastante diferente para un mismo dı́gito.
5.8. Problemas 229

El archivo UNOS.MAT contiene dos vectores correspondientes a dos


unos distintos (fases iniciales diferentes) y con una pequeña propor-
ción de ruido. Compruebe que son diferentes, y que en el dominio
del tiempo no resulta sencillo decidir el dı́gito correspondiente.

1209 hz 1336 hz 1477 hz


679 hz 1 2 3
770 hz 4 5 6
852 hz 7 8 9
941 hz * 0 #
Cuadro 5.2: Tablas de códigos multifrecuencia.

El archivo DTMF.MAT tiene varios dı́gitos, correspondientes a un


número de teléfono de 7 cifras. Intente averiguar cuáles son, uti-
lizando el mı́nimo número de muestras, la ventana que crea más
conveniente, y comparando con las frecuencias de la tabla.
¿Cuál cree que es la máxima velocidad de pulsación de dı́gitos que
se puede tener para poder decodificar correctamente los mismos?
(suponga que no existen pausas entre los dı́gitos).

2. El juego de los espı́as. En este ejercicio, suponga que es el responsa-


ble de un servicio de contraespionaje, y que su objetivo es interceptar
los mensajes del enemigo. Se sabe, que el enemigo transmite mensajes
codificados en forma de presencia de tonos camuflados junto a otros que
solamente pretenden distraer nuestra atención (tonos de camuflaje). En
concreto se sabe que emplea dos técnicas:

Enviar tonos de pequeña amplitud comparados con los de camuflaje


(30 dB menos) y de frecuencia claramente distinta a la de los tonos
de camuflaje.
Enviar tonos de amplitud menor aunque comparable a la de los
tonos de camuflaje pero de frecuencia muy similar a la de alguno
de los tonos de camuflaje. Se ha estimado que la separación mı́nima
de frecuencia que se prevé que utilice es de 1/200 hz.

Los tonos de camuflaje son de distinta frecuencia de una transmisión


a otra pero en una cierta transmisión todos tienen la misma amplitud.
El enemigo transmite estas señales durante bastante tiempo pero in-
teresa ser capaces de detectar la presencia de los tonos lo antes posible
(utilizando la minima cantidad de muestras) dado que es posible que el
230 CAPı́TULO 5. ANÁLISIS ESPECTRAL

mensaje implique un riesgo sobre nosotros. Su misión es definir y apli-


car el procedimiento para detectar la presencia de los mensajes (tonos),
utilizando la mı́nima cantidad de muestras posibles. En el servidor de
TDS, se encuentra el archivo CAMU1.MAT que contiene un vector con
muestras de un mensaje interceptado al enemigo.

Para comprobar la utilidad de las herramientas de análisis presen-


tadas hasta el momento, compruebe que a la vista de las muestras
(en el tiempo) si le es posible saber las frecuencias de los tonos de
camuflaje y de los posibles mensajes.
Utilizando las técnicas de análisis espectral que considere oportu-
nas, determine la presencia de tonos camuflados.
¿Cuál es el mı́nimo número de muestras necesario para detectar los
tonos?

3. Análisis espectral de señales de voz. En este ejercicio se van a comprobar


algunas de las propiedades de la voz en el dominio de la frecuencia. Para
ello se tomará el fichero DONDE.MAT que contiene la palabra “donde”
dicha de forma enunciativa e interrogativa en las variables d1 y d2.
El espectro localizado (en fragmentos donde se puede suponer estacio-
nariedad) de la señal de voz se caracteriza por dos aspectos:

El pitch o frecuencia fundamental de los sonidos sonoros. Los soni-


dos sonoros son cuasi-periódicos. Por lo tanto su espectro está for-
mado aproximádamente por deltas situadas en los armónicos de la
frecuencia fundamental. El pitch es el reponsable del tono de voz y
es de aproximádamente unos 100 hz para los hombre y de unos 200
hz para las mujeres (depende bastante de los individuos particula-
res). Para un mismo individuo, y dentro de una frase se producen
variaciones del mismo que subjetivamente el cerebro asocia con la
entonación de la frase. Ası́, una frase enunciativa tiene una varia-
ción temporal del pitch muy pequeña, mientras que en una frase
interrogativa el pitch aumenta al final de la misma.
Los formantes. Antes hemos mencionado que los sonidos sonoros
son casi periódicos. Si el pitch estaba relacionado con el periodo
de repetición, los formantes estan relacionados con la forma de los
periodos. Dicha forma depende como se sabe de la envolvente es-
pectral. Los formantes son las frecuencias de resonancia (picos) de
dicha envolvente espectral. La envolvente espectral es la respon-
sable de que identifiquemos los distintos sonidos, es decir, de que
distingamos la ‘o’ de la ‘e’, por ejemplo.
5.8. Problemas 231

En el ejercicio vamos a aplicar los conocimientos que tenemos para inferir


información de las señales de voz.

a) Determinación de la entonación. Parece lógico que dado que lo que


buscamos es la evolución de una frecuencia (pitch) con el tiempo
se utilicen técnicas de análisis tiempo-frecuencia. En el servidor
encontrará la función stft.m que implementa la transformada de
Fourier de tiempo corto. Para ser capaz de ver la evolución del
pitch, es necesario que la resolución en frecuencia de la ventana de
análisis empleada permita resolver los distintos armónicos.
Determine cuál es la longitud mı́nima de ventana de Hamming
que se deberı́a utilizar si no se sabe si el locutor es hombre o
mujer.
Utilizando una duración de ventana el doble de la anteriormen-
te calculada, analice mediante la TF de tiempo corto las señales
d1 y d2. Visualice los resultados utilizando la función Matlab
pcolor. ¿Puede a la vista de los resultados inferir cuál es la
interrogativa? Puede comprobar si ha acertado utilizando la
función sound de Matlab. Observe las señales en el dominio
del tiempo e indique si hubiera sido capaz de encontrar la frase
interrogativa en dicho dominio.
En la segunda parte vamos a analizar mediante métodos pa-
ramétricos fragmentos de señal de voz para hacer reconocimien-
to de sonidos. La señal de voz se corresponde bastante bien con
un modelo AR. En dichos modelos todo polos la forma del es-
pectro presenta una serie de resonancias debidas a cada uno de
los polos. El número de resonancias depende del ancho de ban-
da considerado. Para un ancho de banda de 4 khz (fs = 8 khz)
se suele considerar un orden de 10 (5 resonancias). Indique si
a la vista de los resultados del punto anterior dicha cantidad
parece razonable.

Formante 1 Formante 2
A 620–800 1000-1500
E 420–500 1600-2000
I 200–300 2000-2500
O 400–500 800-1000
U 230–290 600-900
Cuadro 5.3: Tablas de frecuencias de formantes en castellano.
232 CAPı́TULO 5. ANÁLISIS ESPECTRAL

Se han seleccionado bloques de 40 ms. correspondientes a las


o’s y las e’s del primer y segundo vector(o1, o2, e1, e2). Analice
las señales mediante un modelo AR de orden 10. Una vez obte-
nidos los coeficientes del filtro, represente los polos de todos los
filtros en una misma gráfica (con distintos sı́mbolos). Sabiendo
que el argumento de los polos corresponde con la frecuencia de
resonancia, ¿Cree poder identificar las señales?
Compruebe que en el dominio del tiempo, las señales correspon-
dientes a un mismo sonido (‘o’ por ejemplo) son suficientemente
distintas como para que sea difı́cil reconocer el sonido en dicho
dominio.
Apéndice A

Señales Aleatorias Discretas

A.1. Introducción
En tratamiento digital de la señal existen dos conceptos fundamentales:
las señales y los sistemas. Una manera de considerar las señales es a través
de un enfoque determinista, en el cual una señal discreta es una secuencia de
números correspondientes a los valores de amplitud de la señal en distintos ins-
tantes de tiempo. En teorı́a de la señal hay una gran variedad de herramientas
(Transformada de Fourier, Transformada Z, etc.) que permiten la descripción
de señales deterministas en dominios distintos al tiempo. En lo referente a los
sistemas, resulta interesante conocer como un sistema modifica la señal que
tiene en su entrada, con el objetivo de ser capaces de diseñar sistemas que
realicen tareas de interés. Si un sistema se caracteriza adecuadamente y en
su entrada hay una señal determinista, se puede saber analı́ticamente cuál es
la señal determinista en su la salida. Parece razonable pensar, por tanto, que
el enfoque determinista es de gran utilidad. Sin embargo, en la práctica este
enfoque es poco útil debido fundamentalmente a dos razones:
Habitualmente, la secuencia de entrada en un sistema discreto de interés
no es única. Ası́ por ejemplo, en comunicaciones, las señales suelen pro-
venir de fuentes de información continuas o discretas, donde la forma de
onda de la señal depende del mensaje que se transmite, el cual, habitual-
mente no se conoce a priori. Asumiendo la variabilidad de la señal en la
entrada de un sistema, el enfoque determinista tiene poco interés, ya que
por ejemplo, a la hora de diseñar el sistema: ¿Cuál serı́a, de entre todas
las posibles, la señal que deberı́amos considerar como señal de entrada?
La existencia de señales de naturaleza intrı́nsecamente aleatoria llamadas
ruido. El ruido es una señal impredecible debida a diversos fenómenos

233
234 APÉNDICE A. SEÑALES ALEATORIAS DISCRETAS

fı́sicos que está siempre presente (al menos en condiciones fı́sicas norma-
les). Por ejemplo, en sistemas de comunicación, uno de los principales
inconvenientes para una correcta detección o decodificación, aparte de la
atenuación y la distorsión de la señal transmitida, es el ruido introducido
en el proceso de transmisión-recepción.

Estas dos razones hacen que, en la práctica, sea necesaria una caracteriza-
ción aleatoria o estadı́stica en la que las señales se consideren realizaciones de
procesos estocásticos.

A.2. Procesos Estocásticos Discretos


Un proceso estocástico discreto (PED) {x[n]} asocia a cada instante discre-
to de tiempo n una variable aleatoria x̃[n], constituyendo una concatenación en
tiempo discreto de variables aleatorias. Desde otro punto de vista, cada reali-
zación xk [n] del proceso {x[n]}, constituye una secuencia en la que la amplitud
de cada muestra es el valor que ha tomado la variable aleatoria correspondien-
te a ese instante de tiempo y en esa realización (Figura A.1).

Figura A.1: Proceso Aleatorio Discreto.


A.2. Procesos Estocásticos Discretos 235

La existencia en la práctica de procesos aleatorios discretos, o al menos de


secuencias que se pueden considerar realizaciones de tales procesos, se debe
fundamentalmente a dos razones:

Muestreo de Procesos Continuos. En general, las fuentes de información


digital provienen del muestreo (discretización en el tiempo) de fuentes
de información continuas, por lo que si la fuente continua se modela a
través de un proceso estocástico continuo {x(t)}, su muestreo propor-
cionará un proceso discreto {x[n]}. Además, en la práctica, la amplitud
de la secuencia resultante también se discretiza (cuantificación) lo que
da lugar a una secuencia error discreta llamada ruido de cuantificación,
que bajo ciertas circunstancias pueden modelarse como PED.
Generación de Ruido en los Procesadores Digitales. Los procesadores
digitales operan con precisión finita, introduciendo errores (redondeo en
los cálculos, almacenamiento en memoria, etc.) que se pueden modelar
como PED.

A continuación trataremos la caracterización estadı́stica de los procesos


estocásticos discretos.

A.2.1. Funciones de Distribución y de Densidad de Probabili-


dad
Si en un PED {x[n]} consideramos un instante de tiempo n, la varia-
ble aleatoria x̃[n] puede caracterizarse a través de su función de distribución
Px̃[n] (x)
Px̃[n] (x) = P rob {x̃[n] ≤ x} (A.1)
a través de la cual podemos obtener su función de densidad de probabilidad
(fdp) px̃[n] (x)
dPx̃[n] (x)
px̃[n] (x) = (A.2)
dx
que es función de dos variables, una continua x y otra discreta n. El significado
fı́sico de la fdp es una función cuya integral proporciona probabilidad
Z x1
P rob{x0 ≤ x̃[n] ≤ x1 } = px̃[n] (x) dx (A.3)
x0

Si consideramos dos instantes de tiempo, n1 y n2 , la relación estadı́stica entre


las dos variables aleatorias x̃[n1 ] y x̃[n2 ] viene determinada totalmente a través
de la función de distribución de segundo orden
Px̃[n1 ] x̃[n2 ] (x1 , x2 ) = P {x̃[n1 ] ≤ x1 , x̃[n2 ] ≤ x2 } (A.4)
236 APÉNDICE A. SEÑALES ALEATORIAS DISCRETAS

y su función de densidad px̃[n1 ] x̃[n2 ] (x1 , x2 )

∂ 2 Px̃[n1 ] x̃[n2 ] (x1 , x2 )


px̃[n1 ],x̃[n2 ] (x1 , x2 ) = (A.5)
∂x1 ∂x2
Estas definiciones pueden generalizarse para obtener la función de distribución
conjunta de n-ésimo orden ası́ como su función de densidad de probabilidad
conjunta correspondiente. En general, para caracterizar de forma completa
un proceso deberı́amos conocer la función de distribución conjunta de orden
infinito, información que en la práctica no suele estar disponible. Por esta
razón, en lugar de estas funciones se utiliza una caracterización a través de los
llamados promedios.

A.3. Promedios
Los promedios estadı́sticos o simplemente estadı́sticos, son parámetros o
funciones que permiten una caracterización sencilla aunque incompleta de pro-
cesos estocásticos. Los promedios pueden clasificarse en: aquellos que hacen
referencia a medidas instantáneas del proceso, esto es, caracterı́sticas del proce-
so en cada instante de tiempo individual (promedios instantáneos), y aquellos
que miden la dependencia que hay en el proceso en dos instantes de tiempo
(promedios con memoria).

A.3.1. Promedios instantáneos


Los promedios instantáneos son tres:

Valor medio o Media µx [n] que se define como la esperanza de cada


variable aleatoria en cada instante de tiempo
Z ∞
µx [n] = E{x̃[n]} = x px̃[n] (x) dx (A.6)
−∞

siendo E{·} el operador esperanza matemática.


Valor cuadrático medio o Potencia Media Px [n] que se define como la
esperanza de la variable aleatoria |x̃[n]|2 en cada instante de tiempo
Z ∞
2
Px [n] = E{|x̃[n]| } = |x|2 px̃[n] (x) dx (A.7)
−∞

La Varianza σx2 [n], definida como

σx2 [n] = E{|x̃[n] − µx [n]|2 } (A.8)


A.3. Promedios 237

que también es igual a

σx2 [n] = E{|x̃[n]|2 } − |µx [n]|2 (A.9)

La varianza σx2 [n] es una medida de cuanto pueden variar los valores
que toma un proceso aleatorio en cada instante de tiempo. De hecho, si
la varianza de un proceso es 0 en todo n, entonces el proceso se puede
caracterizar exactamente de forma determinista.

Observe que los tres parámetros anteriores dependen del instante de tiem-
po considerado. Además, existen semejanzas entre estos parámetros y otros
similares utilizados en la caracterización de señales deterministas como por
ejemplo: valor medio u offset, potencia media de una señal y valor eficaz.
La relación entre ambos tipos de parámetros se hará más patente cuando se
introduzca más tarde el concepto de ergodicidad.

A.3.2. Promedios con memoria


Existen dos tipos de promedios con memoria: los que hacen referencia a
la dependencia que hay en un mismo proceso en dos instantes de tiempo y
aquellos que muestran esa dependencia entre dos procesos distintos.
Entre los primeros están:

La autocorrelación Rxx [n1 , n2 ]


Z ∞ Z ∞
Rxx [n1 , n2 ] = E{x̃[n1 ] x̃∗ [n2 ]} = x1 x∗2 px̃[n1 ] x̃[n2 ] (x1 , x2 ) dx1 dx2
−∞ −∞
(A.10)

La autocovarianza Cxx [n1 , n2 ]

Cxx [n1 , n2 ] = E {(x̃[n1 ] − µx [n1 ]) (x̃[n2 ] − µx [n2 ])∗ } (A.11)

Observe que
Rxx [n, n] = Px [n], Cxx [n, n] = σx2 [n]. (A.12)
y que si la media del proceso es cero, autocorrelación y autocovarianza coin-
ciden. La autocorrelación Rxx [n1 , n2 ] es un promedio que mide el grado de
parecido estadı́stico del proceso en dos instantes de tiempo n1 y n2 . La auto-
covarianza también mide el parecido del proceso en dos instantes de tiempo,
pero sin considerar sus medias. En ocasiones la autocorrelación y la autocova-
rianza se denotan mediante Rx [n1 , n2 ] y Cx [n1 , n2 ] respectivamente.
238 APÉNDICE A. SEÑALES ALEATORIAS DISCRETAS

Los promedios con memoria que miden la dependencia entre dos procesos
estocásticos distintos en dos instantes de tiempo son:

La correlación cruzada Rxy [n1 , n2 ]


Z ∞ Z ∞

Rxy [n1 , n2 ] = E{x̃[n1 ] ỹ [n2 ]} = x y ∗ px̃[n1 ],ỹ[n2 ] (x, y) dx dy
−∞ −∞
(A.13)

La covarianza cruzada Cxy [n1 , n2 ]

Cxy [n1 , n2 ] = E {(x̃[n1 ] − µx [n1 ]) (ỹ[n2 ] − µy [n2 ])∗ } (A.14)

Cabe destacar que todos los promedios, ya sean parámetros o funciones, ca-
recen de aleatoriedad, esto es, no varı́an según la realización del proceso sino
que representan al conjunto de todas las realizaciones.

A.4. PED Estacionarios


Los promedios proporcionan una caracterización más simple del proceso
que la función de densidad de probabilidad conjunta, pero aún ası́, la caracte-
rización se hace a través de funciones de una variable (media, potencia media,
varianza) o dos variables (autocorrelación, covarianza). Existe una clase de
procesos, los procesos estocásticos estacionarios (en sentido amplio), que ad-
miten una caracterización más sencilla todavı́a, y que se basan en las siguientes
propiedades:

Los promedios instantáneos son independientes del instante n conside-


rado

• E{x̃[n]} = µx = cte.
• E{|x̃[n]|2 } = Px = cte.
• σx2 [n] = σx2 = cte.

Los promedios con memoria dependen sólo de la diferencia de tiempos


correspondientes a las variables aleatorias consideradas

• Rxx [m] = E {x̃[n + m] x̃∗ [n]}


• Cxx [m] = E {(x̃[n + m] − µx ) (x̃[n] − µx )∗ }
A.4. PED Estacionarios 239

En el caso de procesos estacionarios, la autocorrelación es una medida del


parecido estadı́stico del proceso en un instante de tiempo y una versión de él
desplazada m muestras o, de otra forma, el parecido que hay en el proceso
entre dos instantes de tiempo distintos. En m = 0, el grado de parecido es
máximo ya que ambos procesos coinciden por lo que Rxx [0] constituye siempre
un máximo de la autocorrelación. Si m 6= 0, entonces la autocorrelación mide
el grado de parecido cuando el proceso se desplaza en el tiempo, o dicho de
otro modo, del grado de memoria en función del tiempo que tiene el proceso.
La caracterización de los procesos estacionarios es sencilla puesto que los
promedios de primer orden son únicamente un parámetro mientras que los
promedios con memoria son funciones de una única variable (la diferencia de
tiempos).
A veces resulta interesante ver la dependencia entre dos procesos estacio-
narios distintos. Dos procesos estacionarios {x[n]} e {y[n]} son conjuntamente
estacionarios (en sentido amplio) si cada uno lo es y su correlación cruzada
sólo depende de la diferencia de tiempos

Rxy [m] = E {x[n + m] y ∗ [n]} (A.15)

En ese caso, la covarianza cruzada es

Cxy [m] = E {(x[n + m] − µx ) (y[n] − µy )∗ } = Rxy [m] − µx µ∗y (A.16)

A.4.1. Propiedades de los PED estacionarios


A continuación se enumeran algunas de las propiedades de los promedios
de primer y segundo orden.

1. Hermiticidad. A través de un cambio de variable es fácil demostrar que


∗ [−m]
Rxx [m] = Rxx
∗ [−m]
Rxy [m] = Ryx
∗ [−m]
Cxx [m] = Cxx

Si además los procesos {x[n]} e {y[n]} son reales

Rxx [m] = Rxx [−m]


Rxy [m] = Ryx [−m]
Cxx [m] = Cxx [−m]

y por tanto las secuencias de autocorrelación y autocovarianza son pares.


240 APÉNDICE A. SEÑALES ALEATORIAS DISCRETAS

2. Suma de dos procesos {x[n]} e {y[n]} conjuntamente estacionarios.


Si z̃[n] = ax̃[n] + bỹ[n] entonces

Rzz [m] = |a|2 Rxx [m] + ab∗ Rxy [m] + a∗ bRyx [m] + |b|2 Ryy [m] (A.17)

y en el caso en que los procesos estén incorrelados (Rxy [m] = Ryx [m] =
0):
Rzz [m] = |a|2 Rxx [m] + |b|2 Ryy [m] (A.18)

3. Función semidefinida positiva


XX
ai Rxx [i − j] aj ≥ 0, ∀ai , aj (A.19)
i j

4. Máximo de la autocorrelación y la autocovarianza

Rxx [0] ≥ |Rxx [m]|, ∀m


Cxx [0] ≥ |Cxx [m]|, ∀m (A.20)

A.4.2. Estacionariedad en el mundo real


Anteriormente se ha introducido el concepto de PED estacionario y se han
visto las ventajas analı́ticas que este tipo de procesos tienen. No obstante,
cabe preguntarse: en el mundo real, ¿existen PED estacionarios?. Uno de los
principales inconvenientes para que la respuesta sea afirmativa, es que los
procesos estacionarios son de duración infinita y por tanto, la estacionariedad
debe exigirse en todo instante de tiempo, desde n = −∞ hasta n = ∞. Sin
embargo, en el mundo real toda señal útil tiene un principio y un fin, por
lo que necesariamente las propiedades del proceso varı́an con el tiempo. Pero
obviando este tema, ¿Cabe suponer que la estacionariedad se conserve mientras
dure la señal? La respuesta es en general negativa ya que, en la práctica, las
propiedades estadı́sticas de los procesos de interés varı́an con el tiempo. Pero
aun ası́, se asume que los procesos son estacionarios debido a las ventajas
analı́ticas que ello comporta. Además, existen procesos como por ejemplo la
señal de voz, que aunque no son estacionarios, cuando se analizan en intervalos
de tiempo suficientemente pequeños conservan sus propiedades estadı́sticas.
Esta estacionariedad local permite el diseño de sistemas adaptativos capaces
de variar sus caracterı́sticas ajustándose adecuadamente a los cambios que se
producen en la señal.
A.5. Procesos Ergódicos 241

A.5. Procesos Ergódicos


Para obtener los promedios de un PED estacionario, es necesario conocer
sus funciones de densidad de probabilidad de primer y segundo orden, funcio-
nes que habitualmente no están disponibles. Además, en la práctica, la única
información con la que habitualmente se cuenta es una realización del pro-
ceso. No obstante, existen procesos estocásticos donde los promedios pueden
obtenerse tanto a partir de las definiciones vistas hasta ahora como a partir
de una única realización xk [n] mediante los llamados promedios temporales.
Estos procesos reciben el nombre de procesos ergódicos. Por tanto, si un pro-
ceso estacionario es además ergódico en media, entonces la media temporal de
cualquier realización xk [n]
N
1 X
< xk [n] >= lı́m xk [n] (A.21)
N →∞ 2N + 1
n=−N

coincide con la media estadı́stica µx . Si el proceso es ergódico en autocorrela-


ción, entonces la autocorrelación temporal de cualquier realización
N
1
xk [n + m] x∗k [n]
X
< xk [n + m] xk [n] >= lı́m (A.22)
N →∞ 2N + 1
n=−N

coincide con la autocorrelación estadı́stica Rxx [m]. Por tanto, si el proceso


es ergódico, la única información necesaria para obtener la media y la au-
tocorrelación es una realización xk [n] cualquiera. Observe que los promedios
temporales (A.21) y (A.22) constituyen las definiciones de media y autocorre-
lación en el caso de señales deterministas definidas en potencia. En la figura
A.2 se muestran las distintas formas de calcular los promedios de un proceso.
En el caso del cálculo de los promedios estadı́sticos, hay que fijarse en cada
variable aleatoria x̃[n] considerando su valor en las infinitas realizaciones del
proceso (. . . , x−1 [n], x0 [n], x1 [n], . . .). En el caso particular del cálculo de la me-
dia, para cada n obtendrı́amos la media del proceso en ese instante. Si además
el proceso es estacionario, es suficiente con calcular la media en un instante,
ya que su valor permanece constante con el tiempo. A la hora de calcular los
promedios temporales, hay que fijarse en las realizaciones xk [n] del proceso y
calcular la media temporal de cada realización. Si el proceso es estacionario y
ergódico, entonces las medias temporales de todas las realizaciones coinciden
(por lo que es suficiente con calcularla una vez) y a la vez, coinciden con la
media estadı́stica.

Una pregunta interesante es: en el mundo real, ¿Existen procesos ergódicos?


242 APÉNDICE A. SEÑALES ALEATORIAS DISCRETAS

Figura A.2: Promedios estadı́sticos y temporales de un Proceso Es-


tocástico Discreto.

La pregunta es difı́cil de responder porque:

Para calcular los promedios temporales de una realización necesitamos


la realización completa, esto es, desde n = −∞ hasta n = ∞, lo cual es
imposible ya que nuestra vida, al igual que la de la fuente de información,
es finita.

Aunque tuviéramos el promedio temporal, para calcular el promedio


estadı́stico y de esta manera comprobar que coinciden, necesitarı́amos
las infinitas realizaciones del proceso, lo cual es imposible.

Además, en el hipotético caso en que tuviésemos disponibles las infinitas


realizaciones del proceso, la ergodicidad del proceso dejarı́a de ser importante,
puesto que nada impedirı́a calcular a partir de ellas los promedios estadı́sticos.
Aunque sea imposible comprobar la ergodicidad de un proceso en la práctica,
A.6. Densidad Espectral de Potencia 243

podrı́amos asumirla si encontraramos razones que justificasen su aceptación.


Desafortunadamente resulta difı́cil encontrar fenómenos fı́sicos donde esto sea
posible. A pesar de todo esto, la ergodicidad es una propiedad que se suele
asumir ya que permite el cálculo de promedios a partir de una única realización.

No obstante, aún asumiendo ergodicidad, en la práctica sólo podemos dis-


poner de una realización truncada en el tiempo (duración finita) sobre la que
realizar una estimación del promedio en cuestión. Para cada realización, el es-
timador temporal proporcionará un parámetro o una secuencia, dependiendo
del tipo de promedio (instantáneo o con memoria) buscado. Por tanto, el con-
junto de parámetros o secuencias, que potencialmente puede proporcionar el
estimador al considerar todos las posibles realizaciones del proceso constituyen
una variable aleatoria o un proceso estocástico discreto respectivamente. Con
el fin de ponderar la fiabilidad de un estimador se introducen los conceptos
de sesgo y consistencia (ver problemas 5 y 6). Si la esperanza del estimador
coincide con el promedio buscado, se dice que el estimador es insesgado. Si al
considerar una realización de duración infinita, la varianza del estimador es
cero, se dice que el estimador es consistente.

A.6. Densidad Espectral de Potencia


la Transformada de Fourier es una representación especialmente útil en
procesado de señal. Sin embargo, al igual que con los procesos estacionarios
continuos, los procesos estacionarios discretos no admiten una caracterización
frecuencial a través de la transformada de Fourier en la forma conocida para
las señales deterministas, debido a su naturaleza aleatoria y a que su duración
(infinita) no garantiza la convergencia de la integral de Fourier.
No obstante, podrı́amos truncar las realizaciones del proceso, considerando
sólo las 2N + 1 muestras centrales de cada realización:

n = −N, · · · , −1, 0, 1, · · · , N

Como las secuencia que resultan del truncamiento son de energı́a finita, tienen
Transformada de Fourier
N
(k)
xk [n] e−jωn ,
X
X̃N (ejω ) = (A.23)
n=−N
244 APÉNDICE A. SEÑALES ALEATORIAS DISCRETAS

y la consideración de todas las posibles transformadas de Fourier darı́a lugar


a un proceso aleatorio continuo (en ω)
N
x̃[n] e−jωn .
X
X̃N (ejω ) = (A.24)
n=−N

La potencia media de X̃N (ejω ) es

n o N N
E{x̃[n1 ] x̃∗ [n2 ]} e−jω(n1 −n2 )
X X
E |X̃N (ejω )|2 = (A.25)
n1 =−N n2 =−N

y haciendo el cambio de variable m = n1 − n2 y recordando que el proceso


{x[n]} es estacionario, se tiene

n o N −n2
NX
Rxx [m] e−jωm
X
jω 2
E |X̃N (e )| = (A.26)
n2 =−N m=−N −n2

En la expresión anterior, el segundo sumatorio siempre cuenta con 2N + 1


términos, los cuales dependen del valor del ı́ndice n del primer sumatorio, tal
y como se muestra en la Figura A.3.
En la siguiente tabla se muestra el número de veces que aparece cada
término de la forma Rxx [m] e−jωm en la expresión (A.26).

n2 = −N m
-
−2N 0 2N
..
.
n2 = 0 m
-
−2N −N 0 N 2N
..
.
n2 = N m
-
−2N 0 2N

Figura A.3: Conjunto de términos Rxx [m] e−jω del segundo sumatorio
de (A.26) en los casos n2 = −N, 0 y N .
A.6. Densidad Espectral de Potencia 245

Términos No de veces
Rxx [−2N ]ejω2N y Rxx [2N ]e−jω2N 1
Rxx [−2N + 1]ejω(2N −1) y Rxx [2N − 1]e−jω(2N −1) 2
... ...
Rxx [−1]e y Rxx [1]e−jω
jω 2N
Rxx [0] 2N + 1

A partir de la tabla es fácil convertir el doble sumatorio en uno sólo obteniendo


2N
|m|
 
Rxx [m] e−jωm
X
E{|X̃N (ejω )|2 } = (2N + 1) 1− (A.27)
m=−2N
2N + 1

Sin embargo, la función anterior no representa al proceso x̃[n] sino a una


versión truncada de él. Para obtener una representación que caracterice en fre-
cuencia al proceso en su totalidad se define la Densidad Espectral de Potencia
(DEP) de {x[n]} como

E{|X̃N (ejω )|2 }


Sxx (ejω ) = lı́m (A.28)
N →∞ 2N + 1
lo cual conduce a ∞
Rxx [m] e−jωm
X
Sxx (ejω ) = (A.29)
m=−∞
con lo cual la Densidad Espectral de Potencia y la Función de autocorrela-
ción de un proceso son pares transformados (Teorema de Wiener-Khinchin).
Al igual que ocurre con la autocorrelación, la DEP de un proceso se denota a
veces simplemente mediante Sx (ejω ).

Observe que Sxx (ejω ) es una función, no un proceso, ya que es la trans-


formada de Fourier de la función de autocorrelación del proceso (función de-
terminista). Por tanto, la DEP hereda las propiedades de la T. de Fourier de
secuencias, de forma que, Sxx (ejω ) es una función periódica y de periodo 2π y
∗ [−m]), es
debido a la simetrı́a de la función de autocorrelación (Rxx [m] = Rxx
una función real. Además como la potencia no puede ser negativa, la DEP es
una función no negativa (Sxx (ejω ) ≥ 0).

Teniendo en mente el T. de Wiener-Khinchin, la autocorrelación del pro-


ceso se puede obtener mediante
Z π
1
Rxx [m] = Sxx (ejω ) ejωm dω (A.30)
2π −π
246 APÉNDICE A. SEÑALES ALEATORIAS DISCRETAS

y recordando que la potencia media es la autocorrelación del proceso evaluada


en m = 0, se obtiene
1 π
Z
Px = Sxx (ejω ) dω (A.31)
2π −π
lo cual justifica el nombre que hemos dado a esta función, ya que es una función
que integrada en ω proporciona potencia. Por tanto, la Densidad Espectral de
Potencia indica como está distribuida la potencia en función de la frecuencia.
Recuerde que existe una expresión similar en el caso de los procesos continuos,
pero mientras en estos últimos la integral se extiende desde −∞ hasta ∞, en
el caso de procesos discretos se integra desde −π hasta π.

Si el proceso es real, la potencia en una determinada banda frecuencial


(ω1 , ω2 ), esto es, la potencia de la señal que resultarı́a si se filtrará el proceso
a través de un filtro paso-banda ideal con banda de paso (ω1 , ω2 ), es
Z ω2 Z f2
2
P(ω1 ,ω2 ) = Sxx (ejω ) dω = 2 Sxx (ej2πf ) df (A.32)
2π ω1 f1

ya que como la DEP de un proceso real es una función par, es suficiente


integrar en el intervalo [ω1 , ω2 ] y multiplicar el resultado por 2.
Resulta interesante recordar que para señales deterministas también exis-
ten funciones similares a la DEP: Densidad Espectral de Energı́a para señales
definidas en energı́a y Densidad Espectral de Potencia para señales determi-
nistas definidas en potencia.

Por otro lado, se puede definir un espectro cruzado entre dos procesos
{x[n]} e {y[n]} conjuntamente estacionarios mediante

Sxy (ejω ) = TF{Rxy [m]} (A.33)

y de la misma forma
Syx (ejω ) = TF{Ryx [m]} (A.34)
Estos espectros cruzados carecen de significado fı́sico (a diferencia de la DEP).
Sin embargo, pueden utilizarse para comprobar ciertas caracterı́sticas de los
procesos que relacionan. Por ejemplo, si los procesos {x[n]} e {y[n]} ortogo-
nales (Rxy [m] = 0), entonces Sxy (ejω ) = Syx (ejω ) = 0. También pueden ser
útiles para estimar la respuesta frecuencial de sistemas LTI (problema 4) y a
la hora de calcular la llamada Función de Coherencia
Sxy (ejω )
γxy (ejω ) = q (A.35)
Sxx (ejω ) Syy (ejω )
A.7. Filtrado de Procesos Discretos 247

que permite establecer el grado de linealidad que presentan dos procesos x e


y en función de la frecuencia.

A.7. Filtrado de Procesos Discretos


Desde la perspectiva determinista, la secuencia de entrada y salida en un
sistema LTI discreto con respuesta impulsiva h[n], están relacionadas a través
de la convolución lineal

X
y[n] = x[k] h[n − k] (A.36)
k=−∞

Desde el punto de vista aleatorio, cada realización del proceso en la entrada


{x[n]} da lugar a una realización del proceso de salida {y[n]} (Figura A.4),
relacionadas también a través de la convolución lineal.

{x[n]} - h[n] - {y[n]}

Figura A.4: Filtrado de un proceso.

Resulta interesante relacionar los promedios del proceso de salida con los
de la entrada. Desde aquı́ y hasta el final de la sección, denotaremos mediante
x[n] e y[n] a los PED {x[n]} e {y[n]} respectivamente. Asumiendo un proceso
de entrada estacionario, la media del proceso de salida es:
 

 X  ∞
X
µy = E x[n − k] h[k] = E{x[n]} h[k] = µx H(ej0 ) (A.37)
 
k=−∞ k=−∞

donde hay que recordar que la respuesta impulsiva es una secuencia determi-
nista. La correlación cruzada entrada-salida Rxy [m] es

Rxy [m] = E {x[n + m] y ∗ [n]}


( )
∗ ∗
X
= E x[n + m] x [n − k] h [k]
k
248 APÉNDICE A. SEÑALES ALEATORIAS DISCRETAS

h∗ [k] E{x[n + m] x∗ [n − k]}


X
=
k
h∗ [k] Rxx [m + k]
X
=
k
= Rxx [m] ∗ h∗ [−m] (A.38)

De forma análoga:
Ryx [m] = Rxx [m] ∗ h[m] (A.39)

En cuanto a la autocorrelación de la salida Ryy [m]

Ryy [m] = E {y[n + m] y ∗ [n]}


( )
x∗ [n − k]h∗ [k]
X
= E y[n + m]
k
h [k] E{y[n + m]x∗ [n − k]}

X
=
k
h∗ [k] Ryx [m + k]
X
=
k
= Ryx [m] ∗ h∗ [−m]
= Rxx [m] ∗ h∗ [−m] ∗ h[m] (A.40)

Por lo que respecta a los espectros de las correlaciones, a partir de (A.38),


(A.39) y (A.40) y considerando h[n] real, se obtiene

Sxy (ejω ) = Sxx (ejω ) H ∗ (ejω ) (A.41)


jω jω jω
Syx (e ) = Sxx (e ) H(e ) (A.42)
jω jω jω ∗ jω jω 2
Syy (e ) = Sxx (e ) H(e ) H (e ) = Sxx (ω) |H(e )| (A.43)

La ecuación (A.43) es especialmente importante pues permite relacionar las


densidades espectrales de los procesos de entrada y salida de un sistema LTI.

A.8. Ruido Blanco Discreto


El ruido blanco es un proceso estocástico de media nula caracterizado por
tener una DEP constante
Sww (ejω ) = σw2
(A.44)
e igual a la varianza del proceso. La autocorrelación es pues
2
Rww [m] = σw δ[m] (A.45)
A.9. Problemas 249

con lo que en el ruido blanco no existe ninguna dependencia entre dos muestras,
por muy cercanas que estén. A diferencia del ruido blanco continuo, su versión
discreta si que tiene potencia media finita puesto que
Z 0,5
Pw = Sww (ej2πf ) df = σw
2
(A.46)
−0,5

por lo que es un proceso realizable, a diferencia del ruido blanco continuo.


Aunque en las expresiones (A.44) y (A.46) se obtiene el mismo valor, nótese
que el significado fı́sico es distinto: densidad espectral de potencia en el primer
caso y potencia media en el segundo. Si el ruido blanco además tiene una f.d.p.
gaussiana, se dice que es un ruido blanco gaussiano. No obstante, merece la
pena recalcar que la gaussianidad no implica que el proceso sea blanco ni
viceversa. Si un ruido blanco se filtra a través de un sistema LTI discreto,
entonces la DEP del proceso de salida es

Syy (ejω ) = σww


2
|H(ejω )|2 (A.47)

obteniéndose un proceso de salida cuya DEP tiene la misma forma que |H(ejω )|2
y recibe el nombre de ruido coloreado siendo su potencia media
Z 0,5 Z 0,5 ∞
X
Py = Syy (ej2πf ) df = σww
2
|H(ej2πf )|2 df = σww
2
|h[n]|2
−0,5 −0,5 n=−∞
(A.48)
|h[n]|2
P
El término n recibe el nombre de ganancia del filtro para el ruido
blanco, ya que representa la ganancia en potencia que tiene el filtro única-
mente cuando la entrada es un ruido blanco. Esta magnitud constituye una
caracterı́stica exclusiva del filtro.
En ocasiones, varios ruidos blancos independientes se suman dando lugar
a otro ruido
w[n] = w1 [n] + w2 [n] + · · · + wN [n] (A.49)
que también es blanco ya que su autocorrelación es

Rww [m] = (σ12 + σ22 + · · · + σN


2
) δ[m] (A.50)

y su DEP es
Sww (ω) = σ12 + σ22 + · · · + σN
2
(A.51)

A.9. Problemas
1. La función de MATLAB randn permite generar ruido blanco gaussiano
de media cero y varianza unidad.
250 APÉNDICE A. SEÑALES ALEATORIAS DISCRETAS

1.1. Genere una secuencia de ruido de longitud N = 16, de media cero


y varianza 9. Utilizando las funciones mean() y std() calcule la media
y la varianza de la secuencia generadas. ¿Qué tipos de promedios ha
calculado, estadı́sticos o temporales? ¿Los resultados obtenidos son los
esperados? ¿Por qué? ¿Cómo solucionarı́a el problema?

1.2. Suponga que se pretenden calcular promedios, pero de forma es-


tadı́stica. Para ello, utilice MATLAB y sus funciones mean() y std().
Según los resultados obtenidos, ¿cree que el proceso considerado es es-
tacionario? ¿y ergódico?

1.3. Un proceso MA (Moving Average) es un proceso basado en el modelo


M
X −1
x[n] = bk w[n − k]
k=0

donde w[n] es ruido blanco gaussiano de media nula. El proceso MA


puede ser visto como el filtrado del ruido blanco. ¿Cuál es la respuesta
impulsiva del filtro? ¿Cuál es la media del proceso MA? Si el filtro tiene
una respuesta impulsiva h[n] = b0 , n = 0, . . . , M − 1, ¿Cuáles son los
coeficientes bk para que la varianza del proceso MA sea igual a la del
ruido?

1.4. Genere un ruido blanco de longitud N = 256 de varianza 9, y fı́ltrelo


para obtener el proceso MA del apartado anterior con M = 16. Calcule
con MATLAB la media y la varianza del proceso. Los valores obtenidos,
¿Coinciden con los resultados teóricos? Comente los resultados.

2. Un proceso Autoregresivo de primer orden AR(1) está caracterizado por


la expresión
x[n] = w[n] + ax[n − 1]
donde w[n] es un ruido blanco de potencia σn2 .
2.1 Todo proceso AR se puede obtener mediante el filtrado IIR del ruido
blanco w[n]. ¿Cuál es en este caso la respuesta impulsiva del filtro IIR?
2.2 Calcula la respuesta frecuencial del filtro y la DEP del proceso x[n].
Comente como cambia la DEP en función del signo de a.
2.3 Calcule la autocorrelación Rxx [m]. ¿Cuál es la potencia del proceso?
A.9. Problemas 251

3. La predicción lineal es una técnica de procesado de señal en la que se


intenta predecir el valor de una muestra de un proceso x[n] a partir de
muestras anteriores (Figura A.5). La base de esta técnica es el predic-
tor, un sistema que proporciona el valor predicho para x[n] mediante
combinación lineal de muestras anteriores:
P
X
x̂ = aj x[n − j]
j=1

siendo {aj } los coeficientes de predicción y P el orden de predicción. El


error de predicción e[n] es
P
X
e[n] = x[n] − x̂[n] = x[n] − aj x[n − j]
j=1

y los coeficientes de predicción óptimos deben de elegirse para minimizar


la potencia de dicho error.


x[n] - - - e[n]

6x̂[n]
- Predictor

Figura A.5: Predicción de x[n].

3.1 Si x[n] es un proceso de media nula, obtenga las expresiones de los


valores de los coeficientes de predicción óptimos.

3.2 Suponga que el predictor utilizado es de orden 1, y que el proceso es


autoregresivo AR(1). Calcule el coeficiente de predicción óptimo. ¿Cuál
es DEP del error de predicción?

4. Una aplicación de los espectros cruzados Sxy (ejω ) es el cálculo de res-


puestas frecuenciales de sistemas LTI.
4.1 Suponga que un sistema LTI tiene en la entrada el proceso {x[n]}
y en su salida el proceso {y[n]}. Demuestre que la respuesta frecuencial
252 APÉNDICE A. SEÑALES ALEATORIAS DISCRETAS

del sistema se puede obtener a través de


Syy (ejω ) Syx (ejω )
H(ejω ) = H(ejω ) =
Sxy (ejω ) Sxx (ejω )

4.2 En muchas ocasiones la salida del sistema está contaminada por rui-
do aditivo, tal y como se muestra en la figura A.6, siendo únicamente
accesibles las secuencias x[n] e y[n], lo cual puede complicar la deter-
minación de la respuesta frecuencial. Una posible situación donde esto
ocurre es cuando el transductor utilizado para captar la salida es de peor
calidad que el de entrada, de forma que el ruido que introduce es mucho
mayor que el introducido para captar la entrada. Considere las siguientes
respuestas frecuenciales
Szz (ejω ) Szx (ejω )
H1 (ejω ) = H2 (ejω ) =
Sxz (ejω ) Sxx (ejω )
¿Cuál de las dos funciones proporciona una mejor estimación de la res-
puesta frecuencial? (Suponga que el ruido está incorrelado con la señal
de entrada)
4.3 En otras ocasiones se da la situación contraria, esto es, la señal
captada en la entrada está contaminada por ruido (Figura A.7). En este
caso, ¿Cuál de las dos medidas eligirı́a?
4.4 ¿Y si, como se muestra en la Figura A.8, se tiene simultáneamente
ruido en la adquisición de la entrada w1 [n] y la salida w2 [n]?
5. Sea {v[n]} un proceso estocástico real estacionario de media µ y cuyas
variables aleatorias están incorreladas
E{v[n] v[k]} = E{v[n]} E{v[k]} = µ2 , ∀n 6= k
Suponga además que la varianza de v[n] es σ 2 .

w[n]
y[n] ?
x[n] - Sist. LTI - + - z[n]


Figura A.6: Sistema LTI con ruido aditivo a la salida.


A.9. Problemas 253

v[n] - Sist. LTI - z[n]


?
+  w[n]

?
x[n]

Figura A.7: Sistema LTI con ruido en la adquisición de la entrada.

y[n]
v[n] - Sist. LTI - + - z[n]

6

? w2 [n]
+  w1 [n]

?
x[n]

Figura A.8: Sistema LTI con ruido aditivo en la adquisición de la


entrada y la salida.

a) Calcule y dibuje la función de autocorrelación y la Densidad Es-


pectral de Potencia del proceso.
b) Suponga ahora que un proceso {x[n]} se obtiene a partir de {v[n]}
mediante
x[n] = v[n] + 3v[n − 1]
Calcule la media, la función de autocorrelación y la Densidad Es-
pectral de Potencia de x[n].

6. Sea el proceso estocástico definido como

x[n] = A cos(ω0 n) + w[n]


2 y w[n] es
donde A es una variable aleatoria de media cero y varianza σA
ruido blanco de media cero, independiente de A y varianza σw2.
254 APÉNDICE A. SEÑALES ALEATORIAS DISCRETAS

a) Compruebe si x[n] es un proceso estacionario y, en caso de que lo


sea, calcule su Densidad Espectral de Potencia.
b) Repita el apartado anterior pero suponiendo que ahora x[n] es

x[n] = A cos(ω0 n + φ) + w[n]

donde φ es una variable aleatoria uniformemente distribuida entre


−π y π e independiente de A y w[n].

7. Sea {x[n]} un proceso estacionario de media desconocida (µx ) del cual


disponemos de una realización x[n]. Definimos un estimador de media
mediante
N
1 X
µ̂x = x[n]
2N + 1 n=−N
¿Es un estimador insesgado? ¿Es consistente? ¿Qué condición debe de
cumplirse para que {x[n]} sea ergódico en media? ¿La cumple un proceso
AR de primer orden, con 0 < ρ < 1?

8. Sea {x[n]} un proceso aleatorio estacionario. Para la obtención de la


autocorrelación utilizamos el estimador
N
1
x∗ [n] x[n + m]
X
rxx [m] =
2N + 1 n=−N

donde rxx [m] puede considerarse la realización de un proceso aleatorio


r̃xx [m]. ¿El estimador es insesgado? ¿Bajo que condiciones es consisten-
te?
Bibliografı́a

[1] F.J. Harris. On the use of wndows for harmonic analysis with the discrete
fourier transform. Proceedings IEEE, 66(1):51–83, january 1978.

[2] Simon Haykin. Adaptive Filter Theory. Prentice Hall, 3rd edition, 1996.

[3] Emmanuel C. Ifeachor and Barrie W. Jervis. Digital Signal Processing :


A Practical Approach. Addison-Wesley, 1993.

[4] Steven M. Kay. Modern Spectral Estimation Theory and Application.


Prentice Hall, 1988.

[5] S. L. Marple. Digital spectral analysis with applications. Prentice Hall,


1987.

[6] Alan V. Oppenheim and Ronald W. Schaffer. Discrete-Time Signal Pro-


cessing. Prentice Hall, 1989.

[7] Alan V. Oppenheim, Ronald W. Schaffer, and John R. Buck. Discrete-


Time Signal Processing. Signal Processing. Prentice Hall, 2nd edition,
1999.

[8] Alan V. Oppenheim and Alan S. Wilsky. Señales y Sistemas. Prentice


Hall, 2nd edition, 1997.

[9] John G. Proakis and Dimitris G. Manolakis. Tratamiento Digital de


Señales. Principios Algoritmos y Aplicaciones. Prentice Hall, 1997.

[10] Samir S. Soliman and Mandyam D. Srinath. Continuous and Discrete


Signals and Systems. Prentice Hall, 1998.

[11] Bernard Widrow. Adaptative signal processing. Prentice Hall, 1985.

255

Potrebbero piacerti anche