Sei sulla pagina 1di 265

Departamento de Comunicaciones-UPV

Tratamiento Digital de la Se
nal
Teora y Aplicaciones

Antonio Albiol
Valery Naranjo
Josep Prades

Indice
1. Muestreo
1.1. Introducci
on . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2. Muestreo de se
nales paso-bajo . . . . . . . . . . . . . . . . . . .
1.2.1. Recuperaci
on de una se
nal paso-bajo a partir de
sus muestras . . . . . . . . . . . . . . . . . . . . . . . .
1.2.2. Consideraciones pr
acticas . . . . . . . . . . . . . . . . .
1.3. Procesado discreto de se
nales continuas . . . . . . . . . . . . .
1.4. Muestreo y reconstrucci
on de se
nales paso-banda . . . . . . . .
1.4.1. Muestreo de se
nales paso-banda como se
nales reales . .
1.4.2. Muestreo de se
nales paso-banda como se
nales complejas
1.5. Cambio de la velocidad de muestreo . . . . . . . . . . . . . . .
1.5.1. Diezmado por un factor entero . . . . . . . . . . . . . .
1.5.2. Interpolaci
on por un factor entero . . . . . . . . . . . .
1.5.3. Cambio de la frecuencia de muestreo por un factor racional
1.5.4. Aplicaci
on del diezmado a la conversion C/D . . . . . .
1.5.5. Aplicaci
on de la interpolacion a la conversion D/C . . .
1.6. Codificaci
on de se
nales . . . . . . . . . . . . . . . . . . . . . . .
1.6.1. Recuperaci
on de la se
nal . . . . . . . . . . . . . . . . . .
1.6.2. El ruido de cuantificacion . . . . . . . . . . . . . . . . .
1.6.3. Cuantificaci
on no uniforme . . . . . . . . . . . . . . . .

5
8
9
12
13
14
18
19
21
25
27
28
30
31
33
35

2. Transformada Discreta de Fourier


2.1. Introducci
on . . . . . . . . . . . . . . . . . .
2.2. La Transformada Discreta de Fourier . . . .
2.3. Propiedades de la DFT . . . . . . . . . . .
2.4. Relaci
on entre convoluci
on circular y lineal

39
39
39
41
46

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

1
1
1

2.5.
2.6.
2.7.

2.8.

2.4.1. Cond. para igualdad entre conv. lineal y circular . .


2.4.2. Coincidencias entre la convolucion lineal y la circular
Implementaci
on de filtros LTI utilizando DFT . . . . . . . .
Muestreo de la Transformada de Fourier . . . . . . . . . . .
La FFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.7.1. Consideraciones previas . . . . . . . . . . . . . . . .
2.7.2. Algoritmos de diezmado en el tiempo . . . . . . . .
2.7.3. Algoritmos de diezmado en frecuencia . . . . . . . .
2.7.4. Consideraciones adicionales sobre la FFT . . . . . .
2.7.5. Algoritmos con N 6= 2 . . . . . . . . . . . . . . . .
Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3. Implementaci
on de filtros
3.1. Introducci
on . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1. Aplicaciones de los filtros . . . . . . . . . . . .
3.1.2. Ventajas e inconvenientes de los filtros digitales
3.2. Planteamiento general del filtrado digital . . . . . . . .
3.2.1. Implementabilidad de filtros FIR . . . . . . . .
3.2.2. Implementabilidad de filtros IIR . . . . . . . .
3.2.3. Proceso de implementacion de un filtro digital
3.3. Implementaci
on de filtros digitales . . . . . . . . . . .
3.3.1. Diagramas de flujo . . . . . . . . . . . . . . . .
3.3.2. Formas directas . . . . . . . . . . . . . . . . . .
3.3.3. Realizaci
on en Cascada . . . . . . . . . . . . .
3.3.4. Realizaci
on en paralelo . . . . . . . . . . . . . .
3.3.5. Formas transpuestas . . . . . . . . . . . . . . .
3.3.6. Determinaci
on de la funcion de transferencia de
3.3.7. Secuencia de c
alculo . . . . . . . . . . . . . . .
3.4. Efectos de precisi
on finita . . . . . . . . . . . . . . . .
3.4.1. Cuantificaci
on de los coeficientes . . . . . . . .
3.4.2. Cuantificaci
on de las muestras de entrada . . .
3.4.3. Redondeos en las operaciones . . . . . . . . . .
3.4.4. Escalado en sistemas de coma fija . . . . . . .
3.4.5. Ciclos lmite . . . . . . . . . . . . . . . . . . .
3.5. Problemas . . . . . . . . . . . . . . . . . . . . . . . . .
ii

. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
un
. .
. .
. .
. .
. .
. .
. .
. .

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

48
50
52
54
58
58
61
69
72
78
80

. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
grafo
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .

83
83
83
85
87
89
90
91
92
92
94
96
98
98
100
102
108
108
114
116
123
126
127

4. Filtros Adaptativos
131
4.1. Introducci
on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
4.1.1. Ejemplos de sistemas adaptativos . . . . . . . . . . . . . 131
4.1.2. Caractersticas fundamentales de los sistemas adaptativos132
4.1.3. Fundamentos de los de sistemas adaptativos . . . . . . . 132
4.2. Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
4.2.1. Identificaci
on de sistemas . . . . . . . . . . . . . . . . . 133
4.2.2. Predicci
on . . . . . . . . . . . . . . . . . . . . . . . . . . 134
4.2.3. Cancelaci
on 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 Optimo


. . . . . . . . . . . . . . . . . . . . . . . . . . 140
4.3.1. El combinador lineal . . . . . . . . . . . . . . . . . . . . 141
4.3.2. Notaci
on matricial . . . . . . . . . . . . . . . . . . . . . 142
4.3.3. Respuesta deseada y error . . . . . . . . . . . . . . . . . 142
4.3.4. Superficie de error . . . . . . . . . . . . . . . . . . . . . 143
4.3.5. Gradiente y error cuadratico medio mnimo . . . . . . . 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 numerico del algoritmo LMS . . . . . . . . . . 155
4.5.2. Aspectos pr
acticos del algoritmo LMS . . . . . . . . . . 156
4.6. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
4.7. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
4.7.1. Ejercicios con Matlab . . . . . . . . . . . . . . . . . . 159
5. An
alisis Espectral
5.1. Introducci
on . . . . . . . . . . . . . . . . . . . .
5.2. Tipos y tecnologas de analizadores espectrales
5.2.1. Analizadores por banco de filtros . . . .
5.2.2. Analizadores de barrido . . . . . . . . .
5.2.3. Analizadores digitales . . . . . . . . . .
iii

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

163
163
164
164
166
167

5.3. Planteamiento del problema . . . . . . . . . . . . . . .


5.3.1. Se
nales deterministas de duracion limitada . .
5.3.2. Se
nales deterministas de duracion ilimitada . .
5.3.3. Se
nales aleatorias estacionarias . . . . . . . . .
5.3.4. Se
nales no estacionarias . . . . . . . . . . . . .
5.3.5. Aspectos pr
acticos del analisis espectral digital
5.4. Analisis espectral de se
nales deterministas . . . . . . .
5.4.1. Ventanas de an
alisis . . . . . . . . . . . . . . .
5.4.2. Resoluci
on en frecuencia y margen dinamico . .
5.4.3. Uso de la FFT. Muestreo en frecuencia . . . .
5.4.4. El problema de la media . . . . . . . . . . . . .
5.5. Analisis espectral no parametrico . . . . . . . . . . . .
5.5.1. Sesgo y Varianza . . . . . . . . . . . . . . . . .
5.5.2. El periodograma . . . . . . . . . . . . . . . . .
5.5.3. Autocorrelaci
on . . . . . . . . . . . . . . . . . .
5.5.4. El metodo Blackman-Tukey . . . . . . . . . . .
5.5.5. El metodo de Welch o WOSA . . . . . . . . . .
5.5.6. Resumen metodos no-parametricos . . . . . . .
5.6. Analisis Tiempo-Frecuencia . . . . . . . . . . . . . . .
5.6.1. La TF dependiente del tiempo . . . . . . . . .
5.6.2. Elecci
on de la ventana . . . . . . . . . . . . . .
5.6.3. Interpretaci
on como banco de filtros de la TF
diente del tiempo . . . . . . . . . . . . . . . . .
5.6.4. Transformada Inversa . . . . . . . . . . . . . .
5.6.5. Muestreo en frecuencia y en tiempo . . . . . .
5.7. Analisis Espectral Parametrico . . . . . . . . . . . . .
5.7.1. Modelos AR . . . . . . . . . . . . . . . . . . . .
5.8. Problemas . . . . . . . . . . . . . . . . . . . . . . . . .
A. Se
nales Aleatorias Discretas
A.1. Introducci
on . . . . . . . . . . . . .
A.2. Procesos Estoc
asticos Discretos . .
A.2.1. Funciones de Distribucion y
A.3. Promedios . . . . . . . . . . . . . .
A.3.1. Promedios instant
aneos . .

iv

. . . . . . . . .
. . . . . . . . .
de Densidad de
. . . . . . . . .
. . . . . . . . .

. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
depen. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .

167
168
168
168
170
170
172
174
178
181
185
186
186
187
193
200
205
209
210
211
213
216
217
218
219
222
228

233
. . . . . . . 233
. . . . . . . 234
Probabilidad235
. . . . . . . 236
. . . . . . . 236

A.3.2. Promedios con memoria . . . . . . . .


A.4. PED Estacionarios . . . . . . . . . . . . . . .
A.4.1. Propiedades de los PED estacionarios
A.4.2. Estacionariedad en el mundo real . . .
A.5. Procesos Erg
odicos . . . . . . . . . . . . . . .
A.6. Densidad Espectral de Potencia . . . . . . . .
A.7. Filtrado de Procesos Discretos . . . . . . . .
A.8. Ruido Blanco Discreto . . . . . . . . . . . . .
A.9. Problemas . . . . . . . . . . . . . . . . . . . .
Bibliografa . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

237
238
239
240
241
243
247
248
249
255

vi

Pr
ologo
Este libro tiene sus orgenes en la experiencia adquirida en la imparticion
de un curso de Tratamiento Digital de la Se
nal durante casi 20 a
nos en la
ETSI de Telecomunicaci
on de la Universidad Politecnica de Valencia.
El libro, en esta su segunda edici
on se ajusta al temario impartido en la
actualidad (2007). Respecto a la edici
on precedente se han corregido diversos
peque
nos errores que se haban detectado en la primera edicion, y se ha reescrito el principio del captulo 2 para no incluir las series discretas de Fourier.
Este texto tiene su raz
on 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 difusion ([9] o [6]) son el muestreo de se
nales
paso-banda o el estudio de los efectos de precision finita en filtros digitales en
DSPs con arquitecturas modernas. Otros libros (por ejemplo [4] o [11]) son
especficos de alguno de los temas de la asignatura, y tratan con mucha mayor
profundidad los aspectos de an
alisis espectral o filtrado adaptativo. Puede
llamar la atenci
on la no existencia de un tema dedicado al dise
no de filtros
digitales, clasico en la mayora 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
no de
filtros que simplifica notablemente la tarea del dise
nador. Nos ha parecido mas
interesante mantener un tema sobre aspectos practicos de implementacion de
filtros digitales, que requieren de m
as criterio por parte del ingeniero dise
nador.
Se ha procurado en todo momento mantener a lo largo del libro un lenguaje
lo mas claro e intuitivo posible, huyendo de un excesivo rigor matematico en
beneficio de la claridad. As por ejemplo siempre que se ha credo conveniente
se ha a
nadido una figura para reforzar las ideas o expresiones matematicas.
Como base para la lectura del libro es necesario tener una base de la teora
de sistemas lineales, tanto discretos como continuos. Se suponen conocidos
aspectos como el concepto de se
nal 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 apendice sobre procesos aleatorios discretos debido a


que resulta fundamental la perfecta comprension de los conceptos que en el se
contienen para la comprensi
on del resto del texto. El segundo lo hemos incluido
porque nos ha parecido interesante que el alumno conozca cuando aparecieron
las ideas y tecnicas que se presentan en la parte principal del texto.
Con el fin de mantener el libro lo mas vivo posible se han habilitado unas
paginas Web, donde se recoger
an diversas informaciones relacionadas con el
libro tales como erratas, programas, problemas adicionales, etc. La direccion
es:
http://personales.upv.es/aalbiol/librotds07
Por otra parte, ser
a 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
on sea la intenci
on fundamental.

Los autores
Valencia, julio de 2007.

Captulo 1

Muestreo y Procesado
Discreto de Se
nales Continuas
1.1.

Introducci
on

El procesado de se
nales de forma discreta presenta una serie de ventajas
frente a la alternativa anal
ogica como son inmunidad frente al ruido, estabilidad frente a temperatura, repetitividad,. . . Sin embargo la mayora de las
se
nales que interesa procesar son de naturaleza analogica. En ese caso es necesaria una discretizaci
on de la se
nal continua. Ademas, en muchas ocasiones
interesa que el procesado (continuo o discreto) de una se
nal produzca como
resultado una se
nal anal
ogica. En ambos casos es necesario convertir la se
nal
de continuo a discreto o viceversa.
En este tema veremos, en la secci
on 1.2, la conversion continuo-discreto
y viceversa para el caso m
as habitual de que las se
nales sean paso-bajo. En
el apartado 1.3 trataremos el efecto que produce procesar muestras de una
se
nal continua de forma discreta. El punto 1.4 aborda el muestreo de se
nales
paso-banda, de bastante interes en comunicaciones. En la seccion 1.5 nos ocuparemos de c
omo obtener, a partir de un conjunto de muestras de una se
nal
obtenidas a una frecuencia de muestreo, un nuevo conjunto de muestras correspondientes a una frecuencia de muestreo diferente. Por u
ltimo, estudiaremos
la cuantificaci
on y la codificaci
on en la seccion 1.6.

1.2.

Muestreo y reconstrucci
on de se
nales paso-bajo

Sea xc (t) una se


nal continua. Supongamos que disponemos de un bloque
que denominaremos conversor continuo a discreto cuya relacion entrada salida
1

CAPTULO 1. MUESTREO

xc (t)

- C/D

- x[n]

fs
Figura 1.1: Representaci
on esquem
atica de un conversor continuo discreto.

venga dada por:


x[n] = xc (n Ts )

(1.1)

donde x[n] es la se
nal discreta de salida correspondiente a muestras de la se
nal
xc (t). El par
ametro Ts recibe el nombre de periodo de muestreo, y representa
la separacion (en segundos) entre dos muestras consecutivas. A su inversa fs =
1/Ts se le denomina frecuencia de muestreo. Dicho bloque lo representaremos
esquematicamente como se muestra en la figura 1.1. A la operacion que realiza
dicho bloque se le denomina muestreo de la se
nal continua xc (t).
En la pr
actica, el valor de las muestras de salida x[n] se suele cuantificar
en amplitud obteniendose una representacion binaria del valor de la muestra.
En este caso se habla de convertidores analogico-digitales (A/D). Nosotros
consideraremos que la discretizaci
on de amplitud es suficientemente fina como
para poder considerar sus efectos despreciables. Por ello supondremos (salvo
en la seccion 1.6) que las muestras pueden tomar cualquier valor real.
La se
nal continua de entrada tendr
a una transformada de Fourier Xc (fc )1
y la se
nal discreta de la salida tendr
a una transformada de Fourier X(ej ).
Dado que x[n] proviene del muestreo de xc (t) (ec. (1.1)) parece logico pensar
que tambien exista una relaci
on entre las correspondientes transformadas de
Fourier. Veamos cu
al es esta relaci
on. Consideremos la siguiente se
nal continua:
xs (t) = xc (t)

(t nTs ) =

xc (n Ts ) (t nTs )

(1.2)

Recordemos que:
TF

(
X
n

(t nTs )

1 X
(fc n fs )
Ts n

En este tema, y para evitar confusiones, denominaremos fc a la variable independiente


de la Transformada de Fourier (TF) de se
nales continuas, fd a la variable independiente de
la TF de se
nales discretas, = 2fc a la pulsaci
on continua, y = 2fd a la pulsaci
on
discreta.

1.2. Muestreo de se
nales paso-bajo

Tomando Transformadas de Fourier a cada uno de los terminos de la ecuacion (1.2) resulta:
!

Xs (fc ) = Xc (fc )

1 X
(fc nfs )
Ts n

xc (n Ts ) ejTs n

(1.3)

Teniendo en cuenta que:


X(ej ) =

x[n] ejn =

xc (n Ts ) ejn

y que:
!

Xc (fc )

1 X
(fc nfs )
Ts n

1 X
Xc (fc nfs )
Ts n

Xc (fc )
6

a)

1
@
@
@
-

fc

Xs (fc )
6

b)
...

fs
@
@

@
@
@

@
@

...

@
@
@

fs

fc

fs

X(ej )
6

c)
...

fs
@
@
@

@
@

@
@

...

@
@

@
@

W/fs

Figura 1.2: Relaciones entre espectros en el muestreo de se


nales.

fd

CAPTULO 1. MUESTREO

resulta la relaci
on:
X(ej ) |=Ts =

1 X
Xc (fc n fs ) = Xs (fc )
Ts n

(1.4)

Observemos que Xs (fc ) es a la vez:


La repetici
on peri
odica (escalada en amplitud por fs ) del espectro de la
se
nal original Xc (fc ). En otras palabras, consiste en replicas centradas
en fc = 0 y fc = k fs , del espectro de la se
nal 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.
Notese que las relaciones expresadas por la ecuacion (1.4) son validas para
toda se
nal continua real o compleja.
Finalmente, podemos escribir la relacion directa entre X(ej ) y Xc (fc )
X(ej ) =



fd n
1 X
Xc
Ts n
Ts

(1.5)

Centremonos ahora en el caso de se


nales reales continuas paso-bajo, es
decir, se
nales cuyo espectro se puede considerar nulo para fc > W , siendo
W el ancho de banda. Las se
nales paso-bajo reales suelen corresponder a las
que producen la mayora de fuentes de se
nal: audio, voz, television, se
nales
digitales en banda base,. . . Al muestrear una de estas se
nales, pueden suceder
dos casos:
Que al repetirse el espectro no se produzca solapamiento entre las dife
rentes repeticiones. Este
es el caso mostrado en la figura 1.2 donde es
facil 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
on 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
nal
continua paso-bajo x(t) a partir de sus muestras x[n]. En el siguiente apartado
se detalla como.

1.2. Muestreo de se
nales paso-bajo

Xc (fc )
6

1
""bb
b

"

"

"

"

fc

Xs (fc )
fs
...

""bb

""bb
"

"

6
b

"
b
"
b"
"b

"
b
b"
"b

"
b
b"
"b

...

""bb
b

fs

b
"
b"
"b -

fc

fs

X(ej )
fs
...

""bb
"

""bb
"

b
"
b
b"
"b

"
b
b"
"b

...

""bb
b

"
b
"
b"
"b

W/fs

b
"
b"
"b -

fd

Figura 1.3: Relaciones entre espectros en el muestreo de se


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

1.2.1.

Recuperaci
on de una se
nal paso-bajo a partir de
sus muestras

Supongamos que tenemos un conjunto de muestras x[n] que han sido tomadas a una frecuencia de muestreo fs . Dado dicho conjunto de muestras de
una se
nal continua, la cantidad de se
nales continuas que pueden corresponder
a dichas muestras es infinita. Este hecho queda ilustrado en la figura 1.4, donde
se pueden observar dos se
nales distintas que corresponden a un mismo conjunto de muestras. Observese que las muestras u
nicamente permiten conocer
directamente la se
nal continua en los instantes tk = k Ts .
Para conocer los valores de la se
nal en instantes de tiempo intermedios, es
necesario hacer alguna hip
otesis sobre la naturaleza de la se
nal muestreada.
Si consideramos que la se
nal anal
ogica a la que corresponden las muestras es
paso-bajo de ancho de banda fs /2 entonces solo existe una u
nica se
nal
continua a la que pueden corresponder las muestras.

CAPTULO 1. MUESTREO

Si las muestras de la se
nal no contienen aliasing, es decir si fs > 2 W
entonces la se
nal que se recupera es xc (t), de la cual se tomaron las muestras.
En caso contrario, la se
nal que se recupera no coincide con la se
nal xc (t).
Podemos resumir por tanto, los condiciones necesarias para recuperar una
se
nal continua a partir de sus muestras:
1. Las muestras x[n] tomadas equiespaciadamente.
2. Conocer el periodo de muestreo Ts para saber a que instantes corresponden las muestras.
3. Saber que la se
nal 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 indicados no permite reconstruir la se
nal analogica original.
El hecho de que se pueda recuperar exactamente una se
nal a partir de sus
muestras es equivalente a decir que las muestras contienen la misma cantidad
de informaci
on que la se
nal continua. Por lo tanto, cualquier manipulacion
de la se
nal continua que pudieramos pensar, podra ser realizada sobre sus
muestras.
2
1
0
1
2
0

10

15

10

15

2
1
0
1
2
0

Figura 1.4: Ejemplo de dos se


nales continuas diferentes cuyas muestras
coinciden.

1.2. Muestreo de se
nales paso-bajo

xs (t)

- Generador

x[n]

Impulsos

Hr (fc )

xc (t)

D/C

fs

Figura 1.5: Diagrama de bloques de un conversor discreto-continuo.

La figura 1.2 nos da una pista de c


omo recuperar la se
nal analogica a partir
de las muestras.
1. En primer lugar, generaremos xs (t) a partir de x[n]. Esta se
nal corresponde a un tren de impulsos infinitamente estrechos e infinitamente altos
cuya area coincide con el valor de las muestras. En otras palabras generamos la se
nal anal
ogica cuyo espectro se muestra en la figura 1.2-b a
partir de la se
nal discreta de la figura 1.2-c.
2. Una vez se tiene xs (t) (figura 1.2-b), se aplica a un filtro anal
ogico pasobajo 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 realizacion practica, ya que en dicho esquema es necesario generar impulsos analogicos infinitamente altos y
estrechos, cosa imposible en la pr
actica.
El filtro que se muestra en la figura 1.5 recibe el nombre de filtro de reconstrucci
on y debe notarse que es un filtro anal
ogico. Su respuesta en frecuencia
y su respuesta impulsiva son respectivamente:
Hr (fc ) = Ts

Y  fc 

hr (t) = sinc

fs

t
Ts

(1.6)

A partir de los razonamientos anteriores, podemos escribir facilmente la


relacion entre la se
nal discreta y continua de un conversor D/C tanto en el
dominio del tiempo:
xc (t) =

X
n

t n Ts
x[n] sinc
Ts


(1.7)

CAPTULO 1. MUESTREO

como en el de la frecuencia:
(

Xc (fc ) =

Ts X(ej Ts ) |fc | < fs /2


0
resto

(1.8)

Notese finalmente que, en el caso de no existir aliasing (figura 1.2), existe


una correspondencia biunvoca 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
acticas

En este apartado veremos algunas de las consideraciones de tipo practico


que es necesario tener presente.
1. Necesidad del filtrado previo al muestreo de las se
nales. La mayora
de las se
nales reales que se pueden encontrar en la practica tienen un
ancho de banda limitado. Sin embargo, muchas veces interesa u
nicamente la parte de bajas frecuencias de una se
nal para, de ese modo, poder
muestrear a una frecuencia m
as baja. En esos casos se hace necesario
un filtrado anal
ogico previo al muestreo de la se
nal. Incluso si se puede
considerar el ancho de banda de la se
nal a muestrear limitado a fs /2,
se hace necesario filtrar la misma debido a que normalmente esta contendra ruido fuera de la banda de la se
nal que habra de ser eliminado
antes del muestreo.
2. Bandas de guarda. Dado que los filtros antialiasing y de reconstruccion
tienen bandas de transici
on de anchura finita, sera necesario muestrear
a frecuencias superiores al doble del ancho de banda si se desea poder
recuperar la se
nal en la pr
actica. Como ejemplo, la se
nal de audio de 20
kHz se muestrea a 44.1 kHz en el Compact Disc.
3. Muestreo y retenci
on en el D/C. Para recuperar la se
nal, en la figura 1.5 se propone generar un tren de impulsos xs (t). Esta se
nal no
se puede generar en la pr
actica, por tratarse de impulsos infintamente estrechos y altos. En su lugar se suele utilizar un tren de impulsos
cuadrados (Muestreo y Retenci
on, sample and hold ):
x0s (t) =

X
n

x[n]

Y  t n Ts 

Ts

(1.9)

1.3. Procesado discreto de se


nales continuas

Es facil observar que:


x0s (t)

= xs (t)

Y t 

Ts

(1.10)

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

Un primer efecto desfavorable: una atenuacion creciente con la frecuencia (m


axima a fc fs /2).
Un segundo efecto favorable: Atenuacion de las componentes espectrales de xs (t) en torno a fs , 2 fs , . . . y ganancia de Ts . Este efecto
hace que el filtro de reconstruccion deba tener ganancia 1 en su
banda de paso, y que su dise
no sea mas sencillo si el conversor es
del tipo Sample and Hold, pues las repeticiones espectrales estan
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 armonicos de la frecuencia de
muestreo. Para eliminar dicho efecto es necesario el filtro de reconstruccion anteriormente mencionado.

1.3.

Procesado discreto de se
nales continuas

El muestreo de una se
nal anal
ogica suele realizarse para:
Transmitir dichas muestras digitalmente.
Almacenar las muestras, para su posterior reproduccion, analisis, etc.
Procesarlas para obtener otro conjunto de muestras que volvera a ser
convertido a continuo. Este u
ltimo punto es el que trataremos en esta
seccion.
Considerese un diagrama como el de la figura 1.6, en el que se muestrea
una se
nal anal
ogica cuyas muestras son procesadas para obtener un nuevo
conjunto de muestras y[n] que dar
a lugar a una se
nal analogica de salida.
En el caso m
as simple h[n] = [n] sera 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

CAPTULO 1. MUESTREO

x[n]
xc (t)
-

C/D

y[n]
h[n]

D/C

yc (t)
-

fs

fs

Figura 1.6: Procesado discreto de una se


nal continua.

En el caso m
as general de que h[n] sea un filtro digital arbitrario, tendremos:
Y (ej ) = X(ej ) H(ej )
(1.12)
Concatenando esta ecuaci
on con las correspondientes al conversor C/D (1.4)
y al D/C (1.8) resulta la siguiente expresion para el espectro de yc (t).

Yc (fc ) =

H(ej Ts )
Xc (fc k fs )

|fc | < fs /2

(1.13)
resto

Si la se
nal xc (t) se muestre
o sin aliasing (como en la figura 1.2), entonces
del anterior sumatorio s
olo es no nulo el termino 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
nal de entrada se muestrea sin aliasing, y sus muestras se filtran
digitalmente, el efecto es producir un filtrado analogico equivalente sobre la
se
nal de entrada por un filtro:
Hef f (fc ) = H(ej Ts )

(1.15)

Dicha expresi
on nos indica que la respuesta en frecuencia analogica equivalente
es simplemente una desnormalizaci
on del eje de frecuencias del sistema discreto
empleado. Por poner un ejemplo, si se utiliza una frecuencia de muestreo
de 10 kHz, y tuvieramos un filtro discreto h[n] paso-bajo de frecuencia de
corte discreta 0.1, el conjunto de la figura 1.6 equivaldra a un filtro paso-bajo
analogico de 1 kHz. de ancho de banda.
En la figura 1.7 se muestra un resumen de las relaciones entre espectros al
filtrar se
nales anal
ogicas de forma discreta.

11

1.3. Procesado discreto de se


nales continuas

Xc (fc )
6
1
@
@
@

W
1/Ts
@

6
@

@
@
@

1/Ts
1

@
@

@
@

W
0,5

- fc

W
Xs (fc )

1/Ts

W
0,5

- fc
- fd

H(ej )
1

f1

f1

- fd

Y (ej )
@
@

1/Ts 6
@
@

@
@

f1

f1

- fd

Ys (fc )
6

Ts

Hr (fc )

1/Ts
@
@

1/Ts

@
@

f1 /Ts f1 /Ts

@
@

1/Ts

- fc

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


nal
continua.

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


un filtrado anal
ogico, son necesarias dos cosas:
Que no exista aliasing.
Que el sistema discreto sea LTI.

12

CAPTULO 1. MUESTREO

Notese igualmente que la expresi


on (1.15) es valida u
nicamente en el margen |fc | < fs /2 que es donde la se
nal de entrada puede tener componentes
espectrales no nulas para no tener aliasing. Un aspecto interesante es que la
respuesta en frecuencia anal
ogica equivalente depende de:
La respuesta en frecuencia del filtro discreto.
La frecuencia de muestreo.
Este hecho puede ser usado, por ejemplo, para implementar filtrados analogicos
diferentes (distintas frecuencias de corte) con un mismo filtro digital cambiando u
nicamente la frecuencia de muestreo.

1.4.

Muestreo y reconstrucci
on de se
nales paso-banda

Un tipo de se
nales especialmente u
til en telecomunicaciones es el de las
se
nales paso-banda. Algunos campos donde podemos encontrar estas se
nales
son en radiocomunicaciones, multiplex por division en frecuencia, radar, . . . La
figura 1.8 muestra una se
nal de este tipo.
Dicha se
nal podra muestrearse usando la misma regla aplicada para se
nales
paso-bajo, a una frecuencia de muestreo que fuera el doble de la maxima frecuencia de la se
nal, es decir
fs = 2f2
Sin embargo, esto no es lo m
as eficiente posible, pues si dicha frecuencia f2 es
mucho mayor que el ancho de banda W = f2 f1 (cosa que suele suceder en
la practica), la frecuencia de muestreo necesaria sera muy alta, lo que llevara
a los siguientes problemas:
Tecnol
ogico: Tal vez no sea posible el muestreo a la suficiente velocidad.
Coste: Suponiendo que sea posible tecnicamente, los convertidores rapidos son m
as caros.
Volumen de informaci
on: Suponiendo que se pudiera realizar la conversion, la cantidad de muestras por segundo generadas hara su procesamiento difcil y costoso, cuando no imposible.
La ineficiencia del muestreo se manifiesta en que en el espectro de la se
nal
discreta resultante apareceran amplios huecos. Vamos a ver en este punto dos
tecnicas que se utilizan para que la frecuencia de muestreo necesaria no sea
tan grande. La idea subyacente en ambas es que la cantidad de informacion

13

1.4. Muestreo y reconstrucci


on de se
nales paso-banda

Xc (fc )
16
@
@
@
@

f1 f0 f2

fc

Figura 1.8: Espectro de una se


nal paso-banda.

que transporta una cierta se


nal es proporcional a su ancho de banda y no
a su frecuencia m
axima. Cuando traducimos la frase anterior en terminos
de frecuencia de muestreo, diremos que la frecuencia de muestreo debera ser
proporcional a la cantidad de informacion de la se
nal y, por tanto, a su ancho
de banda. Las muestras obtenidas contendran toda la informaci
on de la se
nal
paso-banda y, por ello, cabr
a hacer con ellas todo tipo de demodulaciones,
filtrados, etc. pero de forma discreta.

1.4.1.

Muestreo de se
nales paso-banda como se
nales reales

Consideremos las operaciones que se describen en la figura 1.9. La se


nal
de entrada xc (t) corresponde con la se
nal paso-banda que deseamos muestrear
(cuyo espectro se muestra en la figura 1.8). La se
nal x1 (t) es una se
nal pasobajo de ancho de banda W = f2 f1 que puede muestrearse tal y como
se vio en la secci
on 1.2. N
otese que en el esquema de dicha figura existe un
preprocesado anal
ogico previo al muestreo.
El espectro de la se
nal x1 (t) se muestra en la figura 1.11. Puede observarse
que dicha se
nal 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 
xc (t)


-
- Hlp (fc )

6

cos 2f1 t

- discreto

x1 (t)
-

C/D

- x[n]

fs

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


se
nal paso-banda como una se
nal real.

14

CAPTULO 1. MUESTREO

Observese que hemos muestreado una se


nal paso-banda con una frecuencia
de muestreo igual (como mnimo) al doble de su ancho de banda. Para poder
recuperar la se
nal anal
ogica 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
o en el mezclador previo al muestreo.
La banda de frecuencias f1 -f2 ocupada por la se
nal original.
Conociendo estos elementos, es posible recuperar la se
nal analogica original
mediante el esquema que se muestra en la figura 1.12.
Esta tecnica de muestreo puede considerarse como el muestreo de una se
nal
paso-banda real de frecuencia central mnima, de tal modo que la se
nal que se
muestrea realmente, x1 (t), es, de hecho, una se
nal paso-bajo.

1.4.2.

Muestreo de se
nales paso-banda como se
nales complejas

Otra posibilidad para muestrear una se


nal paso-banda consiste en desplazar el espectro de la se
nal 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
nal compleja, como x2 (t), con un filtro de respuesta impulsional real hlp (t),
produce una se
nal 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) ej0 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


nal
paso-banda.

15

1.4. Muestreo y reconstrucci


on de se
nales paso-banda

X1 (fc )
1/2 6
@
@
@
@

fc

f2 f1
Figura 1.11: Espectro de x1 (t).

La se
nal 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
odulo de x2 (t) recibe el nombre de envolvente de la se
nal
xc (t) (y no depende de 0 ) mientras que la fase de x2 (t) recibe el nombre de
fase instant
anea y su derivada, frecuencia instant
anea.
Para recuperar xc (t) a partir de x2 (t) hay que deshacer los pasos hechos.
En primer lugar, obtendremos x+ (t), se
nal compleja correspondiente a las
frecuencias positivas de la se
nal paso-banda:
x+ (t) = x2 (t) ej0 t

- Continuo

Discreto 
x[n]

(1.17)

x1 (t)
D/C
6

fs


-
- Hbp (fc )

6

- xc (t)

cos 2f1 t

Figura 1.12: Recuperaci


on de una se
nal paso-banda a partir de sus
muestras.
Hbp (fc )
46
-

f1

f2

fc

Figura 1.13: Filtro para recuperar la se


nal paso-banda.

16

CAPTULO 1. MUESTREO

A continuaci
on obtendremos la parte correspondiente a las frecuencias negativas:
x (t) = x?+ (t)
(1.18)
para finalmente obtener la se
nal 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)

contnuo 

xc (t)


-
- Hlp (fc )

6

- discreto

x2 (t)
-

C/D

- x[n]

ej0 t

fs

Figura 1.14: Diagrama de bloques del muestreo de una se


nal pasobanda real como se
nal paso-bajo compleja. Las lneas gruesas reprenales complejas
sentan se
nales complejas. El conversor C/D de se
muestrea cada uno de los canales de entrada (parte real e imaginaria)
a una frecuencia fs .

xc (t)


-
- Hlp (fc )

6

sen 0 t
xc (t)

Re{x2 (t)}
-

- Re{x[n]}

cos 0 t

?

-
- Hlp (fc )


C/D

fs
?
-

C/D

- Im{x[n]}

Im{x2 (t)}

Figura 1.15: Idem a la figura anterior pero con tadas las se


nales reales.
N
otese la existencia de dos canales, uno para la parte real y otro para
la imaginaria.

17

1.4. Muestreo y reconstrucci


on de se
nales paso-banda

Hlp (fc )
16

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

X2 (fc )
16

fc

f2 f1
2
Figura 1.17: Espectro de x2 (t).
X+ (fc )
16

f1

f2

fc

? (f )
X (fc ) = X+
c
16

@
@
@
@

f2

fc

f1

Figura 1.18: Espectro de x+ (t) y x (t). Frecuencias positivas y negativas respectivamente de xc (t).

Dado que tanto la parte real como la imaginaria de x2 (t) son se


nales pasobajo reales, se puede muestrear cada una de ellas con una frecuencia de muestreo mnima igual al doble de su ancho de banda, es decir
fs 2

f2 f1
= f2 f1
2

(1.20)

18

CAPTULO 1. MUESTREO

Notese que, dado que la se


nal x2 (t) es compleja, el n
umero total de muestras
por segundo ser
a el doble de la cantidad de la ecuacion (1.20), y coincide
con el dado por la ecuaci
on (1.16). Ello es consistente con que el n
umero de
muestras por segundo mnimo para representar una se
nal debe ser el mismo,
se considere esta real o compleja.

1.5.

Cambio de la velocidad de muestreo

En esta secci
on nos ocuparemos de un problema que aparece a menudo en
la practica. Supongamos que x1 [n] sea un conjunto de muestras de una se
nal
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
nal anal
ogica con una frecuencia de muestreo fs2 .
Una posibilidad trivial para resolver el problema anterior consisitira en recuperar la se
nal anal
ogica a partir de las muestras x1 [n] para, a continuacion,
volver a muestrear la se
nal a la nueva frecuencia de muestreo. Esquematicamente dicha posibilidad se muestra en la figura 1.19. No obstante, vamos a
proponer una soluci
on totalmente discreta al problema anterior, en la que no
sea necesario pasar por la se
nal anal
ogica.
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 operacion
interpolaci
on por un factor entero.
Caso en que fs2 = (L/M ) fs1 , es decir, que exista una relacion racional
entre las frecuencias de muestreo. Dependiendo de si L/M es mayor o
menor que la unidad hablaremos de interpolacion o diezmado por un
factor racional.
xc (t)
x1 [n]
-

D/C
6

fs1

C/D

x2 [n]
-

fs2

Figura 1.19: Soluci


on trivial al problema del cambio de la frecuencia
de muestreo.

19

1.5. Cambio de la velocidad de muestreo

1.5.1.

Diezmado por un factor entero

Si la frecuencia de muestreo final, es M veces menor que la inicial, es decir:


fs2 =

fs1
M

el problema es relativamente sencillo. Bastara con tomar una de cada M muestras de la se


nal de entrada y copiarlas en la salida. Es decir el sistema con la
relacion E/S siguiente nos har
a la tarea:
x2 [n] = x1 [M n]

(1.21)

La figura 1.20 muestra la representaci


on esquematica del sistema descrito por
la ecuacion (1.21).
x1 [n]

x2 [n]

Figura 1.20: Representaci


on gr
afica de un diezmador por M .

La figura 1.21 muestra la relaci


on en el dominio del tiempo entre las muestras. Cuando se diezma una se
nal 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

x [n]

1
6 r

r
r

6
-

r
r

x2 [n]

6
r

3
-

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


tiempo.

20

CAPTULO 1. MUESTREO

x1 [n]

- H(ej )

x2 [n]
-

Figura 1.22: Filtrado previo necesario antes del diezmador.

s que tenga aliasing. De hecho, para que al diezmar por M no existiese aliasing, el ancho de banda de la se
nal original W debera ser:
fs2
fs1
=
2
2M
Normalmente se cumplir
au
nicamente que W < fs1 /2, por lo que sera necesario realizar un filtrado paso-bajo digital previo de la se
nal x1 [n] antes de ser
diezmada. Para determinar la frecuencia de corte discreta necesaria es preciso
conocer:
W <

La frecuencia de corte anal


ogica equivalente necesaria: fs1 /2M
La frecuencia de muestreo a la que trabajara el filtro: fs1
La frecuencia de corte discreta ser
a pues
1
fs1 /2 M
=
fs1
2M
Por tanto el filtro digital que se debe anteponer antes del diezmado sera un
filtro digital paso-bajo de frecuencia de corte 1/2M . En la figura 1.22 se muestra el diezmador con el filtro paso-bajo discreto previo para evitar el aliasing.
Es posible encontrar tambien una relacion 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
nal anal
ogica podemos escribir:


1 X
fd n
X1 (e ) =
Xc
Ts1 n
Ts1

(1.22)



1 X
fd r
Xc
Ts2 r
Ts2

(1.23)

X2 (ej ) =

En esta u
ltima expresi
on, 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:
X2 (ej ) =



1
1 X
fd (i + k M )
1 MX
Xc
M i=0 Ts1 k
Ts1 M

21

1.5. Cambio de la velocidad de muestreo

X1 (ej )
A
 A

6
A
 A

A

A
 A
A

W Ts1

X1 (ej M )

-1

-2

A
 A
A

@
@
@

W Ts1 M 1
2
X1 (ej M )

-1

-2

- fd

6
@
@

@
@

A
 A

@ - fd

6
@
@

@
@
@

-1

-2

- fd

@
@

@
@ - fd

X2 (ej )
@
@

-2

6
@
@
@

@
@
@

-1

Figura 1.23: Relaci


on entre espectros en el diezmado por M = 2.

1
1 MX
1 X
X2 (e ) =
Xc
M i=0 Ts1 k
j

Ts1

1
 2i 
1 MX
X1 ej M
M i=0

X2 (ej ) =

1.5.2.

fd i
M

(1.24)

Interpolaci
on por un factor entero

En este caso se pretende que la frecuencia de muestreo de salida sea un


m
ultiplo 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]
-

Figura 1.24: Diagrama de un insertador de ceros.

22

CAPTULO 1. MUESTREO

x1 [n]
r

3
-

1
r

y[n]
r

r
r

r
r

Figura 1.25: Relaci


on entre muestras en un insertador de ceros por
L = 2.

sistema denominado insertador de ceros por L cuya relacion E/S es:


(

y[n] =

x1 [n/L] n m
ultiplo de L
0
resto

(1.25)

Conceptualmente este sistema inserta L 1 ceros entre cada dos muestras


de la se
nal de entrada. La figura 1.25 ilustra el funcionamiento del insertador
de ceros en el dominio del tiempo.
El espectro de la se
nal rellenada por ceros vale:
Y (ej ) =

y[n] ejn =

x1 [n] ejnL = X1 (ejL )

(1.26)

Es decir, corresponde a una compresi


on del espectro por un factor L. Para
lograr la se
nal 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
on centrada en el origen por L.
Ambos efectos se pueden lograr filtrando la se
nal y[n] con un filtro pasobajo de respuesta en frecuencia:
(
j

H(e ) =

L
|fd | < 1/2L
0 1/2L < |fd | < 0,5

(1.27)

23

1.5. Cambio de la velocidad de muestreo

X (ej )

:6 1
fs1 
@
@
@
@
@
@

@
@

-2

-1
fs1

A
 A

A
 A
A

A
 A
A

-2

A
 A
A

@
@

A
A
A
A
 A  A  A  A
A
A
A
A
A

-1

A
 A

A
 A

@ - fd

1/2
X1 (ejL )
X
z6
X

A
 A
A

@
@

- fd

X2 (ej )

A
 A

:6
fs2 
A

A
 A
A

-2

 A
A

-1

1/2L

- fd

Figura 1.26: Relaciones en el dominio de la frecuencia en la interpolaci


on.

Un aspecto importante a tener en cuenta es que la interpolacion de se


nales
no crea nueva informaci
on, 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
on redundante.

x1 [n]
-

- H(ej )

x2 [n]
-

Figura 1.27: Diagrama de bloques de la interpolaci


on de se
nales.

Interpoladores lineales
Acabamos de ver que para interpolar una se
nal, es necesario realizar un
relleno por ceros y un filtrado paso-bajo con un filtro de respuesta impulsiva:
h[n] = sinc

n
L

Dicho filtro es irrealizable y, por tanto, se hace necesaria una aproximacion a


dicha respuesta impulsiva. Un filtro que se suele utilizar a menudo es el que se

24

CAPTULO 1. MUESTREO

conoce como interpolador lineal. Se conoce con este nombre porque las nuevas
muestras se calculan trazando lneas rectas entre las disponibles. La figura 1.28
ilustra el proceso de interpolaci
on lineal. Cabra preguntarse que relacion existe
entre dicha interpolaci
on y la ideal con filtro paso-bajo. La respuesta es que
la interpolaci
on 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
ua la parte alta de la banda de paso del ideal.
El interpolador lineal no elimina totalmente las repeticiones intermedias de la figura 1.26, excepto en torno a las frecuencias k/L, donde la
atenuaci
on es alta.
r

x1 [n]
r

3
-

1
r

x2 [n]
?
r

6
r

?
1

2
?
3

?
5

6
r

Figura 1.28: Relaci


on 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-

Figura 1.29: Respuesta impulsiva de un interpolador lineal.

25

1.5. Cambio de la velocidad de muestreo

Figura 1.30: Comparaci


on de los m
odulos de las respuestas en frecuencia del filtro de un interpolador ideal y de uno lineal.

Por todo ello, debe concluirse que en el caso en que la se


nal a interpolar tenga su espectro concentrado en torno a fd = 0, es decir, este sobre-muestreada,
el interpolador lineal constituye una buena aproximacion al interpolador pasobajo ideal.

1.5.3.

Cambio de la frecuencia de muestreo por un factor racional

A veces, el factor de cambio de frecuencia no es entero. Supongamos que


deseamos realizar el cambio de frecuencia:
fs2 =

L
fs1
M

Es facil darse cuenta de que concatenando una interpolacion y un diezmado por factores enteros L y M respectivamente se logra el objetivo deseado.
Cabra la duda de que debe realizarse antes, la interpolacion o el diezmado.
Para responder a esta pregunta hay que recordar que el diezmado destruye informaci
on, hasta dejar la se
nal anal
ogica equivalente con un ancho de banda
fs1 /(2M ). Como dicho ancho de banda sera menor que el de la se
nal final, se
hace necesario realizar primero la interpolacion y luego el diezmado. Es decir,
primero se realizar
a 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

CAPTULO 1. MUESTREO

que pueden sustituirse por un u


nico filtro cuya respuesta en frecuencia sea el
producto.
El diagrama global para el cambio de frecuencia de muestreo por un racional 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: mn (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
as alta de todas, es decir a fs1 L.

x1 [n]
-

- H(ej )

x2 [n]
-

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


por un racional.

Consideraciones pr
acticas
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 terminos M y
L de la fracci
on, pueden serlo. Hemos comprobado que si se intenta el cambio
de frecuencia de muestreo en una u
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
un punto de la cadena sea menor
que mn(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

27

1.5. Cambio de la velocidad de muestreo

normalizadas del DAT 48 kHz. Tendremos


fs2 = 48000 = fs1

L
L
= 44100
M
M

es decir

L
480
160
=
=
M
441
147
Si intentaramos realizar el cambio directamente, el filtro intermedio trabajara
a una frecuencia de 44100 160 7 106 hz. Factorizando M y L se obtiene:
160
222225
=
147
377
Sera posible por ejemplo la siguiente factorizacion:
160
845
=
147
737

De este modo, la primera etapa cambiara la frecuencia de muestreo por 8/7


siendo la frecuencia de trabajo del filtro de fs1 8. La segunda etapa, cambiara
la frecuencia de muestreo por 4/3 y su correspondiente filtro trabajara a
fs1 8/7 4 y, por u
ltimo, el filtro de la tercera etapa trabajara a una
velocidad fs1 8/7 4/3 5

1.5.4.

Aplicaci
on del diezmado a la conversi
on C/D

Supongamos que tenemos una se


nal continua paso-bajo xc (t) de la cual
nos interesa el margen de frecuencias 0W . Dicha se
nal puede tener un ancho
de banda mayor o bien estar inmersa en un fondo de ruido de banda ancha.
Dado que u
nicamente estamos interesados en el margen 0W trataramos de
muestrear dicha se
nal con una frecuencia de muestreo fs = 2W . Sin embargo,
para poder hacer esto deberamos realizar un filtrado previo analogico para
prevenir el aliasing. Dicho filtro tendra que tener unas bandas de transicion
muy estrechas.
Supongamos que no se quisiera utilizar filtros analogicos de bandas de
transicion muy estrechas (orden alto). Vamos a ver como el diezmado nos
puede solucionar el problema. Supongamos que la se
nal 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
otese que este filtro analogico tiene bandas de transicion

suaves. La se
nal a la salida del filtro sera la yc (t) de la figura. Esta
es la se
nal
que muestrearemos.
Es facil 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

CAPTULO 1. MUESTREO

0W . 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 solo
resta realizar un diezmado. Elegiremos fs1 = L fs :
f1 + W = L2W

f1 = W (2L 1)

A medida que L es mayor, el filtro analogico tiene bandas de transicion mas


anchas (es m
as f
acil de construir), pero por contra el muestreo deberemos
realizarlo a una velocidad mayor, lo que implica, ademas, que el filtro digital
previo al diezmador trabaja m
as deprisa y tiene mas coeficientes.
Xc (fc )
6
L
L

L

L
L

W
Haa (fc )

fc

6
@
@
@
@

W
Yc (fc )

f1

6
L
L

L

L XX

XX
L


f1

fc

fc

Figura 1.32: Aplicaci


on del diezmado a la conversi
on C/D. Espectros
de las se
nales involucradas.

1.5.5.

Aplicaci
on de la interpolaci
on a la conversi
on D/C

En los apartados 1.2.1 y 1.2.2 hemos visto como se puede recuperar una
se
nal a partir de sus muestras. Vimos que era necesario el uso de un filtro
analogico de reconstrucci
on. Dicho filtro debera tener las siguientes caractersticas:

29

1.5. Cambio de la velocidad de muestreo

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


banda de la se
nal anal
ogica.
Atenuaci
on infinita (o muy grande) a partir de fc = fs W .
Banda de transici
on entre W y (fs W ).
Si fs 2 W , la banda de transici
on resultante puede ser muy estrecha, lo
que requerira de un filtro anal
ogico de orden alto. Con el fin de que el filtro
analogico sea m
as sencillo, lo que se hace a veces es elevar la frecuencia de
muestreo digitalmente justo antes de la conversion. En aplicaciones de audio
las interpolaciones se hacen por factores tpicamente entre 48, hablandose de
convertidores four times oversampling DAC.
Interpolar la se
nal antes de su conversion tambien reduce el efecto del
muestreo y retenci
on. La m
axima atenuacion por muestreo y retencion 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 interpolacion), dicha atenuaci


on m
axima disminuye. La tabla siguiente muestra los
valores de atenuaci
on para distintos factores de interpolacion:
L
1
2
4
8

(dB)
3.9
0.9
0.2
0.06

Ademas, los nulos del sinc producen una atenuacion mnima de las diferentes repeticiones espectrales de:
fs W
(dB) = 20 log sinc
fs


L
1
2
4
8

(dB)
3.9
10.45
17.13
23.58

30

CAPTULO 1. MUESTREO

1.6.

Introducci
on a la codificaci
on de se
nales. Codificaci
on PCM

En los apartados anteriores, hemos estudiado como se puede pasar de una


se
nal continua a una se
nal de tiempo discreto. Es interesante destacar que
los valores de las muestras tenan para nosotros precision infinita, es decir,
considerabamos que eran n
umeros reales. Sin embargo, cuando se desea transmitir, almacenar o procesar las se
nales de forma digital, es necesario obtener
una representaci
on binaria de los valores de dichas muestras. En este apartado trataremos este aspecto. La codificacion PCM (Pulse Code Modulation) o
MIC (Modulaci
on por Impulsos Codificados) constituye la tecnica mas sencilla
de codificaci
on de una se
nal.
Vemos un diagrama conceptual de este tipo de codificacion en la figura 1.33.
En dicha figura se pueden distinguir las siguientes operaciones:
Muestreo lo visto en la parte precedente del tema.
Cuantificaci
on Consiste en dividir el eje real de amplitudes en intervalos
y determinar a cu
al de ellos, k, pertenece la muestra. La figura 1.34
muestra la relaci
on entrada-salida del cuantificador para el caso de un
cuantificador uniforme, en el que todos los intervalos tienen el mismo
ancho. Esta operaci
on es irreversible, pues a partir del ndice del intervalo
k es imposible saber el valor de la muestra dentro del intervalo.
Codificaci
on 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
nal 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
on de tama
no de palabra fijo. Sin embargo desde el punto
de vista de la codificaci
on es importante asignar palabras binarias mas
cortas a aquellos ndices k m
as probables en aras a lograr un volumen
medio de bits inferior. Los bits producidos por el codificador son los que
fsicamente se almacenan, se manipulan por el hardware o se transmiten.

xc (t)

C/D

x[n]

Cuantif.

- Codificaci
on

1001101

Figura 1.33: Diagrama de bloques conceptual de la codificaci


on PCM.

31

1.6. Codificaci
on de se
nales

8
1.5

0.5

0
x

0.5

1.5

Figura 1.34: Relaci


on entrada-salida de un cuantificador.

1.6.1.

Recuperaci
on de la se
nal

El proceso global de recuperaci


on de la se
nal se muestra en la figura 1.35.
Tal y como acabamos de ver, en el sistema MIC se obtiene un n
umero entero
k por cada muestra de la se
nal x[n]. Dicho n
umero entero se representa con
una serie de bits en el codificador. Para recuperar (una aproximacion de) la
se
nal lo que se hace es invertir los pasos anteriores:
Decodificaci
on Consiste en obtener k a partir de los bits. Este proceso es
exacto (si no hay errores de transmision), es decir el ndice obtenido es
el mismo que se tena en el codificador.
Cuantificador inverso Asociado con cada intervalo de cuantificacion, existe
un valor reconstruido. Al valor reconstruido del intervalo k lo denominaremos yk . La figura 1.36 muestra la relacion entre el n
umero de intervalo k y su correspondiente valor reconstruido yk . En los cuantificadores

- Decodif.

1001101

Q1

xq [n]

D/C

x0c (t)

Figura 1.35: Diagrama de bloques conceptual de la decodificaci


on PCM.

32

CAPTULO 1. MUESTREO

1.5

yk

0.5

0.5

1.5
8

0
k

Figura 1.36: Relaci


on entre ndices k y valores reconstruidos yk en un
cuantificador uniforme.
uniformes, dicho valor suele coincidir con el centro del intervalo de cuantificaci
on. Adem
as en los cuantificadores uniformes existe una relacion
lineal k yk . Ello es importante de cara a procesar se
nales, 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 representa como Q1 , aunque realmente la cuantificacion sea un proceso
irreversible.
Notese 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]. Ademas es posible establecer
la relacion directa x xq . En la figura 1.37 se muestra dicha relacion global.
En dicha gr
afica se observa una zona de saturacion y una zona con forma
de escalera. La zona de saturaci
on viene definida por un umbral de amplitud
maxima (Amax ). Dicho umbral se obtiene facilmente a partir de la grafica de
la figura 1.38 que muestra el error = xq [n] x[n] cometido en el proceso de
cuantificacion; Amax corresponde al punto en que el error excede el maximo
error de un intervalo de cuantificaci
on de los normales.2
2
En el caso de un n
umero de intervalos de cuantificaci
on par (caso habitual), el valor de
saturaci
on positivo y negativo es ligeramente diferente, debido a que el n
umero de niveles de
cuantificaci
on en la parte positiva y negativa del eje difiere en uno.

33

1.6. Codificaci
on de se
nales

1.5

xq

0.5

0.5

1.5
1.5

0.5

0
x

0.5

1.5

Figura 1.37: Relaci


on entre x y su correspondiente valor cuantificado
xq .

Adviertase que la se
nal 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
on

Los valores cuantificados que resultan de la codificacion/decodificacion son:


como:
xq [n] = x[n] + [n]
(1.28)
Si el n
umero de niveles de cuantificacion es grande dicho error de cuantificacion se suele modelar como un proceso aleatorio discreto llamado ruido de
cuantificaci
on. En el caso de un cuantificador uniforme tendremos las siguientes propiedades del ruido de cuantificacion:
La funci
on densidad de probabilidad es uniforme entre /2 y /2.
(Vease la figura 1.39)
= uk uk1 =

2Amax
2B

34

CAPTULO 1. MUESTREO

0.5
0.4
0.3
0.2

0.1
0
0.1
0.2
0.3
0.4
0.5
1.5

Amax

0.5

0
x

0.5

1.5

Figura 1.38: Error de cuantificaci


on en funci
on del valor de entrada.

Sat.


y0

y5 y4 y3 y2 y1
y1 y2 y3 y4
r
r
r
r
r
r
r
r
r
r
u5 u4 u3 u2 u1 u0 u1 u2 u3 u4 u5

Sat.
-

Figura 1.39: Intervalos de cuantificaci


on (uk+1 uk ) y valores reconstruidos (yk ) en un cuantificador uniforme.

La potencia es:
2 =

2
12

Es ruido blanco, es decir, los valores de ruido de cuantificacion en instantes diferentes de tiempo est
an incorrelados.
De acuerdo con el modelo de ruido de cuantificacion aditivo, cuando las
muestras cuantificadas se pasan por el D/C, a la salida se obtiene la se
nal
(supuesto que no existe aliasing):
x0c (t) = xc (t) + r(t)
donde r(t) es el ruido de cuantificaci
on analogico a
nadido 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.

35

1.6. Codificaci
on de se
nales

Si suponemos que el cuantificador esta normalizado, es decir Amax = 1,


podemos calcular la relaci
on S/N del proceso codificacion/decodificacion PCM
cuando se usan B bits como:
S
(dB) = 10 log
N

x2
r2

= 10 log

x2
2 /12

= 10 log

x2
(2/2B )2 /12

S
(dB) = x2 (dB) + 4,7 + 6B
(1.29)
N
Notese que la anterior expresi
on indica que por cada bit que a
nadamos, mejoramos en 6 dB la relaci
on S/N (reducimos la potencia del ruido de cuantificacion
a la cuarta parte). La relaci
on S/N depende tambien, como es logico, de la
potencia de se
nal que tengamos, pero es interesante el hecho de que aumentando el n
umero de bits podamos hacer el ruido tan peque
no como se quiera (y
la tecnologa permita en un momento dado). Pongamos un ejemplo numerico
para ver valores tpicos de estas relaciones S/N. Si suponemos que la se
nal
xc (t) es un tono de amplitud 1/2, su potencia sera 1/8. Por tanto tendremos:
B
8
12
16

S/N (dB)
43.74
67.64
91.74

A la hora de procesar digitalmente muestras de se


nales, como ya se ha
indicado, nosotros operaremos normalmente con los ndices k de los intervalos
de cuantificaci
on. Interesar
a que exista una relacion de proporcionalidad entre
los ndices k y los valores de reconstruccion 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 funcionamiento interno de ning
un circuito. Igualmente, el modelo de ruido aditivo es
valido para se
nales y conversores habituales, en los que el n
umero de niveles
de cuantificaci
on es alto y la se
nal atraviesa muchos niveles de cuantificacion
entre dos muestras consecutivas.

1.6.3.

Cuantificaci
on no uniforme

En el apartado anterior acabamos de ver los cuantificadores uniformes.

Estos presentan la particularidad de que todos sus intervalos de cuantificacion son iguales. En realidad no existe a priori ninguna razon para elegir los
intervalos de ese modo.

36

CAPTULO 1. MUESTREO

1.5

xq

0.5

0.5

1.5
1.5

0.5

0
x

0.5

1.5

Figura 1.40: Relaci


on entrada salida en cuantificador no uniforme.

Podra pensarse en elegir los intervalos de cuantificacion y los valores de


reconstrucci
on correspondientes de forma
optima. Ello es posible si se conoce
la funcion densidad de probabilidad de las muestras a cuantificar x[n]. La
idea subyacente consiste en elegir intervalos de cuantificacion mas estrechos
alla donde la se
nal x[n] sea m
as probable.
No estudiaremos aqu el dise
no de cuantificadores optimos. Sin embargo,
mencionaremos que, en el caso de las se
nales de voz, las amplitudes peque
nas
son mas probables que las grandes. Ello hace que en el campo de la telefona
se haya estandarizado el uso de dos cuantificadores no uniformes conocidos
como ley (EE.UU. y Jap
on) y ley A (Europa), que hacen que en las amplitudes peque
nas los intervalos de cuantificacion sean mas peque
nos. En la
figura 1.40 se muestra el aspecto que presenta la relacion entrada/salida de un
cuantificador no uniforme. Comp
arese con la de la figura 1.37.
Un cuantificador no-uniforme se puede considerar tambien como una ley
de compresi
on 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 compresion son:
F (x) = Sig(x)

log(1 + |x|)
log(1 + )

|x| 1

(1.30)

37

1.6. Codificaci
on de se
nales

FA (x) =

1 + ln A |x|

Sig(x)

1 + ln A

1
|x| 1
A
(1.31)

A |x|

Sig(x)

|x|

1 + ln A

1
A

Los valores de los par


ametros normalizados en telefona son:
USA y Jap
on: = 100
Europa: A = 87,6
En ambos casos la varianza del ruido de cuantificacion es menor para las
muestras peque
nas que en el caso de un cuantificador uniforme del mismo
n
umero de bits, y m
as grande para las muestras grandes. Dado que una se
nal
contendra muestras peque
nas y grandes, dependiendo de la probabilidad de
tener muestras grandes o peque
nas (es decir de la funcion densidad de probabilidad de la se
nal a codificar) el ruido de cuantificacion sera diferente. En
el caso de la ley A, los intervalos de cuantificacion mas peque
nos (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
nales, es interesante destacar 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 mayora de los
DSPs poseen instrucciones para convertir palabras de 8 bits correspondientes
a cuantificaciones no uniformes a 16 bits uniforme.

Compresor
F (x)

Expansor
F 1 (x)

6
-

x[n]

6
-

- Cuantif.

Unif.

q-

xq [n]

Cuantif.
No-Unif.
-k

Figura 1.41: Cuantificador no uniforme.

38

CAPTULO 1. MUESTREO

Captulo 2

Transformada Discreta de
Fourier
2.1.

Introducci
on

Hasta ahora hemos visto que para realizar el analisis en frecuencia de una
se
nal discreta x[n], se aplica sobre ella la Transformada de Fourier, obteniendose X(ej ). Dicha transformada es una funcion continua y por lo tanto no se
puede manejar de forma discreta. Sera interesante disponer de una representacion frecuencial discreta que nos facilitara la manipulacion de los datos en
el dominio de la frecuencia de forma discreta por medio de un procesador de
se
nal u ordenador.
En este captulo se presenta la herramienta que nos permite representar el
espectro de forma discreta, llamada Transformada Discreta de Fourier (DFT).
Para el calculo de dicha Transformada Discreta de Fourier existen algoritmos
muy eficientes que permiten el c
alculo de la misma con un n
umero reducido de
operaciones. Ello ha permitido que la DFT constituya una herramienta basica
no solo para el an
alisis frecuencial sino en numerosas aplicaciones.

2.2.

Representaci
on de Fourier de secuencias de
duraci
on limitada. La DFT

Supongamos una secuencia de duracion limitada x[n] tal que:


(

x[n] =

6= 0 0 n N 1
0
resto

39

40

CAPTULO 2. TRANSFORMADA DISCRETA DE FOURIER

Se define la Transformada Discreta de Fourier (DFT) de dicha se


nal como:
X[k] =

N
1
X

x[n] ej 2 kn/N

k = 0, . . . , N 1

(2.1)

n=0

y la Transformada Discreta de Fourier Inversa (DFT1 ) como:


1
1 NX
x[n] =
X[k] ej 2 kn/N
N k=0

n = 0, . . . , N 1

(2.2)

Por tanto, la DFT puede considerarse como una transformacion que toma las
N muestras de una se
nal para dar lugar a N coeficientes X[k] y viceversa.
Relaci
on con la Transformada de Fourier
La se
nal x[n] tiene una transformada de Fourier que viene dada por:
X(ej ) =

x[n] ejn =

N
1
X

n=

x[n] ejn

(2.3)

n=0

donde la u
ltima igualdad se debe al hecho de que la se
nal x[n] es de duracion
limitada.
Comparando la anterior ecuaci
on con la definicion de DFT se puede ver
que:
X[k] = X(ejk ) donde k =

2k
,
N

fk =

k
,
N

0k N 1

(2.4)

es decir los N valores de la DFT son muestras de la Transformada de Fourier


X(ej ) de la se
nal x[n].
Notese 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
on de la se
nal con ceros
Es interesante notar que una se
nal de duraci
on real M muestras puede ser
considerada tambien como de duraci
on ficticia N , siendo N > M . Para ello
basta considerar que las muestras en exceso son nulas.
Esta observaci
on nos permite, usando la DFT, calcular muestras de la
Transformada de Fourier de una se
nal, con un espaciamiento arbitrariamente
peque
no sin m
as que a
nadir ceros a la se
nal hasta completar una duracion
ficticia igual al n
umero de muestras espectrales que deseemos.

41

2.3. Propiedades de la DFT

La relaci
on entre el valor del ndice de la transformada y la frecuencia de
la Transformada de Fourier es:
k fk =

2k
k
k =
N
N

(2.5)

Periodicidad de la DFT
Si en la ecuaci
on 2.1 intentamos calcular X[k] para un valor k N se
puede comprobar que:
X[k + N ] = X[k]

0kN

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
on 2.1 se puede calcular para cualquier valor de k y
resulta ser peri
odica de periodo N .
Esta periodicidad tiene su reflejo en todas las propiedades de la DFT

Notaci
on
Denotaremos como ((n))N , y leeremos n m
odulo N a lo siguiente:
((n))N =

resto(n/N )
N resto(|n|/N )

n0
n < 0, |n| no m
ultiplo de N
n < 0, |n| m
ultiplo de N

Es facil observar que se cumple siempre:


0 ((n))N N 1

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
a una duracion N que sera el maximo de N1 y
N2 . La DFT de N puntos de x3 [n] ser
a:
x3 [n] = x1 [n] + x2 [n]

DFTN

X3 [k] = X1 [k] + X2 [k]

1
Las se
nales se consideran no nulas en el intervalo 0, . . . , N1 1 y 0, . . . , N2 1 respectivamente.

42

CAPTULO 2. TRANSFORMADA DISCRETA DE FOURIER

x[((n 2))6 ]

x[n]
6

r r r

6
r
r

r r

Figura 2.1: Desplazamiento circular de se


nales.

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


x2 [n] respectivamente (aumentando con ceros la duracion de la mas corta).

Desplazamientos circulares
Sea x[n] una se
nal de duraci
on finita N , definida entre 0 y N 1. Se define
el operador desplazamiento circular o cclico como:
y[n] = x[((n n0 ))N ]
siendo n0 un desplazamiento entero. El efecto que causa un desplazamiento
cclico sobre una se
nal se muestra en la figura 2.1. Puede observarse que:
La se
nal desplazada cclicamente tambien es de duracion 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 saldran del intervalo 0 n N 1 reaparecen circularmente por el
otro extremo.
Si la secuencia x[n] de duraci
on N tiene por DFT de N puntos (DFTN ) a
X[k] entonces:
x[((n n0 ))N ]

DFTN

ej

2
N

n0 k

X[k]

Notese que los desplazamientos circulares u


nicamente afectan a la fase de
la DFT.

43

2.3. Propiedades de la DFT

x[n]
6

r r r

x[((n))6 ]
6
r

r r r

Figura 2.2: Inversi


on circular de se
nales.

Dualidad e inversi
on cclica
Sea x[n] una se
nal de duraci
on finita N , definida entre 0 y N 1. Se define
el operador inversi
on circular o cclica como:
y[n] = x [((n))N ]
El efecto que causa una inversi
on cclica sobre una se
nal se muestra en la
figura 2.2.
Puede verse lo siguiente:
La se
nal invertida circularmente tambien es de duracion finita N y no
nula en el intervalo 0 n N 1.
La inversi
on cclica conserva la muestra de n = 0 en su ubicacion y el
resto de muestras cambian de orden.
La inversi
on circular de la inversion circular es la se
nal original, es decir
si
y[n] = x [((n))N ]
entonces
y [((n))N ] = x[n]
Sea una secuencia x[n] de duraci
on finita N tal que:
x[n]
entonces:
X[n]

DFTN

DFTN

X[k]

N x[((k))N ]

es decir, si se calcula la DFT (directa) sobre el resultado de una DFT se obtiene


la inversion circular de la se
nal original (salvo el factor de escala N ).
Esta propiedad puede ser u
til para calcular DFTs inversas mediante DFTs
directas y un cierto reordenamiento del resultado.

44

CAPTULO 2. TRANSFORMADA DISCRETA DE FOURIER

Simetras
Sea una secuencia x[n] de duraci
on N tal que:
x[n]

DFTN

X[k]

entonces se tienen las siguientes relaciones:


x[((n))N ]
x [n]

DFTN

x [((n))N ]

DFTN

X[((k))N ]

X [((k))N ]
DFTN

X [k]

Por tanto, la DFT de una se


nal real que cumple que
x[n] = x [n]
se tiene que
X[k] = X [((k))N ]
Esta es la propiedad de simetra conjugada usual en las transformadas
de Fourier de se
nales reales.
Para que la DFT de una se
nal sea real debe cumplirse x[n] = x [((n))N ],
que en el caso de que la se
nal x[n] sea real implica x[n] = x[((n))N ].

Modulaci
on
Sea una secuencia x[n] de duraci
on finita N tal que:
x[n]
entonces:
x[n] ej2k0 n/N

DFTN

DFTN

X[k]

X[((k k0 ))N ]

Convoluci
on circular
Sean dos secuencias x1 [n] y x2 [n] ambas de duracion N (N = max{N1 , N2 },
completando con ceros la m
as corta si fuera necesario) cuyas DFTN son, respectivamente, X1 [k] y X2 [k]. Supongamos que calculamos:
X3 [k] = X1 [k] X2 [k] k = 0, . . . , N 1

45

2.3. Propiedades de la DFT

y que obtenemos la secuencia x3 [n]:


x3 [n] = DFT1 (X3 [k])

n = 0, . . . , N 1

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


x3 [n] =

N
1
X

x1 [m] x2 [((n m))N ]

(2.6)

m=0

y recibe el nombre de convoluci


on circular. Se suele escribir:
x3 [n] = x1 [n]
N x2 [n]

En la figura 2.3 puede verse un ejemplo de convolucion circular entre dos


secuencias de duraci
on limitada. El valor de N seleccionado para realizar la
convolucion es el m
aximo de las duraciones de ambas secuencias, en este caso
N = 5. Dicho ejemplo puede compararse con la convolucion lineal de ambas
secuencias mostrada en la figura 2.4. Comparando ambas convoluciones podemos observar que la circular es distinta de la lineal por la aparicion de las
muestras que entran al intervalo de suma por la derecha debidas a la inversion ((m))N , que coinciden con las que aparecen en la parte de m < 0 en la
convolucion lineal.
Con respecto a la convoluci
on circular cabe hacer una serie de observaciones:
En general, la convoluci
on circular de dos secuencias NO coincide con la
convoluci
on lineal.
La convoluci
on circular, en la pr
actica, no se calcula nunca aplicando la
ecuaci
on (2.6).
En la pr
actica, la convoluci
on circular se calcula siempre mediante DFT
inversa del producto de dos DFTs. Ello se debe a la existencia de algoritmos muy eficientes de c
alculo de la DFT que se estudian al final del
tema (FFT).
La convoluci
on lineal es u
til para calcular la salida de filtros.
La convoluci
on circular no sirve para nada.
Podramos resumir lo anterior diciendo que la convolucion circular es algo que
se calcula muy r
apido pero no sirve para nada.

46

CAPTULO 2. TRANSFORMADA DISCRETA DE FOURIER

intervalo
de suma

6x1 [m]
q

q
-

x2 [m]
6
q

q q

x2 [((m))N ]
6
q
q q

q
-

x2 [((1 m))N ]
6
q

q
q q

q
-

m
Figura 2.3: Procedimiento de convoluci
on circular m
odulo 5 entre dos
secuencias.

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

2.4.

Relaci
on entre convoluci
on circular y lineal

En el apartado anterior hemos visto que en general la convolucion circular


y lineal son diferentes. En este punto veremos que bajo ciertas condiciones se

47

2.4. Relaci
on entre convoluci
on circular y lineal

intervalo
de suma

6x1 [m]
q

q
-

x2 [m]
6
q

q q

x2 [m]
6

q
q q q q

x2 [1 m]
6

q
q q q

m
Figura 2.4: Procedimiento de convoluci
on lineal entre dos secuencias
x1 [n] y x2 [n].

puede lograr que algunos e incluso todos los valores de la convolucion circular
sean identicos a la convoluci
on lineal.
Esto nos ser
a de utilidad en la siguiente seccion en la que veremos como
se pueden realizar filtrados (convoluciones lineales) usando convoluciones circulares (productos de DFTs, que se calculan con pocas operaciones).

48

CAPTULO 2. TRANSFORMADA DISCRETA DE FOURIER

2.4.1.

Condiciones para la igualdad entre convoluci


on lineal y
circular

En este apartado vamos a establecer las condiciones bajo las cuales la


convolucion circular y la lineal coinciden. Supongamos que tenemos dos se
nales
de duracion finita:
x[n] de duraci
on L muestras.
h[n] de duraci
on P muestras.
Llamemos N = m
ax(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 cual es la causa de que convolucion
lineal y circular no coincidan. Las diferencias se deben a las muestras que
intervalo
de suma

6x[m]
q

q q q q q

L1

N 1

h[m]
6
q

q q q q q q q

P 1

N 1

h[((m))N ]
6
q
q q q q q q q

q
-

N 1
N P +1

h[((1 m))N ]
6
q

q
q q q q q q q

q
-

m
Figura 2.5: Determinaci
on del periodo N para realizar la convoluci
on
circular. Hay que lograr que (N P + 1) > (L 1).
N 1

49

2.4. Relaci
on entre convoluci
on circular y lineal

aparecen en la parte derecha en torno a m = N 1 en la convolucion 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 convolucion
circular de un tama
no superior a L y P . El valor mnimo de N necesario es:
N =L+P 1

(2.7)

Ya hemos indicado que las convoluciones circulares se calculan en la practica


mediante DFTs. Por tanto, podremos resumir el procedimiento a seguir para
realizar la convoluci
on lineal mediante DFTs del siguiente modo:
1. A
nadir ceros por la derecha a x[n] y h[n] hasta completar un tama
no
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 graficamente el metodo anterior.
h[n]
- Rell. 0

- DFTN

?


x[n]
- Rell. 0

- DFTN


6

-DFT1
N

x[n]
- h[n]

Figura 2.6: Metodo de c


alculo de la convoluci
on lineal usando DFT

50

CAPTULO 2. TRANSFORMADA DISCRETA DE FOURIER

2.4.2.

Coincidencias entre la convoluci


on lineal y la circular

En este apartado supondremos que tenemos dos se


nales:
x[n] de duraci
on L muestras.
h[n] de duraci
on P muestras.
donde P < L. Supongamos ahora que calculamos c[n], la convolucion circular
modulo N de ambas se
nales, tomando N = L.
c[n] = x[n]
N h[n]
Sea z[n] la convoluci
on lineal entre x[n] y h[n].
z[n] = x[n] h[n]
Para calcular dichas convoluciones, y teniendo en cuenta que x[n] solo es
no nula para 0 n N 1
z[n] = x[n] h[n] =

x[m] h[n m] ==

m=

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

N
1
X

x[m] h[n m]

m=0
N
1
X

x[m] h[((n m))N ]

m=0

donde podemos observar que la u


nica diferencia consiste en que la inversion
y los desplazamientos de la se
nal h son lineales para la convolucion lineal y
circulares para la convoluci
on cclica. La figura 2.7 ilustra este hecho. En ella
se puede apreciar que las diferencias surgen por las muestras de la derecha de
la version 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 situacion
h[2 m] = h[((2 m))N ]

0mN 1

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


las versiones desplazadas cclica y linealmente coinciden, y con ellas coinciden
los correspondientes valores de la convolucion lineal y circular.

51

2.4. Relaci
on entre convoluci
on circular y lineal
intervalo

intervalo

de suma

x[m]
6
q
q q q q q q q q
q

de suma

x[m]
6
q
q q q q q q q q
q

h[m]
6
q q
q

h[m]
6
q q
q

q q q q q q q

P 1

q q q q q q q

q q

q
-

6
q q

q
q q q q q q q q q

h[1 m]
6
q
q q

q q q q q q q

h[((2 m))N ]
6
q
q q

h[m]

h[((1 m))N ]
6
q q

q q q q q q q

P 1

h[((m))N ]
6
q

q q q q q q q q

h[2 m]
6
q
q q

q q q q q q q

N 1

q q q q q q q

N 1

a)

b)

Figura 2.7: Comparaci


on entre los deplazamientos que suceden cuando
la convoluci
on circular se realiza de un tama
no igual a la longitud de
la se
nal m
as larga. a) Convoluci
on circular. b) Convoluci
on lineal.

Analizando un poco la figura, es facil darse cuenta que en general los


P 1 primeros valores de la convolucion circular no coinciden con los de la
convolucion circular, es decir
z[n] 6= c[n]

0n<P 1

pero el resto s que coinciden


z[n] = c[n] P 1 n N 1
El hecho de que aunque no sean identicas por completo, sin embargo tengan
algunos valores comunes ser
a utilizado por uno de los metodos que se detallan
en la seccion 2.5.

52

CAPTULO 2. TRANSFORMADA DISCRETA DE FOURIER

2.5.

Implementaci
on de filtros LTI utilizando DFT

Acabamos de ver c
omo se puede utilizar la DFT para realizar convoluciones
lineales. En esta secci
on veremos c
omo utilizarla para filtrar se
nales. Consideraremos u
nicamente filtros FIR causales cuya respuesta impulsiva sera de
duracion P muestras (definida entre n = 0, . . . , P 1).
Si la se
nal a filtrar x[n] es de duracion finita, podemos aplicar lo visto en
el punto anterior. No obstante, si la se
nal a filtrar tuviera duracion infinita,
el metodo anterior no podra llevarse a la practica. En general tendremos
problemas cuando:
La se
nal tenga un comienzo, pero no se sepa cuando termina. En ese caso
deberemos esperar hasta que se de por terminada x[n]. En aplicaciones
interactivas (telefona) esto puede ser inaceptable.
Otro problema ser
a el retardo: para calcular la DFT (y por tanto la
convoluci
on) se necesita que esten presentes todas las muestras de la
se
nal a filtrar (x[n]), por lo que tendremos un retardo algortmico igual
a la duraci
on de la se
nal.
Para mitigar los anteriores problemas se utilizan dos metodos basados en
las siguientes ideas:
1. Se divide la se
nal de entrada en trozos de duracion 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 metodos para filtrar se
nales basandonos en la DFT se conocen
como el metodo de solape- suma y el de solape-almacenamiento. En los siguientes apartados se describen los mismos.
M
etodo de solape-suma
Los pasos a seguir para filtrar una se
nal x[n] de duracion infinita (o desconocida) con un filtro h[n] de duraci
on P utilizando este metodo son:
1. Se divide x[n] en trozos de longitud L, sin solape y sin dejar huecos.
Es decir, el primer bloque (bloque 0) incluira las muestras de n =
0, . . . , L 1, el segundo (bloque 1) las muestras n = L, . . . , 2L 1, y

53

2.5. Implementaci
on de filtros LTI utilizando DFT

x0 [n]


x1 [n]

x2 [n]

-

-

y0 [n]
+

P 1


y1 [n]
+
y2 [n]
Figura 2.8: Metodo Solape-Suma

as sucesivamente. Llamaremos xk [n] al bloque k-esimo de muestras de


entrada. N
otese que
x[n] =

xk [n]

k=0

2. Como cada bloque es de duraci


on finita se calcula la respuesta a cada
bloque utilizando el metodo visto en la seccion 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-esima a su posicion.
yk [n] = yk0 [n kL]
3. La salida total se calcula como:
y[n] =

yk [n]

k=0

Dado que los bloques y[k] tienen una duracion mayor que la de los bloques x[k], existir
a un solapamiento entre las respuestas de los distintos
bloques, lo que obligar
a 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

CAPTULO 2. TRANSFORMADA DISCRETA DE FOURIER

M
etodo de solape-almacenamiento
La se
nal, como en el caso anterior, x[n] de duracion infinita, se pretende
filtrar con un filtro h[n] de duraci
on P , para lo cual se debe seguir:
1. Se divide x[n] en trozos de longitud L, (en este metodo L > P ). Llamaremos a cada trozo xk [n] con k = 0, 1, . . .
2. Se calculan las DFTs de L puntos tanto del trozo k-esimo 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 convolucion
circular.
zk [n] = xk [n]
L yk [n]
De cada vector zk [n]:
Las primeras P 1 muestras no coinciden con la convolucion lineal
y se desechan.
Las muestras de n = P, . . . , L1 coinciden con las de la convolucion
lineal.
3. Al tomar el bloque siguiente (k + 1), previendo que sus primeras P 1
muestras de la convoluci
on circular van a ser erroneas, 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
nal de salida.
4. De ese modo, la salida final, se obtiene yuxtaponiendo las muestras de
cada bloque que coinciden con la convolucion 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
nal podr
a tener duraci
on finita o infinita.
Supongamos ahora que tomamos N muestras equiespaciadas de su transformada de Fourier en fk = Nk (k = 2k/N ) con k = 0, . . . , N 1.
El anterior conjunto de N muestras de la Transformada de Fourier podramos
suponer que son los coeficientes de la DFS de una se
nal periodica x
[n]. Lo que

55

2.6. Muestreo de la Transformada de Fourier

x[n]

x0 [n] 0..,0
P
-1

x1 [n]
-


L

x2 [n]

z0 [n] @
@

z1 [n] @
@

z2 [n] @
@

y[n]
Figura 2.9: Metodo Solape-Almacenamiento

vamos a hacer en este apartado es encontrar la relacion existente entre la se


nal
x[n] cuya transformada de Fourier se muestrea y la se
nal periodica x
[n] resultado del c
alculo de la DFS1 sobre las muestras de la Transformada de
Fourier.
Las ecuaciones involucradas se muestran a continuacion. En primer lugar
se calcula la TF de la se
nal x[n]:

X(e ) =

x[m] ejm

(2.8)

m=

En segundo lugar se muestrea dicha TF:


X[k]
= X(ej )

=2k/N

= X(ej2k/N )

(2.9)

56

CAPTULO 2. TRANSFORMADA DISCRETA DE FOURIER

Observese que X[k]


es peri
odica por serlo X(ej ). El periodo de X(ej ) es

2 y la separaci
on entre muestras es 2/N , con lo que el periodo de X[k]
1

resultara ser N . Por otro lado la DFS de los X[k] obtenidos resulta ser:
x
[n] =

1
1 NX
ej2kn/N
X[k]
N k=0

(2.10)

Sustituyendo en la ecuaci
on (2.10) la expresion de X(ej ) dada por la ecuacion (2.8) se obtiene:
x
[n] =

1 X

1 NX
x[m] ej2km/N ej2kn/N
N k=0 m=

Reordenando los sumatorios tenemos:

x
[n] =

x[m]

m=

1
2
1 NX
ej N (nm) k
N k=0

donde:
1
2
1 NX
ej N (nm) k =
N k=0

1 si n m = r N
0 resto

[n m rN ]

r=

obteniendose finalmente:
x
[n] =

X
m=

x[m]

[n m rN ] = x[n]

[n rN ]

r=

r=

x
[n] =

x[n r N ]

(2.11)

r=

La ecuaci
on (2.11) indica que la secuencia periodica 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
on de la secuencia original x[n] es menor o igual que N
(y por tanto finita) no habr
a solape entre las distintas repeticiones. Si
conocemos el intervalo en que la se
nal x[n] era no nula sera posible
recuperar dicha se
nal a partir de x
[n].

57

2.6. Muestreo de la Transformada de Fourier

...

...

q q q

x[n]
6
q
q
q

q q q

...
-

x[n] [n 3]
6
q
q
q ...
q q q q q q
q q -

...

x
[n]
6
q
q
q
q
q
q
q
q

...
-

Figura 2.10: Obtenci


on de x
[n] a partir de x[n] (periodo N=3).

Si la duraci
on de la secuencia original x[n] es mayor que N habra 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
nal es de duracion finita
y menor que el n
umero de muestras tomadas de la TF, las muestras de la TF
(coeficientes de la DFS de x
[n]) contienen toda la informacion de x[n] (o de
forma equivalente de su TF X(ej )).
Notese la dualidad que existe entre el muestreo de la TF de una se
nal
discreta y el muestreo de se
nales continuas en el tiempo:
En el caso del muestreo en el dominio del tiempo, para que el muestreo
de una se
nal continua x(t) contenga toda la informacion de la se
nal, la
separaci
on de las muestras mnima debe ser:
t =

1
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
nal es no nula.
En el caso del muestreo de la TF, la separacion entre muestras espectrales
debe ser:
1
f =
Duracion de la se
nal
en ambos casos la separaci
on entre muestras consecutivas debe ser menor que
la inversa de la extensi
on de la se
nal en el dominio contrario al que se muestrea.

58

CAPTULO 2. TRANSFORMADA DISCRETA DE FOURIER

2.7.

C
alculo eficiente de la Transformada Discreta
de Fourier (La FFT)

La FFT es un metodo r
apido de calculo 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 ingles FFT (Fast Fourier Transform). La
eficiencia de este metodo se muestra en la tabla 2.1, donde se compara el
n
umero de operaciones a realizar para implementar la DFT de N puntos por
el metodo directo (N 2 ) y por el algoritmo rapido (N log2 N ), as como la
N2
eficiencia conseguida utilizando la FFT ( N log
N ).
2

N
32
64
128
256
.
.
.
4096

Directo
1024
4096
16384
65536
.
.
.
17,106

FFT
160
384
896
2048
.
.
.
49,103

Eficiencia
6.4
10.7
18.3
32
.
.
.
341

Cuadro 2.1: Eficiencia de la FFT


La FFT es un metodo muy eficiente de calculo, como puede verse en la
tabla 2.1, si se requieren los N valores de X[k]; si no, puede resultar ineficiente.
En este captulo 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 consideraciones previas.


N
umero de operaciones en el m
etodo directo
En este apartado trataremos de establecer de forma aproximada el n
umero
de operaciones necesario para el c
alculo de la DFT directa e inversa. La DFT

59

2.7. La FFT

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


y 2.13), que se reproducen a continuacion:
Ecuaci
on de An
alisis (Transformada Directa)

X[k] =

N
1
X

x[n] WNk n

(2.12)

n=0

donde
WN = ej2/N
Ecuaci
on de Sntesis (Transformada Inversa)

x[n] =

1
1 NX
X[k] WNk n
N k=0

(2.13)

As, seg
un la ecuaci
on (2.12), para implementar la DFT por el metodo
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
umero de operaciones a realizar sera:


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
umero de operaciones se mide el n
umero de productos complejos
necesarios, que en el caso del c
alculo de la DFT es N 2 . Por otro lado, el
n
umero de operaciones reales que habr
a que realizar siempre sera proporcional
al n
umero de productos complejos, ya que:
2
2
2
Num. de ops. 4 Nproductos
reales +4 Nsumas reales Nproductos complejos

Sean dos n
umeros complejos z1 = a + j b y z2 = c + j d, el n
umero 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

CAPTULO 2. TRANSFORMADA DISCRETA DE FOURIER

Propiedades de las exponenciales complejas


Las propiedades de las exponenciales complejas a usar para disminuir el
n
umero de operaciones necesarias son:
Simetra conjugada.
k (N n)

WN

= WNk n = (WNk n )

Periodicidad en n y en k.
k (n+N )

WNk n = WN

(k+N ) n

= WN

Si N par, entonces:
r+N/2

WN

= WNr

WN/2 = WN2
Transformada inversa
En el resto del tema, s
olo desarrollaremos los distintos tipos de algoritmos
para el calculo de la DFT, ya que las estructuras necesarias para implementar
la DFT inversa son similares (
unicamente se diferencian en los coeficientes
multiplicativos). Adem
as, la DFT inversa se puede incluso calcular utilizando
el algoritmo r
apido de c
alculo 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 u
nicamente en el factor 1/N y en
2
el signo de la exponencial ej N k , como puede observarse comparando
las ecuaciones de an
alisis y sntesis (2.12 y 2.13). Por tanto, se podra
realizar la DFT inversa usando una FFT y utilizando la expresion (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
x[n]

DFT

X[k]

61

2.7. La FFT

entonces
DFT

X[k]

N x[((n))N ]

0nN 1

Basandonos en esta expresi


on podemos obtener x[n] utilizando un algoritmo 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
on 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
on 2.7.3, son mas eficientes si la DFT a
calcular es de N puntos, con N potencia de 2 (N = 2 Z). Sin embargo,
en la seccion 2.7.5 veremos una generalizacion 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
on de analisis de la DFT,
X[k] =

N
1
X

x[n] WNk n

n=0

se separa el sumatorio en terminos de n par e impar, resultando:


X[k] =

X
n

N
2

par

N
2

x[2 r] WN2 r k

r=0

X[k]-

( )

x[n] WNk n +

- FFT

x[n] WNk n =

impar

(2 r+1) k

x[2 r + 1] WN

r=0

( )

1
N

x[n]-

Figura 2.11: FFT inversa usando la FFT directa.

62

CAPTULO 2. TRANSFORMADA DISCRETA DE FOURIER

x[0] b -

x[2] b -

G[0]
0 - b
1
DFTN/2

x[4] b -

x[6] b -

x[1] b -

x[3] b -

1
DFTN/2

x[5] b -

x[7] b -

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

H[3]

WN7

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


on inicial.

A a

-a

aB

B =aA

A a

aB

B=A

A a

a
 C




*

C =A+B

a 
B 

Figura 2.13: Smbolos utilizados en los diagramas de bloques del algoritmo FFT.

Si se tiene en cuenta que:


WN2 = W N
2

63

2.7. La FFT

resulta:
N
2

X[k] =

X
r=0

N
2

rk
x[2 r] W N
+
2

r=0

rk
k
x[2 r + 1] W N
WN

llamando:
N/21

G[k] =

rk
x[2 r] WN/2

r=0
N/21

H[k] =

rk
x[2 r + 1] WN/2

r=0

se obtiene la nueva ecuaci


on de an
alisis reducida.
X[k] = G[k] + H[k] WNk

(2.15)

Observese 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 ecuacion (2.15) es valida 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 periodicas
en k, de periodo N/2.
La figura 2.12 muestra c
omo sera el calculo 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 estan especificados en la
figura 2.13.
El n
umero de operaciones necesarias para llevar a cabo la DFT de la forma
mostrada en la figura 2.12 ser
an las necesarias para realizar dos DFTs de 4
puntos y 8 productos complejos. Generalizando a una DFT de N puntos, el
n
umero de operaciones (productos complejos) sera:


N
2

2

+N =N +

N2
productos complejos
2

es decir, las necesarias para realizar dos DFTN/2 mas N productos.


Si N > 2 N + N 2 /2 < N 2 , as pues, se demuestra que con este metodo el
n
umero de operaciones ser
a menor (si N > 2) que con el metodo 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
as, aplicamos a las exponenciales que aparecen en figura 2.15 la
k
propiedad WN/2
= WN2k , obtenemos la figura 2.16 en la que todas las exponenciales aparecen expresadas en la misma base (WN ).

64

CAPTULO 2. TRANSFORMADA DISCRETA DE FOURIER

Iterando, se podra 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.

x[0] c x[2] c -

G[0]
0
0 - c
@
DFTN/2
G[1] @
1
1 - c @ -

c X[0]

WN0

c X[1]
@
@
R
WN1
@
@ 
@
@
@
@
R
@
@
@
@ c X[2]
c
0
0
@ H[0]
2
@ WN
DFTN/2
@
@ c X[3]
1
1 - c


x[1] c x[3] c -

H[1]

WN3

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

65

2.7. La FFT

x[0] c x[4] c -

x[2] c x[6] c -

x[1] c x[5] c -

x[3] c x[7] c -

0
0 DFTN/4
1
1 -

0
0 DFTN/4
1
1 -

0
0 DFTN/4
1
1 -

0
0 DFTN/4
1
1 -

c
c
cX[0]
@
@
0
0
R
@
WN
WN/2 @
@
c
c
c
@
@
X[1]
@
@
@
1
 1@
R
@
WN
@
@
@ WN/2 @
R
@
@
@
@
@
@
@
@
@
@c
cX[2]
c
@
@ 2 @
@
R
@
W
2
WN
@
@ N/2 @
@
@
@
@c
c
cX[3]
@
@
3 @
@
@
@
WN/2
3
@
@
@ WN
@
R
@
@
@
@
@
@
@
@
@
@ cX[4]
c
c
@
@
4
@
@
R
@
W
0
R
@
@ N
@
@
WN/2
@
@
@
@ cX[5]
c
c
@
@ @
@
@
@
WN5
1
R
@
@
@
@
@ WN/2
@
@
@
@
@
@
@
@
@ cX[6]
@c
c
@
@ 2
6
W
@WN
@ N/2
@
@
@ cX[7]
@c
c
3
WN/2

WN7

Figura 2.15: Algoritmo FFT de diezmado en el tiempo (N = 8): resultado de descomponer las DFTs de N/2 en DFTs de N/4.

El n
umero de operaciones (productos complejos) del algoritmo FFT, desarrollado hasta las DFTs de 2 puntos (como el de la figura 2.18) sera:3
N productos N umetapas = N log2 N
etapa

En la figura 2.18 se observa tambien 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
umero de operaciones calculado es para c
alculos generalizados, pero particularizando
se podran optimizar m
as, por ejemplo, eliminando la multiplicaci
on por coeficientes que
valen la unidad. Por contra, no est
an contabilizadas las operaciones de control (por ejemplo
el control de las iteraciones de los bucles). No obstante la mayora de los DSPs tienen
arquitecturas que hacen que el coste computacional de estas operaciones sea nulo.

66

CAPTULO 2. TRANSFORMADA DISCRETA DE FOURIER

x[0] c x[4] c -

x[2] c x[6] c -

x[1] c x[5] c -

x[3] c x[7] c -

0
0 DFTN/4
1
1 -

0
0 DFTN/4
1
1 -

0
0 DFTN/4
1
1 -

0
0 DFTN/4
1
1 -

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

WN6

WN7

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


etapas finales.
x[0] b-

b
X[0]
@
R
@
0
@  WN = 1
@
@
-@ X[1]
b
x[1] b
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 calculo mas basica y recibe
el nombre de mariposa, debido a su forma.

67

2.7. La FFT

b X[0]
b
- b1 @

PP
@
0
0 @
R

0

W
W
 N
 PPPN
WN @
@

Pb
b X[1]
b
- b- @
@
@
@
1
WN4
R
@
@
@ 
WN
W2
@
R
@
@ N @
@
@
@
@
@
@
b X[2]
b
b
bP
@
@

q
PP
1

@

4
R
@
PP 0
@
@
@
2
WN
WN
@
WN
 P P
@
@
@

P
@b- @
Pb
b X[3]
b
@
@
@
3
WN6 @
WN4
@
@
@
@ WN
R
@
@
@
@
@
@
@ -@ b
bP
b
- b
@

q
PP - 
1 @
@
@ W 4 X[4]
R
@
PP 
@
0 @
R

0

W
@
@ N
 PPPN
WN
@
@
Pb
b
b -@ b X[5]
@
@
@
@
@
WN5
WN4
R
@
@ 
2
@
W
@
@
N
@
@
@
@
@
@ -@ b
@
b
bP
b
@

q
PP
1

@ W 6 X[6]
4
PP
@WN
0

W
P
@ N

PPN
@
@b
Pb
b -@ b X[7]

x[0] bP
q
PP x[4]

x[2]
x[6]

x[1]
x[5]

x[3]
x[7]

WN7
WN6
WN4
Figura 2.18: Algoritmo FFT de diezmado en el tiempo (N = 8).

Si se tiene en cuenta que:


N

2 N
)2

WN2 = ej( N
r+ N
2

y por tanto el factor WN


por:

que aparece en la mariposa puede ser sustituido

r+ N
2

WN

= ej

= WN2 WNr = WNr

el calculo de la mariposa de la figura 2.19 puede simplificarse, resultando la


bb
@
R
@
WNr
@ 
etapa m
etapa m 1 @
@
-@ b
b
r+ N
2

WN

Figura 2.19: Grafo de una mariposa generica de la figura 2.18.

68

CAPTULO 2. TRANSFORMADA DISCRETA DE FOURIER

de la figura 2.20, la cual requiere u


nicamente un producto complejo en lugar
de dos para calcular los dos valores de salida.
a- aR
@

etapa m 1

Wr

a- N a

a
etapa m
@
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 simplificacion se consigue reducir el n
umero de
operaciones finales por un factor 2, ya que el n
umero de productos complejos
a realizar en cada mariposa se reduce a la mitad. As, el n
umero de operaciones
totales queda reducido a:
num. de ops =

N
log2 N
2

b- b
x[0] b- bP
qP P
1



P
@
R
@
P
0
PP

@
W
P
b
b
b
b

N
x[4]
1
@
R @
@

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


@ 1


P
PP
@
PP bWN0 b
WN2b
@ bx[6] b-

b
- bX[0]
@

b @
- bX[1]
@ @

@ @
@
@
b
- bX[2]
@ @
@

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


@
@

1
@

P
@
R
@

@
P
@
@
PP
@
R
WN0 b
WN1 b
P b- b @
- bx[5] b@ @@ -@ bX[5]
@
1
1
@
R
@

@ @@
@ @
@ @@
@ W2
0
@
@
@
R
W
@ @ bX[6]
@ b- N b
b- Nb
x[3] b- bP
qP P
1


@
@ 1

1
@

P
P
@
@ W3
PP
@
R
WN0 b
WN2b
@ bX[7]
@ b- N b
P bx[7] b-

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


mariposas simplificada.

69

2.7. La FFT

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
no 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]:
X[k] =

N
1
X

x[n] WNn k

n=0

Si separamos X[k] en dos subsecuencias de coeficientes en funcion del valor de


k, tenemos:
k par k = 2 r X[2 r] =

N
1
X

x[n] WNn 2 r

(2.16)

n=0

k impar k = 2 r + 1 X[2 r + 1] =

N
1
X

n (2 r+1)

x[n] WN

(2.17)

n=0

Empezaremos el estudio por los valores que ocupan una posicion par en la
secuencia de coeficientes de la DFT. Separando el sumatorio de la ecuacion
(2.16) en dos sumatorios tenemos:
N/21

X[2 r] =

nr
x[n] WN/2
+

n=0

N
1
X

nr
x[n] WN/2

n=N/2

Arreglando el segundo sumatorio para que ambos tengan los mismos lmites,
se obtiene:
N/21

N/21

X[2 r] =

X
n=0

nr
x[n] WN/2
+

X
n=0

r (n+N/2)

x[n + N/2] WN/2

70

CAPTULO 2. TRANSFORMADA DISCRETA DE FOURIER

x[0] c

- g[0]
c

0 -

cX[0]


c
- g[1]

1 -

cX[2]


- g[2]
c

2 -

cX[4]


- g[3]
c

3 -

cX[6]

0
W
-N

0 -

cX[1]

1
W
-N

1 -

cX[3]

@
@

x[1] c

@
@

x[2] c
@

@
@

@
@

x[3] c
@

@
@

@
@

x[7] c

@
@


@

@
@
@
R
@
@
@ @
@
@h[0]
c
@
@
@
@
1
@
@
@
R
@
@
@ @
@
@h[1]
c
@
@
@
1
@
@
R
@
@ @
@
@h[2]
c
@
@ 1
@
@
R
@
@
@h[3]
c
-

x[6] c

@
@

x[5] c

@
@

x[4] c

DFTN/2

DFTN/2

2
W
-N

2 -

cX[5]

3
W
-N

3 -

cX[7]

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


on inicial.

Aplicando la propiedad de periodicidad de las exponenciales


N/21

N/21

X[2 r] =

nr
x[n] WN/2
+

rn
x[n + N/2] WN/2

n=0

n=0

N/21

X[2 r] =

nr
(x[n] + x[n + N/2]) WN/2

n=0

La exponencial es peri
odica, de periodo N/2, por lo que:
r (n+N/2)

WN/2

rn
= WN/2

(2.18)

71

2.7. La FFT

Procediendo de la misma forma con los coeficientes de orden impar, desarrollaremos la ecuaci
on (2.17), obteniendo:
N/21

X[2 r + 1] =

nr
x[n] WN/2
WNn +

n=0

N
1
X

nr
x[n] WN/2
WNn

n=N/2

Arreglando los lmites de los sumatorios:


N/21

X[2 r + 1] =

N/2
nr
x[n] WN/2
WNn

n=0

(n+N/2) r

x[n + N/2] WN/2

n+N/2

WN

n=0

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


N/21

X[2 r + 1] =

N/2
nr
x[n] WN/2
WNn +

n=0

n+N/2

nr
x[n + N/2] WN/2
WN

n=0

x[n]
6
HH
H

N/2

6
-

N/2 1 n

+m- g[n]
?

6
HH
H

6
-

N/2 1 n

6
-

N/2 1 n
6
H

+ ?

m- h[n]
6
HH

N/2 1 n

Figura 2.23: Obtenci


on de g[n] y h[n] a partir de x[n].

72

CAPTULO 2. TRANSFORMADA DISCRETA DE FOURIER

n+N/2

Teniendo en cuenta que WN

= WNn :

N/21

X[2 r + 1] =

N/2
nr
x[n] WN/2
WNn +

n=0

nr
x[n + N/2] WN/2
(WNn )

n=0

Finalmente, se obtiene la expresi


on (2.19) que nos permite obtener los coeficientes impares de X[k] a partir de muestras de x[n]
N/21

X[2 r + 1] =

nr
(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.
Graficamente, puede observarse en la figura 2.23 como se obtendran g[n] y
h[n] a partir de x[n].
N/21

X[2 r] =

nr
g[n] WN/2

(2.20)

n=0
N/21

X[2 r + 1] =

nr
(h[n] WNn ) WN/2

(2.21)

n=0

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


frecuencia sera el de la figura 2.22. De la misma manera que en los algoritmos
de diezmado en el tiempo, se podra 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 practicas a tener en
cuenta a la hora de implementarlos, como:
Cantidad de memoria utilizada en la implementacion del algoritmo, la
cual se minimiza con los algoritmos en el sitio.

73

2.7. La FFT

x[0] b- bP
PP q

b1



P
P
W 0  PPP bx[4] b- N b -

b
- b@
R
@

- bb @
1
@
R @
@

@ @
0
@ @W
@ bx[2] b- bP
 b- Nb
qP P
@ 1
1




P
P
@
W 0  PPP bWN2 b
@ bx[6] b- N b -

b
- bX[0]
@

- bX[1]
b @
@ @

@ @
@
@
b
- bX[2]
@ @
@
@
@

- bX[3]
b @
@ @
@
@
1
1
@
@ @ 
@
@ @
@ @
@
@
0
@
@
@
@
R
@
W
@ bX[4]
b- b
- b- N b
@
x[1] b- bP

qP P
@
1

@


@
1

@
P
R
@
@

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

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

@


@
1
1

P
P
@
@
@
R
@
W 0  PPP bWN2 b
WN3 b
@ b@ bX[7]
x[7] b- N b 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
on de los datos de entrada al algoritmo.
Formas alternativas de realizar el algoritmo FFT.
Minimizaci
on de los c
alculos de las exponenciales involucradas en el proceso 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
umero
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

CAPTULO 2. TRANSFORMADA DISCRETA DE FOURIER

Xm1 (p) c -

c@
R
@
@

c Xm (p)

@

Wr
Xm1 (q) c - N c

@
@
1
- @ c Xm (q)

Figura 2.25: Obtenci


on 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 solo se necesita
el vector con los resultados de la etapa anterior y el correspondiente a los
resultados que se est
an 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-esimo del vector
de salida de la etapa m-esima. En la primera etapa, X0 sera la secuencia de
entrada x[n], mientras que en la u
ltima, X seran los coeficientes de la DFT.
En la figura 2.25 puede observarse que para obtener los valores de cualquier par de elementos de una etapa (Xm (p) y Xm (q)) solo se necesitan los
valores de los elementos que est
an en la misma posicion en el vector de la
etapa anterior (Xm1 (p) y Xm1 (q)). Por este motivo, de los dos vectores que
necesitabamos inicialmente para implemtar el algoritmo, podemos prescindir
de uno. As, el almacenamiento necesario en el programa sera solamente un
vector de complejos junto con una variable auxiliar. Los calculos realizados de
esta forma reciben el nombre de c
alculos en el sitio, ya que los resultados se
almacenan en el mismo vector que contena 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
alculos en el sitio. Este tipo de estructuras ha sido propiciado por
el hecho de que los datos de entrada estan 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

75

2.7. La FFT

n2

n1
-0

-0
-1

x[n2 n
-1 n0 ]
-0
-1
-1

n0
-0

x[000] = x[0]

-1

x[001] = x[1]

-0

x[010] = x[2]

-1

x[011] = x[3]

-0

x[100] = x[4]

-1

x[101] = x[5]

-0

x[110] = x[6]

-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 combinacion de estos tres bits.
La forma de ordenaci
on m
as normal es el orden natural, mostrado en la
figura 2.26, el cual consiste en ir dividiendo la secuencia en funcion del valor
de estos tres bits, empezando por el m
as significativo (n2 ); es decir, si n2 es 0
la muestra quedar
a ordenada en una mitad, si es 1 en la otra. A continuacion
se repite el proceso en ambas mitades, pero observando ahora el bit n1 . Finalmente 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 filosofa de ordenacion es la misma que en el orden natural pero el sentido de la misma es del bit menos significativo (n0 ) al mas
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 muestras pares (mitad superior) e impares (mitad inferior), lo cual equivale a una
separacion de las muestras examinando el LSB (n0 ), es decir, las muestras
con n0 = 0 (pares) quedar
an ordenadas en la mitad superior y las que tienen

76

CAPTULO 2. TRANSFORMADA DISCRETA DE FOURIER

n0

n1
-0

-0
-1

x[n2 n
-1 n0 ]
-0
-1
-1

n2
-0

x[000] = x[0]

-1

x[100] = x[4]

-0

x[010] = x[2]

-1

x[110] = x[6]

-0

x[001] = x[1]

-1

x[101] = x[5]

-0

x[011] = x[3]

-1

x[111] = x[7]

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

n0 = 1 (impares) pasar
an a la mitad inferior. Para las dos subsecuencias obtenidas se debe repetir el mismo proceso (N veces), hasta obtener subsecuencias
de un solo elemento (figuras 2.17 y 2.15). As pues, la ordenacion 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 (figuras 2.18 y 2.21) podemos darnos cuenta que podramos cambiar el orden de los
datos de entrada al algoritmo FFT siempre y cuando, con la nueva ordenacion,
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 calculos 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 podra
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 u
tiles en procesos en los que haya que concatenar FFT e FFTi, por ejemplo un filtrado (figura 2.29). De esta forma se pueden evitar varias ordenaciones

77

2.7. La FFT

x[0] b x[1] b x[2] b x[3] b W0


x[4] b - N
W0
x[5] b - N
x[6] b

WN0
-

W0
x[7] b - N

b
@

b
- b
@

@ 
@
b
b
b
@- b
@
@
@
@
@


R
@
WN0 b @ -@
@
@
@b
b
b
@
@
@
1
@
@
@

@
R
@
@
W0
@
@b
b
-@
@- b - N b
@
@
1
@
@
@
@
R
@
@
@
@
@b b
b
- b
@
@
@
1
@
@
@
@
R
@
@ 
@
@
b
b
@- @ b @- b
@
1
@
@
@

@
R
@
R
@ @
@ W2
@
b
@- @ b - N b
@- @ b
1
1
@
@
R
@
R
@
WN2 b
@b @b
b
-@
-@
-

b -

b
- b X[0]
H

*

H 
H

H
WN0 b jH
H
H b X[4]
-

bH
- b X[2]

*

H 
H
H
2
WN b -H
jH
H b X[6]
-

bH
- b X[1]

*

H 
H
H
1
WN b -H
jH
H b X[3]
-

- b X[5]

*

H 
H

3
H
WN b -H
jH
H b X[7]
-

bH

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


entrada en orden natural.

orden
orden
natural
natural
Relleno
- FFTN
con 0
x[n]
h[n]- Relleno
- FFTN
con 0
orden
orden
natural
natural

orden
bit inverso
?

- FFT1

N
orden

bit
inverso
6

orden
natural

orden
bit inverso

Figura 2.29: Filtrado utilizando FFTs.

de la secuencia, proceso que puede resultar cada vez mas lento a medida que
N crece.
Ademas 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

CAPTULO 2. TRANSFORMADA DISCRETA DE FOURIER

C
alculo 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 calculo es un proceso que debe ser optimizado. Para ello se utilizan dos
metodos diferentes:
Uso de una tabla: calcular previmente todos los coeficientes necesarios
para implementar el algoritmo y guardarlos en una tabla. Este metodo
minimiza el tiempo de c
alculo, pero necesita memoria para almacenar la
tabla.
Calculo recursivo: consiste en calcular los coeficientes cuando sean necesarios. En una etapa dada todos los coeficientes necesarios son m
ultiplos
de WN . Para optimizar se aplica la siguiente formula recursiva:
(l1)

WNl = WN WN

es decir, para obtener el l-esimo m


ultiplo de WN se necesita esta base y el u
ltimo coeficiente calculado. Este metodo minimiza la memoria
necesaria optimizando tambien el tiempo de calculo. Sin embargo, hay
que tener en cuenta que los coeficientes sufren un error de cuantificacion
al almacenarlos, el cual se ir
a acumulando al ir aplicando la recursion,
haciendose inaceptable si N crece mucho. Este problema tiene un peque
no arreglo introduciendo puntos de inicializacion en la recursion, por
N

ejemplo WN4 = j.

2.7.5.

Algoritmos con N 6= 2

Hasta ahora hemos visto u


nicamente algoritmos rapidos de calculo de la
DFT si la secuencia sobre la que se quiere realizar tiene un n
umero 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, seran los siguientes:
1. Descomponer el n
umero de puntos en factores primos N = n1 n2 . . . nL .
2. La DFT de N puntos se divide en n1 DFTs de N/n1 combinandolas por
medio de unas operaciones auxiliares.
3. Cada DFT de N/n1 puntos se dividen en n2 DFTs de N/(n1 n2 ) puntos.

79

2.7. La FFT

4. El proceso continuara hasta tener que implementar DFTs de nL puntos,


las cuales habra que realizarlas por el metodo directo, por eso interesa
que nL sea el factor m
as peque
no.
El caso optimo de este algoritmo general sera que todos los factores fueran
iguales e igual, a su vez, al factor primo menor, es decir, n1 = n2 = . . . = nL =
2; este sera el caso visto en secciones anteriores N = 2 . El caso peor sera
que N fuera un n
umero primo, ya que entonces no se podra descomponer en
factores y habra que calcular una DFT de N puntos por el metodo directo.
Vamos a ver un ejemplo que nos ayudara a comprender como se extenderan
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.
X[k] =

N
1
X

x[n] WNk n

n=0

Separando las muestras en las situadas en 3, 3 +1 y 3 +2, tenemos5 :


N
3

X[k] =

N
3

x[3 r] WN3 r k

r=0

N
3

x[3 r +

(3 r+1) k
1] WN

r=0

(3 r+2) k

x[3 r + 2] WN

r=0

siendo
rk
WN3 r k = W N
3

tenemos finalmente que:


N
3

X[k] =

X
r=0

N
1
1
3
X
X
rk
r k
r k
k
2k
x[3 r] W N
x[3 r + 1] W N
x[3 r + 2] W N
+
WN +
WN
3

N
3

r=0

r=0

(2.22)
N
3

En la ecuaci
on (2.22) puede observarse que

X
r=0

N
3

N
3

rk

x[3 r] W N ,
3

rk
x[3 r + 1] W N

r=0

rk
, son DFTs de N/3 puntos combinadas entre s por coefix[3 r + 2] W N
3

r=0

cientes exponenciales m
ultiplos de WN . Este proceso debe iterarse hasta obtener DFTs simples de 3 puntos. Con esto queda visto que el algoritmo general
5

La notaci
on 3 indica m
ultiplos de 3.

80

CAPTULO 2. TRANSFORMADA DISCRETA DE FOURIER

conserva la misma idea que los algoritmos de diezmado en el tiempo (idem para 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 sera mixta.

2.8.

Problemas

1. Demuestre las propiedades de la seccion 2.3.


2. Sea x[n] una se
nal real de duracion N . Se define la se
nal x1 [n] de la
siguiente forma:
(

x1 [n] =

x[n]
0nN 1
x[2N 1 n] N n 2N 1

Dibuje una se
nal 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] = ejk/2N X1 [k]
es real.
Encuentre que simetras existen en los valores de Cx [k].
Demuestre que se puede obtener x[n] a partir de Cx [k],
0, . . . , N 1 e indique c
omo. 6

k =

3. Considere que x[n] sea una se


nal real y par que sea no nula en el intervalo
n = M, . . . , M . Indique de que se
nal z[n] (no nula de n = 0, . . . , N 1
habra de calcularse la DFTN para que los N valores obtenidos constituyan muestras de X(ej ).
4. Demuestre que para una secuencia de N muestras, y su correspondiente
DFT de N muestras se cumple:
1
1 NX
|X[k]|2
|x[n]| =
N
n=0
k=0

N
1
X

5. Sean dos se
nales de duraci
on finita x[n] e y[n] tal que
(

x[n] =

x[n] si 0 n 19
0
resto

y[n] =

A Cx [k] se le denomina Transformada del coseno.

y[n] si 0 n 4
0
resto

81

2.8. Problemas

a) Cu
al es el m
aximo n
umero posible de valores distintos de 0 en el
resultado de la convoluci
on lineal entre x[n] e y[n]? b) La convolucion
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 convolucion lineal de x[n] e y[n] son:


x[n] y[n] = 4

0n3

Determine el valor del m


aximo n
umero posible de puntos de la convolucion lineal entre x[n] e y[n].
6. Determine el n
umero medio de operaciones por muestra en los metodos
solape-suma y solape- almacenamiento usando FFTs.
7. Indique c
omo generalizar el metodo de diezmado en frecuencia al caso

N = 3 . Indique cu
anto vale el n
umero 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
on 2.7.5).Cual sera en este caso el orden de los
datos de entrada?. Cu
antas operaciones por etapa se realizan? Cuantas
operaciones totales?.
11. Determine el n
umero de operaciones a realizar para implementar el algoritmo FFT de diezmado en el tiempo cuando N = a siendo a, Z.

82

CAPTULO 2. TRANSFORMADA DISCRETA DE FOURIER

Captulo 3

Implementaci
on de Filtros
Digitales
3.1.

Introducci
on

En este tema se estudian los filtros digitales desde el punto de vista de su


implementaci
on. Es decir, partiendo de su funcion de transferencia, H(z), se
tratan las tecnicas para llevar a la realidad el filtro. Aunque el enfoque del tema
es generico en cuanto a la tecnologa (hardware cableado o programado), en
algunas secciones se tratan aspectos especficos de dispositivos programables
para tratamiento de se
nal (DSP).
Tambien se estudian en el tema los efectos de precision finita en filtros
digitales.

3.1.1.

Aplicaciones de los filtros

Los filtros, sean estos digitales o analogicos, tienen un gran n


umero de
aplicaciones. En este punto veremos algunas de ellas que permitan ilustrar
brevemente el gran n
umero de aplicaciones que poseen los conceptos que se
iran 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
uan modificando la amplitud y fase de las componentes sinusoidales de una se
nal.
Recordemos que cualquier se
nal puede considerarses como suma de sinusoides a traves de la transformada de Fourier. Este hecho es usado en
distintas aplicaciones que veremos a continuacion para:
83

84

DE FILTROS
CAPTULO 3. IMPLEMENTACION

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 relacion
entre la entrada y la salida de un filtro viene dada por la convolucion.
Notemos que la convoluci
on indica que la se
nal de salida, para un cierto instante, no es otra cosa que una suma (finita o infinita) de valores
ponderados de la entrada en ciertos instantes (normalmente proximos).
En funci
on de los coeficientes de ponderacion, que dependen de la respuesta impulsional, encontraremos filtros que realizan un promedio en
un determinado intervalo de tiempo, o que buscan las transiciones en el
mismo,. . .
Pasemos a continuaci
on a revisar algunas de las posibles aplicaciones y
observemos c
omo siempre corresponden a una de las dos formas anteriores de
considerar las se
nales.
Limitaci
on del ancho de banda En telecomunicacion, existe muy a menudo la necesidad de limitar el ancho de banda de las se
nales. Algunos
ejemplos de esta necesidad los encontramos en:
Multiplexado por divisi
on en frecuencia. Mediante esta tecnica se
comparte un mismo medio fsico para transmitir diversas se
nales.
Para ello se desplaza cada una de las se
nales 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
nales 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
an. 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
nales.
Multiplexado por divisi
on en tiempo. La idea es tambien transmitir
por un mismo medio fsico diversos mensajes, aunque en este caso
la forma de realizarlo es mediante la transmision cclica de muestras 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
nales, antes de ser muestreadas, sea menor que la mitad de la
frecuencia de muestreo.

3.1. Introducci
on

85

Separaci
on de se
nales multiplexadas en frecuencia Tal y como se acaba de mencionar, cuando se multiplexan se
nales en frecuencia, cada una
de ellas ocupa una banda de frecuencias diferente. Para extraer una se
nal
es necesario el uso de un filtro que deje pasar la banda de frecuencias
ocupada por la misma y aten
ue el resto. Si se desean obtener todas las
se
nales ser
a necesario el uso de banco de filtros.
Controles de tono en audio De todos son conocidos los controles de graves y agudos de los equipos de audio. Estos controles no son otra cosa
que filtros cuyas caractersticas 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 mas flexible la respuesta en frecuencia. Consisten normalmente en agrupaciones en cascada o paralelo de filtros paso-banda centrados en distintas frecuencias
en los que es posible variar su ganancia. Dado que permiten variar individualmente la respuesta en frecuencia en un n
umero mas grande de
frecuencias, permiten un control mas exacto de la respuesta en frecuencia
que los controles de tono.
Interpolaci
on y diezmado de se
nales discretas Esta es una aplicacion
tpica de los filtros digitales. Recordemos que la se
nal debe ser prefiltrada antes de ser diezmada, y cuando se interpola hay que filtrar la
se
nal tras el relleno por ceros.
Conversi
on D/A Para eliminar las frecuencias imagen, es necesario el uso
de un filtro reconstructor tras la conversion D/A.
La anterior relaci
on no pretende ser exhaustiva y u
nicamente pretende ilustrar
algunas de las aplicaciones m
as conocidas de los filtros.

3.1.2.

Ventajas e inconvenientes de los filtros digitales

A la hora de plantearse la realizacion de un filtro, hay que realizar una


primera elecci
on en cuanto a si el dise
no lo realizaremos de forma analogica
o digital. Cada una de estas alternativas presenta ventajas e inconvenientes,
siendo mision del ingeniero que realice el dise
no decidir la mejor opcion en
cada caso.
De entre las ventajas de los filtros digitales podemos citar:
Posibilidad de lograr fase lineal exacta.

86

DE FILTROS
CAPTULO 3. IMPLEMENTACION

Insensibilidad a condiciones externas, especialmente la temperatura. No


precisan calibraci
on ni compensaciones.
Posibilidad de filtrar varias se
nales a la vez. Dado que normalmente
se implementan mediante programas en un microprocesador (DSP), es
posible filtrar varias se
nales sin mas que a
nadir conversores A/D y D/A
extra de modo que se puede rentabilizar el uso del DSP.
Posibilidad de integraci
on. Dado que existen DSPs con conversores A/D
y D/A integrados, es posible integrar varios filtros en un u
nico chip.
Gran margen din
amico. En filtros analogicos es difcil lograr en la practica atenuaciones mayores de 6070 dB. En digital el lmite viene impuesto
por la calidad de los conversores A/D y D/A y el n
umero de bits usados
en la aritmetica del DSP.
Repetitividad. Un aspecto importante en la produccion en serie es el ser
capaz de realizar cientos o miles de filtros identicos. En el caso de filtros
digitales esto se logra sin m
as que ejecutar el mismo programa en cada
DSP. Con filtros anal
ogicos, y dado que todos los componentes tienen
una cierta tolerancia, esto es difcil de lograr especialmente si el orden
del filtro es alto.
Posibilidad de reprogramaci
on. Para cambiar la repuesta en frecuencia
del filtro basta con cambiar el programa que ejecuta el DSP. No sera necesario realizar un nuevo hardware.
Posibilidad de realizar funciones adicionales. Dado que normalmente la
capacidad de c
alculo 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 analogicos destinados a trabajar en muy bajas frecuencias precisan de capacidades e
inductancias grandes, lo que normalmente es problematico a la hora de
reducir el volumen y el coste. Los filtros digitales, tienen un comportamiento normalizado con respecto a la frecuencia, es decir, el filtro digital
trabaja de la misma forma con altas o bajas frecuencias analogicas 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:

87

3.2. Planteamiento general del filtrado digital

x[n]

y[n]

x(t)

y(t)
- A/D

6
fs

h[n]

- D/A

6
fs

Figura 3.1: Esquema de filtrado de una se


nal anal
ogica mediante un
filtro digital.

Calidad del A/D y el D/A. Cuando un filtro digital se usa para filtrar
se
nales anal
ogicas, (figura 3.1) es necesario un interfaz analogico. La
calidad en cuanto a n
umero de bits, linealidad, etc. de los conversores va
a condicionar mucho la calidad del filtrado analogico equivalente que se
logre.
Velodidad del A/D y el D/A. Para poder filtrar se
nales analogicas usando filtros digitales ya hemos dicho que se hace necesario un interfaz
analogico. En la medida en que se disponga de conversores suficientemente r
apidos y precisos se podra llevar a cabo el filtrado digital. Actualmente (1998) la tecnologa ofrece conversores de muy bajo coste y
alta calidad en frecuencias de audio (fs 45 Khz), donde es posible
encontrar conversores de m
as 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 tambien conversores A/D y D/A
para aplicaciones especiales capaces de trabajar a frecuencias muy elevadas (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
on.
Efectos de precisi
on finita. Se deben a redondeos en las operaciones que
realizan los filtros digitales. Se estudiaran a lo largo del tema.
Tiempo y coste del desarrollo del hardware. Un filtro digital implicara normalmente el desarrollo de un sistema microprocesador con interfaz anal
ogico.

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

DE FILTROS
CAPTULO 3. IMPLEMENTACION

La respuesta en frecuencia H(ej ).


La funci
on de transferencia H(z) mas una region 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 circunstancias:
Causalidad. Este requerimiento solo afecta a los sistemas que funcionan
en tiempo real. En aquellos casos en los que el filtro digital opere sobre
se
nales almacenadas previamente, o cuando la variable independiente
no sea el tiempo, este requisito no es necesario. No obstante nosostros
supondremos, salvo indicaci
on en contra, que los filtros seran causales.
Estabilidad. Aunque estrictamente no es necesaria, suele cumplirse siempre en los sistemas pr
acticos para evitar que la se
nal de salida crezca
indefinidamente. Pr
acticamente todos los filtros que estudiaremos seran
estables y salvo que se indique lo contrario asumiremos la estabilidad.
Cantidad de almacenamiento finita. Como veremos, un filtro digital calcula valores de la salida en funci
on de valores anteriores de la entrada y
de la propia salida. Para que el filtro no se colapse y pueda seguir funcionando 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
umero de operaciones por muestra a realizar debe
ser finito, es decir, no crecer con el tiempo. Esta condicion (y la anterior) imponen ciertas limitaciones a la hora de saber que filtros son
implementables y cu
ales no.
Los filtros anal
ogicos suelen implementarse con elementos circuitales que
dependen de la frecuencia, tpicamente bobinas, condensadores, lineas de transmision, . . . Los diferentes metodos de c
alculo de la salida y(t) en funcion de la
entrada x(t) tienen por tanto un car
acter analtico o de dise
no pero nunca de
implementaci
on.
Por contra, la expresi
on de la convolucion:
y[n] = x[n] h[n] =

h[k] x[n k]

(3.1)

k=

sirve no solo para analizar el comportamiento del filtro sino para implementarlo. Ello es debido a que la expresi
on (3.1) incluye u
nicamente productos y

89

3.2. Planteamiento general del filtrado digital

sumas que son realizables en un microprocesador. Si en dicha expresion (3.1)


imponemos la causalidad, resulta:
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
on (3.2) se convierte en:
y[n] =

L
X

h[k] x[n k]

(3.3)

k=0

Es facil 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
umero de operaciones por muestra de salida es finito podemos decir que los filtros FIR son
implementables, y que la expresi
on de la convolucion constituye una forma
directa de implementaci
on. Ya se han estudiado otras formas de implementar

filtros FIR como las vistas en el tema de DFT/FFT. Estas


no seran objeto
de tratamiento aqu. M
as adelante, estudiaremos otras formas de implementar
filtros FIR. Recordemos que la funci
on de transferencia de un filtro FIR causal
es de forma polin
omica:
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 funcion de transferencia (3.4) coinciden con los de la expresion (3.3) de filtrado.
Un aspecto importante que conviene tener presente y en el que luego se
insistira, es que un mismo filtro puede ser implementado de formas diferentes.
Podra surgirnos la pregunta Que interes puede tener conocer distintas implementaciones posibles de un mismo filtro? Si la aritmetica utilizada fuera de
precision infinita, es decir, si dispusieramos de un microprocesador con capacidad de manejar tama
nos de palabra infinitos, la respuesta a esta pregunta
sera ninguno. Ahora bien, si la aritmetica empleada es de precision finita,
puede tener ventajas el uso de una u otra implementacion.

DE FILTROS
CAPTULO 3. IMPLEMENTACION

90

Cuando el filtro digital se utilice para el filtrado de se


nales analogicas con
la configuraci
on mostrada en la figura 3.1, las muestras de la entrada seran
proporcionadas de forma secuencial al filtro digital. Para que pueda funcionar,
el tiempo necesario para realizar los c
alculos 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 ecuacion (3.2) siempre contendra un


n
umero infinito de terminos y por tanto no sera util a la hora de implementar
filtros. Existen no obstante algunos filtros IIR que permiten ser implementados
con un n
umero 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 tambien calculan la salida
normalmente de esta forma, aunque no existe ninguna razon 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:
y[n] =

L
X
k=0

bk x[n k] +

N
X

ar y[n r]

(3.5)

r=1

y siempre y cuando los valores de x[n] se vayan teniendo disponibles secuencialmente y los de y[n] se tengan que calcular del mismo modo (caso habitual),
podran ser implementados con un n
umero finito de operaciones por muestra.
La funci
on de transferencia de los sistemas IIR que se pueden escribir la
forma de la ecuaci
on (3.5) es:
H(z) =

b0 + b1 z 1 + + bL z L
1 a1 z 1 aN z N

(3.6)

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
an implementables con un n
umero finito de operaciones por muestra.

3.2. Planteamiento general del filtrado digital

3.2.3.

91

Proceso de implementaci
on de un filtro digital

En esta secci
on veremos cuales son los principales pasos que deberemos
seguir desde que decidimos construir un filtro digital hasta que lo tenemos
funcionando.
1. Obtenci
on de especificaciones. El primer paso de todo dise
no consiste
en establecer lo que se quiere realizar. Este primer paso no es en absoluto trivial, pues tiene influencia en el resto de procesos. En concreto
habra que tener en cuenta que:
Las especificaciones dependen de la aplicacion.
Las especificaciones pueden venir dadas por normas.
En general, cuanto m
as exigentes seamos con las especificaciones
mayor ser
a el coste del dise
no.
2. Dise
no del filtro. Consiste en obtener los coeficientes de H(z). A este
punto le dedicaremos un tema.
3. Selecci
on del hardware. En este punto existen varias opciones:
Hardware dedicado. Se trata de construir un circuito integrado especfico para realizar este filtrado. Normalmente solo 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 microprocesadores especializados para el tratamiento de se
nal en tiempo
real. Dentro de estos a su vez hay dos alternativas basicas:
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
atiles basadas en bateras. Existen versiones
con velocidades mayores de reloj. Como contrapartida el software es m
as costoso de programar, lo que incrementa el coste
de este aspecto. Un ejemplo tpico de aplicacion de este tipo de
DSP es en los terminales de telefona movil GSM.
DSP coma flotante. Tienen como principal ventaja la menor
dificultad del desarrollo del software.
La elecci
on 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
no), soporte del fabricante, precio unitario,. . .

DE FILTROS
CAPTULO 3. IMPLEMENTACION

92

4. Eleccion de la estructura del filtro. Una vez elegido el hardware es necesario realizar un programa que ante una muestra de la entrada calcule
una muestra de la salida. Existen diversas formas, que veremos mas adelante, todas ellas equivalentes con precision infinita en los calculos, para
calcular las muestras de la salida. Cada una de estas formas recibira el
nombre de estructura.
5. Analisis de los efectos de precision 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 aritmetica de precision infinita.
6. Implementaci
on del hardware incluyendo interfaz analogico. Sera basicamente un dise
no digital con microprocesador.
7. Implementaci
on del software. Consiste en programar en el lenguaje adecuado 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 codigo. No obstante, sobre todo
en dise
nos crticos, muchas veces se prefiere la programacion directa en
ensamblador ya que de esta forma el codigo puede ser optimizado mas.

3.3.

Implementaci
on 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
nal cualquiera de entrada x[n] vaya calculando las muestras de la se
nal
filtrada y[n]. As mismo, en esta secci
on veremos los efectos de precision finita
sobre los filtros digitales.

3.3.1.

Diagramas de flujo

Consideremos, por ejemplo, el caso de un sistema IIR causal. La ecuacion (3.5) que reproducimos a continuacion expresa una forma de implementar
el filtrado. En otras palabras, expresa explcitamente que operaciones hay que
realizar para calcular de forma recursiva la salida.
y[n] =

L
X
k=0

bk x[n k] +

N
X

ar y[n r]

(3.7)

r=1

Resulta u
til realizar una representacion grafica de las operaciones que expresa la ecuaci
on (3.7). Para ello utilizaremos los denominados diagramas de

93

3.3. Implementaci
on de filtros digitales

flujo o grafos. Un diagrama de flujo es una red de ramas dirigidas que interconectan nodos. Los nodos corresponden normalmente a variables y tienen
asociado un cierto valor. Las ramas son conexiones orientadas que en su origen
estan conectadas a un nodo del que toman su valor, y tras aplicarle una cierta
operacion 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
-

Figura 3.2: Rama multiplicativa.

Retardo Los valores de los nodos deben ser recalculados cada vez que llega 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).
b

1
z-

Figura 3.3: Rama Retardo.

Conexi
on 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 funcion de transferencia de la misma.
En cuanto a los nodos ser
an los puntos donde confluyan ramas. Distinguiremos los siguientes tipos de nodo:
Nodo fuente A el no entran ramas, u
nicamente salen. Suele corresponder
con generadores o fuentes de se
nal.
Nodos sumidero De el no salen ramas, u
nicamente entran. Suelen corresponder 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.

DE FILTROS
CAPTULO 3. IMPLEMENTACION

94
x[n]
r

0
-

z 1 ?
r

1
-

y[n]

z 1
?
a1

*



rX
y
X

z 1

z 1

XX

x[n 1] 

?
r

2
-

z 1 ?
r

3
-

z 1 ?
r

4
-

y[n 1]

a2


z 1
?
a3


z 1
?
a4


Figura 3.4: Representaci


on mediante diagrama de flujo de las operaciones para implementar un filtro IIR en forma directa I. La figura se
ha particularizado para L = N = 4.

Una vez definidos los elementos b


asicos de un grafo, veamos en la figura 3.4 la representaci
on gr
afica de la ecuacion (3.7). La misma muestra una
descripcion gr
afica 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 tambien las cadenas de elementos retardadores de la entrada y de la salida que permiten almacenar los
valores de instantes anteriores de ambas se
nales.

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
as, tras la permutacion, 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
alculos necesarios para determinar cada

95

3.3. Implementaci
on de filtros digitales

x[n]
r

a1


a2


a3


a4


y[n]
-

r
6

2
-

r
6

b3
-

z 1
?

6
r

z 1
?

6
r

r
6

b1

z 1
?

6
r

0
-

z 1
?

6
r

r
6

4
-

Figura 3.5: Representaci


on mediante diagrama de flujo de las operaciones 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 formas distintas de calcular las muestras de salida. Ambas son equivalentes con
precision infinita.
Los diagramas de flujo proponen una implementacion hardware directa de
los filtros digitales. N
otese que las cadenas de retardadores se pueden implementar con registros de desplazamiento y los sumadores y multiplicadores son
circuitos digitales combinacionales.
Tambien existen dispositivos anal
ogicos 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 tecnologa CCD empleados en los receptores de TV.
En cuanto a los filtros FIR, la ecuacion (3.3) permite dibujar el grafo de
la figura 3.6. Dicha estructura se corresponde con la llamada forma directa de
un filtro FIR. Tambien se le suele denominar filtro transversal.

DE FILTROS
CAPTULO 3. IMPLEMENTACION

96

x[n] r

1
z-

1
z-

1
z-

1
z-

h[0]
?

h[1]
?

h[2]
?

h[3]
?

h[4]
?

r y[n]

Figura 3.6: Forma Directa de un filtro FIR.

3.3.3.

Realizaci
on en Cascada

Dada la funci
on de transferencia racional de un filtro, es posible factorizarla:
L
Y

H(z) =

z 1

z L

(1 ck z 1 )

b0 + b1
+ + bL
= b0 k=1
1
N
1 a1 z aN z N
Y
(1 dk z 1 )

(3.8)

k=1

donde ck son los ceros de H(z) y y dk sus polos. Una vez realizada la factorizacion, 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 funcion
de transferencia:
H(z) =
=

1 0,8z 1 + 0,37z 2 0,05z 3


=
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 traves de esta factorizaci


on, es inmediata la implementacion que se muestra
en la figura 3.7.
Observese que:
En la figura 3.7 las secciones de orden 1 o 2 se han realizado con formas
directas II. Tambien podran haberse realizado con secciones en forma
directa I.
Aunque la relaci
on entrada-salida es la misma que si se hubiera implementado en forma directa el filtro de orden 3, los calculos intermedios
involucrados son diferentes.
El orden de las secciones podra ser cambiado. La relacion E/S no cambiara pero s las operaciones internas.

97

3.3. Implementaci
on de filtros digitales

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


podra haber emparejado el cero real con los polos complejos y haber
formado as una de las secciones.
Resumiendo, podemos decir que existen m
ultiples posibilidades de realizacion
en cascada todas ellas equivalentes con precisi
on infinita.
Los filtros FIR tambien admiten una realizacion en cascada.
r

x[n]

y[n]
z 1
?
-0.5


z 1
?

-0.2
-

-0.4


-0.6
-

z 1
?
0,2

0.25
-

Figura 3.7: Realizaci


on en cascada del ejemplo del texto.
r

x[n]

y[n]
z 1
?

6
r

0,9


0,4


0,1


r
6

0,37
-

z 1
?

6
r

z 1
?

6
r

0,8

r
6

0,05
-

Figura 3.8: Realizaci


on en forma directa II del ejemplo de la figura 3.7.

DE FILTROS
CAPTULO 3. IMPLEMENTACION

98

3.3.4.

Realizaci
on en paralelo

Consideremos la funci
on de transferencia H(z) de un filtro IIR de coeficientes reales:
L
X

H(z) =

bk z k

k=0
N
X

(3.9)
an z n

n=1

En el caso m
as general podemos descomponer la anterior expresion como suma
de fracciones simples:
H(z) =

Np
X
k=0

ck z k +

N1
X

2
X
Bk (1 ek z 1 )
Ak
+
1 dk z 1 k=1 (1 fk z 1 ) (1 fk z 1 )
k=1

(3.10)

donde:
El primer termino s
olo 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 termino existe u
nicamente si H(z) tiene polos reales. En ese
caso N1 es el n
umero de polos reales.
El tercer termino existe si H(z) tiene polos complejos. En ese caso N2
es el n
umero de pares de polos complejos conjugados.
Veamos un ejemplo que s
olo tiene polos reales:
H(z) =

1 + 2 z 1 + z 2
18
25
=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 realizacion en
paralelo.

3.3.5.

Formas transpuestas

Existe un teorema de la teora de grafos (cuya demostracion 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

99

3.3. Implementaci
on de filtros digitales

8
r

18
-

x[n]

y[n]
z 1
?
r

0.5


-25
-

z 1
?
0.25


Figura 3.9: Realizaci


on en paralelo del ejemplo del texto.

Notese 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 tena 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 como sera la forma directa
II de un filtro cuya funci
on de transferencia es:
H(z) =
r

b0 + b1 z 1 + b2 z 2
1 a1 z 1 a2 z 2

x[n]

(3.11)
-

y[n]
z 1
?

6
r

0,75


2
-

z 1
?

6
r

0,25


r
6

Figura 3.10: Realizaci


on en forma directa del ejemplo de realizaci
on
en paralelo de la figura 3.9.

DE FILTROS
CAPTULO 3. IMPLEMENTACION

100
r

0
-

x[n]

y[n]
z 1
?

6
r

a1


z 1
?

6
r

b1

a2


r
6

b2
-

Figura 3.11: Realizaci


on en forma directa II de la funci
on de transferencia de la ecuaci
on (3.11).

0
-

x[n]

y[n]
z 1
6

?
r

1
-

a1


?
r

z 1
6
b

2
-

a2


Figura 3.12: Forma transpuesta de la forma directa II de la funci


on
de transferencia de la ecuaci
on (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 operaciones intermedias realizadas son totalmente distintas en ambos casos. Aunque
no veremos una demostraci
on del teorema de transposicion de grafos, en la
seccion siguiente comprobaremos que la funcion de transferencia H(z) de la
forma transpuesta coincide con la original de la ecuacion (3.11).

3.3.6.

Determinaci
on de la funci
on de transferencia de un grafo

En esta secci
on presentaremos un procedimiento general de analisis de grafos que nos permitir
a determinar su H(z). Para centrar la explicacion utilizare-

101

3.3. Implementaci
on de filtros digitales

mos como ejemplo la forma transpuesta de la figura 3.12 de la que calcularemos


su funcion de transferencia.
Para analizar un grafo, los pasos a seguir son:
Asignar variables a los distintos nodos. El nodo de la entrada lo llamaremos 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
a la misma que la del nodo origen de la rama.
podemos reducir el n
umero 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 plantear tantas ecuaciones como nodos intermedios tengamos mas uno (de
la salida). En nuestro ejemplo:
y
v1
v2

Y (z) = b0 X(z) + V1 (z) z 1


V1 (z) = b1 X(z) + V2 (z) z 1 + a1 Y (z)
V2 (z) = b2 X(z) + a2 Y (z)
Finalmente, dado que tendremos una ecuacion menos que incognitas (la
entrada no tiene ecuaci
on), s
olo resta despejar la relacion Y (z)/X(z) =

0
-

b1
-

z 1
?

v1

a1


z 1
6

2
-

v2

a
 2

Figura 3.13: Forma transpuesta con variables asignadas a nodos.

DE FILTROS
CAPTULO 3. IMPLEMENTACION

102

H(z) para obtener la funci


on de transferencia. Realizando esto en nuestro
caso se obtiene:
H(z) =

Y (z)
b0 + b1 z 1 + b2 z 2
=
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
alculo

Los grafos indican las operaciones a realizar cada vez que llega una nueva 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
a 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
an 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 actualizacion:
Al comienzo de la subrutina, todas las variables se consideraran del instante n 1.
Cuando una variable se actualiza pasa a ser del instante n. A la salida
de la subrutina todas las variables se consideraran 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
on 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
nalado
los nodos. El procesador sobre el que se vaya a implementar el filtrado, en
estado normal estar
a sin hacer nada (IDLE). Supondremos que cuando el
A/D digitaliza una nueva muestra se genera una interrupcion. El programa
que realmente realiza el filtrado ser
a una rutina de interrupcion.
Inicialmente se est
a en estado de reposo. Este estado suele corresponder
a un modo de bajo consumo de los DSP. De este estado se sale u
nicamente
cuando se produce una interrupci
on (debida a la llegada de una muestra del

103

3.3. Implementaci
on de filtros digitales

6
r

a1


6
r

a2


v b
r 0 -0

z 1
?

v b
r 1 -1

z 1
?

v2

b2
-

Figura 3.14: Forma directa II con asignaci


on de variables a nodos.

VARS
ESPERAR:

x, y, v0 , v1 , v2
IDLE
GOTO ESPERAR

INTERR:
X=INPUT
V2=V1
V1=V0
V0=X+ A1 V1
V0=V0 + A2 V2
Y=B0 V0 + B1 V1
Y=Y+B2 V2
OUT (Y)
RTI

/* Leer muestra de A/D */

/*Sacar muestra al D/A */


/*Retorno de interrupcion*/

Figura 3.15: Programa en pseudoc


odigo que implementa la forma directa II de la figura 3.14.

A/D). Al llegar la interrupci


on se ejecuta la rutina de atencion de la misma
y se pasa a ejecutar la siguiente instruccion, que nos devuelve al estado IDLE
hasta que llegue una nueva muestra.
El programa que implementara los calculos de la figura 3.14 se muestra
en la figura 3.15. Existe una primera seccion con la declaracion de las varia-

DE FILTROS
CAPTULO 3. IMPLEMENTACION

104

bles necesarias, un peque


no programa principal y la rutina de atencion a la
interrupcion que es propiamente lo que nos interesa. Dicha rutina comienza
leyendo la nueva muestra del A/D. A continuacion hemos de actualizar el resto
de los nodos. Cabra preguntarse Por que se comienza por V2? La respuesta
sera: por eliminaci
on.
Si hubieramos empezado por V1 hubieramos perdido su valor en el instante anterior, que ya no habramos 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 u
nico orden posible es el que se muestra en la figura 3.15.
Ejemplo 2: Forma directa de un filtro FIR (versi
on 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 calculos que expresa la figura 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 calculos que se hacen en los filtros suelen ser de la forma Y =
Y + A B, es decir un producto y una acumulacion (MAC: Multiply and
Acumulate). La mayora de los DSP comerciales son capaces de realizar
estas operaciones en una u
nica instruccion.
El resto de las operaciones son simples desplazamientos de datos. Notese
que en este caso la cantidad de instrucciones u
tiles es practicamente la
misma que de desplazamientos (in
utiles).
X r

Xr

1 V 1 z 1 V 2 z 1 V 3 z 1 V 4
zr
r
r
r
-

b1
?

b0
?
r

b2
?
-

b3
?
-

b4
?
-

rY

Figura 3.16: Forma directa con variables asignadas a nodos de un filtro


FIR.

105

3.3. Implementaci
on de filtros digitales

VARS
ESPERAR:

X, Y, V1, V2 ,V3, V4
IDLE
GOTO ESPERAR

INTERR:
V4=V3
V3=V2
V2=V1
V1=X
X=INPUT
Y= B0 X
Y= Y + B1 V1
Y=Y+B2 V2
Y=Y+B3 V3
Y=Y+B4 V4
OUT (Y)
RTI

/* Lee muestra de A/D */

/*Saca muestra al D/A */


/*Retorno de interrupcion*/

Figura 3.17: Programa en pseudoc


odigo que implementa la forma directa 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
on de memoria correlativa. Llamaremos a esta instrucci
on MACD (MAC con Desplazamiento). Es tpica de los DSP de
la marca Texas Instruments entre otros. En la figura 3.18 se muestra
como debera reescribirse el programa para reducir a aproximadamente la mitad el n
umero de instrucciones que ejecuta el DSP.
N
otese 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 instrucciones MACD. N
otese tambien que a diferencia de lo explicado mas
arriba, cada ciclo de la interrupcion prepara las variables para el
instante siguiente, es decir a la entrada de la rutina de interrupcion
las variables son del instante n y al final de la misma son las del
instante n + 1.

DE FILTROS
CAPTULO 3. IMPLEMENTACION

106

VARS
ESPERAR:

X, Y, V1, V2 ,V3, V4
IDLE
GOTO ESPERAR

INTERR:
X=INPUT
Y= B4 V4

/* Leer muestra de A/D */

Y=Y+B3 V3
V4=V3

/*1a instruccion MACD */

Y=Y+B2 V2
V3=V2

/*2a instruccion MACD */

Y=Y+B1 V1
V2=V1

/*3a instruccion MACD */

Y=Y+B0 X
V1=X

/*4a instruccion MACD */

OUT (Y)
RTI

/*Sacar muestra al D/A */


/*Retorno de interrupcion*/

Figura 3.18: Programa en pseudoc


odigo que implementa la forma directa 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 tpicos de DSP que tienen este tipo de recurso son el TMS32050 (Texas Instruments) la
familia 2100 de Analog Devices entre otros.

Buffers Ciculares
Consisten b
asicamente en una zona de memoria, a la que se accede con un
puntero. Sobre dicho puntero se pueden realizar operaciones aritmeticas del
tipo incremento o decremento con las siguientes particularidades:
Cuando al incrementar el puntero se supera la u
ltima direccion de memoria del buffer, autom
aticamente se apunta a la primera.

107

3.3. Implementaci
on de filtros digitales

Puntero Muestras
?

Buffer Muestras

x[n]
x[n 1] @@

x[n M ]

x[n 2]

x[n M 1]

x[n L]

Buffer Coeficientes
b0 b1

bL

Puntero Coeficientes
Figura 3.19: Buffer Circular.

Cuando se decrementa el puntero y se supera la primera direccion, automaticamente el puntero apunta a la u


ltima.
Los DSP que utilizan esta tecnica tienen una arquitectura que permite realizar los incrementos y comprobaciones de si se ha alcanzado el final por hardware (sin necesitar instrucciones adicionales). El esquema de como se podra
realizar un filtrado FIR utilizando esta tecnica se muestra en la figura 3.19.
Supongamos, por ejemplo, un filtro FIR:
y[n] =

L
X

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 mas antigua del
buffer
2. Se escribe la nueva muestra en el lugar apuntado por el puntero.
Tras esto, el puntero apunta a la muestra mas reciente. A continuacion, 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

DE FILTROS
CAPTULO 3. IMPLEMENTACION

108

productos y sumas. N
otese que como el buffer es de tama
no L+1, si realizamos
L + 1 incrementos (o decrementos) el puntero tendra la misma posicion al final
que la que tena al inicio.
Observese que, dado que adem
as, el control de los bucles no consume ciclos
de CPU en la mayora de DSP, es posible implementar un filtro FIR con una
instruccion por muestra.

3.4.

Efectos de precisi
on finita

En esta secci
on se estudian los efectos que se producen debido a que los
n
umeros involucrados en la implementacion de filtros digitales (coeficientes y
muestras) est
an cuantificados.
Los efectos de precisi
on finita son normalmente despreciables si se emplea
aritmetica de coma flotante. Sin embargo si la aritmetica es de coma fija es
necesario tenerlos presentes. En el resto de esta seccion se presentan los diferentes efectos debidos a la precisi
on finita en sistemas con aritmetica de coma
fija.

3.4.1.

Cuantificaci
on de los coeficientes

Cuando se dise
na un filtro, se emplean diversos metodos que proporcionan
un conjunto de coeficientes bk y ak para numerador y denominador respectivamente. A la hora de implementar el filtro, dichos coeficientes deben ser
introducidos en un programa y por lo tanto codificados con un n
umero finito
de bits.
N (z)
H(z) =
(3.12)
D(z)
Si consideramos una forma directa, los coeficientes a introducir en el procesador seran directamente los coeficientes de H(z). Centremonos por ejemplo en
el numerador:
N (z) = b0 + b1 z 1 + b2 z 2 + + bM z M

(3.13)

Si llamamos bk a los coeficientes cuantificados (los que utilizamos realmente


en el DSP):
bk = Q[bk ]
y consideramos el polinomio formado por los coeficientes cuantificados
(z) = b0 + b1 z 1 + b2 z 2 + + bM z M
N
es facil darse cuenta que:

(3.14)

109

3.4. Efectos de precisi


on finita

El hecho de que los coeficientes esten 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 denominador), sus races cambian de lugar. Si llamamos zj a las races, tenemos:
zj = zj + zj
La cuantificaci
on de los coeficientes en una forma directa afecta de forma
independiente al numerador y al denominador. Es decir, la cuantificacion
de los coeficientes del numerador afecta solo a los ceros, mientras que los
del denominador a los polos u
nicamente.
Mediante un an
alisis de sensibilidad, se puede llegar a la conclusion de que
lo que se mueve una raz, 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
as coeficientes se cuantifican, y dado que todos
los coeficientes influyen en cada raz, esta se movera mas.
Es mayor si la raz tiene races proximas. Los filtros suelen tener muchos
polos pr
oximos si el filtro tiene una respuesta en frecuencia abrupta.
IMPORTANTE: Al cuantificar los coeficientes del denominador de un
filtro IIR puede suceder que alguna raz (polo) se salga de la circunferencia unidad. Ello provocara que aunque el filtro con los coeficientes sin
cuantificar sea estable, el filtro de coeficientes cuantificados sea inestable.
Esta situaci
on se dar
a si tenemos muchos polos y/o estan muy proximos
entre s y/o se usan pocos bits y/o los polos estan muy proximos 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 esten cuantificados y en
la figura (b) el efecto sobre la banda atenuada. Notese, que normalmente la

DE FILTROS
CAPTULO 3. IMPLEMENTACION

110

Butterworth-8

Butterworth-8

0
-10

Coef. cuantif. 8 bits


Coef sin cuantificar

-20
-30

Coef. cuantif. 8 bits


Coef sin cuantificar

-40
-50
-60
-70
-80
-90
0
0

0.25
f

(a):Escala lineal

0.5

-100

0.25
f

0.5

(b):Escala en dB

Figura 3.20: Efectos en la respuesta en frecuencia de la cuantificaci


on
de los coeficientes.

cuantificacion de los coeficientes empeora la respuesta en frecuencia (mayor


rizado en la banda de paso y menor atenuacion 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
como los polos cambian de ubicaci
on. Notese como los polos que tienen menos
polos cerca (el D y el D) se mueven menos que aquellos que tienen mas polos
proximos (el A y el A).
Para reducir los efectos de la cuantificacion de los coeficientes interesara
que:
Los polinomios del numerador y denominador tuvieran un grado peque
no.
Los polos estuvieran lo m
as 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 u
nicamente
en un par de races complejas conjugadas. Ademas los coeficientes del denominador influyen u
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
an muy pr
oximos.
En cuanto a la forma paralelo, esta descompone H(z) como suma de fracciones simples. Cada una de ellas tiene un denominador que corresponde a un

111

3.4. Efectos de precisi


on finita

Polos Butterworth 8. o: cuantif. 8 bits


90
0.9
120
D

*: Sin cuantif
60

0.6
C

150

30
B

180

0
A'
B'

210

330

C'

D'

300

240
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
on s
olo 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 mas que en
la forma directa.
En general, con respecto a la cuantificacion 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
umero de operaciones por muestra para ser implementadas.
Mallas de races en secciones de segundo orden
En la secci
on 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 races de los polinomios de segundo grado con coeficientes

DE FILTROS
CAPTULO 3. IMPLEMENTACION

112

6 bits
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
1

0.5

0.5

Figura 3.22: Malla de races de una secci


on 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 races r ej
1 a1 z 1 a2 z 2 = (1 r ej z 1 )(1 r ej z 1 )
= 1 2r cos z 1 + r2 z 2

(3.15)

Por simple identificaci


on es f
acil ver que a1 corresponde con (el doble de) la
parte real de la raz mientras que a2 corresponde con el modulo 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 cuantificado a2 , y realizamos una representacion grafica de las races se obtiene la
figura 3.22, denominada malla de races. Es posible observar que las races no
se distribuyen de forma uniforme por el plano z siendo menos densa la rejilla
en las proximidades del eje real, y mas densa cerca del eje imaginario. Los
puntos de la rejilla representan el conjunto de las races posibles del polinomio de grado 2 con coeficientes cuantificados. En otras palabras, los filtros
implementados tendr
an sus races en uno de los puntos marcados. Si el filtro
que deseamos realizar tiene sus races (ceros o polos) cerca del eje imaginario,
no habra problemas, pero si las races estan cerca del eje real, como aqu la
densidad es menor, el error que se comete en la ubicacion de las races (y por
tanto en la respuesta en frecuencia) sera mayor.

113

3.4. Efectos de precisi


on finita
s

s

x[n]



a 6

?z

a = r cos

Hs

HH

b = r sen

b 6
?b

s y[n]



a 6
@
@X
X

?z

H
Xs

HH
XX
X

Figura 3.23: Forma acoplada de una secci


on de segundo orden.

Para solucionar el problema de la no-homogeneidad de la malla de races

surgen las formas acopladas. Estas


no son mas 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
esta cuantificando uniformemente la parte real e imaginaria de los polos. La
forma acoplada se muestra en la figura 3.23. La funcion de transferencia (ver
problema 3) de la estructura de la figura 3.23 es:
H(z) =

r sin z 1
1 2r cos z 1 + r2 z 2

(3.16)

Las posibles ubicaciones de los polos al cuantificar uniformemente los coeficientes 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 mas operaciones por muestra.
Efectos de la cuantificaci
on de los coeficientes en filtros FIR
Los filtros FIR resultan interesantes por dos propiedades que tienen:
Son siempre estables.
Si los coeficientes son simetricos tienen fase lineal.

DE FILTROS
CAPTULO 3. IMPLEMENTACION

114

6 bits
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
1

0.5

0.5

Figura 3.24: Malla de races de una forma acoplada.

Cabra preguntarse si por el hecho de que los coeficientes esten cuantificados se pierden estas propiedades. Con respecto a la estabilidad, esta se
mantiene pues cualquier filtro FIR es estable. Con respecto a la linealidad de
fase, esta se produce si existe simetra en los coeficientes. Notese que por el
hecho de cuantificar los coeficientes no se pierde la simetra, por lo que la cuantificaci
on de los coeficientes no afecta a la linealidad de la fase de los filtros
FIR.
Por tanto, el u
nico efecto de la cuantificacion de los coeficientes sera una
variacion en la posici
on de los ceros y del modulo de H(ej ).

3.4.2.

Cuantificaci
on de las muestras de entrada

Sea x[n] la secuencia de muestras de entrada a un filtro digital. En la practica dichas muestras est
an cuantificadas, es decir toman un conjunto discreto
de valores posibles. (vease el apartado 1.6)
El efecto de la cuantificaci
on se puede ver como si las muestras (sin cuantificar) antes de entrar en el filtro se hubieran hecho pasar por un sistema no
lineal sin memoria cuya relaci
on 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 tuvieramos muestras sin cuantificar aplicadas a
un sistema no lineal (el cuantificador) seguido del filtro H(z). El analisis del

115

3.4. Efectos de precisi


on finita

comportamiento del filtro precedido por una no linealidad es complicado. Si


se cumple que:
El n
umero de niveles de cuantificacion es alto.
Entre dos muestras consecutivas, hay muchos niveles de cuantificacion
de diferencia.
es posible usar un modelo que simplifica el analisis de los efectos de la cuantificacion. Dicho modelo consiste en suponer que la se
nal 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
estan estadsticamente incorreladas.
e[n] est
a incorrelada con la se
nal de entrada x[n].
La media de e[n] es nula.
1.5
1

0.5
0
-0.5
-1
-1.5
-1.5

-1

-0.5

0
x

0.5

1.5

Figura 3.25: Relaci


on entrada salida de un cuantificador.

DE FILTROS
CAPTULO 3. IMPLEMENTACION

116

x[n]

- Q

- H(z)

./

x[n]

x
[n]


- +
- H(z)

x
[n]
6

e[n]
Figura 3.26: Modelado de la cuantificaci
on de las muestras de entrada
como un ruido aditivo a la entrada del filtro.

La varianza (potencia) vale


e2 =

2
12

(3.18)

siendo el tama
no del escal
on de cuantificacion.
La funci
on densidad de probabilidad es uniforme entre /2 y /2.
Por lo tanto a la hora de analizar el efecto de la cuantificacion de las muestras
de entrada en la salida del mismo, supondremos que:
Las muestras de entrada est
an sin cuantificar.
Tenemos una segunda se
nal, el ruido de cuantificacion e[n], a la entrada
del filtro y sumada con la anterior.
Como el filtro es un sistema lineal, para determinar la salida determinare independientemente la se
nal a la salida, y la potencia y DEP del
ruido de cuantificaci
on tras pasar por el filtro.
En otras palabras, modelaremos el comportamiento de la no linealidad suponiendo que tenemos un ruido a
nadido en la salida.
Notese que el uso del modelo de ruido aditivo simplifica notablemente el
analisis. Sin embargo el modelo no es mas que eso, un modelo, que u
nicamente
es valido si se cumplen las hip
otesis vistas mas arriba. Es decir, por ejemplo no
es posible intentar medir el ruido de cuantificacion anulando las muestras de
entrada y observando la potencia de ruido a la salida del filtro, ya que en ese
caso los valores cuantificados tambien son cero, y la salida del filtro tambien.

3.4.3.

Redondeos en las operaciones

Las operaciones b
asicas 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
umeros esten representados en coma fija para realizar las operaciones.

117

3.4. Efectos de precisi


on finita

En sistemas de coma fija, los n


umeros (coeficientes y muestras) se representan utilizando B bits de los cuales:
1 bit corresponde al signo.
B 1 bits corresponden a la mantisa seg
un un determinado formato. Se
suelen emplear los formatos signo y modulo, complemento a 1 y complemento a 2. El m
as utilizado es complemento a 2 por una razon que se
vera m
as adelante.
Sea cual sea el formato empleado, se tendran B 1 bits que denotaremos
como b0 , . . . , bB2 , siendo b0 el bit menos significativo (LSB) y bB2 el mas
significativo (MSB).
Hay dos formas habituales de considerar el n
umero representado por un
conjunto de bits. En la primera forma, el n
umero representado es un entero:
I=

B2
X

bk 2k

(3.19)

k=0

En la segunda forma, se considera que el n


umero representado es un n
umero
menor que la unidad, que denominaremos fraccionario:
F = bB2 21 + bB3 22 + + b0 2(B1)

(3.20)

En la implementaci
on de filtros digitales se suele preferir esta segunda forma
debido a que el producto de dos n
umeros fraccionarios (menores que uno) da
como resultado un n
umero fraccionario.
Cuando se multiplican dos n
umeros fraccionarios, el resultado requiere ser
representado con m
as bits. Para entender la afirmacion anterior pensemos en
n
umeros fraccionarios en base 10, y pongamos un ejemplo en que los factores
tienen dos dgitos:
0,31 0,47 = 0,1457
Como puede verse, el resultado tiene un tama
no de mantisa que es el doble
de la de los factores. Si dicho resultado, debe ser almacenado de nuevo con
dos dgitos se estara cometiendo un error que podra ser por truncamiento o
redondeo. Habitualmente en los DSP se redondea el resultado. El redondeo del
resultado se suele modelar como una cuantificacion, de forma similar a como
vimos en el apartado 3.4.2.
Estrictamente hablando, la cuantificacion representa una no linealidad, lo
que convierte el filtro implementado en no lineal. Sin embargo, bajo las mismas
hipotesis que se vieron en el apartado 3.4.2 se puede modelar cada redondeo

DE FILTROS
CAPTULO 3. IMPLEMENTACION

118

como una fuente de ruido aleatorio que denominaremos ruido de redondeo,


con las siguientes caractersticas:
Es ruido blanco, es decir las muestras del ruido de redondeo en diferentes
instantes est
an estadsticamente incorreladas.
El ruido de redondeo est
a incorrelado con la se
nal 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
12
siendo el tama
no del escal
on de cuantificacion.
e2 =

(3.21)

La funci
on 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 estadsticamente independientes.
Los diferentes ruidos de redondeo, se propagar
an por las ramas del filtro
manifestandose a la salida del filtro como un ruido a
nadido. En la seccion 3.4.3
veremos como se calcula dicha potencia de ruido a la salida del filtro.
Con respecto a las sumas, estas no presentan ning
un problema en cuanto a
errores de redondeo: la suma de dos n
umeros con dos decimales es un n
umero
con dos decimales. Sin embargo, hay que prestar atencion a que la suma de
dos n
umeros menores que la unidad puede ser mayor que la unidad. Este tema
sera tratado en el punto 3.4.4
Arquitecturas de DSP
Las operaciones producto y suma (acumulacion) constituyen el n
ucleo de
las operaciones a realizar en los filtros digitales; se suelen llevar a cabo en
unidades de c
alculo especializadas de los DSP denominadas MAC (Multiply
Acumulate). Existen dos tipos de arquitecturas basicas que denominaremos de
acumulador de simple ancho (o los MAC antiguos) y de acumulador de doble
ancho (o MAC modernos). La mayora de los DSP actuales corresponden al
segundo tipo, pero dado que a
un existen DSP del otro tipo (principalmente
debido a su menor coste), ambos ser
an tratados aqu.
La figura 3.27 muestra ambos tipos de MAC para un tama
no de palabra
de B bits.

119

3.4. Efectos de precisi


on finita

B
B


-  B


B
B

B m
as significativos
?


+


B
?
Acumulador

B
B
?
Salida al bus
(a)


-  B


2B
?


+


2B
?
Acumulador

2B

2B
B
?
Salida al bus
(b)

Figura 3.27: Modelos de arquitectura de MAC. (a):MAC con acumulador de simple ancho. (b):MAC con acumulador de doble ancho.

En el MAC con acumulador de simple ancho se realiza el redondeo inmediatamente despues de cada producto.
En el MAC con acumulador de doble ancho el redondeo se realiza cuando
el resultado final es extrado del MAC, es decir las acumulaciones se
realizan con toda la precisi
on 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 consistira en implementar 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
on, ya que en vez de implementar un bloque b
asico (secci
on de segundo orden) y utilizarlo repetidamente hay que hacer una estructura a
medida.

DE FILTROS
CAPTULO 3. IMPLEMENTACION

120

n3
r

6n1

b0
r -

?
z 1 n4 6

a1 r b1
r r? 
6n2

r r
?

r-r
?

?
z 1 n5 6

b2
a2 r r r? 
(a)

r-r
?

n1
-

n2

rr ?

b0
r -

rr ?

?
z 1


r

a
b1
1 r -

?
z 1


r

b2
a
2 r (b)

-r
6
-r

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
umero de redondeos que se efect
uan. Ello hace que
la potencia de ruido de redondeo a la salida del filtro sea menor.
C
alculo 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
nales anal
ogicas en los filtros analogicos. La diferencia fundamental con el caso anal
ogico es que el ruido en los filtros digitales puede hacerse
arbitrariamente peque
no sin m
as que aumentar el n
umero 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 hipotesis de que
los diferentes ruidos son procesos aleatorios independientes). En el caso de la
figura 3.28-(b) vemos como el ruido n2 esta 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 funcion de transferencia que
coincide en este caso con la H(z) del filtro. Recordemos que si un ruido blanco

121

3.4. Efectos de precisi


on finita

de potencia 2 atraviesa un filtro de respuesta impulsional h[n] presentara a


la salida del mismo una potencia Pout que vendra dada por:
Pout = 2

|h[n]|2

(3.22)

Si suponemos que tenemos B bits (incluyendo el signo), la potencia de cada


fuente de ruido ser
a:

2
2/2B
22B
=
(3.23)
2 =
12
3
Por lo tanto la potencia total de ruido, debida a ambos redondeos, valdra en
el caso de acumuladores de doble ancho:
22B
22B X
Pout =
+
|h[n]|2
(3.24)
3
3
n
En el caso de acumuladores de simple ancho (figura 3.28-(a)), se debera
determinar la funci
on 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 podran agruparse en una u
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:
Pout = 3

22B X
22B
|h[n]|2
+2
3
3
n

(3.25)

Para poder agrupar las fuentes, es necesario moverlas. Para ello hay que seguir
unas reglas:
Si una fuente inyecta ruido de cuantificacion en un nodo del que solo
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, consistira en
mover la fuente de donde est
a en a) a b).
Si una fuente inyecta ruido de cuantificacion en un nodo al que llega una
rama cuyo peso es 1 o z 1 , y dicha rama es la u
nica que sale del nodo
origen de la misma, la fuente de ruido puede ser movida al nodo origen.
En la figura 3.29, consistira en mover la fuente de donde esta 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 maximo las fuentes de ruido u
nicamente nos har
a realizar m
as c
alculos de los mnimos necesarios, mientras que
agruparlas mal provocar
a que todos los calculos sean erroneos.

DE FILTROS
CAPTULO 3. IMPLEMENTACION

122

r
@ c
R 1
@
@
1
@r K z 1
A
A
n1
c
2
r

a)

c3
c
4
r r
@ c
@ 5
I
@
@r

r
@ c
R 1
@
@
@r
r

c

c3
c
4
r r
@ c
 @ 5
n1
I
@
@r

1
-

z 1

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. Existiran
varias formas de agrupar ceros y polos. Dependiendo del agrupamiento y el
orden, existir
an formas m
as o menos ruidosas. Aunque no existe una regla
universal, se ha encontrado una regla emprica para agrupar ceros y polos:
1. Tomar los polos m
as cercanos a la circunferencia unidad.
2. Emparejar los anteriores polos con los ceros que tengan mas proximos.
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 siguientes formas:
Las secciones se ordenan por proximidad de los polos a la circunferencia
unidad.
Las secciones se ordenan por lejana 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
umeros de coma fija, hemos visto que el mayor
n
umero representable es (ligeramente menor que) la unidad. Las unidades de
calculo de los DSP permiten ser configuradas para realizar el producto de un
n
umero 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 continuacion por 2.

123

3.4. Efectos de precisi


on finita

Los productos por n


umeros enteros, no introducen ruido de redondeo ya
que el producto de un entero por un n
umero fraccionario no genera nuevos
decimales.
En la figura 3.30-(b) y (c) se muestra un ejemplo de realizacion en forma
directa II, en la que todos los coeficientes son menores que la unidad o enteros.

0,16

x[n]

0,16
-

y[n] x[n]
6
1,42
q 

?
z 1

0,24

?
z 1
6
0,80 0,18
q  q -

y[n]
26

6
q

?
z 1

0,71

0,24
-

?
z 1
6
0,40 0,18
q  q -

6
q

(a)

6
q
6
q

(b)

x[n]

6
0,71
q 

0,08
-

y[n]
?
z 1
q

0,12
-

?
z 1
6
0,40 0,09
q  q -

6
q
6
q

(c)
Figura 3.30: Implementaci
on 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
umeros son
enteros (ec. (3.19)) y en la segunda son fraccionarios (ec. (3.20)). Ya vimos
que en filtros digitales se suele utilizar mas la segunda.

DE FILTROS
CAPTULO 3. IMPLEMENTACION

124

Cuando se suman dos de estos n


umeros fraccionarios, el resultado puede ser
mayor que la unidad. En este caso se produce una saturacion (overflow) cuyos
efectos concretos dependen del DSP concreto. Normalmente lo que sucede en
caso de saturaci
on es:
Se produce una verdadera saturacion: 0,7 + 0,5 = 1
Se obtiene un resultado cclico: 0,7 + 0,5 = 0,8 (= 1,2 2)
En ambos casos el resultado es err
oneo. 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 saturacion es evitable. Para
ello lo que debe hacerse es garantizar que la se
nal de entrada es lo suficientemente peque
na como para que en ning
un nodo se supere la amplitud maxima
posible.
Para determinar que amplitud m
axima debe tener la se
nal de entrada
vamos a realizar el siguiente an
alisis. 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
nal asociada a dicho nodo.
ya [n] = x[n] hxa [n] =

hxa [k] x[n k]

por tanto:
|ya [n]| = |

X
k

hxa [k] x[n k]|

|hxa [k] x[n k]| M

|hxa [k]|

Si deseo que |ya [n]| sea menor que C debo hacer que:
|x[n]| < M = X

C
|hxa [k]|

(3.26)

Normalmente C = 1 (se
nales 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
nal de entrada, est
a acotada en el margen |x[n]| < 1, debere preescalar la se
nal de entrada para reducir su amplitud antes de introducirla al filtro
multiplicandola por M (M < 1). De esa forma asegurare que la se
nal a la
entrada del filtro tiene la amplitud correcta. El u
nico efecto del preescalado es
una reduccion de la ganancia del filtro. Dicha ganancia puede ser compensada:

125

3.4. Efectos de precisi


on finita

|x[n]| < 1

H(z)

|x1 [n]| < M

y[n]

Figura 3.31: Preescalado para prevenir saturaciones.

De forma anal
ogica, 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:
H(z) =

=M

b0 + b1 z 1 + + bL z L
=
1 a1 z 1 aN z N

b0 /M + b1 /M z 1 + + bL /M z L
1 a1 z 1 aN z N

Si tengo varios nodos, debo garantizar la anterior condicion para todos los
nodos en que se producen sumas. Ello implica tomar el menor M de los distintos nodos.
Si se utiliza complemento a 2, no sera necesario comprobar aquellos nodos
que sean sumas parciales cuyo valor u
nicamente se sume con otros nodos. Ello
es debido a una propiedad de los n
umeros en complemento a 2 (para mas
detalles se pueden consultar libros de electronica digital o fundamentos de
computadores) que dice que:
Si al hacer sumas (y restas) encadenadas de n
umeros en complemento a 2, se producen overflows parciales y se desprecian los bits
de acarreo, el resultado final ser
a correcto si este no presenta overflow

DE FILTROS
CAPTULO 3. IMPLEMENTACION

126

Un ejemplo de lo que queremos decir en base 10 sera, en el que suponemos


n
umeros fraccionarios (menores que la unidad):
((0,7 + 0,4) 0,6)) + 0,3) = 0,8
En calculos en complemento a 2, 0,7 + 0,4 = 0,1 (se desprecia el acarreo), y
tras restar 0.6 y sumar 0.3 obtendramos el resultado correcto. Esta propiedad
no la tienen otro tipo de representaciones numericas como el complemento a
1 o signo y mantisa.
En la practica, dado que las estructuras de los filtros contienen retardadores, muchas veces nos podremos ahorrar comprobaciones sin mas que comprobar un nodo de la cadena de retardadores.
El criterio dado por la expresi
on (3.26) es el u
nico que garantiza totalmente
la no saturaci
on. Sin embargo en muchas ocasiones puede resultar demasiado
conservador. N
otese que el ruido de redondeo, es independiente de la amplitud
de la se
nal de entrada, y por tanto, reducir en exceso la amplitud de entrada
implica una disminuci
on (innecesaria) de la relacion S/N a la salida del filtro.
Existen otros criterios, que aunque no garantizan totalmente el que no se
produzca saturaci
on, s que lo hace si se cumplen ciertas hipotesis. Si la se
nal
de entrada es un tono de frecuencia 0 (o una se
nal de banda estrecha centrada
en la misma frecuencia), la condici
on que se debe cumplir es:
M<

C
|Hxa (ej0 )|

(3.27)

tomandose el mnimo M de los distintos nodos. Si se sabe que es un tono pero


no se conoce la frecuencia del tono, la condicion es:
M<

3.4.5.

C
m
ax {|Hxa (ej )|}

(3.28)

Ciclos lmite

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
umero de niveles de cuantificaci
on 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 lmite son oscilaciones que se producen a la salida de los filtros
IIR cuando la se
nal de entrada se hace nula. Como se sabe, los filtros IIR causales 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
nal de salida comienza a hacerse peque
na, el filtro empieza a comportarse de
forma no lineal. La no linealidad combinada con la realimentacion de los filtros
IIR puede producir unas oscilaciones llamadas ciclos lmite. Resumiendo, para
que se puedan producir ciclos lmite debe suceder:
Que el filtro tenga realimentaciones (IIR).
Que el filtro presente un comportamiento no lineal. Esto sucede cuando
la amplitud es muy peque
na (y la relacion E/S del cuantificador es una
escalera) o cuando la amplitud de salida es muy grande (saturacion).
Existen determinadas estructuras especiales que garantizan que nunca se
puedan producir ciclos lmite, a costa de realizar un mayor n
umero de operaciones por muestra.

3.5.

Problemas

1. Determine la longitud m
axima 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 calculos de la forma directa
II transpuesta de la figura 3.13.
3. Determinar la funci
on de transferencia de la estructura de la figura 3.23
y verificar que coincide con la de la ecuacion (3.16).
4. Realizar un programa que permita implementar los calculos 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
on de transferencia de cada fuente hasta la salida.
6. Indique las fuentes de ruido de cuantificacion 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 forma acoplada (figura 3.23. Agrupe las fuentes tanto como sea posible.

DE FILTROS
CAPTULO 3. IMPLEMENTACION

128

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
umero de posibles realizaciones en cascada para un filtro
de orden 2N (todos los polos y los ceros complejos).
9. Considere el filtro:
H(z) =

0,0102 + 0,0408 z 1 + 0,0613z 1 + 0,0408z 3 + 0,0102z 4


1 1,9684 z 1 + 1,7359z 2 0,7245z 3 + 0,1204z 4

Se pide (utilizando Matlab para los calculos):


Dibuje las formas directas I y II del anterior filtro.
Determine la amplitud m
axima de la entrada en ambos casos para
que no se pueda producir saturacion en caso de se
nal de entrada
arbitraria.
Determine la amplitud m
axima de la entrada en ambos casos para
que no se pueda producir saturacion en caso de que la se
nal 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
on S/N m
axima 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 implementaci
on en cascada.
G1 1 + b11 z 1 + b21 z 2
H(z) = G
1 a11 z 1 a21 z 2

G2 1 + b12 z 1 + b22 z 2
1 a12 z 1 a22 z 2

Dibuje todas las posibles realizaciones en cascada. Implemente cada


secci
on 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 saturacion en
ning
un nodo de la primera seccion. A continuacion G1 para que no
se produzca saturaci
on en la segunda etapa. Considere que la se
nal
a la entrada ser
an tonos de frecuencia arbitraria.

129

3.5. Problemas

Para cada una de las cuatro posibilidades, determine el ruido de


redondeo a la salida si el DSP tiene un tama
no 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
on en coma fija con DSP de acumulador de doble ancho.
12. Considere la siguiente H(z):
H(z) =

0,0102 + 0,0408 z 1 + 0,0613z 1 + 0,0408z 3 + 0,0102z 4


1 1,9684 z 1 + 1,7359z 2 0,7245z 3 + 0,1204z 4

Dibuje la implementaci
on en forma directa II transpuesta.
Determine la m
axima 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 realizacion en la que todos los coeficientes sean
enteros o menores que uno. Indique cuales seran las fuentes de ruido
ahora.

130

DE FILTROS
CAPTULO 3. IMPLEMENTACION

Captulo 4

Filtros Adaptativos
4.1.

Introducci
on

Un filtro adaptativo no es m
as que un filtro cuyos coeficientes varan con
el tiempo. Lo que los hace especialmente interesantes es que la variacion de
los coeficientes es autom
atica. En otras palabras, dise
nar un filtro adaptativo consistira en determinar la regla de variacion de los coeficientes. El resto
sera automatico.
Existen dos razones fundamentales para elegir un filtro adaptativo frente
a un filtro de coeficientes fijos:
Porque no sepamos que filtro usar a priori.
Porque el filtro
optimo que necesitemos, debido a que la se
nal no sea
estacionaria, deba variar con el tiempo.

4.1.1.

Ejemplos de sistemas adaptativos

En esta secci
on 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
funcion de la amplitud de la se
nal de entrada. Cuando la se
nal de entrada
es de poca potencia el factor de amplificacion es grande y a la inversa,
de modo que la potencia a la salida tiene una amplitud practicamente
independiente de la amplitud de entrada.
Pupila sistema biol
ogico que regula su apertura en funcion inversa a la luz
incidente, de modo que el margen de variacion de energa luminosa que
131

132

CAPTULO 4. FILTROS ADAPTATIVOS

reciben las celulas 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 varan su
comportamiento en funci
on de las se
nales recibidas. En el caso de sistemas
artificiales para el filtrado de se
nales, aunque conceptualmente sera posible
pensar en sistemas anal
ogicos adaptativos, en la practica u
nicamente se han
desarrollado sistemas adaptativos discretos de cierta complejidad.

4.1.2.

Caractersticas fundamentales de los sistemas adaptativos

Las caractersticas fundamentales de los sistemas adaptativos son:


Autom
aticamente se adaptan (auto-optimizan) de acuerdo al entorno
cambiante (no estacionario).
Pueden ser entrenados: pueden aprender como funcionar de forma optima.
No hay metodos de sntesis de filtros adaptativos, se autodise
nan. Lo
que existen son reglas de aprendizaje (algoritmos de adaptacion).
El estudio se hace consider
andolos sistemas no lineales variantes.
Son m
as complejos y difciles de analizar que los sistemas fijos. Su comportamiento, sin embargo, es mejor ante se
nales de caractersticas desconocidas o variantes. El an
alisis se suele hacer por simulacion.

4.1.3.

Fundamentos de los de sistemas adaptativos

Todos los sistemas adaptativos que veremos, independientemente de su


aplicacion 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 basicos:


El filtro adaptativo propiamente dicho.
Un algoritmo de adaptaci
on, que recibe como entradas la se
nal de entrada x[n], la salida del filtro y[n] y una se
nal auxiliar llamada se
nal de
referencia o se
nal deseada, d[n].
El algoritmo de adaptaci
on compara la salida y[n] con la se
nal de referencia
d[n] y trata de calcular los mejores coeficientes del filtro para que y[n] se
parezca (de forma estadstica) a d[n].
En los sistemas adaptativos siempre encontraremos un conjunto de se
nales:
x[n]: Se
nal de entrada al filtro adaptativo.
y[n]: Se
nal de salida del filtro adaptativo.
d[n]: Se
nal de referencia.
e[n] = d[n] y[n]: Se
nal error entre la se
nal de referencia y la salida del
filtro.
Los algoritmos adaptativos tratan normalmente de minimizar alg
un parametro de dicha se
nal de error, tpicamente su potencia.
En el resto del captulo veremos, en la seccion 4.2, algunas aplicaciones
tpicas de los filtros adaptativos. Seguiremos con una aproximacion a la teora
de los filtros
optimos. Finalmente presentaremos los algoritmos adaptativos
basados en el gradiente y su implementacion practica, el LMS.

4.2.

Ejemplos de aplicaci
on de sistemas adaptativos

En esta secci
on vamos a estudiar algunos ejemplos de aplicacion de los
sistemas adaptativos que nos van a ir permitiendo descubrir sus ventajas y
limitaciones.

4.2.1.

Identificaci
on de sistemas

Lo que se hace en esta aplicaci


on es modelar un sistema lineal desconocido,
denominado planta, con un filtro adaptativo. Para ello se aplica una se
nal tanto
a la Planta como al sistema adaptativo y se varan los coeficientes hasta que
el error entre las dos salidas sea mnimo. En ese momento, las respuestas
en frecuencia de la planta y del filtro adaptativo seran lo mas parecidas que
se pueda. Como del filtro adaptativo se conocen los coeficientes, podremos
conocer la respuesta en frecuencia de la planta.

134

CAPTULO 4. FILTROS ADAPTATIVOS

d[n]
-

Planta???
?+ e[n]


x[n]


6




- Filtro. Adapt.

y[n]



Figura 4.2: Identificaci


on de Sistemas.

4.2.2.

Predicci
on

En esta aplicaci
on se trata de predecir valores futuros de la se
nal de entrada. Para ello se ense
na al sistema adaptativo que coeficientes debera tener
para minimizar el error entre la muestra actual y una prediccion de la misma
hecha en base a muestras anteriores de la misma se
nal de entrada. Los coeficientes obtenidos se copian en otro filtro que filtra la se
nal de entrada sin
retardar. Si la se
nal de entrada es estacionaria, la salida de este segundo filtro
es una predicci
on de la muestra que esta por venir.
x[n 1]
x[n]
-

z 1

d[n]
+




- Filtro Adap.

?


e[n]
y[n] 




???
- Coef. Copiados

- x
[n + 1]

Figura 4.3: Predicci


on lineal.

4.2.3.

Cancelaci
on de ruido

Para entender esta aplicaci


on fijemos un escenario tpico donde se puede encontrar la misma. Imaginemos un microfono que recoge la voz en un

135

4.2. Aplicaciones

ambiente ruidoso. Dicho micr


ofono entregara una se
nal que sera suma de la
voz (s) mas un ruido (n1 ). Supongamos que situamos otro microfono en el
mismo ambiente ruidoso. Dicho micr
ofono captara otro ruido n2 distinto (por
estar captado en un lugar diferente) pero correlado con n1 . La relacion entre
ambos ruidos viene dada por un filtrado lineal y supondremos que el segundo
microfono, por su ubicaci
on, no capta voz. Se supone que la voz esta incorrelada con el ruido ambiente.
El esquema del origen de las se
nales se muestra en la figura 4.4. Las
se
nales que introduciremos a nuestro filtro adaptativo seran las captadas por
los microfonos.
Lo que se hace es introducir un filtrado adaptativo en el canal que tiene
solo ruido y, mediante el algoritmo de adaptacion, minimizar la potencia de
la se
nal e. Si el filtro adaptativo tuviera un n
umero de coeficientes suficiente,
tras la adaptaci
on, el ruido n3 a la salida del filtro adaptativo debera ser igual
a n1 , obteniendo en la salida u
nicamente voz.
Para entender c
omo funciona, pensemos que el filtro adaptativo u
nicamente
sabe ajustar sus coeficientes de forma que la potencia de la se
nal e sea lo mas
peque
na posible. Dado que la voz est
a incorrelada con el ruido ambiente, la
u
nica se
nal que el filtro puede cancelar es el ruido ambiente que esta 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 sera mnimo
cuando:
E{(n1 n3 )2 } = 0
En la pr
actica hay una serie de consideraciones que conviene tener en
cuenta.
La primera de ellas es relativa a la causalidad. El filtro adaptativo
sera necesariamente causal. Ello implica que introducira un cierto retardo sobre la se
nal n2 . Para que se pueda producir la cancelacion, la
se
nal n1 deber
a estar retrasada con respecto a n2 . En caso contrario no
se podr
a lograr la cancelaci
on.
Es posible que existan componentes de ruido incorreladas en las se
nales
captadas por los dos micr
ofonos. En ese caso, el filtro tratara de atenuar

136

CAPTULO 4. FILTROS ADAPTATIVOS

s + n1
- +

6

+
?

e

n1

n2



- Filtro Adap.



Salida
-

n3

Se
nales disponibles 

como entrada

Figura 4.4: Cancelaci


on de ruido.

dichas componentes de la rama que se filtra. Las componentes incorreladas de la rama superior pasar
an a la salida, pues para el algoritmo
adaptativo son indiscernibles de la se
nal de voz.
El n
umero de coeficientes del filtro debe ser suficientemente largo. Si
fuera FIR, la duraci
on de la respuesta impulsional debera coincidir o ser
superior a la de H. En caso contrario, no se podra lograr la cancelacion
total.

4.2.4.

Canceladores de eco

En los circuitos internacionales de muy larga distancia, aparecen problemas


de ecos producidos en las bobinas hbridas conversoras de dos a cuatro hilos
(figura 4.5). Debido a desadaptaciones de impedancias, parte de la se
nal B de
la figura 4.5 pasa a C (sumada con la se
nal 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
on 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
- E


D


Figura 4.5: Ecos en circuitos vocales de larga distancia.

137

4.2. Aplicaciones

- D.A.
?

?
 

Figura 4.6: Supresor de ecos.

tro hilos; consistan en un circuito detector de actividad que, cuando detectaba


voz proveniente del extremo lejano abra el circuito hacia el mismo convirtiendo la transmisi
on en semiduplex y suprimiendo con ello el eco (figura 4.6).
Los primeros circuitos supresores analogicos 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 hbrida haba un detector de actividad (DA) de
se
nal remota. Si se detecta se
nal remota, se abra un contacto en el extremo
transmisor a cuatro hilos que impeda el retorno de la se
nal 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
lnea telefonica se utiliza para transmitir datos utilizando un modem duplex,
esta solucion no sirve.
En los modems duplex tambien existe una separacion de dos a cuatro hilos
en el terminal. En este caso no cabe utilizar la tecnica del supresor de ecos
pues la transmisi
on debe ser duplex. Ademas, debe tenerse presente que la
se
nal que pasa del extremo transmisor a cuatro hilos al receptor es de mucho
mayor nivel que la se
nal recibida del extremo remoto, por lo que, aunque la
atenuacion transhbrida sea grande, la interferencia del transmisor local sobre
RCX 
Linea
TRX

Figura 4.7: Interfaz telef


onico de un modem.

138

CAPTULO 4. FILTROS ADAPTATIVOS

?
:



C

?




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 permitiendo una comunicaci
on duplex. La figura 4.8 explica como 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
nal de eco desde la
rama A receptora hasta la rama B y restar las se
nales. En este caso tambien,
el algoritmo de adaptaci
on trata de minimizar la potencia de la se
nal de error.
La se
nal en B se compone de dos terminos, la se
nal proviniente de D y la se
nal
indeseada A, que es el resultado de que parte de la se
nal A pasa a traves de la
hbrida. Suponiendo que la se
nal recibida y la transmitida estan incorreladas,
dado que el filtro adaptativo u
nicamente contiene en su entrada (A) la se
nal
que origina el eco, el filtro adaptar
a su respuesta en frecuencia de modo que
cancele la se
nal A, no viendose afectada la se
nal procedente de D.
Aunque en principio cabra pensar en canceladores fijos, en la practica
esto no se hace as pues el filtro que hay que poner para lograr la cancelacion
depende de la lnea concreta empleada.
Para finalizar este punto, conviene puntualizar un aspecto practico importante. Aunque te
oricamente sera posible adaptar el filtro durante su funcionamiento duplex, en la pr
actica no se hace as por razones que se comentaran
mas adelante. Lo que se hace realmente, en el caso de circuitos vocales, es
adaptar los coeficientes u
nicamente durante los periodos en que la se
nal proviniente de D (figura 4.8) es nula o muy peque
na. La diferencia con el supresor
de eco es que durante los periodos de conversacion simultanea de los dos extremos, suponiendo que la funci
on de transferencia del eco no vare excesivamente
rapido, es posible mantener una conversacion duplex sin ecos. En el caso de los
modems, la soluci
on consiste en la transmision semiduplex durante un periodo
de inicializaci
on de unas se
nales que permiten adaptar los canceladores. Una
vez lograda la adaptaci
on, el filtro adaptativo deja de adaptarse para pasar a
comportarse como un filtro fijo.

139

4.2. Aplicaciones

4.2.5.

Ecualizadores adaptativos

En comunicaciones digitales aparecen dos causas de error: Interferencia


entre smbolos (ISI) y ruido.
La se
nal a la entrada de un receptor digital se puede escribir como:
y(t) =

aj p(t jT ) + r(t)

(4.1)

donde ak son los smbolos transmitidos, r(t) es el ruido, y p(t) es la convolucion entre el pulso transmitido, la respuesta impulsiva del canal y el filtro del
receptor. Dicha se
nal se muestrea en los instantes tk = kT obteniendo:
y(tk ) = ak p(0) +

aj p(kT jT ) + r(tk )

(4.2)

j6=k

El primer termino de la ecuaci


on anterior esta relacionado con el smbolo transmitido en el instante tk . El segundo termino es lo que se denomina interferencia
entre smbolos y el tercero, es el ruido. Esta se
nal discreta se debe filtrar en
recepcion para minimizar los terminos indeseados, tanto de interferencia entre
smbolos como de ruido. El filtro
optimo depende del canal concreto empleado
para la transmisi
on (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 estara en (2) en un primer momento.
Durante este tiempo el transmisor genera una secuencia conocida por el receptor y que es la misma que genera Test . El filtro adaptativo modificara sus
coeficientes de modo que la se
nal error (suma de interferencia entre smbolos
y ruido) sea lo m
as peque
na posible.
Tras la fase de aprendizaje el conmutador esta en (1) y se toma como
se
nal deseada la propia detectada. Si la probabilidad de error es peque
na esto
sera correcto. Adem
as la velocidad de adaptacion debera ser suficientemente
a
k

- Salida

Decision

- Ec. Adapt.




?

+
 d


1-

2
E
E
Er

Test

Figura 4.9: Ecualizador adaptativo para transmisi


on de datos.

140

CAPTULO 4. FILTROS ADAPTATIVOS

lenta como para que un smbolo err


oneo aislado no afecte demasiado y descorrija el filtro de un modo irrecuperable.
Si las caractersticas del canal varan lentamente, el filtro se adaptara tambien, siempre y cuando la variaci
on 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


on es eliminar una componente de frecuencia
de una se
nal.
Entrada

+
e

6

d
W0

Salida
-

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 adaptacion tambien minimiza
la potencia de la se
nal 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
nal x puedo variar la frecuencia que se elimina.

4.3.

Filtrado Optimo

Una vez vistas algunas de las posibles aplicaciones de los filtros adaptativos,
vamos a comenzar en esta secci
on el estudio de su funcionamiento. En este
punto estudiaremos c
omo influye en la potencia de la se
nal error el valor de
los coeficientes del filtro adaptativo, y encontraremos el valor de los coeficientes
que minimizan dicha potencia.


4.3. Filtrado Optimo

141

r x0

w0 ?

r x1

r xL

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 continuacion, sumar el resultado. Se
llama combinador lineal porque, para un vector de coeficientes fijo, es lineal.
Todas las entradas, pesos y salida varan con n (tiempo). Durante el proceso
de adaptacion, si los coeficientes wk dependen de los valores de las entradas
xk , el sistema dejar
a de ser lineal.
Las entradas del combinador lineal, en la aplicacion de filtrado adaptativo,
son muestras con diferentes retardos de la se
nal de entrada x. A esta estructura
se la conoce como filtro transversal (FIR). La estructura de un filtro transversal (FIR) se muestra en la figura 4.12. En el caso de filtros adaptativos, los
coeficientes depender
an del tiempo.
x[n]
z 1
z 1
z 1
r

w0 ?
r

w1 ?
-

w2 ?
-

wL1 ?
r

Figura 4.12: Filtro Transversal.

wL ?
-

y[n]
-

142

CAPTULO 4. FILTROS ADAPTATIVOS

4.3.2.

Notaci
on matricial

En el filtro transversal de la figura 4.12 podemos expresar la salida y[n] en


cualquier instante como:
y[n] =

L
X

wk [n] x[n k]

(4.3)

k=0

Dicha expresi
on 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


a 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


nal x[n]:
X T [n] = [x[n], x[n 1], . . . , x[n L]]

4.3.3.

(4.6)

Respuesta deseada y error

Los sistemas que vamos a estudiar en estas notas seran todos de lazo cerrado. En ellos existen siempre las siguientes se
nales(figura 4.13):
x[n]: Se
nal de entrada al filtro adaptativo.
y[n]: Se
nal de salida del filtro adaptativo.
d[n]: Se
nal de referencia.
e[n] = d[n] y[n]: Se
nal error entre la se
nal de referencia y la salida del
filtro.
En funcion de la aplicaci
on concreta (ver seccion 4.2), dichas se
nales tendran
un origen u otro. Sin embargo, en todos los ejemplos de aplicacion vistos, es
posible identificar las mismas.
Consideraremos que el filtro adaptativo es un filtro transversal (FIR). Aunque existen algoritmos adaptativos para filtros IIR, no los consideraremos en
1

Los vectores se considerar


an siempre vectores columna. Para considerar un vector como
fila deber
a aparecer transpuesto (X T ).


4.3. Filtrado Optimo

143

d[n]
?+ e[n]




x[n]

- Filtro. Adapt.


6

y[n]




Figura 4.13: Estructura tpica de filtrado adaptativo.

estas notas, debido a que se emplean mucho menos, y las estrategias de adaptacion que siguen son m
as complejas.
El objetivo de los algoritmos adaptativos que veremos sera siempre minimizar la potencia media de la se
nal error e[n]. De alg
un modo, determinaran
los coeficientes del filtro transversal de modo que la se
nal y[n] se cancele lo
mas posible con d[n].

4.3.4.

Superficie de error

Supongamos inicialmente que x[n] y d[n] son procesos aleatorios estacionarios. La potencia de la se
nal e[n] depende de los coeficientes que pongamos
en el filtro adaptativo transversal. A la funcion que expresa la potencia de la
se
nal error en funci
on de los coeficientes del filtro la denominaremos Superficie
de Error. Supongamos moment
aneamente que el vector de pesos del filtro W
no vara con el tiempo n. La se
nal de error es:
e[n] = d[n] y[n] = d[n] W T X[n]

(4.7)

Su potencia instant
anea 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


aticas en la anterior expresion y teniendo en cuenta 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

CAPTULO 4. FILTROS ADAPTATIVOS

A la matriz R = E X[n] X T [n] se la denomina matriz de autocorrelacion de


la se
nal de entrada y vale:

x[n]

x[n 1]
R=E
..

x[n] x[n 1] x[n L]

x[n L]

x[n] x[n]

x[n
1] x[n]

R=E
..

x[n] x[n 1]
x[n 1] x[n 1]
..
.

..
.

x[n] x[n L]
x[n 1] x[n L]
..
.

x[n L] x[n] x[n L] x[n 1] x[n L] x[n L]

(4.10)

(4.11)

R=

Rx [0]
Rx [1]
..
.

Rx [1]
Rx [0]
..
.

Rx [2]
Rx [1]
..
.

Rx [L]
Rx [L 1]
..
..
.
.

Rx [L] Rx [L 1] Rx [L 2]

Rx [0]

(4.12)

Analogamente, se define el vector de correlaciones cruzadas entre la entrada y


la se
nal de referencia P = E {d[n] X[n]}:

P = E {d[n] X[n]} = E d[n]

d[n] x[n]

d[n] x[n 1]
=E
..

d[n] x[n L]
x[n L]

x[n]
x[n 1]
..
.

P =

Rdx [0]
Rdx [1]
..
.
Rdx [L]

(4.13)

Estamos suponiendo que las se


nales x[n] y d[n] son estacionarias. En ese caso
ni la matriz de autocorrelaci
on R ni el vector de correlaciones cruzadas P
dependen del tiempo2 . Usando la matriz de autocorrelacion y el vector de
correlaciones cruzadas es posible escribir la potencia media de la se
nal error
en funcion de los coeficientes de la siguiente forma:
E{(e[n])2 } = = E{(d[n])2 } + W T R W 2P T W
2

(4.14)

Aunque al principio del tema se dijo que una de las utilidades de los filtros adaptativos
era su uso con se
nales no estacionarias, supondremos por el momento que las se
nales de
entrada son estacionarias, discutiendo m
as adelante que sucede si no lo son.


4.3. Filtrado Optimo

145

La anterior ecuaci
on expresa el valor medio de la potencia de la se
nal error en
el caso de que:
Los coeficientes no varen. En la practica, y dado que el filtro es adaptativo, lo que suceder
a es que un algoritmo de adaptaci
on tratara de
encontrar el valor de los coeficientes W que minimice .
Las se
nales sean estacionarias. En realidad, en los metodos que veremos,
sera suficiente con que las se
nales tengan una estadstica que vare suficientemente despacio como para que el algoritmo de adaptacion pueda
converger correctamente y seguir las variaciones estadsticas de la se
nal.
En el caso de se
nales no estacionarias lo que sucedera es que la funcion
ira modific
andose lentamente con el tiempo.
La ecuacion (4.14) expresa una funci
on que tiene una forma muy peculiar
denominada cu
adrica. En el caso de dos coeficientes (L = 1) dicha ecuacion
es un paraboloide (figura 4.14). Cabra la duda de si es un paraboloide con
un maximo o con un mnimo. Por reduccion al absurdo es facil ver que debe
tener un mnimo, porque si no necesariamente existiran valores de los pesos
que haran que fuese negativo, cosa imposible, pues es un valor cuadr
atico
medio.

350
300

MSE

250
200
150
100
50
0
20
20

10
10

0
0

10
w1

10
20

20

w0

Figura 4.14: Potencia media de la se


nal error en funci
on de los pesos
del filtro transversal para dos coeficientes.

146

CAPTULO 4. FILTROS ADAPTATIVOS

Resumiendo pues, la funci


on que me indica cual es la potencia
media de la se
nal error en funci
on de los coeficientes de un filtro
FIR es una cu
adrica con un u
nico mnimo local que coincide con
el mnimo global.

4.3.5.

Gradiente y error cuadr


atico medio mnimo

Se define el gradiente de una funcion escalar que depende de un vector


como:



,
, ...,
(4.15)
=
w0 w1
wL
El vector gradiente en un cierto punto tiene las siguientes propiedades:
La direcci
on es la de m
axima pendiente en un punto (crecimiento).
Su modulo es el valor de esa m
axima pendiente.
Los mnimos (y m
aximos) locales de la funcion se corresponden con
puntos de gradiente nulo.
Dado que la funci
on valor cuadr
atico medio de la se
nal error () tiene un u
nico
mnimo local, podremos hallar los coeficientes optimos W , es decir los que
minimizan la potencia de la se
nal error, sin mas que calcular el gradiente de
la funcion , anularlo y despejar el valor de los peso optimos.
Para calcular el gradiente, tomamos la ecuacion (4.14), calculamos las derivadas 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
atico medio mmimo se producira 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
optimo, W , vale:
W = R1 P

(4.18)

Al vector de pesos obtenido de esta forma se le denomina Filtro Optimo


de
Wiener, y representa el mejor conjunto de pesos posible en el sentido de minimizar la potencia de la se
nal error.


4.3. Filtrado Optimo

147

Es facil ver cu
anto vale mn , es decir, el valor de la potencia media cuando
los coeficientes del filtro son los
optimos. Tras unas operaciones matriciales
elementales, y teniendo en cuenta que la matriz R es simetrica, se llega a:
mn = E{d2 } P T W

(4.19)

A partir de las anteriores ecuaciones podemos hacer una serie de comentarios:


Los coeficientes
optimos dependen de la estadstica de las se
nales de
entrada x[n] y d[n]. Por esta raz
on suele hablarse de filtrado estadstico.
Si la se
nal x[n] y la se
nal d[n] estan incorreladas, el vector P sera nulo
y por tanto los pesos
optimos (ecuacion 4.18) tambien lo seran.
Si conociera la autocorrelaci
on de la se
nal x[n], la correlacion cruzada
entre x[n] y d[n] y adem
as las se
nales fueran estacionarias, podra utilizar
un filtro fijo con los coeficientes W .
Normalmente la autocorrelaci
on de la se
nal de entrada y la correlacion
cruzada son desconocidas, por lo que deben ser estimadas a partir de las
propias muestras de las se
nales para poder determinar W .
El filtro
optimo NO anula siempre la se
nal error; lo que hace siempre es
minimizar su potencia.
En el caso de que la matriz R sea singular, se utilizara la pseudoinversa
para determinar los pesos
optimos. Intuitivamente, lo que sucede, cuando
la matriz es singular, es que el paraboloide de la figura 4.14 se degenera
convirtiendose en un canal. En ese caso existen multitud de vectores W
que presentan la misma potencia de la se
nal 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 optimos consiste en realizar un
algoritmo iterativo, en el que nos movamos en direccion contraria al gradiente
(es decir, cuesta abajo) con pasos de un tama
no proporcional al gradiente.

Este se puede escribir tambien 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
atico medio mnimo W . El hecho de que el
gradiente sea proporcional a la diferencia entre los pesos y los pesos optimos

148

CAPTULO 4. FILTROS ADAPTATIVOS

justifica el hecho de que los pasos de los algoritmos iterativos sean de tama
no
proporcional al gradiente. La estrategia de variar los pesos iterativamente en
direccion contraria al gradiente es el fundamento del algoritmo adaptativo mas
utilizado, el LMS, que veremos m
as 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
nales que se aplican a su entrada son:
d[n] = 2 cos (2n/N + )
x[n] = sen (2n/N + )
siendo una variable aleatoria uniforme entre y .
Puedo ahora obtener R y P :
"

R=

0,5
0,5 cos 2/N

PT =

0,5 cos 2/N


0,5

0 sen 2/N

(4.21)

(4.22)

Ademas E{d2 } = 2. Particularizando la ecuacion (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 optimos, particularizando en la expresion (4.18), son:
W =

2cotg (2/N ) 2cosec (2/N )

(4.24)

siendo el valor mnimo de la potencia de la se


nal error mn = 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 funcion del valor de N , no
solo cambia la posici
on del punto mnimo sino que la superficie de error tiene
una forma u otra, pas
andose de curvas de nivel de aspecto circular a curvas de
nivel con un marcado car
acter elptico. 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 elptica, el gradiente sobre distintos puntos de una misma
curva de nivel vara de un punto a otro, siendo mayor en las zonas estrechas
de la elipse (curvas de nivel m
as pr
oximas). Este hecho sera importante en los
algoritmos de gradiente.

149

4.4. Algoritmos de gradiente

N=4
20

15

10

w1

10

15

20
20

15

10

0
w0

10

15

20

10

15

20

N=10
20

15

10

w1

10

15

20
20

15

10

0
w0

Figura 4.15: Ejemplo de superficie de error para distintos valores de


N . Se indica con el mnimo de la superficie de error.

4.4.

Algoritmos de gradiente

En la secci
on anterior hemos visto que la funcion que mide la potencia de
la se
nal error, en funci
on del valor de los pesos del filtro FIR, presenta un
u
nico mnimo local que a la vez es el mnimo global de la misma.
Existen procedimientos de adaptacion que estiman la matriz de autocorrelacion y el vector de correlaciones cruzadas muestra a muestra determinando

150

CAPTULO 4. FILTROS ADAPTATIVOS

los pesos optimos mediante la ecuaci


on (4.18) con las matrices estimadas. Estos metodos emplean tecnicas eficientes que evitan el tener que invertir una
matriz cada vez que llega una nueva muestra.
Los procedimientos que vamos a estudiar mas en profundidad son los denominados algoritmos de gradiente. Se les llama de este modo porque buscan
el vector de pesos
optimo de forma recursiva, moviendose peque
nos pasos de
longitud proporcional al gradiente y en direccion contraria al mismo. El vector
de pesos se actualiza mediante la ecuacion:
W [n + 1] = W [n] [n]

(4.25)

El parametro controla el tama


no de los pasos del algoritmo:
Si aumenta, la velocidad de convergencia sera mas rapida. Si es excesivamente grande, el metodo puede hacerse inestable y diverger en lugar
de converger. Adem
as, ya veremos que la solucion final alcanzada es mas
inestable en la pr
actica.
Si disminuye, la convergencia se ralentiza pero, a cambio, la solucion
final es m
as 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 parabola.


Es posible escribir la par
abola en funcion del valor del mnimo local:
= mn + (w w )2

(4.26)

La constante controla el ancho de las ramas de la parabola, w la posicion


del mnimo y mn la altura del mnimo. El gradiente en este caso es la derivada
y vale:

= 2 (w w )
(4.27)
w
La recursion (4.25) particularizada para nuestro caso de un solo coeficiente
resulta:
w[n + 1] = w[n] 2(w[n] w )
(4.28)
Esta ecuacion en diferencias recursiva, tiene por solucion:
w[n] = w + (1 2)n (w[0] w )

(4.29)

151

4.4. Algoritmos de gradiente

4
r=0.8

1
r=0.7
0

1
0

10

15
n

20

25

30

Figura 4.16: Formas de convergencia por gradiente en funci


on de la
raz
on geometrica r para un coeficiente.

Para que w[n] tienda al


optimo w , cuando n , debe cumplirse que:
|1 2| < 1
Al valor
r = 1 2
se le denomina raz
on geometrica 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
as r
apido cuanto m
as parecido sea r a cero.
Si 1 < r < 0 (1/2 < < 1/) el proceso converge de forma oscilatoria,
tanto m
as r
apido cuanto m
as parecido sea r a cero.
Resumiendo, para que el algoritmo converja debe cumplirse:
0<<

En cuanto a tambien decrece de forma exponencial pero como (r2 )n , es


decir, de forma no oscilatoria.

152

4.4.2.

CAPTULO 4. FILTROS ADAPTATIVOS

Caso Multidimensional

En el caso de que el filtro tenga mas de un coeficiente, la superficie de


error deja de ser una par
abola 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
aramos cortes de la superficie de error por los ejes
de la matriz R. Si realiz
principales, obtendramos par
abolas cuyo k asociado es el autovalor asociado
al autovector de R correspondiente a la direccion 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
on geometrica de adaptacion que vale:
rk = (1 2k )

0kL

(4.30)

Para garantizar la convergencia debe cumplirse |rk | < 1 para todos los
modos. Esto implica que:
1
<
(4.31)
max
La convergencia se alcanza cuando han convergido todos los modos. La convergencia es m
as lenta cuanto m
as parecido sea |rk | a 1. Esto suele producirse
para mn . La raz
on geometrica del modo mas lento, en el caso de tomar lo
mas grande posible para asegurar la convergencia, vale:
mn
r = 12
max


(4.32)

Si la razon max /mn es grande, el valor de la constante geometrica de la


ecuacion (4.32) puede ser muy pr
oximo 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
omo inicialmente el algoritmo converge rapidamente hasta
uno de los ejes principales del paraboloide. Se puede decir que el modo asociado
al eje mas estrecho del paraboloide ( mayor) converge rapidamente, pero
puede observarse c
omo el modo asociado a la convergencia en el eje mayor de
las elipses ( menor) converge mucho mas lentamente; sera la convergencia de
este modo la que limite la velocidad de convergencia global. Observese tambien
como, inicialmente, el tama
no de los pasos es mayor; mientras que conforme
nos acercamos al
optimo, debido a que el valor del gradiente es menor, se van
acortando.

153

4.5. El algoritmo LMS

20

15

10

w1

10

15

20
20

15

10

0
w0

10

15

20

Figura 4.17: Convergencia de una algoritmo de gradiente.

Resumiendo, podemos decir que:


El autovalor m
as grande de R condiciona el valor maximo de para
garantizar la estabilidad de la convergencia.
El valor max /mn determina la maxima velocidad de convergencia alcanzable por un algoritmo de gradiente.

4.5.

El algoritmo LMS

En la secci
on anterior hemos visto una estrategia para encontrar el mnimo
de la superficie de error consistente en moverse peque
nos pasos en direccion
contraria al gradiente. En la pr
actica se dispone de muestras de las se
nales
d[n] y x[n], pero se desconoce el valor del gradiente.
El algoritmo conocido como LMS (Least Mean Squares) consiste en sustituir el gradiente en la ecuaci
on (4.25) por una estima del mismo obtenida

154

CAPTULO 4. FILTROS ADAPTATIVOS

20

15

10

w1

10

15

20
20

15

10

0
w0

10

15

20

Figura 4.18: Convergencia de los coeficientes en el algoritmo LMS.

con muestras de las se


nales. En concreto, para actualizar los pesos, se sigue la
ecuacion:
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 facil comprobar que la media de la estima del gradiente coincide con el


gradiente te
orico:
n

E [n]
= E {2e[n] X[n]} = E 2(d[n] X T [n] W ) X[n] = 2 R W P
(4.35)
expresion que coincide con el gradiente teorico de la ecuacion (4.16). El hecho
de que el gradiente no sea m
as 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 mas erratica.
En las figuras 4.18, 4.19 y 4.20 se muestra un ejemplo de adaptacion usando
el algoritmo LMS. Las se
nales usadas son las del ejemplo de la seccion 4.3.6,

155

4.5. El algoritmo LMS

e[n]
10
8
6
4
2
0
2
4
6
8
10
0

100

200

300

400

500
n

600

700

800

900

1000

Figura 4.19: Se
nal error en el algoritmo LMS.

salvo que la se
nal d[n] tiene a
nadido un ruido blanco de 2 = 0,05. Ello influye
u
nicamente en que la superficie de error tiene el mnimo ligeramente mas
alto. Recordemos que tenemos dos coeficientes. En la figura 4.18 se muestra
la evolucion de los pesos. Puede observarse que es similar a un algoritmo de
gradiente pero m
as err
atica.
La figura 4.19 muestra la evoluci
on temporal de la se
nal de error. Podemos
apreciar como disminuye su amplitud llegando a un punto donde no parece
decrecer mas. En ese momento, el algoritmo habra finalizado su adaptacion,
y la potencia media de la se
nal error una vez concluda la misma, sera mn .
La figura 4.20 muestra la evoluci
on temporal de los pesos. Podemos apreciar como 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
as abajo.

4.5.1.

Ejemplo num
erico del algoritmo LMS

En esta secci
on vamos a dar un ejemplo numerico del proceso de adaptacion
de un algoritmo LMS. Como hemos podido ver en la seccion anterior, este
algoritmo es bastante simple, pero es necesario ser cuidadoso a la hora de

156

CAPTULO 4. FILTROS ADAPTATIVOS

w0[n] w1[n]
10

5
w0

w1

10

15

20
0

100

200

300

400

500
n

600

700

800

900

1000

Figura 4.20: Evoluci


on temporal de los pesos en el algoritmo LMS.

implementarlo. B
asicamente 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
nal e[n] = d[n] y[n].
Actualizar los pesos W [n + 1] = W [n] + 2e[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
acticos del algoritmo LMS

En los apartados anteriores hemos visto como el algortmo LMS es una


aproximacion a un algoritmo de gradiente que utiliza una estima del mismo
consistente en muestras de la se
nal de entrada y la se
nal error. Existen algunas
consideraciones que conviene hacer en la practica debido al hecho de no utilizar
el verdadero gradiente.

157

4.5. El algoritmo LMS

n
..
.
-2
-1
0
1
..
.

d[n]
..
.
1.6
1.8
0.6
-0.8
..
.

x[n]
..
.
0
0.6
0.9
0.9
..
.

w0 [n]
..
.

w1 [n]
..
.

y[n]
..
.

e[n]
..
.

-2
-1.82
-1.673
..
.

1
1
1.0983
..
.

-1.2
-1.038
-0.517
..
.

3
1.638
-0.282
..
.

Cuadro 4.1: Ejemplo numerico de adaptaci


on LMS.

La primera se refiere al valor m


aximo que podemos dar a la constante
de adaptaci
on . Seg
un se dijo, su valor debera ser menor que la inversa
del mayor autovalor de la matriz R. Desgraciadamente, en la practica, no
conocemos dicha matriz por lo que resulta imposible calcular sus autovalores.
Dado que los autovalores de la matriz de autocorrelacion R son todos positivos,
el mayor autovalor ser
a menor que la suma de todos ellos. Ademas 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 maximo de de forma que se garantice
la estabilidad de la convergencia.
<

1
(L + 1) P otx

(4.36)

En esta expresi
on intervienen u
nicamente el n
umero de coeficientes del filtro y
la potencia media de la se
nal x[n], f
acilmente estimable. Si la se
nal x[n] pudiera
variar su potencia (es decir, fuera no estacionaria), deberamos introducir alg
un
mecanismo de monitorizaci
on de la misma o situarnos en el caso de la maxima
potencia esperada, pues en caso contrario, el algoritmo de adaptacion podra
diverger.
La segunda consideraci
on 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 adaptadacion sea nulo, estos no
dejen de variar si la se
nal e[n] no tiende a cero. Se podra ver el fenomeno como
si nos estuvieramos moviendo por el fondo del paraboloide constantemente.

158

CAPTULO 4. FILTROS ADAPTATIVOS

Ello provoca un aumento en la potencia media de la se


nal 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 mn . A
dicha varianza se le llama desajuste. Se define el exceso de error cuadratico
medio, como la diferencia entre la potencia media de la se
nal error alcanzable
en la practica con el LMS y mn . Dicha diferencia, conocida como exceso de
potencia de error, tambien es proporcional a y mn . Ello explica la necesidad de que no se escoja demasiado grande pensando en la velocidad si
mn 6= 0, ya que, en caso contrario, tendramos un exceso de potencia de error
inaceptable.

Esta
es la raz
on 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 solucion a problemas de filtrado
en muchas situaciones.
Se basan en filtrar una se
nal x de modo que la salida del filtro y se
parezca lo m
as posible a una se
nal de referencia d.
El criterio m
as empleado es minimizar la potencia de la se
nal error.
Si el filtro adaptativo es FIR la superficie de error tiene un u
nico mnimo
local que adem
as es el mnimo global.
El algoritmo LMS es, por su sencillez, el mas utilizado.
La constante de adaptaci
on:
interesa grande para convergencia rapida.
interesa peque
na para reducir el desajuste.
La estabilidad de la convergencia viene determinada por el autovalor
mas grande de la matriz de autocorrelacion.
La velocidad de convergencia viene limitada por el cociente max /mn .
Si este cociente es grande, la convergencia puede ser muy lenta.

159

4.7. Problemas

Si la se
nal 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 autocorrelacion de la se


nal de entrada de una
filtro adaptativo que funciona seg
un el algoritmo LMS es:
"

R=

3 2
2 3

a) Comprobar que es una matriz de autocorrelacion valida.


b) Determinar los autovalores y autovectores de R.
c) Dibuje de forma aproximada las curvas de nivel de la funcion error
cuadr
atico.
d ) Determine el valor de m
aximo para que el algoritmo LMS converja.
e) Suponiendo W T [0] = [ 0 0 ] y W = [ 2 1 ] dibujar de forma
aproximada la evoluci
on de los pesos. ( = 2/3 max )
2. Partiendo de los valores de las tres columnas de la izquierda de la tabla 4.1, rellenar el resto de las columnas y comprobar el resultado.

4.7.1.

Ejercicios con Matlab

En la direcci
on
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 adaptacion del mismo nombre.
1. En este primer ejercicio comprobaremos una de las aplicaciones de la prediccion lineal. En codificaci
on de se
nales interesa muchas veces codificar
la diferencia entre una se
nal y una prediccion de la misma. Normalmente
la predicci
on se hace de forma lineal y en base a muestras anteriores. En

160

CAPTULO 4. FILTROS ADAPTATIVOS

el receptor es posible reconstruir la se


nal original si se recibe el error de
predicci
on y los coeficientes utilizados para realizar la prediccion.
e[n] = x[n] x
[n] = x[n] a1 x[n 1] ap x[n p]
Interesa utilizar unos coeficientes para realizar la prediccion de forma
que la potencia del error de prediccion sea mnima. Suponiendo que
las se
nales a codificar sean se
nales de voz, y dado que estas son no
estacionarias, parece l
ogico que los coeficientes de prediccion optimos
deban ir variando con el tiempo. Una forma de determinar los coeficientes
es mediante un filtrado adaptativo de la se
nal x[n].
En el fichero voz.mat encontrara las se
nales que necesita. Para ello,
ejecute el algoritmo LMS tomando los siguientes valores de entrada:
Se
nal d[n]: el vector voz.
Se
nal x[n]: lo mismo retrasado una muestra.
N
umero de coeficientes: 10.
Valores iniciales de los coeficientes: todo ceros.
Valor de : 0.15 de su valor maximo. Teniendo en cuenta que la se
nal
x es no estacionaria, para estimar su potencia utilice el fragmento
o1 correspondiente a una zona de maxima amplitud y estime su
valor cuadr
atico medio.
Se pide:
a) Determine la potencia media de la se
nal voz y de la se
nal error.
b) Compruebe que los coeficientes varan lentamente. Represente graficamente la evoluci
on temporal de los pesos. En una aplicacion
de codificaci
on dichos coeficientes deberan transmitirse al receptor
como informaci
on lateral junto a la se
nal error de prediccion. Ello
supondra una informaci
on adicional a transmitir, reduciendo de
este modo la eficiencia de la compresion. Una forma de evitar esto
consiste en darse cuenta que los coeficientes varan lentamente, por
lo que pueden transmitirse solo de vez en cuando, realizando una
interpolaci
on de los mismos en el receptor.
2. En este ejercicio, supondremos que tenemos una configuracion de identificacion de sistemas (figura 4.2). En el fichero IDSIST.MAT encontrara las
se
nales 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.

161

4.7. Problemas

a) Determine el valor de max para que el algoritmo LMS converja


suponiendo que el filtro adaptativo tiene 8 coeficientes.
b) Sabiendo que la planta tiene una respuesta impulsional de duracion
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
aximo. Dibuje la se
nal error y la evolucion temporal de los pesos
para comprobar que el algoritmo ha terminado de converger.
c) Un problema que surge en la practica, es que la se
nal d[n] tiene
a
nadido un ruido incorrelado. Demuestre que si a
nadimos un ruido
incorrelado con x[n] a la se
nal d[n] el u
nico cambio en la superficie
de error consiste en que su valor mnimo mn aumenta.

Planta???

x[n]



d-
+  r[n]

y X
X
?+ Xe[n]
X dn


6

- Filtro. Adapt.

y[n]



Figura 4.21: Ruido aditivo a la salida de la planta. El algoritmo adaptativo 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
nal d no tena ruido la
potencia de la se
nal error tras la adaptacion vala cero, calcule cual
es el valor de mn en el caso de utilizar dn.
e) Utilice un filtro adaptativo de 8 coeficientes con un valor de igual
a una decima parte de su valor maximo. y ejecute el algoritmo LMS
tratando de estimar la respuesta en frecuencia de la planta. Dibuje
la evoluci
on temporal de los pesos. Que observa con respecto al
caso en que no tenamos ruido en la salida de la planta?
f ) Repita el punto anterior pero con un valor de igual a 1/5 del valor
m
aximo. Dibuje nuevamente la evolucion temporal de los pesos y
compare que sucede cuando se incrementa .

162

CAPTULO 4. FILTROS ADAPTATIVOS

g) Considere un margen de muestras de las se


nales error en los que se
haya producido la adaptaci
on para ambos casos ( = 1/10 max y
= 1/5 max ), por ejemplo entre la 400 y la 900. Calcule la potencia
media de la se
nal 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
an readaptandose (y por lo tanto nunca en
el
optimo) en cada caso. Compruebe la relacion de con el exceso
de potencia de error que se vio en teora.
h) En los anteriores apartados hemos comprobado la adaptacion cuando la se
nal de entrada x es blanca. En este caso todos los autovalores
son iguales y por lo tanto la convergencia es rapida. En este apartado considere la se
nal x2 (no blanca) que se aplica a la planta para
obtener d2.
Estime los valores de autocorrelacion de la se
nal x2.
Determine los autovalores de la matriz de autocorrelacion y
determine la dispersi
on de autovalores.
Ejecute el algoritmo LMS y compruebe que no se ha alcanzado
la adaptaci
on. Verifique que la adaptacion es mucho mas lenta
que en el caso en que la se
nal de entrada era blanca.
Determine la respuesta en frecuencia de los coeficientes en la
u
ltima adaptaci
on. Comparela con la respuesta en frecuencia de
la planta. Compruebe que el error en la respuesta en frecuencia no es uniforme en todas las frecuencias. Para determinar
la respuesta en frecuencia utilice la funcion freqz() y para
compararlas utilice abs(H1-H2)
Calcule el espectro de la se
nal de entrada x2 utilizando el programa 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
on que existe entre el error en la estima de
la respuesta en frecuencia y el espectro de la se
nal de entrada
Resuma los principales efectos de que la se
nal de entrada no
sea blanca en la identificacion de sistemas.

Captulo 5

An
alisis Espectral
5.1.

Introducci
on

Que es el an
alisis espectral? El an
alisis espectral de se
nales no es otra cosa
que el tratar de ver las se
nales de una forma distinta a como se manifiestan
normalmente. Concretando un poco m
as, las se
nales que habitualmente manejamos se presentan como variaciones de una magnitud fsica (corriente, voltaje,
presion ac
ustica, . . . ) en funci
on del tiempo. Podramos decir, que las se
nales
se producen de forma natural en el dominio del tiempo. Sin embargo, muchas
veces, mirar una se
nal en su dominio natural (el tiempo generalmente) no ayuda demasiado a comprender la misma. En muchas ocasiones, descomponer la
se
nal como suma de sinusoides resulta de gran interes practico. En general,
se entendera por an
alisis espectral en el sentido mas amplio del termino, el
descomponer una se
nal como suma de una coleccion de se
nales (ortogonales).
En la gran mayora de los casos, y es lo que se estudiara en este tema, las
se
nales en las que descompondremos seran sinusoides. La razon de ello, es que
las sinusoides son autofunciones de los sistemas lineales.
El analisis espectral, resumiendo, sera pues el conjunto de herramientas
que permiten considerar las se
nales desde un punto de vista diferente, cuando
ello resulta de interes.
Otra forma de hablar, diferente pero equivalente a la vez, y poco formal,
podra ser decir que las se
nales, en su dominio temporal, nos indican la fuerza
de la se
nal a lo largo del tiempo, mientras que en su dominio espectral, la
fuerza de la misma para cada frecuencia. De un modo mas tecnico diremos
que el analisis espectral nos da la distribucion de energa (o potencia seg
un el
caso) por frecuencias, es decir, cu
anta energa (o potencia) tiene la se
nal en
cada frecuencia.
163


CAPTULO 5. ANALISIS
ESPECTRAL

164

5.2.

Tipos y tecnologas de analizadores espectrales

El analisis espectral es una herramienta profusamente utilizada en Telecomunicaciones y un sinfn de otras disciplinas. Existen distintos tipos de analizadores espectrales, fundamentalmente en funcion del rango de frecuencias a
analizar y de la aplicaci
on. 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 mas tpicas.

5.2.1.

Analizadores por banco de filtros

Practicamente 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
nal en la correspondiente banda de frecuencias.
Este tipo de presentaci
on corresponde al resultado de un analisis 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
on del comportamiento medio en su correspondiente banda de paso. Los medidores de potencia consisten basicamente 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 filtros.

165

5.2. Tipos y tecnologas de analizadores espectrales

x2

Hkpb

Potk
Figura 5.2: Esquema de un medidor de potencia de un analizador espectral por banco de filtros.

banda de este filtro paso-bajo es el responsable de que la salida de cada canal


sea mas o menos fluctuante. El criterio para fijar el ancho de banda de estos
filtros paso bajo es:
Para se
nales estacionarias interesara anchos de banda peque
nos. Ello
implicara retardos de grupo altos (desfase entre lo que se oye y lo que
se mide). Esto no obstante, no sera ning
un problema para se
nales estacionarias, pues por definici
on de estacionariedad el contenido espectral
de la misma no vara con el tiempo.
Para se
nales din
amicas interesara anchos de banda grandes, para que las
respectivas salidas pudieran seguir la evolucion temporal de las se
nales
en los diferentes canales. El problema que presentara tomar anchos de
banda excesivamente grandes, sera lo fluctuante que resultara la estima
espectral. Esto se comprender
a mejor al final del tema.
En la practica, los equipos profesionales de medida suelen tener anchos de
banda normalizados dependientes del ancho de la banda analizada.
La utilidad (te
orica al menos) de dichos displays no es distraernos la vista
mientras escuchamos la m
usica (aunque para la gran mayora s lo sea), sino
permitirnos ecualizar la sala de audicion de forma que todas las frecuencias
suenen igual si originalmente son iguales. Para ello, se debe disponer de una
fuente de se
nal cuyo contenido en frecuencia se conozca, se reproduce a traves
del equipo de audio y se analiza espectralmente (mediante el banco de filtros)
la se
nal captada en un micr
ofono (calibrado). Actuando sobre los mandos del
ecualizador del equipo es posible compensar los distintos niveles de amplificacion de la se
nal ac
ustica debidos a no idealidades de altavoces, distintas
absorciones ac
usticas de los materiales del recinto,. . .
Este tipo de analizadores es v
alido cuando el n
umero de canales espectrales deseado no es excesivamente grande ni se requiere una gran resolucion
espectral. Pueden implementarse de forma analogica (operacionales, bobinas,


CAPTULO 5. ANALISIS
ESPECTRAL

166

condensadores, . . . ) o digital (digitalizando la se


nal e implementando los filtros digitalmente). Presentan la ventaja de que se hace un analisis espectral
simult
aneo 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
alisis 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
nos, el n
umero
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 predeteccion, y un medidor de potencia analogo a los vistos en los analizadores por banco de filtros (elevador al
cuadrado y filtro paso-bajo o de postdeteccion).
Supongamos que inicialmente, la frecuencia del oscilador local es fija. Cuando 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
nal de frecuencia f1 = f0 fOL al batirse con el oscilador local obtendremos dos terminos, uno en f0 y otro en |f0 2fOL |. El filtro de
frecuencia intermedia se encargar
a de rechazar el termino de |f0 2fOL |. Si
a la entrada tenemos la frecuencia f2 = f0 + fOL , tras el mezclador tambien
obtendremos un termino en f0 . Supongamos que la se
nal de entrada ha sido filtrada de modo que s
olo una de las dos frecuencias (f1 por fijar ideas)
esta presente en la entrada del analizador (este filtrado se denomina rechazo
de frecuencia imagen y est
a presente en todos los sistemas superheterodinos).
Si f0 es una frecuencia generica de la banda de paso del filtro de frecuencia
intermedia, resultar
a que para una cierta frecuencia del oscilador local, una
cierta banda de la se
nal de entrada (f1 ) coincidira con la banda de paso del
filtro de frecuencia intermedia. Es f
acil darse cuenta que el sistema mide la

-

6

HF I

x2

Hpb

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
nal original que se correspondera con la banda de paso
del filtro de frecuencia intermedia. Esto permite un analisis secuencial de las
distintas bandas de frecuencia. En la practica, 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.
Fijemonos que, en este caso, tambien se mide la distribucion de potencia
de la se
nal en distintas frecuencias, pero esta vez de modo secuencial, con lo
que si la se
nal no es estacionaria y el tiempo de medida es demasiado largo,
pueden presentarse resultados err
oneos.
Este tipo de analizadores se emplea sobre todo en radio-frecuencia. En
cuanto a la tecnologa empleada suele ser analogica hasta el filtro de frecuencia
intermedia inclusive y anal
ogica o digital, seg
un modelos de equipos, a partir
de dicho filtro.
Algunas de entre las muchas aplicaciones de este tipo de analizadores
podran ser el an
alisis de ocupaciones de canales de RF (en un sistema de
TV cable o en el aire), o el an
alisis de emisiones parasitas de cualquier equipo
electronico (medidas EMI).

5.2.3.

Analizadores digitales

Van a constituir el resto del tema. En este punto, solo diremos que las
se
nales a analizar son digitalizadas, y se analizan mediante distintos procedimientos las muestras obtenidas. Son los metodos mas potentes que existen
por la complejidad de los procedimientos implementables. Su u
nica limitacion practica est
a en la disponibilidad/calidad de los convertidores de datos
(A/D) y en el ancho de banda de la se
nal (n
umero de muestras por segundo
a procesar).

5.3.

Planteamiento del problema del an


alisis espectral

En esta secci
on vamos a centrar un poco mas el problema que pretendemos
resolver mediante el an
alisis espectral. En general, podemos hablar de una
serie de tipos de se
nales que podemos estar interesados en analizar. En los
siguientes apartados iremos viendo para cada uno de estos tipos que es lo que
pretendemos obtener analizando espectralmente, y los posibles problemas.

168

5.3.1.

CAPTULO 5. ANALISIS
ESPECTRAL

Se
nales deterministas de duraci
on limitada

Este tipo de se
nales es el que ofrece conceptualmente menos problemas.
La herramienta a utilizar ser
a la transformada de Fourier, y en la practica
la FFT. Ello es posible porque la FFT recibe como entrada un vector de
muestras de duraci
on limitada, y proporciona como resultado un vector de
muestras espectrales. Si se desea una mayor finura de muestreo espectral,
siempre podremos a
nadir ceros al final de las muestras antes de calcular la
FFT.
Si se eleva al cuadrado el m
odulo de la FFT se obtiene la denominada
Densidad Espectral de Energa (DEE).

5.3.2.

Se
nales deterministas de duraci
on ilimitada

Cuando las se
nales son de duraci
on ilimitada, nos encontramos con el primer obstaculo insalvable del an
alisis espectral. La Transformada de Fourier
(TF), es una operaci
on que permite pasar de un dominio (el tiempo) a otro
(la frecuencia). Sin embargo, por la propia definicion, para calcular la TF en
cualquier frecuencia, es necesario conocer la se
nal en todo instante. Esto, para
se
nales de duraci
on infinita, implicara esperar hasta el final de los tiempos
antes de poder empezar a calcular la TF, as como haber conocido dicha se
nal
desde el principio de los mismos (eso sin contar con los problemas de convergencia de la serie).
En primer lugar, no est
abamos aqu para grabar el principio de la se
nal.
En segundo lugar, tampoco lo estaremos para el final de la misma. Ademas
es bastante improbable que la se
nal que pretendemos analizar existiera desde
siempre ni vaya a durar por siempre. Todas estas cuestiones, aparentemente
filosoficas, conducen al procedimiento de medida siguiente. Lo que haremos
sera tomar un trozo de se
nal y analizarlo utilizando los metodos de se
nales
de duracion limitada (cualquier trozo de se
nal tiene duracion limitada), suponiendo que el segmento seleccionado es suficientemente representativo de la
se
nal total.
Dentro de este tipo de se
nales consideraremos, por su importancia, el estudio mas en detalle de sumas de tonos y se
nales periodicas.

5.3.3.

Se
nales aleatorias estacionarias

Para describir en el dominio de la frecuencia se


nales 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


nal aleatoria estacionaria x[n]
viene dada por:
x (ej ) = TF {Rx [m]}
(5.1)
donde Rx [m] es la autocorrelaci
on de la se
nal x[n] dada por
Rx [m] = E {x [n]x[n + m]}

(5.2)

Observese que para que la ecuaci


on 5.2 no dependa de n el proceso aleatorio
debe ser estacionario. N
otese tambien que, para se
nales de este tipo, es totalmente equivalente el c
alculo de la autocorrelacion o el calculo directo de la
DEP, pues del uno al otro se pasa simplemente por una TF. As pues, veremos mas adelante en el desarrollo del tema, como existen ciertos metodos de
analisis espectral que se basan en la estima de la funcion de autocorrelacion
para, a partir de ella, mediante la TF, calcular la DEP.
La relaci
on entre la autocorrelaci
on y la DEP, nos permite presentar el
analisis espectral desde otro punto de vista. Es conocido que la autocorrelacion
mide el parecido de una se
nal consigo misma desplazada. El que una se
nal 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
proximos. Desde ese punto de vista, la autocorrelacion (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 autocorrelacion es una en el origen.
Ello quiere decir que la se
nal no se parece (estadsticamente) a s misma salvo en el mismo instante. De esto es posible sacar una conclusion. Espectros
suaves (que varen lentamente con la frecuencia) corresponderan a se
nales con
poca memoria (gran cantidad de informacion por unidad de tiempo) mientras
que se
nales con autocorrelaci
on ancha (espectros estrechos) corresponderan a
se
nales con bastante memoria (poca informacion por unidad de tiempo).
Para terminar esta secci
on, un u
ltimo aspecto teorico. Existe otro concepto
relativo a los procesos aleatorios que es el de ergodicidad. Dicha propiedad
viene a decir que, si un proceso estacionario ademas es ergodico, resulta que
observando una u
nica realizaci
on desde a se tiene toda la informacion
del proceso. En otras palabras, esta propiedad es la que permite que, cogiendo
una realizaci
on (cualquiera) del proceso, se pueda inferir el comportamiento
estadstico 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
orico s
olido a lo que estamos haciendo, pues en la
practica siempre dispondremos u
nicamente de una realizacion del proceso (la


CAPTULO 5. ANALISIS
ESPECTRAL

170

se
nal a analizar). No obstante, indicaremos tambien 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 servira para nada).
La ergodicidad, como acabamos de ver, es la propiedad teorica que nos
permite analizar un proceso aleatorio a partir de una u
nica realizacion. Esto, de
todos modos, a
un no resuelve el an
alisis espectral practico pues sera necesario
conocer la realizaci
on para todo tiempo. Para solucionar este problema se
recurre a lo mismo que en el caso de se
nales deterministas de duracion infinita.
Se cogera un trozo de se
nal, y se realizara el analisis de dicho fragmento. La
forma de pasar del an
alisis de un fragmento a la DEP de la se
nal aleatoria
sera estudiada con detalle en los apartados correspondientes.

5.3.4.

Se
nales no estacionarias

Si la se
nal a analizar es no estacionaria resulta que la ecuacion (5.2) depende no solo de m sino de n. En ese caso la DEP no existe estrictamente
hablando. Para solventar este problema, presente en muchas se
nales de interes
practico (voz, sonar, radar,. . . ), se recurrira a un concepto nuevo llamado distribuci
on tiempo frecuencia.
En la secci
on correspondiente estudiaremos con mas profundidad estos procedimientos, pero de momento pensemos que lo que haremos sera considerar
que el espectro vara con el tiempo. Este concepto, facil de comprender intuitivamente, choca frontalmente con nuestros conocimientos teoricos hasta el
momento, en donde los dominios del tiempo y la frecuencia, NUNCA aparecen
juntos.

5.3.5.

Aspectos pr
acticos del an
alisis espectral digital

En este apartado vamos a revisar sucintamente cuales son las limitaciones


y condicionantes de tipo pr
actico que surgen en el analisis espectral mediante
procedimientos digitales.
El primer paso para analizar espectralmente una se
nal (analogica) de forma
digital sera digitalizarla. En dicho proceso apareceran dos elementos:
El filtro anti-aliasing.
El convertidor A/D.
El primero, es necesario siempre para evitar la mezcla de componentes espectrales que se producira si no estuviera presente. Dado que los filtros implementables no tienen atenuaciones infinitas en las bandas atenuadas ni bandas

171

5.3. Planteamiento del problema

Haa

A/D

An. Dig.

Figura 5.4: Esquema del interfaz necesario para analizar digitalmente


el espectro de una se
nal anal
ogica.

de transicion abruptas, el espectro que se presentara al conversor A/D no


sera exactamente el mismo de la se
nal a analizar. Interesara pues que este
filtro tenga buenas prestaciones, y compensar las medidas en funcion del filtro
utilizado.
El segundo elemento, el conversor A/D, idealmente no debera introducir
ning
un efecto negativo sobre el an
alisis. En la practica introduce dos.
Ruido de cuantificaci
on.
No linealidades.
El ruido de cuantificaci
on es sobradamente conocido y, desde el punto de
vista del analisis espectral, es como si la se
nal que realmente vamos a analizar
fuera la suma de la que deseamos analizar mas un ruido (blanco). Ello puede
llevar a errores importantes en la estima espectral, especialmente en aquellas
frecuencias en que la se
nal de entrada es comparable al ruido de cuantificacion.
Este efecto no es corregible, y s
olo es posible saber si lo estamos haciendo bien
o mal.
El efecto de las no linealidades se produce porque no todos los escalones de
cuantificacion son identicos. Ello lleva a los fenomenos de distorsion e intermodulacion, consistentes, en que si la entrada al sistema fuera un tono analogico,
a la salida del A/D tendra la suma de varios tonos digitales armonicamente
relacionados. Como los metodos digitales procesan la salida del A/D los resultados seran erroneos, es decir, vera m
as 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 garantas sobre la calidad del A/D antes de intentar
el analisis espectral.
Con respecto a la duraci
on infinita de las se
nales ya se ha mencionado
mas arriba la soluci
on que adoptaremos, consistente en coger fragmentos de
duracion limitada. Finalmente indicaremos que los procedimientos que van
a ser vistos a lo largo del resto del tema, corresponden a procedimientos de
analisis de se
nales discretas. Los resultados que dan dichos procedimientos
lo son en frecuencias digitales fd entre -0.5 y 0.5. Para pasar los resultados a


CAPTULO 5. ANALISIS
ESPECTRAL

172

frecuencias anal
ogicas fa es necesario multiplicar por la frecuencia de muestreo
fs .
fa = fd fs
(5.3)

5.4.

An
alisis espectral de se
nales deterministas

Esta secci
on se va a dedicar al an
alisis espectral de sumas de tonos. Dado
que las se
nales peri
odicas son sumas de tonos, este apartado incluira el analisis
de se
nales peri
odicas como extensi
on.
Supondremos que la se
nal 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 u
nico tono, puesto que los efectos que vamos a
presentar en breve necesitan de la presencia de varios tonos. Para no recargar
la notacion, 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
nal de este tipo con f1 = 0,15 y f2 = 0,28.
2

1.5

x[n]

0.5

-0.5

-1

-1.5

-2
0

20

40

60

80

100
n

120

140

160

180

200

Figura 5.5: Suma de dos tonos en el dominio del tiempo.


Para poder realizar el an
alisis, se considera un n
umero finito, L, de muestras de la se
nal. Supongamos que asignamos a dicho trozo (arbitrariamente)

5.4. An
alisis espectral de se
nales deterministas

173

al intervalo n = 0, , L 1. En principio se puede suponer cualquier instante


inicial para la se
nal, puesto que la eleccion del origen de tiempos es totalmente arbitraria (salvo que se vayan a comparar dos se
nales). Ademas, si
supusieramos otro intervalo, esto s
olo afectara a la fase y no al modulo de la
transformada, y normalmente estaremos interesados en el modulo.
Supondremos igualmente, que la se
nal fuera del segmento de muestras
disponibles es nula. El proceso pues, de seleccion de un trozo de se
nal, se puede
ver como multiplicar la se
nal x[n] de duracion infinita por otra de duracion
finita w[n] que denominaremos ventana.
xw [n] = x[n] w[n]
donde

w[n] =

6= 0 0 n L 1
0
resto

(5.5)
(5.6)

Una vez tenemos una se


nal de duracion finita, simplemente calcularemos
la TF de la misma:
j

Xw (e ) =

L1
X

xw [n]ejn = X(ej ) W (ej )

(5.7)

n=0

donde es la convoluci
on peri
odica de transformadas de Fourier
Z
1
X(ej() ) W (ej ) d
X(ej ) W (ej ) =
2

(5.8)

En la figura 5.6 se muestra la transformada de Fourier de la se


nal de la figura 5.5 utilizando como ventana la siguiente funcion (L = 200):
(

w[n] =

1 0nL1
0
resto

(5.9)

Dicha ventana recibe el nombre de ventana rectangular de duracion L y su


efecto practico es la simple truncamiento de la se
nal.
De dicha figura se pueden extraer una serie de conclusiones interesantes:
Se ven claramente los dos picos correspondientes a los dos tonos (mas
los respectivos de frecuencias negativas).
La amplitud de los picos, contrariamente a lo que dice la teora no es
infinita. Ello es debido a haber cogido u
nicamente una porcion de duracion finita de la se
nal. En concreto, para un tono aislado de amplitud A
y pulsaci
on 0 , el valor del pico de la transformada vale:
Xw (ej0 ) =

A
W (ej0 )
2

(5.10)


CAPTULO 5. ANALISIS
ESPECTRAL

174

120

100

80

60

40

20

0
-0.5

-0.4

-0.3

-0.2

-0.1

0
f

0.1

0.2

0.3

0.4

0.5

Figura 5.6: M
odulo de la transformada de Fourier de dos tonos truncados.

La anchura de los picos de cada tono no es nula. En efecto presentan


un cierto ancho. Para evaluar cuanto es este ancho, pensemos que la
convoluci
on por una delta (TF teorica de un tono) consiste en desplazar
la funci
on a donde est
a 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
ureas de menor amplitud, practicamente por todo el espectro. Tambien son debidas a la convolucion 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
nal con una ventana. Eligiendo diferentes ventanas, podremos alterar el aspecto de la transformada de Fourier de
forma que los picos sean m
as o menos anchos, y las oscilaciones esp
ureas sean
mas o menos grandes.

5.4.1.

Ventanas de an
alisis

En el apartado anterior, hemos concluido que las propiedades del analizador espectral de tonos, dependen u
nicamente de la ventana de truncacion

175

5.4. An
alisis espectral de se
nales deterministas

-5

NLS

-10

dB

-15

-20

-25

-30

-35

ALP
-40
-0.5

-0.4

-0.3

-0.2

-0.1

0
f

0.1

0.2

0.3

0.4

0.5

Figura 5.7: M
odulo de la transformada de Fourier de una ventana
rectangular de 30 puntos.

empleada. Existen muchas posibles elecciones para las ventanas. Las dos principales caractersticas que afectan sus propiedades de analisis espectral son:
El ancho del l
obulo principal, ALP , definido como el ancho de la transformada de Fourier entre los dos nulos mas proximos al origen de frecuencias. Se expresa en hercios.
El nivel de l
obulos secundarios, NLS definido como la diferencia de amplitud entre el m
aximo local de la TF en el origen y el siguiente mas
grande. Se suele expresar en dB (20 log A0 /A1 , siendo A0 el modulo de
la TF en el origen y A1 el m
odulo del siguiente maximo local de la TF).
La figura 5.7 muestra dichos par
ametros para una ventana rectangular de
duracion 30.
Cada uno de los par
ametros anteriormente mencionados, es decir, el ancho
del lobulo principal y el nivel de l
obulos 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 lobulo principal de la TF de la ventana.


CAPTULO 5. ANALISIS
ESPECTRAL

176

La presencia de m
ultiples peque
nos picos esp
ureos es debida a los lobulos
secundarios de la TF de la ventana.
Las ventanas m
as empleadas suelen ser funciones simetricas decrecientes
hacia los extremos del margen de valores no nulos de la misma, y con un valor
maximo de 1 en el centro del intervalo. De entre las mas usuales estan las
rectangulares, triangulares, Hanning y Hamming. Las expresiones analticas
de las distintas ventanas pueden encontrarse en la bibliografa [6]. Ademas
Matlab tiene funciones que generan un gran n
umero de ventanas diferentes
de todas las longitudes.
Para nuestros prop
ositos de an
alisis espectral conviene conocer las propiedades de las m
as conocidas, que se muestran en la tabla 5.1.
Tipo
Rectang.
Triang.
Hanning
Hamming

ALP (Hz)
2/L
4/L
4/L
4/L

NLS (dB)
13
26
32
42

Cuadro 5.1: Principales par


ametros de las ventanas m
as 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 maximo y la
figura 5.10, lo mismo para las ventanas de Hanning y Hamming, todas ellas de
duracion 31. A la vista de dichas figuras y de la tabla 5.1, es posible establecer
una serie de conclusiones o reglas pr
acticas a la hora de elegir una ventana:
Para una longitud de ventana L dada, la ventana rectangular es la que
presenta un l
obulo principal m
as estrecho (mejor resolucion), y un nivel
de lobulos secundarios m
as grande.
El nivel de l
obulos secundarios mas peque
no (de las ventanas consideradas en esta comparativa) corresponde a la de Hamming.
El ancho del l
obulo principal es inversamente proporcional a la duracion
de la misma.
Aunque no se puede deducir de las graficas mostradas, el nivel de lobulos
secundarios NO depende de la duracion de la ventana sino de la forma
(tipo) de la misma.

177

5.4. An
alisis espectral de se
nales deterministas

1
0.9
0.8
0.7
0.6
0.5
0.4
Triangular
0.3
0.2
Hamming
0.1
Hanning
0
0

10

15
n

20

25

30

Figura 5.8: Ventanas triangular, Hanning y Hamming en el dominio


del tiempo.

Aunque la ventana de Hanning tiene un nivel de lobulos secundarios


mayor que la ventana de Hamming, estos decrecen mas rapidamente.
En general, para una misma duracion de la ventana, mejorar en alguno
de los aspectos implica empeorar en otro.
Un aspecto pr
actico no mencionado hasta ahora pero que conviene tener
en cuenta es que siempre utilizaremos ventanas de duracion lo mas peque
na
posible para lograr nuestros prop
ositos. Ello es debido a dos razones:
El tiempo de medida ser
a mas corto, pues tardaremos menos tiempo en
tener las muestras necesarias.
El coste computacional y de memoria sera menor.
Para concluir este apartado, mencionaremos simplemente que existe un
gran n
umero 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
ametros de la misma (ancho del lobulo principal y nivel de
lobulos secundarios) a voluntad. Para una discusion mas detallada sobre la
ventana de Kaiser puede consultarse [6].


CAPTULO 5. ANALISIS
ESPECTRAL

178

Rectangular
0
10
20
30
40
50
0.5

0.4

0.3

0.2

0.1

0.1

0.2

0.3

0.4

0.5

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
f

Figura 5.9: Ventanas rectangular y triangular en el dominio de la frecuencia.


Hamming
0
10
20
30
40
50
0.5

0.4

0.3

0.2

0.1

0.1

0.2

0.3

0.4

0.5

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
f

Figura 5.10: Ventanas Hanning y Hamming en el dominio de la frecuencia.

5.4.2.

Resoluci
on en frecuencia y margen din
amico

Si en vez de tener dos tonos de frecuencias bastante diferentes como en el


ejemplo de la figura 5.6, hubieramos tenido dos tonos de frecuencias parecidas, hubiera resultado que sus correspondientes picos habran estado bastante

179

5.4. An
alisis espectral de se
nales deterministas

proximos. Si la separaci
on en frecuencia de los dos tonos hubiera sido menor
que el ancho del l
obulo principal de la ventana, en vez de dos picos, se habra
visto un u
nico pico. En este caso diramos que no somos capaces de resolver
los dos tonos.
Definiremos la resoluci
on de un estimador espectral como la separacion
mnima en frecuencia que deben tener dos tonos de igual amplitud para que el
estimador presente dos picos claramente diferenciados. La resolucion coincide
aproximadamente con el ancho del l
obulo principal de la ventana de truncamiento 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
on es de f = 2/200 mientras que la
separacion de frecuencia de los tonos es de 1/1000, por lo que no se resuelven.
Si en vez de considerar una duracion de 200 muestras para la ventana,
hubieramos tomado 4000, hubieramos 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, hubieramos tenido
dos tonos de amplitud bastante diferente, habra resultado que, incluso si la
frecuencia de los mismos hubiera sido bastante diferente, habra sido difcil
distinguir el tono de peque
na amplitud de un lobulo lateral del tono de mayor
amplitud. Dicho de otro modo, es m
as facil distinguir tonos de amplitudes si-

2
1
0
-1
-2
0

20

40

60

80

100
n

120

140

160

180

200

-0.4

-0.3

-0.2

-0.1

0
f

0.1

0.2

0.3

0.4

0.5

150

100

50

0
-0.5

Figura 5.11: Suma de dos tonos de frecuencias similares, que no son


resueltos mediante el an
alisis espectral.


CAPTULO 5. ANALISIS
ESPECTRAL

180

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
alisis espectral (detalle de una zona del eje de
frecuencias).

milares que no de amplitudes muy dispares. La diferencia de amplitud maxima


que puede tener un tono frente al otro (en dB) para que se garantice que se
detecta (suponiendo que la separaci
on en frecuencia garantiza su deteccion en
cuanto a resoluci
on) es lo que denominaremos margen dinamico del analizador
espectral. Este par
ametro est
a ntimamente relacionado con el nivel de lobulos
secundarios de la ventana de an
alisis.
La figura 5.13 muestra el resultado del analisis 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 resolucion, no tendramos
ningun problema. La figura 5.14 muestra el resultado del analisis espectral de
la misma se
nal de la figura 5.13, pero utilizando una ventana Hamming de
100 puntos. Ahora es f
acil distinguir la presencia del tono de menor amplitud
gracias al menor nivel de l
obulos secundarios de la ventana utilizada.
1

Las escalas en dB (logartmicas) suelen ser u


tiles para visualizar se
nales de amplitudes
muy distintas.

181

5.4. An
alisis espectral de se
nales deterministas

40

30

20

10

-10

-20

-30

-40
0

0.05

0.1

0.15

0.2

0.25
f

0.3

0.35

0.4

0.45

0.5

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
f

0.3

0.35

0.4

0.45

0.5

Figura 5.14: Estima espectral de los dos tonos de la figura 5.13 usando
ventana Hamming de la misma duraci
on.

5.4.3.

Uso de la FFT. Muestreo en frecuencia

Hasta ahora, el procedimiento empleado para realizar el analisis espectral


de tonos, implicaba que una vez truncada la se
nal, se calculaba la TF de la
misma.


CAPTULO 5. ANALISIS
ESPECTRAL

182

La TF de una se
nal discreta, no obstante, es una funcion contnua. Dichas
funciones son bastante engorrosas de manejar por ordenador, por lo que frecuentemente se manejan muestras de dicha TF. De hecho, todas las graficas
presentadas en los apartados anteriores, corresponden realmente a muestras
suficientemente pr
oximas de la TF (funcion contnua).
La herramienta natural para obtener muestras de la TF de una se
nal de
duracion finita es la FFT. En principio cabra pensar que dado que tenemos
segmentos de L muestras, las FFT a utilizar deberan ser del mismo tama
no.
Sin embargo, aunque la teora nos dice que dicho n
umero de muestras espectrales es suficiente para representar sin ambig
uedad la se
nal, en aplicaciones
de analisis espectral puede inducir a errores de interpretacion. Veamoslo con
algunos ejemplos. En la figura 5.15 se muestra el analisis de una se
nal que es
un u
nico tono de frecuencia 0.05, utilizando una ventana de analisis rectangular y de duraci
on L = 100. Se ha empleado para confeccionar dicha figura una
FFT de 100 puntos. La figura muestra los valores de la FFT como crculos
y unos trazos rectos que los unen. Aparentemente, el resultado es excelente
porque dado un tono tengo una delta como espectro. Nada mas enga
noso 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
5
0
0

0.05

0.1

0.15

0.2

0.25
f

0.3

0.35

0.4

0.45

0.5

Figura 5.15: Estima espectral de un tono de frecuencia 0.05 con una


ventana rectangular de duraci
on 100 puntos.

183

5.4. An
alisis espectral de se
nales deterministas

40

35

30

25

20

15

10

0
0

0.05

0.1

0.15

0.2

0.25
f

0.3

0.35

0.4

0.45

0.5

Figura 5.16: Estima espectral de un tono de frecuencia 0.0438 con una


ventana rectangular de duraci
on 100 puntos.

distinto al de la figura 5.15. La explicacion de la drastica diferencia de ambas


graficas, ante una peque
na diferencia en la frecuencia de la se
nal a analizar,
hay que buscarla en el hecho de que lo que estamos viendo no son mas que un
conjunto de muestras de la TF unidas por rectas. Puede darse el caso, y de
hecho as sucede, que dicho n
umero de muestras, aun siendo suficiente para
recuperar la se
nal, produzca impresiones visuales muy enga
nosas si dichas
muestras se utilizan para realizar un analizador espectral.
Si antes de calcular la FFT de la se
nal truncada le a
nadieramos ceros, sabemos que lo que obtendramos sera simplemente un muestreo mas denso de
la TF. Si hacemos esta operaci
on 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 posicion de las muestras de las figuras 5.15
y 5.16 respectivamente. Vemos que en la figura 5.15 ha sido toda una casualidad tomar las muestras en los nulos y en el pico, mientras que en la figura 5.16
parece como si hubieramos tenido peor suerte.


CAPTULO 5. ANALISIS
ESPECTRAL

184

60

50

40

30

20

10

0
0

0.05

0.1

0.15

0.2

0.25
f

0.3

0.35

0.4

0.45

0.5

Figura 5.17: Estima espectral de un tono de frecuencia 0.05 con una


ventana rectangular de duraci
on 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 consideremos como amplitud del tono la correspondiente al maximo de la
grafica).
Errores en la frecuencia de los picos detectados (suponiendo que consideremos como frecuencia del tono la posicion del maximo de la grafica).
Interpretaciones confusas de los lobulos laterales. (tenemos un tono o
varios de distintas amplitudes?)
Todos estos efectos, tienen f
acil solucion sin mas que muestrear de forma
mas fina la TF. Esto, como ya se ha comentado, se hace a
nadiendo ceros al
final de la se
nal antes de tomar la FFT, tomando de este modo la FFT de
tama
no N puntos con N > L. Es f
acil ver que a medida que tomamos mas
muestras en la FFT los errores cometidos disminuyen. Como regla practica
podemos decir que el n
umero de puntos N de la FFT debera ser de al menos
3 o 4 veces el n
umero de puntos, L, de la ventana de se
nal tomada.
Una cuesti
on a la que hay que prestar atencion es al orden de las operaciones de enventanado y rellenado con ceros. Siempre se realiza primero el

185

5.4. An
alisis espectral de se
nales deterministas

60

50

40

30

20

10

0
0

0.05

0.1

0.15

0.2

0.25
f

0.3

0.35

0.4

0.45

0.5

Figura 5.18: Estima espectral de un tono de frecuencia 0.0438 con


una ventana rectangular de duraci
on 100 puntos, rellenando con ceros
antes de hacer la FFT.

enventanado de las muestras, para una vez hecho esto a


nadir tantos ceros al
final como se deseen. Hacerlo en orden inverso, provoca resultados erroneos.
Para terminar este apartado, deberamos incidir en un aspecto que provoca
no pocos errores. Muchas veces, se tiende a pensar, que a
nadiendo ceros al final
de una se
nal y tomando la FFT se aumenta la resoluci
on del analisis efectuado.
Esto es falso.
La resoluci
on viene dada u
nicamente por la ventana de analisis w[n] (ancho
del lobulo principal de su TF). Rellenar con ceros u
nicamente proporciona
una version m
as suave del estimador espectral. La resolucion (recordemos,
capacidad de distinguir tonos de frecuencias similares) no se afecta en absoluto
por a
nadir m
as o menos ceros antes de tomar la FFT.

5.4.4.

El problema de la media

El valor medio o componente contnua puede ser considerado como un


tono de frecuencia nula. Muchas veces estamos interesados en las componentes
de alterna de la se
nal. Adem
as, dado el diferente origen de la componente
contnua (polarizaciones, se
nalizaciones, etc.) y de las componentes alternas,
puede haber una gran disparidad de amplitudes entre las mismas. Cuando se


CAPTULO 5. ANALISIS
ESPECTRAL

186

analizan espectralmente se
nales cuya media es no nula aparecen los mismos
problemas que para cualquier tono:
El ancho del l
obulo principal me impide ver otras componentes de muy
baja frecuencia.
Los lobulos secundarios de la componente contnua pueden ser de mayor
amplitud que otras componentes espectrales.
Dichos problemas, no son observables si se utilizan ventanas rectangulares
y un n
umero de muestras espectrales igual a la duracion de la ventana. Sin
embargo, si se usan otras ventanas o el n
umero de muestras espectrales es
mayor que la duraci
on de la ventana (porque se rellena con ceros antes de
calcular la FFT), dichos efectos pueden no permitir realizar un analisis 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
nadir los ceros necesarios para obtener el muestreo en
frecuencia deseado.

5.5.

An
alisis espectral no param
etrico

En esta secci
on vamos a abordar el analisis espectral de se
nales aleatorias estacionarias. Por lo tanto, el objetivo sera tratar de estimar la DEP del
proceso aleatorio del cual disponemos de un fragmento temporal.
Los metodos que veremos en esta seccion se denominan metodos no-parametricos. Esto es as porque no presuponen nada sobre la se
nal que estamos analizando. Mas adelante, veremos otros metodos que presuponen que las se
nales
bajo analisis son de un determinado tipo (metodos parametricos). En este caso, y si las se
nales realmente son del tipo supuesto, los metodos parametricos
dan mucho mejor resultado que los que veremos en esta seccion. No obstante,
en ausencia de conocimiento del tipo de se
nal que vamos a analizar, los metodos no-parametricos son mejores puesto que simplemente nos dan muestras de
la DEP sin ninguna suposici
on.

5.5.1.

Sesgo y Varianza

Cuando las se
nales a analizar son aleatorias, nos encontramos con que
ante una serie de operaciones deterministas, el resultado sera diferente en

187

5.5. An
alisis espectral no parametrico

funcion de la realizaci
on concreta del proceso que estemos utilizando. Ello
lleva a que la estima espectral sea considerada como aleatoria. Esto quiere
decir que en funci
on del trozo que cojamos de se
nal para analizar, el resultado
sera diferente.
Si denominamos x (ej ) a la verdadera (y desconocida) DEP del proceso
x (ej ) a la estima que estamos haciendo, resulta que
x (ej ) es una
x[n] y
variable aleatoria para cada . Para saber la bondad de un estimador, cabra
preguntarse dos cuestiones:
x (ej ) coincide con x (ej )? Esto es equiLa media (esperanza) de
valente a preguntarse si repitiendo la misma medida muchas veces y
tomando la media nos iremos acercando al valor teorico. Si
x (ej )} = x (ej )
E{

(5.11)

diremos que el estimador es insesgado. En caso contrario sera sesgado,


esto querr
a decir que, por mucho que repitamos el experimento, nunca llegaremos a la soluci
on 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
nales? Un estimador sera mejor cuanto
menor sea la varianza.
Los estimadores espectrales que veremos a continuacion, 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 mas simple, y por ello suele ser


el mas utilizado.
Supongamos que tenemos L muestras de un proceso aleatorio x[n]. Definiremos el estimador periodograma como:
2


L1
X

x (ej ) = 1

x[n] ejn

L n=0

(5.12)

Tal y como se mencion


o m
as arriba, en funcion de las muestras que cojamos
el resultado ser
a 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


CAPTULO 5. ANALISIS
ESPECTRAL

188

-1

-2

-3
0

50

100

150
n

200

250

300

Figura 5.19: Muestras de ruido blanco en el domino del tiempo.

el periodograma considerando L = 128 muestras de dos fragmentos de se


nal
distintos de la figura 5.19. Como puede apreciarse, los resultados obtenidos
con el periodograma dependen del trozo concreto de se
nal analizado, y resulta
difcil a la vista de la figura 5.20 concluir que la se
nal analizada es ruido blanco.
Cabra preguntarse que obtendramos si tomaramos no dos fragmentos sino
un n
umero muy elevado de ellos y tom
asemos la media (frecuencia a frecuencia)
de los respectivos periodogramas. Hallaramos de este modo el periodograma
medio que se puede demostrar que vale:

2
n
o
x (ej ) = 1 x (ej ) WR (ej )
E
L

(5.13)

siendo WR (ej ) la TF de la ventana rectangular de duracion L (n


umero de
muestras empleadas). Como puede verse la media del periodograma no coincide en general con la verdadera DEP x (ej ), por la convolucion de la expresion (5.13), por lo que en general el periodograma sera un estimador espectral

sesgado. Unicamente
en el caso del ruido blanco, dicha convolucion coincij
dira con x (e ).
2

El sesgo ser
a peque
no cuando WR (ej ) se parezca a una delta con respecto a la forma que tenga x (ej ). Para ello bastara con tomar ventanas mas

189

5.5. An
alisis espectral no parametrico

0
0

0.05

0.1

0.15

0.2

0.25
f

0.3

0.35

0.4

0.45

0.5

0.05

0.1

0.15

0.2

0.25
f

0.3

0.35

0.4

0.45

0.5

0
0

Figura 5.20: Periodogramas de dos fragmentos distintos de


ruido blanco.

largas (valores de L mayores). Obviamente, cuantas mas muestras intervengan


en la estima del espectro mejor ser
a el resultado, pero el precio a pagar es un
mayor tiempo para hacer la medida (y coste computacional). A la vista de la
expresion (5.13) es f
acil prever lo que sucedera en el caso de que la se
nal a analizar con el periodograma sean tonos (de fase aleatoria). Apareceran en media,
los mismos problemas de resoluci
on y lobulos laterales vistos en la seccion 5.4.
Sin embargo, el principal problema del periodograma no es su sesgo (combatible tomando ventanas m
as largas cuando se pueda) sino su varianza. En la
figura 5.20 hemos podido ver el aspecto totalmente erratico de un periodograma correspondiente a una DEP que vale 1 para todo . Se puede demostrar
que, cuando el sesgo es peque
no, la varianza del periodograma vale aproximadamente:
o2
n
o
n
x (ej )
x (ej ) E
(5.14)
VAR
La ecuacion anterior expresa que la desviacion tpica de nuestro estimador
es comparable a la media. Esto quiere decir que nuestro estimador tiene de
masiada varianza (es demasiado aleatorio). Este
es el principal problema del
periodograma y, tal y como puede verse en la expresion (5.14), la varianza no
se puede mejorar aumentando el n
umero de muestras utilizadas en el analisis.
Para comprobar que la varianza no depende del n
umero de muestras empleadas


CAPTULO 5. ANALISIS
ESPECTRAL

190

0
0

0.05

0.1

0.15

0.2

0.25
f

0.3

0.35

0.4

0.45

0.5

Figura 5.21: Periodograma para una longitud de ventana de L = 256.

en el analisis, 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
as sustancial con la figura 5.20 es que las fluctuaciones son mas
estrechas. Ello se debe a que con L = 256 la resolucion mejora y aparecen mas
picos.
El periodograma modificado
Hemos visto, en el apartado anterior, que el periodograma tena un sesgo
que vena dado por una convoluci
on con la TF de una ventana rectangular.
Si en vez de seleccionar las muestras de las que calculamos la TF del periodograma mediante una ventana rectangular, utilizamos otra ventana arbitraria
w[n] de duraci
on L, tenemos lo que se denomina periodograma modificado. Se
calcula como:

2
L1

X
1


x (ej ) =
x[n]w[n] ejn
(5.15)




LU n=0
Las ventanas que se suelen emplear son las mismas vistas en la seccion 5.4.
La constante U de la anterior expresi
on se elige para compensar el efecto de
atenuacion en los extremos de las ventanas; de no tenerse en cuenta infraestimaramos siempre la potencia de la se
nal. Su valor se elige de modo que

191

5.5. An
alisis espectral no parametrico

cuando la se
nal a analizar es ruido blanco, el estimador resulte insesgado:
U=

X
1 L1
(w[n])2
L n=0

(5.16)

U vale 1 para la ventana rectangular y U < 1 para el resto de ventanas usuales.


La esperanza matem
atica del periodograma modificado vale:

2
n
o
x (ej ) = 1 x (ej ) W (ej )
E
LU

(5.17)

Como se ve, la diferencia con el periodograma esta en que la convolucion se


realiza con el m
odulo al cuadrado de la ventana usada en vez de la rectangular.
Esto permite elegir la ventana m
as apropiada en funcion del ancho del lobulo
principal y nivel de l
obulos 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
nal aleatoria podemos distinguir dos tipos de
se
nales diferentes:
Componentes tonales: Son aquellas que condensan una potencia finita
en una u
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
nal aleatoria tienen comportamientos diferentes cuando se analizan mediante el periodograma (o modificado). 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 calculando periodogramas de diferentes longitudes. Mientras que para las componentes no-tonales no vara2 la amplitud del estimador, para las tonales, la
2

La variaci
on se supone en media. Obviamente, dado el car
acter aleatorio del estimador,
si se toma un n
umero distinto de muestras el resultado ser
a diferente, pero en media no vara
con la longitud de la ventana.


CAPTULO 5. ANALISIS
ESPECTRAL

192

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

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
f

Figura 5.22: Periodograma de un tono m


as 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
al ser
a la amplitud del pico del periodograma.
Periodogramas y DFT
El calculo del periodograma implica el calculo de una TF. En la practica,
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
on 5.4 son aplicables aqu. Es decir, suele ser conveniente
rellenar con ceros las muestras enventanadas antes de calcular la DFT, para que no aparezcan artefactos debidos al submuestreo del periodograma ya
estudiados. Conviene insistir en que el relleno por ceros:
No mejora la resoluci
on (sesgo) del estimador.
No reduce ni aumenta la varianza del estimador.

Unicamente
proporciona una version interpolada en frecuencia, con respecto a no rellenar con ceros.

193

5.5. An
alisis espectral no parametrico

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

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
f

0.3

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 el.
De alguna forma, el periodograma u
nicamente contiene L valores independientes (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
on

Al principio de esta secci


on recordamos que la DEP y la autocorrelacion
estaban relacionadas mediante una TF. Resulta, por tanto, equivalente, calcular la una o la otra. En este apartado, veremos procedimientos para estimar
la autocorrelaci
on de una se
nal aleatoria. Ademas descubriremos la razon de
la excesiva varianza del periodograma.
Recordemos que la autocorrelaci
on de un proceso aleatorio se define como:
Rx [m] = E {x [n] x[n + m]}

(5.18)


CAPTULO 5. ANALISIS
ESPECTRAL

194

Si sustituimos las esperanzas matematicas por promedios temporales (asumiendo ergodicidad), podemos llegar a dos estimadores de la autocorrelacion.
Suponiendo que tenemos L muestras de una se
nal real, definimos el estimador
x [m] como:
insesgado de la autocorrelaci
on R

1
x [m] =
R
L |m|

L1|m|

x[k] x[k + |m|] |m| < L

k=0

(5.19)

|m| L

x [m] como:
Analogamente, definimos el estimador sesgado R

x [m] =
R

L1|m|

1 X

x[k] x[k + |m|] |m| < L

(5.20)

k=0

|m| L

Observese c
omo estos dos estimadores solo se diferencian en la constante
que divide. Mientras en el insesgado, se divide por el n
umero de muestras
que se solapan al desplazar la se
nal, en el sesgado se divide siempre por el
n
umero total de muestras. La figura 5.24 muestra el n
umero de muestras que
se solapan (n
umero de productos que se pueden realizar) al ir desplazando las
se
nales.
x[k + |m|]
|m|


x[k]

L 1 |m|

L1

Figura 5.24: Diagrama de los desplazamientos de se


nales para la estima
de la autocorrelaci
on.

A partir de las expresiones (5.19) y (5.20) es inmediato deducir la relacion


entre ambos estimadores
x [m]
x [m] = L |m| R
R
L

(5.21)

Es decir, en el intervalo de valores de m (L + 1 m L 1) donde los


estimadores son no nulos, la relaci
on existente es que el estimador sesgado es

195

5.5. An
alisis espectral no parametrico

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 tena
un resultado distinto seg
un el conjunto concreto de muestras que tomemos,
a los estimadores de autocorrelaci
on les sucede exactamente lo mismo, es decir el resultado obtenido ser
a aleatorio (dependera de las muestras concretas
utilizadas en los c
alculos), y tendr
a una media y una varianza (funcion del
desplazamiento m). Con respecto a la media se puede demostrar:
n

x [m] = Rx [m]
E R

|m| < L

(5.22)

x [m] se le denomine insesgado, y


de ah que a R
n
o
x [m] = L |m| Rx [m]
E R
L

|m| < L

(5.23)

Aparentemente, y dado que los estimadores insesgados son mejores podra


parecer una inutilidad tener un estimador sesgado de la autocorrelacion. En
breve entenderemos por que se utiliza tambien el estimador sesgado. Tambien
debemos darnos cuenta, que la media del estimador insesgado u
nicamente
coincide con la verdadera autocorrelacion para |m| < L, ya que fuera de ese
intervalo no podemos estimar la autocorrelacion por no disponer un fragmento
de se
nal de duraci
on suficiente.
La figura 5.25 muestra los estimadores sesgado e insesgado de la autocorrelacion 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 teorica correspondiente a la autocorrelacion de un ruido blanco. En segundo lugar, vemos que el valor en el origen
no coincide con la potencia media te
orica. Esto se debe al caracter aleatorio del estimador comentado m
as arriba. En tercer lugar, vemos que en las
zonas donde la autocorrelaci
on te
orica es cero tenemos una serie de valores
aleatorios. Vemos adem
as 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
umero de muestras solapadas de la se
nal
desplazada y sin desplazar es menor, lo que hace que el n
umero 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 autocorrelacion usando esta
vez L = 400 muestras de ruido blanco. Puede observarse que, para un mismo


CAPTULO 5. ANALISIS
ESPECTRAL

196

Insesgado
1
0.5
0
-0.5
-1
-100

-80

-60

-40

-20

20

40

60

80

100

20

40

60

80

100

Sesgado
1

0.5

-0.5
-100

-80

-60

-40

-20

0
m

Figura 5.25: Estimadores de la autocorrelaci


on 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
as muestras.
Se pueden establecer una serie de observaciones con respecto a los estimadores de la autocorrelaci
on:
Para un desplazamiento m fijo, la varianza de ambos estimadores decrece
a medida que aumentamos el n
umero de muestras disponible L. Esto
es en cierto modo l
ogico, pues a medida que tenemos mas muestras la
cantidad de muestras que se solapan es mas grande (ver figura 5.24) y
por lo tanto la cantidad de productos a promediar es mayor.
Para el estimador insesgado, para un n
umero total de muestras L fijo,
la varianza del estimador crece a medida que |m| aumenta.
La relaci
on entre las varianzas de los estimadores sesgado e insesgado es:
n

x [m] =
VAR R

L |m|
L

2

x [m]
VAR R

|m| < L

(5.24)

lo que explica el car


acter decreciente de las aleatoriedades de las figuras 5.25 y 5.26.

197

5.5. An
alisis espectral no parametrico

Insesgado
1
0.5
0
-0.5
-1
-400

-300

-200

-100

100

200

300

400

100

200

300

400

Sesgado
1
0.5
0
-0.5
-1
-400

-300

-200

-100

0
m

Figura 5.26: Estimadores de la autocorrelaci


on de un fragmento de 400
muestras de ruido blanco.

Transformada de Fourier de los estimadores de autocorrelaci


on
En el punto anterior hemos visto c
omo podemos estimar la autocorrelacion
de un proceso aleatorio a partir de un conjunto de muestras del mismo. Recordemos que nuestro objetivo en este tema no es la correlacion 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
on, podremos tener un estimador espectral
realizando la TF de la autocorrelaci
on estimada. Dado que nuestra estima de
la autocorrelaci
on es de duraci
on finita podemos escribir:
x (ej ) =

L1
X

x [m]ejm
R

(5.25)

m=L+1

Dicho estimador, dado que la estima de la autocorrelacion es aleatoria (dependera de las muestras concretas empleadas), tambien sera aleatorio, y tendra por
lo tanto una media y una varianza para cada . La media se puede demostrar
que vale:
n
o
x (ej ) = x (ej ) WR (ej )
E
(5.26)


CAPTULO 5. ANALISIS
ESPECTRAL

198

donde WR (ej ) es la TF de la ventana rectangular wR [m]3 :


(

wR [m] =

1 |m| L 1
0
resto

(5.27)

Este resultado, era en cierto modo esperable, pues el estimador insesgado


x [m] tiene por media el enventanado con una ventana
de la autocorrelaci
on R
rectangular de la verdadera autocorrelacion. Como sabemos, multiplicar en un
dominio equivale a convolucionar en el otro, lo que explica la expresion (5.26).
Dada la relaci
on mediante una ventana triangular entre los dos estimadores de
autocorrelaci
on es f
acil deducir lo que sucedera si tomamos la TF del estimador

sesgado Rx [m] de la autocorrelaci


on.
L1
X

x (ej ) =

x [m]ejm
R

(5.28)

m=L+1

x (ej ) = x (ej ) WT (ej )


E

(5.29)

donde WT (ej ) es la transformada de Fourier de la siguiente ventana triangular:


(
(L |m|)/L |m| L 1
wT [m] =
(5.30)
0
resto
Las expresiones (5.26) y (5.29) explican la razon de ser del estimador sesgado de la autocorrelaci
on. La expresi
on (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 convolucion de dos rectangulares). Dado que la
DEP teorica x (ej ) es positiva siempre, la convolucion de dos funciones positivas tambien es siempre positiva. De alguna forma, tomar la TF del estimador
sesgado garantiza que la media de los resultados obtenidos sera positiva. Sin
embargo, esto mismo no sucede con la TF del estimador insesgado dado que
la TF de una ventana rectangular tiene lobulos negativos. Resumiendo:
Las DEP te
oricas son siempre positivas.
x [m] esta garantiLa TF del estimador sesgado de la autocorrelacion R
zado que es positiva.
x [m] no esta gaLa TF del estimador insesgado de la autocorrelacion R
rantizado que sea positiva en todas las frecuencias.
3
N
otese que esta es una ventana rectangular simetrica con respecto al origen, a diferencia
de la vista con el periodograma.

5.5. An
alisis espectral no parametrico

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 totalmente absurdo. El uso del estimador sesgado de la autocorrelacion, permite
que este problema no se manifieste nunca.
Es posible establecer una relaci
on adicional entre las transformadas de
Fourier de los estimadores de la autocorrelacion y el periodograma. Se puede
x (ej ), es decir:
demostrar que el periodograma coincide con
x [m]} Periodograma
TF{R

(5.31)

Adicionalmente, la relaci
on (5.31) permite explicar la gran varianza del
periodograma. Antes hemos concluido que, cuando estimamos la autocorrelacion, hay algunos valores que estimamos bastante bien (los de |m| peque
no)
y otros que los estimamos con bastante error (los valores de |m| proximos a
L) debido a que tenemos pocas muestras que se solapen para calcular la media de los productos). Estos valores erroneos de la autocorrelacion, hacen que
cuando calculamos la TF todos los valores de la TF tengan una gran varianza.
De alguna forma, en la autocorrelaci
on, las varianzas grandes estan localizadas mientras que en el periodograma tenemos una gran varianza para todo
. En la secci
on 5.5.4 veremos c
omo podemos emplear este conocimiento para
obtener un estimador espectral mucho menos fluctuante que el periodograma.
C
alculo de la autocorrelaci
on mediante DFT
El metodo de estima espectral Blackman-Tukey que se vera en la siguiente
seccion, parte de la estima de la autocorrelacion, por lo que es interesante
disponer de metodos de c
alculo r
apido de la misma.
Las expresiones vistas en el punto anterior para el calculo de la autocorrelacion (5.19) y (5.20) son directamente aplicables para el calculo de los
estimadores. Sin embargo, el n
umero de operaciones a realizar para su calculo
cuando se requieren los 2L 1 valores (L 1 se pueden obtener por la simetra
conjugada de la autocorrelaci
on), es proporcional a L2 . Es posible establecer
un procedimiento para usar DFT (junto con algunas operaciones auxiliares)
para calcular las estimas de autocorrelacion de forma eficiente. El metodo se
x [m] tiene duracion
x [m] es la TF1 del periodograma. Como R
basa en que R
2L 1 muestras, si tomamos el mismo (o mayor) n
umero de muestras del pe x [m]. Recordemos que
riodograma mediante una DFT inversa obtendremos R
el n
umero de muestras espectrales del periodograma se puede fijar facilmente
sin mas que rellenar con ceros antes de hacer la DFT. El procedimiento para
x [m] es:
obtener R


CAPTULO 5. ANALISIS
ESPECTRAL

200
s
Q
Q
Q
Q
s
?



Q
Q



DFT1



m
 N 1

Autocorr
Q

Figura 5.27: Diagrama de los desplazamientos de se


nales para la estima
de la autocorrelaci
on usando DFT.

Partimos de L muestras de se
nal. Las completamos a
nadiendo ceros hasta 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 mas eficiente
posible.
Calculamos la DFT directa del anterior vector.
Tomamos el m
odulo al cuadrado y dividimos por L, es decir, calculamos
el periodograma (N muestras del mismo).
x [m] en un orden un poco
Calculamos la DFT inversa. El resultado es R
particular.
x [m] pensemos que la
Para entender el orden en que tenemos los valores de R
DFT inversa nos devuelve una porci
on de una se
nal periodica en el intervalo 0
a N 1. Dado que la autocorrelaci
on 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
etodo Blackman-Tukey

En la secci
on anterior, hemos visto cual es el origen del problema de varianza del periodograma.
El metodo Blackman-Tukey (BT) resuelve el problema de la varianza enventanando (truncando) la estima de la autocorrelacion de modo que u
nicamente se consideren para tomar la TF aquellos valores de la correlacion que
resulten fiables (gran n
umero de muestras solapadas al desplazar). El estimador BT consiste pues en:

201

5.5. An
alisis espectral no parametrico

Estimar la autocorrelaci
on (sesgado o insesgado).
Enventanar la autocorrelaci
on, para descartar los valores erroneos de la
misma.
Tomar la TF.
Para estimar la autocorrelaci
on se emplean los procedimientos vistos en el
apartado anterior. Para truncar la autocorrelacion:
xBT [m] = R
x [m] w[m]
R

(5.32)

donde la ventana w[n] es una ventana simetrica alrededor del origen de duracion impar (2M + 1). N
otese que se puede emplear tanto el estimador sesgado
como el insesgado de la autocorrelaci
on, ya que el sesgado no es mas 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
on se calcula la TF:
M
X

j
BT

x (e ) =

xBT [m]ejm
R

(5.33)

m=M

1.2
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-200

-150

-100

-50

0
m

50

100

150

200

Figura 5.28: Estima de la autocorrelaci


on de un fragmento de 200
muestras de ruido blanco.


CAPTULO 5. ANALISIS
ESPECTRAL

202

1.5

0.5

-0.5

-1
-200

-150

-100

-50

0
m

50

100

150

200

Figura 5.29: Autocorrelaci


on de la figura 5.28 enventanada con una
ventana hamming de M = 20.

El resto de expresiones que se dar


an en este apartado se refieren el estimador insesgado de la autocorrelaci
on.
Se puede demostrar que la media del estimador espectral BT vale:
n

j
j
j
BT
E
x (e ) = x (e ) W (e )

(5.34)

es decir, la convoluci
on de la verdadera DEP con la TF de la ventana empleada
para truncar la autocorrelaci
on. Si dicha TF de la ventana es positiva para todo
, se garantizar
a la positividad de la media del estimador, en caso contrario,
no.
Recordemos que la convoluci
on produce un sesgo en la estima. Dicho sesgo
se manifestaba como una perdida de resolucion y unos lobulos laterales.
Si recordamos que el periodograma era la TF del estimador sesgado (enventanado 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
a peor resolucion (la TF de una ventana
es mas ancha cuanto menos muestras tiene la ventana). Por contra, el mismo estimador BT tendr
a menor varianza que el periodograma, pues a la hora
de calcular la TF estamos descartando los valores de la autocorrelacion de
gran varianza. N
otese que enventanar la autocorrelacion equivale a forzar que

203

5.5. An
alisis espectral no parametrico

0
0

0.05

0.1

0.15

0.2

0.25
f

0.3

0.35

0.4

0.45

0.5

Figura 5.30: TF de la figura 5.29. Esta sera la estima espectral BT


del ruido blanco analizado.

determinados valores (los de |m| grande) tengan por correlacion un valor nulo.
En el caso de se
nales ruidosas (autocorrelaciones estrechas), si realmente la
autocorrelaci
on es nula para |m| el metodo BT no producira ninguna perdida
de resolucion y s una reducci
on de la varianza. Podramos decir que el metodo
BT produce una perdida de resoluci
on en la estima si y s
olo si al enventanar
estoy truncando valores no-nulos de la autocorrelaci
on te
orica.
La figura 5.28 muestra la estima de la autocorrelacion de 200 muestras de
ruido blanco. La figura 5.29 muestra la misma autocorrelacion enventanada
con una ventana de Hamming de M = 20 (duracion total igual a 41). La
figura 5.30 muestra la TF de dicha autocorrelacion. Puede apreciarse como el
resultado es mucho menos fluctuante que el del periodograma de las mismas
muestras que se muestra en la figura 5.31.
Resumiendo, podramos decir que el metodo BT es un estimador espectral, que con respecto al periodograma tiene mas sesgo (peor resolucion) pero
menor varianza (siempre a igualdad del n
umero de muestras disponibles). La
reduccion de la varianza se logra descartando los valores poco fiables de la
autocorrelaci
on.


CAPTULO 5. ANALISIS
ESPECTRAL

204

0
0

0.05

0.1

0.15

0.2

0.25
f

0.3

0.35

0.4

0.45

0.5

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
etodo Blackman Tukey
Tal y como acabamos de ver en la ecuacion 5.33, el metodo BT implica el
calculo de la TF de una autocorrelaci
on. Como siempre, dicha TF se calcula
mediante una DFT. Como siempre, se pueden utilizar DFT del tama
no N que
se quiera, sin m
as que rellenar con ceros adecuadamente. Para calcular la TF
de la autocorrelaci
on enventanada hay que reordenar los datos antes, pues la
autocorrelaci
on 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 que 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):

xBT [m]

0mM
BT

g[m] =
Rx [m N ] N M m N 1

0
resto
La figura 5.27 puede ayudar a comprender la ecuacion (5.35).

(5.35)

205

5.5. An
alisis espectral no parametrico

5.5.5.

El m
etodo de Welch o WOSA

En el apartado anterior hemos visto como el metodo de Blackman-Tukey


permite reducir la excesiva varianza del periodograma. Otra idea posible para
reducir la varianza sera la de promediar diferentes periodogramas para, de este
modo, reducir la varianza. Promediar, es una de las tecnicas clasicas usadas
en estadstica para reducir la varianza. As, por ejemplo, si imaginamos que
tratamos de estimar la estatura media de una poblacion, la estima sera mas
fiable (menor varianza) si tomamos 100 individuos que si tomamos uno. Algo
similar ocurre con el periodograma. Si en vez de coger un u
nico periodograma,
promediamos un determinado n
umero de ellos K, la varianza de la estima se
reducira. En esto consiste el metodo de Welch tambien conocido como WOSA
(Weighted Overlapped Segment Averaging).
El metodo consiste en realizar el periodograma K veces sobre conjuntos
de muestras diferentes pertenecientes a la misma se
nal. 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
na) debido a
que estamos promediando 1000 valores independientes. Si por contra, tiramos

-1

-2

-3
0

20

40

60

80

100
n

120

140

160

180

200

Figura 5.32: Suma de tono y ruido blanco en el dominio del tiempo.


CAPTULO 5. ANALISIS
ESPECTRAL

206

el dado 10 veces, pero apuntamos cada n


umero 100 veces y dividimos por
1000, obviamente el resultado ser
a menos fiable (mayor varianza) que en el
caso anterior, pues aunque tambien hemos promediado 1000 n
umeros, en un
caso eran independientes y en otro no.
Centrandonos en nuestro problema, supongamos que se registra una se
nal
y se graban un n
umero 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
umero de periodogramas que promediaremos, K, dependera de la relacion LT /L as como
del solape entre ventanas consecutivas. Cuanto mayor sea el solape, mayor
sera el n
umero de ventanas que podremos tomar para un n
umero dado de
muestras LT . Por contra, si el solape es muy grande, el resultado de los periodogramas no ser
a independiente, lo que reducira la eficacia del promediado a
la hora de reducir la varianza. Se ha comprobado experimentalmente que la
maxima reducci
on 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
naden L/2 muestras nuevas.
j
(k)
Si denotamos como
esima ventana, y que
x (e ) al periodograma de la k-

0
0

0.05

0.1

0.15

0.2

0.25
f

0.3

0.35

0.4

0.45

0.5

Figura 5.33: Periodograma de un fragmento de 128 muestras de se


nal
de la figura 5.32.

207

5.5. An
alisis espectral no parametrico

0
0

0.05

0.1

0.15

0.2

0.25
f

0.3

0.35

0.4

0.45

0.5

Figura 5.34: Metodo de WOSA, utilizando 15 ventanas de longitud 128


con solape 1/2. El n
umero total de muestras es de 1024.

promediamos los periodogramas de K ventanas, el estimador WOSA vale:


K
1 X
OSA j
W
(k) (ej )

(e ) =

x
K k=1 x

(5.36)

Con respecto a la media del estimador de Welch, podemos escribir:


n

j
OSA j
(k)
W
(e ) = E
E
x
x (e )

(5.37)

Como se ve, con respecto al sesgo, se comporta como un periodograma u


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 periodograma u
nico de las LT muestras, vemos que el metodo de Welch tiene peor
resolucion (m
as sesgo) que el periodograma u
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 periodograma se promedia se tomen con un solape maximo de 1/2 (es decir, los
periodogramas son pr
acticamente independientes), la varianza vale:
n
o
n
o
1
OSA j
j
W
(k)
VAR
(e ) VAR
x
x (e )
K

(5.38)

En las figuras siguientes vamos a examinar un ejemplo de analisis espectral


utilizando el metodo WOSA y lo compararemos con el periodograma. La se
nal


CAPTULO 5. ANALISIS
ESPECTRAL

208

50
45
40
35
30
25
20
15
10
5
0
0

0.05

0.1

0.15

0.2

0.25
f

0.3

0.35

0.4

0.45

0.5

Figura 5.35: Periodograma de las 1024 muestras de la figura 5.34.

a analizar ser
a 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
nal, en el que es pr
acticamente 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
nal. Podemos observar, que aunque aparece un pico, este es difcilmente discernible
de las fluctuaciones de la estima espectral del ruido. Podramos decir que con
128 muestras, NO sera posible detectar el tono mediante el periodograma.
En la figura 5.34, se dispone de 1024 muestras de la misma se
nal, 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. Comparando con la figura 5.33 vemos que se han reducido mucho las fluctuaciones
de la estima del espectro del ruido que ahora aparece mucho mas concentrado
alrededor de su valor te
orico (uno). Ahora, podemos apreciar claramente el
pico en el espectro debido al tono. Podemos apreciar que la resolucion 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 u
nico de 1024 muestras. Podemos
observar que el tono tambien resulta facilmente 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
alisis espectral no parametrico

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 mas larga (con mejor
resolucion).
La pregunta de que interesa m
as dado un n
umero de muestras total, si
calcular un u
nico periodograma de una ventana larga, o promediar varios de
ventanas cortas, tiene por respuesta un depende de lo que pretendamos.
Si u
nicamente pretendemos detectar un tono en ruido, hemos visto que da
igual. Si en vez de un tono hubieramos tenido 2, nos veramos obligados a
utilizar ventanas que permitieran resolver los mismos. Si no estamos interesados u
nicamente en la detecci
on sino en conocer bien.el espectro, promediar
varios periodogramas nos da una estima mas fiable. Ademas, 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
umero total de muestras LT , el metodo de Welch tiene:
Peor resoluci
on que el periodograma u
nico de longitud LT .
Menor varianza que el periodograma u
nico de longitud LT .
Dado un tama
no de ventana fijo L, el metodo de Welch presenta:
La misma resoluci
on que el periodograma.
Menor varianza que el periodograma.
Sin embargo debe tenerse presente que el metodo de Welch en este segundo caso juega con ventaja pues dispone de mas muestras de partida.

5.5.6.

Resumen m
etodos no-param
etricos

Como resumen de los metodos no-parametricos vistos en esta seccion podemos establecer una serie de conclusiones:
El periodograma es el metodo b
asico de analisis. Es computacionalmente
eficiente (FFT).
Su sesgo se puede reducir tomando mas muestras.
Su varianza no se puede reducir y es siempre grande.
Los otros metodos, Blackman-Tukey y Welch, permiten reducir la varianza de la estima del periodograma.

210

CAPTULO 5. ANALISIS
ESPECTRAL

El periodograma es un caso particular de los metodos Blackman-Tukey


y Welch.
Para un n
umero de muestras total dado, la reduccion de la varianza se
logra siempre a base de aumentar el sesgo.
Podramos resumir lo anterior diciendo que estos metodos proporcionaran buenos resultados cuando el n
umero de muestras disponible sea
grande.

5.6.

An
alisis Tiempo-Frecuencia

En las secciones anteriores se ha considerado el analisis espectral de se


nales
estacionarias. Para dichas se
nales, tiene sentido hablar de un espectro para toda la se
nal. Cuando la se
nal es no estacionaria, la autocorrelacion deja de
depender u
nicamente de la diferencia de instantes para depender tambien del
instante concreto considerado. En ese caso, aunque puede hablarse de un espectro medio, en realidad carece de sentido practico la mayor parte de las veces.
Para entender lo que queremos decir pensemos en un tono cuya frecuencia
vara lentamente. Muchas veces estaremos interesados en saber la frecuencia
del tono en funci
on del tiempo. Veamos un ejemplo. La figura 5.36 muestra
una se
nal 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
odulo de su TF.
La figura 5.37 muestra una se
nal similar pero en este caso la frecuencia
disminuye desde 0.15 hasta 0.05. Puede observarse que las transformadas de
Fourier son identicas en ambos casos y proporcionan una especie de espectro
medio de las frecuencias ocupadas por la se
nal (de 0.05 a 0.15 en ambos casos).
Como puede ser que dos se
nales diferentes tengan la misma TF? La respuesta
a esta pregunta es que realmente no tienen la misma TF. La diferencia esta en
la fase. Sin embargo, su espectro de energa coincide y no aporta ninguna
informacion sobre el orden en que se suceden las distintas frecuencias. Dicha
informacion se encuentra naturalmente en la fase. Recordemos que la TF de
una se
nal desplazada en el tiempo, s
olo difiere en la fase de la TF de la se
nal
original. De alguna forma, la posici
on temporal de cada componente espectral
esta imbricada (de forma no obvia) en la informacion de fase de la TF.
Tal vez resulta m
as interesante, en vez de ver la se
nal de forma global,
mirar peque
nos fragmentos donde la frecuencia fuera constante, e ir viendo

como evoluciona la frecuencia con el tiempo. Esta


es la idea de la TF de Fourier

211

5.6. An
alisis Tiempo-Frecuencia

S1
1

x[n]

0.5
0
-0.5
-1
0

50

100

150

200

250
n

300

350

400

450

500

0.05

0.1

0.15

0.2

0.25
f

0.3

0.35

0.4

0.45

0.5

40

|X(f)|

30
20
10
0
0

Figura 5.36: Pulso de RF de frecuencia creciente y su TF.

dependiente del tiempo que se ver


a en el siguiente apartado. De alguna forma,
intercambiaremos parte de la informacion contenida en la fase por informacion
temporal explcita.

5.6.1.

La TF dependiente del tiempo

Se define la TF dependiente del tiempo, o de tiempo corto (STFT) como:


X[n, ) =

w[m] x[n + m] ejm

(5.39)

m=

Analicemos un poco la anterior expresion. Lo primero que llama la atencion


es que la STFT es una funci
on de dos variables; la primera n es discreta
y representa el instante de tiempo al que se refiere el calculo de la TF. La
segunda, , es contnua y, como puede verse en la expresion, hace el papel de
en las TFs normales. Dentro de poco entenderemos el porque de usar una
letra diferente. Para expresar claramente el hecho de que la primera variable
es discreta y la segunda contnua, utilizamos la notacion [). La variable
es ademas peri
odica (como ); no obstante, y para no recargar la notacion, no
escribiremos ej . Continuando con nuestro analisis, vemos que X[n, ) no es


CAPTULO 5. ANALISIS
ESPECTRAL

212

S2
1

x[n]

0.5
0
-0.5
-1
0

50

100

150

200

250
n

300

350

400

450

500

0.05

0.1

0.15

0.2

0.25
f

0.3

0.35

0.4

0.45

0.5

40

|X(f)|

30
20
10
0
0

Figura 5.37: Pulso de RF de frecuencia decreciente y su TF.

otra cosa que la TF ordinaria de la se


nal:
w[m] x[n + m]

(5.40)

w[m] es una ventana similar a las vistas que limita el trozo de se


nal a analizar.
Supondremos que es no nula en torno al origen. x[n + m] es la version desplazada n hacia la izquierda de la se
nal que estamos analizando. Lo que estamos
haciendo es desplazar la se
nal de modo que el fragmento que originariamente
estaba en m = n, tras el desplazamiento este situado en m = 0. De este modo,
variando n, cada vez tenemos un trozo distinto de se
nal cerca del origen.
Un aspecto no mencionado hasta ahora, es el relativo a la representacion de
la STFT. Dicha transformada es compleja y de dos variables. Lo que se suele
hacer es representar el m
odulo (o la fase) como una funcion bidimensional, en
la que un eje representa el tiempo y el otro (entre y ) la pulsacion . Entre
los metodos habitualmente empleados para representar funciones de este tipo
estan las curvas de nivel, las im
agenes de falso color o las representaciones
tridimensionales. Las figuras 5.38, 5.39 y 5.40 muestran la STFT de la se
nal
de la figura 5.36. En ellas se puede apreciar que para cada instante, tenemos
un pico (tono) y que la posici
on de este pico va aumentando de frecuencia a
medida que aumenta el tiempo.

213

5.6. An
alisis Tiempo-Frecuencia

30
25
20
15
10
5
0
0.5
0.4

500
0.3

400
300

0.2

200

0.1

100
0

Figura 5.38: M
odulo de la STFT de la se
nal de la figura 5.36 vista en
3D.

0.5
0.45
0.4
0.35

0.3
0.25
0.2
0.15
0.1
0.05
0
0

50

100

150

200

250
n

300

350

400

450

500

Figura 5.39: M
odulo de la STFT de la se
nal de la figura 5.36 vista con
curvas de nivel.

5.6.2.

Elecci
on de la ventana

En el apartado anterior hemos visto que, en cada instante n, tenemos


una TF de la se
nal enventanada con una ventana w[m] que supondremos de

214

CAPTULO 5. ANALISIS
ESPECTRAL

f
6

Figura 5.40: M
odulo de la STFT de la se
nal de la figura 5.36 vista con
niveles de gris. Colores m
as claros representan, valores m
as grandes.
Pueden apreciarse los l
obulos laterales debidos al uso de una ventana
rectangular

longitud L. La elecci
on de la ventana a utilizar sigue los mismos criterios vistos
en los apartados anteriores con respecto a la resolucion y lobulos laterales.
Si queremos tener una buena resolucion en frecuencia emplearamos ventanas largas. Esto, que en el caso de se
nales estacionarias no representa ning
un
problema, en el caso de se
nales no estacionarias puede dar lugar a que dentro
de la ventana de an
alisis estemos considerando porciones no estacionarias de
se
nal. En ese caso, la elecci
on de una ventana larga nos llevara de nuevo a
obtener espectros medios de lo que sucede en la ventana. Diremos que en ese
caso estamos perdiendo resoluci
on temporal.
No vamos a dar aqu una definici
on rigurosa de resolucion temporal, pero intuitivamente, podramos decir que tendra que ver con la capacidad de
detectar correctamente eventos de duracion corta. Parece obvio que para detectar el fen
omeno de duraci
on corta, es necesario que al menos para alg
un
n, la ventana este situada u
nicamente sobre el fenomeno de duracion corta.
Vemos por tanto que para tener una buena resolucion temporal nos interesan
ventanas cortas.
Tras la anterior discusi
on estamos llegando a una de las limitaciones fundamentales del an
alisis de se
nales que podramos enunciar del siguiente modo:

215

5.6. An
alisis Tiempo-Frecuencia

1.5

0.5

-0.5

-1

-1.5

-2
0

50

100

150

200

250
n

300

350

400

450

500

Figura 5.41: Se
nal que es la suma de dos tonos de freceuncias similares, salvo en un intervalo de 25 muestras en que es un u
nico tono de
frecuencia bastante distinta de las anteriores.

Es imposible conocer simult


aneamente con infinita resoluci
on el
contenido tiempo-frecuencial de una se
nal.
Esta afirmaci
on resume el hecho contradictorio que acabamos de ver:
Si deseamos buena resoluci
on frecuencial, es decir, conocer bien la se
nal
en la frecuencia, interesan ventanas de analisis largas.
Si deseamos una buena resoluci
on temporal, es decir, conocer bien como
evoluciona la se
nal en el tiempo, interesan ventanas de analisis cortas.
En la pr
actica, en funci
on de la se
nal que vayamos a analizar y de la
informacion que deseemos utilizaremos una longitud de ventana u otra.
La figura 5.41 muestra una se
nal 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
nal es analizada en la figura 5.42 con una ventana corta (21 muestras) 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 analisis
pero utilizando una ventana m
as larga (71 muestras). Ahora, los 2 tonos se
distinguen claramente, pero es difcil decir que sucede en el transitorio.


CAPTULO 5. ANALISIS
ESPECTRAL

216

f
6

Figura 5.42: An
alisis de la se
nal de la figura 5.41 con una ventana de
duraci
on 21.
f
6

Figura 5.43: An
alisis de la se
nal de la figura 5.41 con una ventana de
duraci
on 71.

5.6.3.

Interpretaci
on como banco de filtros de la TF dependiente del tiempo

Supongamos que tomamos la Transformada de Fourier de Tiempo Corto X[n, ) y la particularizamos para = 0 . Obtendremos de esta forma

217

5.6. An
alisis Tiempo-Frecuencia

una secuencia (compleja) que denominaremos x0 [n]. Veamos que propiedades


tiene.

x0 [n] = X[n, 0 ) =

w[m] x[n + m] ej0 m

(5.41)

m=

Realizando en la anterior expresi


on el cambio de m por m0 obtenemos:
x0 [n] =

x[n m0 ] w[m0 ] ej0 m = x[n] h0 [n]

(5.42)

m0 =

con
h0 [n] = w[n] ej0 n

(5.43)

Es posible calcular la respuesta en frecuencia de este filtro tomando, como


siempre, la TF de la respuesta impulsional.
H0 (ej ) = W (ej(0 ) )

(5.44)

Es decir, para cada la secuencia x [n] es el resultado de filtrar la se


nal 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
a centrada en la frecuencia = , y cuya respuesta
en frecuencia tiene la forma de la TF de la ventana utilizada desplazada en
frecuencia
Esta interpretaci
on 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 codificacion de se


nales
vocales. En esta aplicaci
on lo que se hace es, en vez de codificar las muestras
de la se
nal, codificar valores de la STFT. Dado que los valores de la STFT se
corresponden a diferentes frecuencias, y que el odo no tiene la misma sensibilidad al ruido de cuantificaci
on en todas las frecuencias, es posible asignar
los bits de forma no uniforme a cada frecuencia. Ademas, dado que las se
nales
no son estacionarias, es posible variar la asignacion binaria en funcion de las
frecuencias activas en cada instante.
Lo anterior lleva a la necesidad de recuperar la se
nal original x[n] a partir
de X[n, ). Para ello hay que deshacer ordenadamente los pasos hechos.


CAPTULO 5. ANALISIS
ESPECTRAL

218

1. Para cada n se hace una TF1 . Obtenemos con ello w[m] x[n + m], es
decir un fragmento enventanado de la se
nal.
2. Para recuperar x[n] basta con particularizar el resultado anterior para
m = 0 y dividir por w[0].
Para finalizar esta secci
on, haremos un comentario de tipo practico. Observemos que de toda la TF1 del punto 1 u
nicamente estamos interesados
en un valor (el de m = 0). En ese caso, resulta mucho mas eficaz calcular
u
nicamente la TF1 para ese valor de m concreto que no utilizar una FFT1
(ver siguiente secci
on) para luego quedarnos con un u
nico valor.

5.6.5.

Muestreo en frecuencia y en tiempo

En la definici
on hecha en la ecuaci
on (5.39) de la STFT, aparece una TF.
Supondremos que la ventana w[n] tiene u
nicamente L valores no nulos. Como
cabe esperar, dicha TF se calcula en la practica como una FFT. Es decir, se
realiza un muestreo en frecuencia () de la transformada. Para que no exista
ambig
uedad, el n
umero de muestras espectrales, N , debera 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
nal enventanadas antes de hacer la FFT.
En la misma definici
on de la ecuaci
on (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 u
nicamente cada R
muestras. Si se cumple R L ser
a posible recuperar la se
nal original, pues en
cada TF1 se recuperan hasta L muestras de la misma.
Resumiendo, si:
L es la longitud de la ventana.
N es el n
umero de puntos de la FFT.
R es el factor de diezmado temporal.
para poder recuperar la se
nal debe cumplirse:
RLN

(5.45)

Esta relacion es interesante tenerla presente en aplicaciones de codificacion


donde es de suma importancia guardar el mnimo n
umero de valores de la
STFT para ser capaces de recuperar la se
nal.

5.7. An
alisis Espectral Parametrico

5.7.

219

An
alisis Espectral Param
etrico

En la parte precedente del tema, se han estudiado metodos de analisis


espectral de los denominados no-parametricos. Se denominan as porque no
suponen nada sobre la naturaleza de la se
nal bajo analisis y porque simplemente producen como resultado muestras en frecuencia de la estima de la
DEP. Estos metodos tienen unas limitaciones que son:
Poca resoluci
on con registros cortos de se
nal. La razon u
ltima de la limitaci
on en resoluci
on de estos metodos, reside en que se asume que la
autocorrelaci
on es nula fuera del intervalo que se puede calcular. Pensemos por ejemplo en el periodograma, que es la TF del estimador sesgado
de la autocorrelaci
on; si tomamos una ventana de L muestras es imposible estimar la correlaci
on para |m| > L. Lo que hacemos es suponer que
fuera del intervalo en que podemos calcularla, la autocorrelacion vale 0.
Mucha varianza. Hemos analizado anteriormente las causas de la varianza y formas de reducirla. Podemos dar otra vision estadstica de por
que la varianza es grande. Supongamos inicialmente el periodograma.
Si suponemos que el n
umero 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 estadstica, hay una regla practica
que dice que si la cantidad de valores a estimar es igual a la cantidad de
datos que tenemos, la estima tendra gran varianza. Si recordamos lo que
suceda tanto en el metodo de BT como de Welch, all tenamos muchas
mas muestras totales que muestras espectrales calculabamos (supuestas
FFTs sin relleno de ceros, pues con relleno con ceros la FFT simplemente interpola como sabemos). Es por ello que estos metodos tenan
una varianza menor, porque la relacion entre valores estimados y datos
disponibles era peque
na.
La idea de los metodos parametricos consiste basicamente en presuponer que
la DEP (o la autocorrelaci
on) son de una determinada forma que depende
de esos pocos par
ametros. De ese modo, con muchas menos muestras que los
metodos no parametricos:
Solo tendremos que estimar unos pocos parametros, para estimar la DEP.
La relaci
on entre los par
ametros y la DEP la suponemos conocida.
Al ser muy pocos los par
ametros a estimar, es posible utilizar pocas
muestras y a
un as tener una estima de poca varianza.


CAPTULO 5. ANALISIS
ESPECTRAL

220

Rx [m]
6

@
@

Estimado a partir de muestras


Extrapolacion por modelo
-

m
Figura 5.44: Extrapolaci
on de la autocorrelaci
on usando un modelo.

Utilizando pocas muestras, es posible estimar u


nicamente unos (pocos)
valores de la autocorrelaci
on. Si con esos pocos valores somos capaces
de extraer los par
ametros del modelo, seremos capaces de inferir la porcion de autocorrelaci
on que no podemos medir. Para entender lo que
queremos decir, pensemos en un ejemplo (figura 5.44). Supongamos que
hacemos la hip
otesis de que la autocorrelacion de la se
nal que estoy analizando tiene forma de tri
angulo. Supongamos que estimo unos pocos
valores de correlaci
on 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
on puedo deducir el resto teniendo en cuenta
la hipotesis de que la autocorrelacion tiene forma de triangulo.
La esencia de los metodos parametricos, consiste pues en asumir un modelo de
se
nal, y bajo esa hip
otesis realizar el analisis. Observemos que si se cumple el
modelo, estos metodos dan mejores resultados que los metodos no parametricos
debido a que puedo extrapolar la autocorrelacion 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: como se cual es el modelo
correcto que se ajusta a la se
nal que estoy analizando?. Esta pregunta lamentablemente no tiene una respuesta clara. En la practica, en algunos casos, el
modelo fsico de generaci
on de la se
nal nos puede dar una pista sobre el tipo
de modelo a aplicar a la se
nal analizada. Es el caso de la voz. Si no tengo
ning
un conocimiento sobre el mecanismo fsico que origina la se
nal que estoy
tratando de analizar, los metodos no parametricos y la experiencia me pueden
ayudar a seleccionar el modelo adecuado.
Vamos a ver a continuaci
on los principales modelos utilizados en el analisis
espectral. Todos tienen en com
un el que suponen que la se
nal analizada puede
ser considerada como el resultado de filtrar un ruido blanco de potencia media
unidad. (Figura 5.45)

221

5.7. An
alisis Espectral Parametrico

Suponiendo conocido el filtro h[n] (real) y por las relaciones de correlacion


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 cuales son los parametros del filtro
(sus coeficientes), de modo que el filtro aplicado a un ruido blanco genere
nuestra se
nal; tenemos como dato muestras de nuestra se
nal x[n]. El anterior
problema es imposible de resolver en general. Lo que se hace en la practica es
suponer que el filtro es de un determinado tipo y orden, y calcular entonces
los parametros 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
on tambien tiene extension finita (ver ecuacion (5.46)). Esta hip
otesis es la misma que hace, por ejemplo, el metodo
de BT. Por tanto, estos modelos, se pueden considerar estudiados dentro
de los metodos no-parametricos.
AR (Auto-Regresive): En este caso se supone que el filtro es todo polos, es
decir, que el numerador de su funcion de transferencia es una constante.
La expresi
on que estamos suponiendo para el filtro es de la forma:
G
1 a1 z 1 a2 z 2 ap z p

HAR (z) =

(5.48)

donde se ve claramente que conociendo los coeficientes del filtro, conozco


el filtro y mediante la ecuaci
on (5.47) la DEP de la se
nal. 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, tambien lo
sera su autocorrelaci
on. Este tipo de modelos permiten pues, conociendo
Ruido blanco
-

e[n]

Se
nal a analizar
h[n]

x[n]

Figura 5.45: Modelo de generaci


on de se
nales en an
alisis espectral parametrico.


CAPTULO 5. ANALISIS
ESPECTRAL

222

los coeficientes del filtro, conocer la autocorrelacion para todo m de modo


analogo a como hicimos en la figura 5.44.
ARMA (Auto-Regresive and Moving Average): Este tipo de modelos suponen que el filtro tiene por numerador y denominador polinomios en z 1 ,
es decir:
HARM A (z) =

b0 + b1 z 1 + b2 z 2 + + bq z q
1 a1 z 1 a2 z 2 ap z p

(5.49)

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
on estudiaremos c
omo se pueden estimar los coeficientes del
filtro del modelo a partir de las muestras de se
nal.
Estamos suponiendo que el filtro es todo polos. Por lo tanto:
HAR (z) =

X(z)
G
=
1
E(z)
1 a1 z a2 z 2 ap z p

(5.50)

La anterior ecuaci
on permite establecer la ecuacion 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 ecuacion anterior, y tomando


esperanzas matem
aticas, se obtiene:
Rx [0] = G Rxe [0] + a1 Rx [1] + a2 Rx [2] + + ap Rx [p]

(5.52)

Por las propiedades de la correlaci


on 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)

Aplicandolo en la ecuaci
on (5.52):
Rxe [0] = h[0] = G

(5.54)

Rx [0] = G2 + a1 Rx [1] + a2 Rx [2] + + ap Rx [p]

(5.55)

por lo que podemos escribir:

223

5.7. An
alisis Espectral Parametrico

Multipliquemos ahora por x[n 1] ambos miembros de la ecuacion (5.51) y


volvamos a tomar esperanzas matem
aticas:
Rx [1] = G Rxe [1] + a1 Rx [0] + a2 Rx [1] + + ap Rx [p 1]

(5.56)

Por la ecuaci
on (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 incognitas se conoce
como Ecuaciones de Yule-Walker y permite obtener los coeficientes del filtro
del modelo AR a partir de valores de correlacion de la se
nal. Dichos valores
se estiman directamente a partir de las muestras de la se
nal tal y como se vio
en la seccion 5.5.3. El mencionado sistema se suele escribir en forma matricial
del siguiente modo:

Rx [p]
Rx [p 1]
Rx [p 2]
..
..
.
.
Rx [p] Rx [p 1] Rx [p 2]
Rx [0]
Rx [0]
Rx [1]
Rx [2]
..
.

Rx [1]
Rx [0]
Rx [1]
..
.

Rx [2]
Rx [1]
Rx [0]
..
.

1
a1
a2
..
.
ap

G2
0
0
..
.

0
(5.59)

Resumiendo el metodo de an
alisis espectral mediante modelos AR, consistira en:
Elegir el orden y el tipo de modelo.
Estimar los valores de correlaci
on necesarios para plantear las ecuaciones
de Yule-Walker. Suele utilizarse el estimador sesgado.


CAPTULO 5. ANALISIS
ESPECTRAL

224

10
8
6
4
2
0
-2
-4
-6
-8
-10
0

10

15

20

25
n

30

35

40

45

50

Figura 5.46: Muestras pertenecientes a un fragmento de proceso aleatorio tipo AR de orden 4.

Resolver las ecuaciones de Yule-Walker.


Mediante la expresi
on (5.47) calcular la DEP.
Vamos a ver a continuaci
on algunos ejemplos de analisis mediante esta
tecnica 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 teorica de dicho fragmento
de se
nal. En un problema de an
alisis real no conoceramos la DEP verdadera
del proceso (es lo que tratamos de averiguar!). Cuando veamos los resultados
obtenidos por diferentes metodos compararemos lo que se obtiene con cada
uno de ellos con dicha DEP te
orica.
En la figura 5.47 vemos el resultado de realizar un analisis espectral utilizando 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 autocorrelacion empleada
en las ecuaciones de Yule-Walker es estimada y no la teorica.
Para que entendamos la potencia de este tipo de analisis, vamos a comparar
el analisis de las mismas 50 muestras de se
nal mediante un periodograma.

225

5.7. An
alisis Espectral Parametrico

25

20

15

dB

10

-5

-10
0

0.05

0.1

0.15

0.2

0.25
f

0.3

0.35

0.4

0.45

0.5

Figura 5.47: Comparaci


on entre la DEP te
orica y la estima AR de
orden 4 de la se
nal de la figura 5.46.

La figura 5.48 muestra el resultado. Como puede apreciarse, el periodograma


presenta un resultado totalmente aleatorio.
Podra pensarse en utilizar alguna de las tecnicas vistas en los metodos
no parametricos para reducir la varianza. Veamos que sucede, si por ejemplo
consideramos el metodo 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 podra tener la idea de
que los metodos parametricos son muy superiores a los no parametricos. 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 analisis de las mismas
muestras de se
nal 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.


CAPTULO 5. ANALISIS
ESPECTRAL

226

30
25
20
15

dB

10
5
0
-5
-10
-15
-20
0

0.05

0.1

0.15

0.2

0.25
f

0.3

0.35

0.4

0.45

0.5

Figura 5.48: Comparaci


on entre la DEP te
orica y periodograma de la
se
nal de la figura 5.46.

30
25
20
15

dB

10
5
0
-5
-10
-15
-20
0

0.05

0.1

0.15

0.2

0.25
f

0.3

0.35

0.4

0.45

0.5

Figura 5.49: DEP te


orica, estima mediante BT del espectro de la se
nal
de la figura 5.46 y diferencia en dB.

227

5.7. An
alisis Espectral Parametrico

25

20

15

dB

10

-5

-10
0

0.05

0.1

0.15

0.2

0.25
f

0.3

0.35

0.4

0.45

0.5

Figura 5.50: Comparaci


on entre la DEP te
orica y la estima mediante
un modelo AR de orden 2 del espectro de la se
nal de la figura 5.46.

25

20

15

dB

10

-5

-10
0

0.05

0.1

0.15

0.2

0.25
f

0.3

0.35

0.4

0.45

0.5

Figura 5.51: Comparaci


on entre la DEP te
orica y la estima mediante
un modelo AR de orden 8 del espectro de la se
nal de la figura 5.46.


CAPTULO 5. ANALISIS
ESPECTRAL

228

5.8.

Problemas

1. La transformada de Fourier de tiempo corto se puede definir de una


forma diferente a como se expresa en la ecuacion (5.39). Dicha forma
alternativa es:
) =
X[n,

x[m] w[n m] ejm

m=

a) Realice una interpretaci


on grafica de la anterior definicion y comparela con la de la ecuaci
on (5.39).
?

).
b) Encuentre la relaci
on X[n, ) X[n,
0 ) es una se
c) Demuestre que s[n] = X[n,
nal paso-bajo 0
d ) Sea x[n] una se
nal arbitraria que se aplica a la entrada de un filtro
FIR de respuesta impulsiva h[n] para obtener y[n] a la salida.
y[n] =

M
X

h[k] x[n k]

k=0
?

Encuentre la relaci
on 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
alisis espectral en la decodificacion de se
nalizacion telef
onica multifrecuencia. Como se sabe en telefona existe una
forma de transmitir se
nalizaci
on consitente en transmitir una pareja de
frecuencias diferente para cada n
umero que se desee transmitir. La tabla
de frecuencias se muestra a continuacion. Las fases de los tonos generados, es en general aleatoria, lo que hace que el aspecto temporal de las
se
nales pueda ser bastante diferente para un mismo dgito.

229

5.8. Problemas

El archivo UNOS.MAT contiene dos vectores correspondientes a dos


unos distintos (fases iniciales diferentes) y con una peque
na proporci
on de ruido. Compruebe que son diferentes, y que en el dominio
del tiempo no resulta sencillo decidir el dgito correspondiente.

679
770
852
941

hz
hz
hz
hz

1209 hz
1
4
7
*

1336 hz
2
5
8
0

1477 hz
3
6
9
#

Cuadro 5.2: Tablas de c


odigos multifrecuencia.

El archivo DTMF.MAT tiene varios dgitos, correspondientes a un


n
umero de telefono de 7 cifras. Intente averiguar cuales son, utilizando el mnimo n
umero de muestras, la ventana que crea mas
conveniente, y comparando con las frecuencias de la tabla.
Cu
al cree que es la m
axima velocidad de pulsacion de dgitos que
se puede tener para poder decodificar correctamente los mismos?
(suponga que no existen pausas entre los dgitos).
2. El juego de los espas. En este ejercicio, suponga que es el responsable 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 atencion (tonos de camuflaje). En
concreto se sabe que emplea dos tecnicas:
Enviar tonos de peque
na 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 separacion mnima
de frecuencia que se preve que utilice es de 1/200 hz.
Los tonos de camuflaje son de distinta frecuencia de una transmision
a otra pero en una cierta transmision todos tienen la misma amplitud.
El enemigo transmite estas se
nales durante bastante tiempo pero interesa 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

CAPTULO 5. ANALISIS
ESPECTRAL

mensaje implique un riesgo sobre nosotros. Su mision es definir y aplicar el procedimiento para detectar la presencia de los mensajes (tonos),
utilizando la mnima 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 analisis presentadas 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 tecnicas de analisis espectral que considere oportunas, determine la presencia de tonos camuflados.
Cu
al es el mnimo n
umero de muestras necesario para detectar los
tonos?
3. Analisis espectral de se
nales 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
a 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 estacionariedad) de la se
nal de voz se caracteriza por dos aspectos:
El pitch o frecuencia fundamental de los sonidos sonoros. Los sonidos sonoros son cuasi-peri
odicos. Por lo tanto su espectro esta formado aproxim
adamente por deltas situadas en los armonicos de la
frecuencia fundamental. El pitch es el reponsable del tono de voz y
es de aproxim
adamente unos 100 hz para los hombre y de unos 200
hz para las mujeres (depende bastante de los individuos particulares). Para un mismo individuo, y dentro de una frase se producen
variaciones del mismo que subjetivamente el cerebro asocia con la
entonaci
on de la frase. As, una frase enunciativa tiene una variaci
on temporal del pitch muy peque
na, 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
odicos. Si el pitch estaba relacionado con el periodo
de repetici
on, los formantes estan relacionados con la forma de los
periodos. Dicha forma depende como se sabe de la envolvente espectral. Los formantes son las frecuencias de resonancia (picos) de
dicha envolvente espectral. La envolvente espectral es la responsable de que identifiquemos los distintos sonidos, es decir, de que
distingamos la o de la e, por ejemplo.

231

5.8. Problemas

En el ejercicio vamos a aplicar los conocimientos que tenemos para inferir


informaci
on de las se
nales de voz.
a) Determinaci
on de la entonacion. Parece logico que dado que lo que
buscamos es la evoluci
on de una frecuencia (pitch) con el tiempo
se utilicen tecnicas de an
alisis tiempo-frecuencia. En el servidor
encontrar
a la funci
on stft.m que implementa la transformada de
Fourier de tiempo corto. Para ser capaz de ver la evolucion del
pitch, es necesario que la resolucion en frecuencia de la ventana de
an
alisis empleada permita resolver los distintos armonicos.
Determine cu
al es la longitud mnima de ventana de Hamming
que se debera utilizar si no se sabe si el locutor es hombre o
mujer.
Utilizando una duraci
on de ventana el doble de la anteriormente calculada, analice mediante la TF de tiempo corto las se
nales
d1 y d2. Visualice los resultados utilizando la funcion Matlab
pcolor. Puede a la vista de los resultados inferir cual es la
interrogativa? Puede comprobar si ha acertado utilizando la
funci
on sound de Matlab. Observe las se
nales 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 metodos parametricos fragmentos de se
nal de voz para hacer reconocimiento de sonidos. La se
nal de voz se corresponde bastante bien con
un modelo AR. En dichos modelos todo polos la forma del espectro presenta una serie de resonancias debidas a cada uno de
los polos. El n
umero de resonancias depende del ancho de banda 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.

A
E
I
O
U
Cuadro 5.3: Tablas

Formante 1 Formante 2
620800
1000-1500
420500
1600-2000
200300
2000-2500
400500
800-1000
230290
600-900
de frecuencias de formantes en castellano.

232

CAPTULO 5. ANALISIS
ESPECTRAL

Se han seleccionado bloques de 40 ms. correspondientes a las


os y las es del primer y segundo vector(o1, o2, e1, e2). Analice
las se
nales mediante un modelo AR de orden 10. Una vez obtenidos los coeficientes del filtro, represente los polos de todos los
filtros en una misma gr
afica (con distintos smbolos). Sabiendo
que el argumento de los polos corresponde con la frecuencia de
resonancia, Cree poder identificar las se
nales?
Compruebe que en el dominio del tiempo, las se
nales correspondientes a un mismo sonido (o por ejemplo) son suficientemente
distintas como para que sea difcil reconocer el sonido en dicho
dominio.

Ap
endice A

Se
nales Aleatorias Discretas
A.1.

Introducci
on

En tratamiento digital de la se
nal existen dos conceptos fundamentales:
las se
nales y los sistemas. Una manera de considerar las se
nales es a traves
de un enfoque determinista, en el cual una se
nal discreta es una secuencia de
n
umeros correspondientes a los valores de amplitud de la se
nal en distintos instantes de tiempo. En teora de la se
nal hay una gran variedad de herramientas
(Transformada de Fourier, Transformada Z, etc.) que permiten la descripcion
de se
nales deterministas en dominios distintos al tiempo. En lo referente a los
sistemas, resulta interesante conocer como un sistema modifica la se
nal que
tiene en su entrada, con el objetivo de ser capaces de dise
nar sistemas que
realicen tareas de interes. Si un sistema se caracteriza adecuadamente y en
su entrada hay una se
nal determinista, se puede saber analticamente cual es
la se
nal determinista en su la salida. Parece razonable pensar, por tanto, que
el enfoque determinista es de gran utilidad. Sin embargo, en la practica este
enfoque es poco u
til debido fundamentalmente a dos razones:
Habitualmente, la secuencia de entrada en un sistema discreto de interes
no es u
nica. As por ejemplo, en comunicaciones, las se
nales suelen provenir de fuentes de informaci
on continuas o discretas, donde la forma de
onda de la se
nal depende del mensaje que se transmite, el cual, habitualmente no se conoce a priori. Asumiendo la variabilidad de la se
nal en la
entrada de un sistema, el enfoque determinista tiene poco interes, ya que
por ejemplo, a la hora de dise
nar el sistema: Cual sera, de entre todas
las posibles, la se
nal que deberamos considerar como se
nal de entrada?
La existencia de se
nales de naturaleza intrnsecamente aleatoria llamadas
ruido. El ruido es una se
nal impredecible debida a diversos fenomenos
233

APENDICE
A. SENALES
ALEATORIAS DISCRETAS

234

fsicos que est


a siempre presente (al menos en condiciones fsicas normales). Por ejemplo, en sistemas de comunicacion, uno de los principales
inconvenientes para una correcta deteccion o decodificacion, aparte de la
atenuaci
on y la distorsi
on de la se
nal transmitida, es el ruido introducido
en el proceso de transmisi
on-recepcion.
Estas dos razones hacen que, en la practica, sea necesaria una caracterizacion aleatoria o estadstica en la que las se
nales se consideren realizaciones de
procesos estoc
asticos.

A.2.

Procesos Estoc
asticos Discretos

Un proceso estoc
astico discreto (PED) {x[n]} asocia a cada instante discreto de tiempo n una variable aleatoria x
[n], constituyendo una concatenacion en
tiempo discreto de variables aleatorias. Desde otro punto de vista, cada realizacion 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 correspondiente a ese instante de tiempo y en esa realizacion (Figura A.1).

Figura A.1: Proceso Aleatorio Discreto.

235

A.2. Procesos Estoc


asticos Discretos

La existencia en la pr
actica 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 informacion
digital provienen del muestreo (discretizacion en el tiempo) de fuentes
de informaci
on continuas, por lo que si la fuente continua se modela a
traves de un proceso estoc
astico continuo {x(t)}, su muestreo proporcionar
a un proceso discreto {x[n]}. Ademas, en la practica, la amplitud
de la secuencia resultante tambien se discretiza (cuantificacion) lo que
da lugar a una secuencia error discreta llamada ruido de cuantificaci
on,
que bajo ciertas circunstancias pueden modelarse como PED.
Generaci
on de Ruido en los Procesadores Digitales. Los procesadores
digitales operan con precisi
on finita, introduciendo errores (redondeo en
los calculos, almacenamiento en memoria, etc.) que se pueden modelar
como PED.
A continuaci
on trataremos la caracterizacion estadstica de los procesos
estocasticos discretos.

A.2.1.

Funciones de Distribuci
on y de Densidad de Probabilidad

Si en un PED {x[n]} consideramos un instante de tiempo n, la variable aleatoria x


[n] puede caracterizarse a traves de su funci
on de distribuci
on
Px[n] (x)
Px[n] (x) = P rob {
x[n] x}
(A.1)
a traves de la cual podemos obtener su funcion de densidad de probabilidad
(fdp) px[n] (x)
dPx[n] (x)
px[n] (x) =
(A.2)
dx
que es funcion de dos variables, una continua x y otra discreta n. El significado
fsico de la fdp es una funci
on cuya integral proporciona probabilidad
P rob{x0 x
[n] x1 } =

Z x1
x0

px[n] (x) dx

(A.3)

Si consideramos dos instantes de tiempo, n1 y n2 , la relacion estadstica entre


las dos variables aleatorias x
[n1 ] y x
[n2 ] viene determinada totalmente a traves
de la funcion de distribuci
on de segundo orden
Px[n1 ] x[n2 ] (x1 , x2 ) = P {
x[n1 ] x1 , x
[n2 ] x2 }

(A.4)

APENDICE
A. SENALES
ALEATORIAS DISCRETAS

236

y su funcion de densidad px[n1 ] x[n2 ] (x1 , x2 )


px[n1 ],x[n2 ] (x1 , x2 ) =

2 Px[n1 ] x[n2 ] (x1 , x2 )


x1 x2

(A.5)

Estas definiciones pueden generalizarse para obtener la funcion de distribucion


conjunta de n-esimo orden as como su funcion de densidad de probabilidad
conjunta correspondiente. En general, para caracterizar de forma completa
un proceso deberamos conocer la funcion de distribucion conjunta de orden
infinito, informaci
on que en la pr
actica no suele estar disponible. Por esta
razon, en lugar de estas funciones se utiliza una caracterizacion a traves de los
llamados promedios.

A.3.

Promedios

Los promedios estadsticos o simplemente estadsticos, son parametros o


funciones que permiten una caracterizacion sencilla aunque incompleta de procesos estocasticos. Los promedios pueden clasificarse en: aquellos que hacen
referencia a medidas instant
aneas del proceso, esto es, caractersticas del proceso en cada instante de tiempo individual (promedios instantaneos), y aquellos
que miden la dependencia que hay en el proceso en dos instantes de tiempo
(promedios con memoria).

A.3.1.

Promedios instant
aneos

Los promedios instant


aneos 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 matematica.


Valor cuadr
atico medio o Potencia Media Px [n] que se define como la
esperanza de la variable aleatoria |
x[n]|2 en cada instante de tiempo
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)

237

A.3. Promedios

que tambien 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
ametros anteriores dependen del instante de tiempo considerado. Adem
as, existen semejanzas entre estos parametros y otros
similares utilizados en la caracterizacion de se
nales deterministas como por
ejemplo: valor medio u offset, potencia media de una se
nal y valor eficaz.
La relacion entre ambos tipos de par
ametros se hara mas patente cuando se
introduzca m
as 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
an:
La autocorrelaci
on Rxx [n1 , n2 ]
Rxx [n1 , n2 ] = E{
x[n1 ] x
[n2 ]} =

Z Z

x1 x2 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, autocorrelacion y autocovarianza coinciden. La autocorrelaci


on Rxx [n1 , n2 ] es un promedio que mide el grado de
parecido estadstico del proceso en dos instantes de tiempo n1 y n2 . La autocovarianza tambien mide el parecido del proceso en dos instantes de tiempo,
pero sin considerar sus medias. En ocasiones la autocorrelacion y la autocovarianza se denotan mediante Rx [n1 , n2 ] y Cx [n1 , n2 ] respectivamente.

APENDICE
A. SENALES
ALEATORIAS DISCRETAS

238

Los promedios con memoria que miden la dependencia entre dos procesos
estocasticos distintos en dos instantes de tiempo son:
La correlaci
on cruzada Rxy [n1 , n2 ]

x[n1 ] y [n2 ]} =
Rxy [n1 , n2 ] = E{

Z Z

x y px[n1 ],y[n2 ] (x, y) dx dy


(A.13)

La covarianza cruzada Cxy [n1 , n2 ]


Cxy [n1 , n2 ] = E {(
x[n1 ] x [n1 ]) (
y [n2 ] y [n2 ]) }

(A.14)

Cabe destacar que todos los promedios, ya sean parametros o funciones, carecen de aleatoriedad, esto es, no varan seg
un la realizacion del proceso sino
que representan al conjunto de todas las realizaciones.

A.4.

PED Estacionarios

Los promedios proporcionan una caracterizacion mas simple del proceso


que la funcion de densidad de probabilidad conjunta, pero a
un as, la caracterizacion se hace a traves de funciones de una variable (media, potencia media,
varianza) o dos variables (autocorrelacion, covarianza). Existe una clase de
procesos, los procesos estoc
asticos estacionarios (en sentido amplio), que admiten una caracterizaci
on m
as sencilla todava, y que se basan en las siguientes
propiedades:
Los promedios instant
aneos son independientes del instante n considerado
E{
x[n]} = x = cte.
E{|
x[n]|2 } = Px = cte.
x2 [n] = x2 = cte.
Los promedios con memoria dependen solo 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 ) }

239

A.4. PED Estacionarios

En el caso de procesos estacionarios, la autocorrelacion es una medida del


parecido estadstico del proceso en un instante de tiempo y una version de el
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
maximo ya que ambos procesos coinciden por lo que Rxx [0] constituye siempre
un maximo de la autocorrelaci
on. Si m 6= 0, entonces la autocorrelacion mide
el grado de parecido cuando el proceso se desplaza en el tiempo, o dicho de
otro modo, del grado de memoria en funcion del tiempo que tiene el proceso.
La caracterizaci
on de los procesos estacionarios es sencilla puesto que los
promedios de primer orden son u
nicamente un parametro mientras que los
promedios con memoria son funciones de una u
nica variable (la diferencia de
tiempos).
A veces resulta interesante ver la dependencia entre dos procesos estacionarios distintos. Dos procesos estacionarios {x[n]} e {y[n]} son conjuntamente
estacionarios (en sentido amplio) si cada uno lo es y su correlacion cruzada
solo 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.4.1.

(A.16)

Propiedades de los PED estacionarios

A continuaci
on se enumeran algunas de las propiedades de los promedios
de primer y segundo orden.
1. Hermiticidad. A traves de un cambio de variable es facil demostrar que
[m]
Rxx [m] = Rxx
[m]
Rxy [m] = Ryx
[m]
Cxx [m] = Cxx

Si adem
as 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 autocorrelacion y autocovarianza son pares.

APENDICE
A. SENALES
ALEATORIAS DISCRETAS

240

2. Suma de dos procesos {x[n]} e {y[n]} conjuntamente estacionarios.


Si z[n] = a
x[n] + b
y [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 esten incorrelados (Rxy [m] = Ryx [m] =
0):
Rzz [m] = |a|2 Rxx [m] + |b|2 Ryy [m]
(A.18)
3. Funcion semidefinida positiva
XX
i

ai Rxx [i j] aj 0, ai , aj

(A.19)

4. Maximo de la autocorrelaci
on y la autocovarianza
Rxx [0] |Rxx [m]|, m
Cxx [0] |Cxx [m]|, m

A.4.2.

(A.20)

Estacionariedad en el mundo real

Anteriormente se ha introducido el concepto de PED estacionario y se han


visto las ventajas analticas 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
on 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
nal u
til tiene un principio y un fin, por
lo que necesariamente las propiedades del proceso varan con el tiempo. Pero
obviando este tema, Cabe suponer que la estacionariedad se conserve mientras
dure la se
nal? La respuesta es en general negativa ya que, en la practica, las
propiedades estadsticas de los procesos de interes varan con el tiempo. Pero
aun as, se asume que los procesos son estacionarios debido a las ventajas
analticas que ello comporta. Adem
as, existen procesos como por ejemplo la
se
nal de voz, que aunque no son estacionarios, cuando se analizan en intervalos
de tiempo suficientemente peque
nos conservan sus propiedades estadsticas.
Esta estacionariedad local permite el dise
no de sistemas adaptativos capaces
de variar sus caractersticas ajust
andose adecuadamente a los cambios que se
producen en la se
nal.

241

A.5. Procesos Erg


odicos

A.5.

Procesos Erg
odicos

Para obtener los promedios de un PED estacionario, es necesario conocer


sus funciones de densidad de probabilidad de primer y segundo orden, funciones que habitualmente no est
an disponibles. Ademas, en la practica, la u
nica
informacion con la que habitualmente se cuenta es una realizacion del proceso. No obstante, existen procesos estocasticos donde los promedios pueden
obtenerse tanto a partir de las definiciones vistas hasta ahora como a partir
de una u
nica realizaci
on xk [n] mediante los llamados promedios temporales.
Estos procesos reciben el nombre de procesos erg
odicos. Por tanto, si un proceso estacionario es adem
as erg
odico en media, entonces la media temporal de
cualquier realizaci
on xk [n]
N
X
1
xk [n]
N 2N + 1
n=N

< xk [n] >= lm

(A.21)

odico en autocorrelacoincide con la media estadstica x . Si el proceso es erg


ci
on, entonces la autocorrelaci
on temporal de cualquier realizacion
N
X
1
xk [n + m] xk [n]
N 2N + 1
n=N

< xk [n + m] xk [n] >= lm

(A.22)

coincide con la autocorrelaci


on estadstica Rxx [m]. Por tanto, si el proceso
es ergodico, la u
nica informaci
on necesaria para obtener la media y la autocorrelacion es una realizaci
on xk [n] cualquiera. Observe que los promedios
temporales (A.21) y (A.22) constituyen las definiciones de media y autocorrelacion en el caso de se
nales 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
alculo de los promedios estadsticos, hay que fijarse en cada
variable aleatoria x
[n] considerando su valor en las infinitas realizaciones del
proceso (. . . , x1 [n], x0 [n], x1 [n], . . .). En el caso particular del calculo de la media, para cada n obtendramos la media del proceso en ese instante. Si ademas
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 realizacion. Si el proceso es estacionario y
ergodico, 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 estadstica.
Una pregunta interesante es: en el mundo real, Existen procesos ergodicos?

242

APENDICE
A. SENALES
ALEATORIAS DISCRETAS

Figura A.2: Promedios estadsticos y temporales de un Proceso Estoc


astico Discreto.

La pregunta es difcil de responder porque:


Para calcular los promedios temporales de una realizacion necesitamos
la realizaci
on completa, esto es, desde n = hasta n = , lo cual es
imposible ya que nuestra vida, al igual que la de la fuente de informacion,
es finita.
Aunque tuvieramos el promedio temporal, para calcular el promedio
estadstico y de esta manera comprobar que coinciden, necesitaramos
las infinitas realizaciones del proceso, lo cual es imposible.
Ademas, en el hipotetico caso en que tuviesemos disponibles las infinitas
realizaciones del proceso, la ergodicidad del proceso dejara de ser importante,
puesto que nada impedira calcular a partir de ellas los promedios estadsticos.
Aunque sea imposible comprobar la ergodicidad de un proceso en la practica,

243

A.6. Densidad Espectral de Potencia

podramos asumirla si encontraramos razones que justificasen su aceptacion.


Desafortunadamente resulta difcil encontrar fenomenos fsicos donde esto sea
posible. A pesar de todo esto, la ergodicidad es una propiedad que se suele
asumir ya que permite el c
alculo de promedios a partir de una u
nica realizacion.
No obstante, a
un asumiendo ergodicidad, en la practica solo podemos disponer de una realizaci
on truncada en el tiempo (duracion finita) sobre la que
realizar una estimaci
on del promedio en cuestion. Para cada realizacion, el estimador temporal proporcionar
a un parametro o una secuencia, dependiendo
del tipo de promedio (instant
aneo o con memoria) buscado. Por tanto, el conjunto de par
ametros o secuencias, que potencialmente puede proporcionar el
estimador al considerar todos las posibles realizaciones del proceso constituyen
una variable aleatoria o un proceso estocastico 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
on de duraci
on 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 representacion especialmente u


til en
procesado de se
nal. Sin embargo, al igual que con los procesos estacionarios
continuos, los procesos estacionarios discretos no admiten una caracterizacion
frecuencial a traves de la transformada de Fourier en la forma conocida para
las se
nales deterministas, debido a su naturaleza aleatoria y a que su duracion
(infinita) no garantiza la convergencia de la integral de Fourier.
No obstante, podramos truncar las realizaciones del proceso, considerando
solo las 2N + 1 muestras centrales de cada realizacion:
n = N, , 1, 0, 1, , N
Como las secuencia que resultan del truncamiento son de energa finita, tienen
Transformada de Fourier
(k) (ej ) =
X
N

N
X
n=N

xk [n] ejn ,

(A.23)

APENDICE
A. SENALES
ALEATORIAS DISCRETAS

244

y la consideraci
on de todas las posibles transformadas de Fourier dara lugar
a un proceso aleatorio continuo (en )
N
X

N (ej ) =
X

x
[n] ejn .

(A.24)

n=N

N (ej ) es
La potencia media de X
n

N (ej )|2 =
E |X

N
X

N
X

E{
x[n1 ] x
[n2 ]} ej(n1 n2 )

(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

N (ej )|2 =
E |X

N
X

NX
n2

Rxx [m] ejm

(A.26)

n2 =N m=N n2

En la expresi
on anterior, el segundo sumatorio siempre cuenta con 2N + 1
terminos, 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
umero de veces que aparece cada
termino de la forma Rxx [m] ejm en la expresion (A.26).

n2 = N

m
-

2N

0
..
.
n2 = 0

2N
m
-

2N

N
n2 = N

0
..
.

2N
m
-

2N

2N

Figura A.3: Conjunto de terminos Rxx [m] ej del segundo sumatorio


de (A.26) en los casos n2 = N, 0 y N .

245

A.6. Densidad Espectral de Potencia

Terminos
Rxx
y Rxx [2N ]ej2N
Rxx [2N + 1]ej(2N 1) y Rxx [2N 1]ej(2N 1)
...
j
Rxx [1]e y Rxx [1]ej
Rxx [0]
[2N ]ej2N

No de veces
1
2
...
2N
2N + 1

A partir de la tabla es f
acil convertir el doble sumatorio en uno solo obteniendo
2N
X

N (ej )|2 } = (2N + 1)


E{|X

m=2N

|m|
2N + 1

Rxx [m] ejm

(A.27)

Sin embargo, la funci


on anterior no representa al proceso x
[n] sino a una
version truncada de el. Para obtener una representacion que caracterice en frecuencia al proceso en su totalidad se define la Densidad Espectral de Potencia
(DEP) de {x[n]} como
N (ej )|2 }
E{|X
N
2N + 1

Sxx (ej ) = lm
lo cual conduce a

Sxx (ej ) =

Rxx [m] ejm

(A.28)

(A.29)

m=

con lo cual la Densidad Espectral de Potencia y la Funcion de autocorrelacion de un proceso son pares transformados (Teorema de Wiener-Khinchin).
Al igual que ocurre con la autocorrelacion, la DEP de un proceso se denota a
veces simplemente mediante Sx (ej ).
Observe que Sxx (ej ) es una funci
on, no un proceso, ya que es la transformada de Fourier de la funci
on de autocorrelacion del proceso (funcion determinista). Por tanto, la DEP hereda las propiedades de la T. de Fourier de
secuencias, de forma que, Sxx (ej ) es una funcion periodica y de periodo 2 y
[m]), es
debido a la simetra de la funci
on de autocorrelacion (Rxx [m] = Rxx
una funcion real. Adem
as como la potencia no puede ser negativa, la DEP es
una funcion no negativa (Sxx (ej ) 0).
Teniendo en mente el T. de Wiener-Khinchin, la autocorrelacion del proceso se puede obtener mediante
Rxx [m] =

1
2

Sxx (ej ) ejm d

(A.30)

APENDICE
A. SENALES
ALEATORIAS DISCRETAS

246

y recordando que la potencia media es la autocorrelacion del proceso evaluada


en m = 0, se obtiene
Z
1
Px =
Sxx (ej ) d
(A.31)
2
lo cual justifica el nombre que hemos dado a esta funcion, ya que es una funcion
que integrada en proporciona potencia. Por tanto, la Densidad Espectral de
Potencia indica como est
a distribuida la potencia en funcion de la frecuencia.
Recuerde que existe una expresi
on similar en el caso de los procesos continuos,
pero mientras en estos u
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
nal que resultara si se filtrara el proceso
a traves de un filtro paso-banda ideal con banda de paso (1 , 2 ), es
P(1 ,2 ) =

2
2

Z 2

Sxx (ej ) d = 2

Z f2

Sxx (ej2f ) df

(A.32)

f1

ya que como la DEP de un proceso real es una funcion par, es suficiente


integrar en el intervalo [1 , 2 ] y multiplicar el resultado por 2.
Resulta interesante recordar que para se
nales deterministas tambien existen funciones similares a la DEP: Densidad Espectral de Energa para se
nales
definidas en energa y Densidad Espectral de Potencia para se
nales deterministas 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)

Syx (ej ) = TF{Ryx [m]}

(A.34)

y de la misma forma
Estos espectros cruzados carecen de significado fsico (a diferencia de la DEP).
Sin embargo, pueden utilizarse para comprobar ciertas caractersticas de los
procesos que relacionan. Por ejemplo, si los procesos {x[n]} e {y[n]} ortogonales (Rxy [m] = 0), entonces Sxy (ej ) = Syx (ej ) = 0. Tambien pueden ser
u
tiles para estimar la respuesta frecuencial de sistemas LTI (problema 4) y a
la hora de calcular la llamada Funci
on de Coherencia
xy (ej ) = q

Sxy (ej )
Sxx (ej ) Syy (ej )

(A.35)

247

A.7. Filtrado de Procesos Discretos

que permite establecer el grado de linealidad que presentan dos procesos x e


y en funcion 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], estan relacionadas a traves
de la convoluci
on lineal

y[n] =

x[k] h[n k]

(A.36)

k=

Desde el punto de vista aleatorio, cada realizacion del proceso en la entrada


{x[n]} da lugar a una realizaci
on del proceso de salida {y[n]} (Figura A.4),
relacionadas tambien a traves de la convolucion lineal.

{x[n]}

- {y[n]}

h[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 seccion, 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:
y = E

k=

x[n k] h[k]

= E{x[n]}

h[k] = x H(ej0 )

(A.37)

k=

donde hay que recordar que la respuesta impulsiva es una secuencia determinista. La correlaci
on cruzada entrada-salida Rxy [m] es
Rxy [m] = E {x[n + m] y [n]}
(

= E x[n + m]

)
X
k

x [n k] h [k]

APENDICE
A. SENALES
ALEATORIAS DISCRETAS

248

h [k] E{x[n + m] x [n k]}

h [k] Rxx [m + k]

= Rxx [m] h [m]

(A.38)

De forma an
aloga:
Ryx [m] = Rxx [m] h[m]

(A.39)

En cuanto a la autocorrelaci
on de la salida Ryy [m]
Ryy [m] = E {y[n + m] y [n]}
(

= E y[n + m]

x [n k]h [k]

h [k] E{y[n + m]x [n k]}

h [k] Ryx [m + 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 )
j

(A.41)

Syx (e ) = Sxx (e ) H(e )

(A.42)

Syy (e ) = Sxx (e ) H(e ) H (e ) = Sxx () |H(e )|

(A.43)

La ecuacion (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 estocastico de media nula caracterizado por


tener una DEP constante
2
Sww (ej ) = w
(A.44)
e igual a la varianza del proceso. La autocorrelacion es pues
2
Rww [m] = w
[m]

(A.45)

249

A.9. Problemas

con lo que en el ruido blanco no existe ninguna dependencia entre dos muestras,
por muy cercanas que esten. A diferencia del ruido blanco continuo, su version
discreta si que tiene potencia media finita puesto que
Z 0,5

Pw =

0,5

2
Sww (ej2f ) df = w

(A.46)

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, notese
que el significado fsico es distinto: densidad espectral de potencia en el primer
caso y potencia media en el segundo. Si el ruido blanco ademas 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 traves de un sistema LTI discreto,
entonces la DEP del proceso de salida es
2
Syy (ej ) = ww
|H(ej )|2

(A.47)

obteniendose 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

Py =

0,5

2
Syy (ej2f ) df = ww

Z 0,5
0,5

2
|H(ej2f )|2 df = ww

|h[n]|2

n=

(A.48)
El termino n
recibe el nombre de ganancia del filtro para el ruido
blanco, ya que representa la ganancia en potencia que tiene el filtro u
nicamente cuando la entrada es un ruido blanco. Esta magnitud constituye una
caracterstica 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)
P

|h[n]|2

que tambien es blanco ya que su autocorrelacion es


2
Rww [m] = (12 + 22 + + N
) [m]

(A.50)

2
Sww () = 12 + 22 + + N

(A.51)

y su DEP es

A.9.

Problemas

1. La funci
on de MATLAB randn permite generar ruido blanco gaussiano
de media cero y varianza unidad.

250

APENDICE
A. SENALES
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. Que tipos de promedios ha
calculado, estadsticos o temporales? Los resultados obtenidos son los
esperados? Por que? C
omo solucionara el problema?
1.2. Suponga que se pretenden calcular promedios, pero de forma estadstica. Para ello, utilice MATLAB y sus funciones mean() y std().
Seg
un los resultados obtenidos, cree que el proceso considerado es estacionario? y erg
odico?
1.3. Un proceso MA (Moving Average) es un proceso basado en el modelo
x[n] =

M
1
X

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. Cual es la respuesta
impulsiva del filtro? Cu
al es la media del proceso MA? Si el filtro tiene
una respuesta impulsiva h[n] = b0 , n = 0, . . . , M 1, Cuales 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 fltrelo
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
oricos? Comente los resultados.
2. Un proceso Autoregresivo de primer orden AR(1) esta caracterizado por
la expresi
on
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
al 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 funcion del signo de a.
2.3 Calcule la autocorrelaci
on Rxx [m]. Cual es la potencia del proceso?

251

A.9. Problemas

3. La predicci
on lineal es una tecnica de procesado de se
nal 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 tecnica es el predictor, un sistema que proporciona el valor predicho para x[n] mediante
combinaci
on lineal de muestras anteriores:
x
=

P
X

aj x[n j]

j=1

siendo {aj } los coeficientes de predicci


on y P el orden de predicci
on. El
error de predicci
on e[n] es
e[n] = x[n] x
[n] = x[n]

P
X

aj x[n j]

j=1

y los coeficientes de predicci


on
optimos deben de elegirse para minimizar
la potencia de dicho error.

x[n]


- e[n]

6x
[n]

- Predictor

Figura A.5: Predicci


on de x[n].

3.1 Si x[n] es un proceso de media nula, obtenga las expresiones de los


valores de los coeficientes de prediccion optimos.
3.2 Suponga que el predictor utilizado es de orden 1, y que el proceso es
autoregresivo AR(1). Calcule el coeficiente de prediccion optimo. Cual
es DEP del error de predicci
on?
4. Una aplicaci
on de los espectros cruzados Sxy (ej ) es el calculo de respuestas 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

APENDICE
A. SENALES
ALEATORIAS DISCRETAS

252

del sistema se puede obtener a traves de


H(ej ) =

Syy (ej )
Sxy (ej )

H(ej ) =

Syx (ej )
Sxx (ej )

4.2 En muchas ocasiones la salida del sistema esta contaminada por ruido aditivo, tal y como se muestra en la figura A.6, siendo u
nicamente
accesibles las secuencias x[n] e y[n], lo cual puede complicar la determinaci
on de la respuesta frecuencial. Una posible situacion 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
H1 (ej ) =

Szz (ej )
Sxz (ej )

H2 (ej ) =

Szx (ej )
Sxx (ej )

Cual de las dos funciones proporciona una mejor estimacion de la respuesta frecuencial? (Suponga que el ruido esta incorrelado con la se
nal
de entrada)
4.3 En otras ocasiones se da la situacion contraria, esto es, la se
nal
captada en la entrada est
a contaminada por ruido (Figura A.7). En este
caso, Cu
al de las dos medidas eligira?
4.4 Y si, como se muestra en la Figura A.8, se tiene simultaneamente
ruido en la adquisici
on de la entrada w1 [n] y la salida w2 [n]?
5. Sea {v[n]} un proceso estoc
astico real estacionario de media y cuyas
variables aleatorias est
an incorreladas
E{v[n] v[k]} = E{v[n]} E{v[k]} = 2 ,

n 6= k

Suponga adem
as 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.

253

A.9. Problemas

v[n]

- z[n]

- Sist. LTI

?
+  w[n]

?

x[n]

Figura A.7: Sistema LTI con ruido en la adquisici


on de la entrada.

y[n]
v[n]

- Sist. LTI

?
+  w1 [n]


- + - z[n]

6

w2 [n]

x[n]

Figura A.8: Sistema LTI con ruido aditivo en la adquisici


on de la
entrada y la salida.

a) Calcule y dibuje la funci


on de autocorrelacion y la Densidad Espectral 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
on de autocorrelacion y la Densidad Espectral de Potencia de x[n].
6. Sea el proceso estoc
astico 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
2.
ruido blanco de media cero, independiente de A y varianza w

254

APENDICE
A. SENALES
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
on x[n]. Definimos un estimador de media
mediante
N
X
1
x[n]

x =
2N + 1 n=N
Es un estimador insesgado? Es consistente? Que condicion debe de
cumplirse para que {x[n]} sea erg
odico en media? La cumple un proceso
AR de primer orden, con 0 < < 1?
8. Sea {x[n]} un proceso aleatorio estacionario. Para la obtencion de la
autocorrelaci
on utilizamos el estimador
rxx [m] =

N
X
1
x [n] x[n + m]
2N + 1 n=N

donde rxx [m] puede considerarse la realizacion de un proceso aleatorio


rxx [m]. El estimador es insesgado? Bajo que condiciones es consistente?

Bibliografa
[1] F.J. Harris. On the use of wndows for harmonic analysis with the discrete
fourier transform. Proceedings IEEE, 66(1):5183, 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 Processing. Prentice Hall, 1989.
[7] Alan V. Oppenheim, Ronald W. Schaffer, and John R. Buck. DiscreteTime Signal Processing. Signal Processing. Prentice Hall, 2nd edition,
1999.
[8] Alan V. Oppenheim and Alan S. Wilsky. Se
nales y Sistemas. Prentice
Hall, 2nd edition, 1997.
[9] John G. Proakis and Dimitris G. Manolakis. Tratamiento Digital de
Se
nales. 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