Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Teorı́a y Aplicaciones
Antonio Albiol
Valery Naranjo
Josep Prades
Índice
1. Muestreo 1
1.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Muestreo de señales paso-bajo . . . . . . . . . . . . . . . . . . . 1
1.2.1. Recuperación de una señal paso-bajo a partir de
sus muestras . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.2. Consideraciones prácticas . . . . . . . . . . . . . . . . . 8
1.3. Procesado discreto de señales continuas . . . . . . . . . . . . . 9
1.4. Muestreo y reconstrucción de señales paso-banda . . . . . . . . 12
1.4.1. Muestreo de señales paso-banda como señales reales . . 13
1.4.2. Muestreo de señales paso-banda como señales complejas 14
1.5. Cambio de la velocidad de muestreo . . . . . . . . . . . . . . . 18
1.5.1. Diezmado por un factor entero . . . . . . . . . . . . . . 19
1.5.2. Interpolación por un factor entero . . . . . . . . . . . . 21
1.5.3. Cambio de la frecuencia de muestreo por un factor racional 25
1.5.4. Aplicación del diezmado a la conversión C/D . . . . . . 27
1.5.5. Aplicación de la interpolación a la conversión D/C . . . 28
1.6. Codificación de señales . . . . . . . . . . . . . . . . . . . . . . . 30
1.6.1. Recuperación de la señal . . . . . . . . . . . . . . . . . . 31
1.6.2. El ruido de cuantificación . . . . . . . . . . . . . . . . . 33
1.6.3. Cuantificación no uniforme . . . . . . . . . . . . . . . . 35
i
2.4.1. Cond. para igualdad entre conv. lineal y circular . . . . 48
2.4.2. Coincidencias entre la convolución lineal y la circular . . 50
2.5. Implementación de filtros LTI utilizando DFT . . . . . . . . . . 52
2.6. Muestreo de la Transformada de Fourier . . . . . . . . . . . . . 54
2.7. La FFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
2.7.1. Consideraciones previas . . . . . . . . . . . . . . . . . . 58
2.7.2. Algoritmos de diezmado en el tiempo . . . . . . . . . . 61
2.7.3. Algoritmos de diezmado en frecuencia . . . . . . . . . . 69
2.7.4. Consideraciones adicionales sobre la FFT . . . . . . . . 72
2.7.5. Algoritmos con N 6= 2υ . . . . . . . . . . . . . . . . . . 78
2.8. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
3. Implementación de filtros 83
3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
3.1.1. Aplicaciones de los filtros . . . . . . . . . . . . . . . . . 83
3.1.2. Ventajas e inconvenientes de los filtros digitales . . . . . 85
3.2. Planteamiento general del filtrado digital . . . . . . . . . . . . . 87
3.2.1. Implementabilidad de filtros FIR . . . . . . . . . . . . . 89
3.2.2. Implementabilidad de filtros IIR . . . . . . . . . . . . . 90
3.2.3. Proceso de implementación de un filtro digital . . . . . 91
3.3. Implementación de filtros digitales . . . . . . . . . . . . . . . . 92
3.3.1. Diagramas de flujo . . . . . . . . . . . . . . . . . . . . . 92
3.3.2. Formas directas . . . . . . . . . . . . . . . . . . . . . . . 94
3.3.3. Realización en Cascada . . . . . . . . . . . . . . . . . . 96
3.3.4. Realización en paralelo . . . . . . . . . . . . . . . . . . . 98
3.3.5. Formas transpuestas . . . . . . . . . . . . . . . . . . . . 98
3.3.6. Determinación de la función de transferencia de un grafo 100
3.3.7. Secuencia de cálculo . . . . . . . . . . . . . . . . . . . . 102
3.4. Efectos de precisión finita . . . . . . . . . . . . . . . . . . . . . 108
3.4.1. Cuantificación de los coeficientes . . . . . . . . . . . . . 108
3.4.2. Cuantificación de las muestras de entrada . . . . . . . . 114
3.4.3. Redondeos en las operaciones . . . . . . . . . . . . . . . 116
3.4.4. Escalado en sistemas de coma fija . . . . . . . . . . . . 123
3.4.5. Ciclos lı́mite . . . . . . . . . . . . . . . . . . . . . . . . 126
3.5. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
ii
4. Filtros Adaptativos 131
4.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
4.1.1. Ejemplos de sistemas adaptativos . . . . . . . . . . . . . 131
4.1.2. Caracterı́sticas fundamentales de los sistemas adaptativos132
4.1.3. Fundamentos de los de sistemas adaptativos . . . . . . . 132
4.2. Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
4.2.1. Identificación de sistemas . . . . . . . . . . . . . . . . . 133
4.2.2. Predicción . . . . . . . . . . . . . . . . . . . . . . . . . . 134
4.2.3. Cancelación de ruido . . . . . . . . . . . . . . . . . . . . 134
4.2.4. Canceladores de eco . . . . . . . . . . . . . . . . . . . . 136
4.2.5. Ecualizadores adaptativos . . . . . . . . . . . . . . . . . 139
4.2.6. Filtro en hendidura . . . . . . . . . . . . . . . . . . . . . 140
4.3. Filtrado Óptimo . . . . . . . . . . . . . . . . . . . . . . . . . . 140
4.3.1. El combinador lineal . . . . . . . . . . . . . . . . . . . . 141
4.3.2. Notación matricial . . . . . . . . . . . . . . . . . . . . . 142
4.3.3. Respuesta deseada y error . . . . . . . . . . . . . . . . . 142
4.3.4. Superficie de error . . . . . . . . . . . . . . . . . . . . . 143
4.3.5. Gradiente y error cuadrático medio mı́nimo . . . . . . . 146
4.3.6. Ejemplo de superficie de error . . . . . . . . . . . . . . . 148
4.4. Algoritmos de gradiente . . . . . . . . . . . . . . . . . . . . . . 149
4.4.1. Caso Unidimensional . . . . . . . . . . . . . . . . . . . . 150
4.4.2. Caso Multidimensional . . . . . . . . . . . . . . . . . . . 152
4.5. El algoritmo LMS . . . . . . . . . . . . . . . . . . . . . . . . . 153
4.5.1. Ejemplo numérico del algoritmo LMS . . . . . . . . . . 155
4.5.2. Aspectos prácticos del algoritmo LMS . . . . . . . . . . 156
4.6. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
4.7. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
4.7.1. Ejercicios con Matlab . . . . . . . . . . . . . . . . . . 159
iii
5.3. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . 167
5.3.1. Señales deterministas de duración limitada . . . . . . . 168
5.3.2. Señales deterministas de duración ilimitada . . . . . . . 168
5.3.3. Señales aleatorias estacionarias . . . . . . . . . . . . . . 168
5.3.4. Señales no estacionarias . . . . . . . . . . . . . . . . . . 170
5.3.5. Aspectos prácticos del análisis espectral digital . . . . . 170
5.4. Análisis espectral de señales deterministas . . . . . . . . . . . . 172
5.4.1. Ventanas de análisis . . . . . . . . . . . . . . . . . . . . 174
5.4.2. Resolución en frecuencia y margen dinámico . . . . . . . 178
5.4.3. Uso de la FFT. Muestreo en frecuencia . . . . . . . . . 181
5.4.4. El problema de la media . . . . . . . . . . . . . . . . . . 185
5.5. Análisis espectral no paramétrico . . . . . . . . . . . . . . . . . 186
5.5.1. Sesgo y Varianza . . . . . . . . . . . . . . . . . . . . . . 186
5.5.2. El periodograma . . . . . . . . . . . . . . . . . . . . . . 187
5.5.3. Autocorrelación . . . . . . . . . . . . . . . . . . . . . . . 193
5.5.4. El método Blackman-Tukey . . . . . . . . . . . . . . . . 200
5.5.5. El método de Welch o WOSA . . . . . . . . . . . . . . . 205
5.5.6. Resumen métodos no-paramétricos . . . . . . . . . . . . 209
5.6. Análisis Tiempo-Frecuencia . . . . . . . . . . . . . . . . . . . . 210
5.6.1. La TF dependiente del tiempo . . . . . . . . . . . . . . 211
5.6.2. Elección de la ventana . . . . . . . . . . . . . . . . . . . 213
5.6.3. Interpretación como banco de filtros de la TF depen-
diente del tiempo . . . . . . . . . . . . . . . . . . . . . . 216
5.6.4. Transformada Inversa . . . . . . . . . . . . . . . . . . . 217
5.6.5. Muestreo en frecuencia y en tiempo . . . . . . . . . . . 218
5.7. Análisis Espectral Paramétrico . . . . . . . . . . . . . . . . . . 219
5.7.1. Modelos AR . . . . . . . . . . . . . . . . . . . . . . . . . 222
5.8. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
iv
A.3.2. Promedios con memoria . . . . . . . . . . . . . . . . . . 237
A.4. PED Estacionarios . . . . . . . . . . . . . . . . . . . . . . . . . 238
A.4.1. Propiedades de los PED estacionarios . . . . . . . . . . 239
A.4.2. Estacionariedad en el mundo real . . . . . . . . . . . . . 240
A.5. Procesos Ergódicos . . . . . . . . . . . . . . . . . . . . . . . . . 241
A.6. Densidad Espectral de Potencia . . . . . . . . . . . . . . . . . . 243
A.7. Filtrado de Procesos Discretos . . . . . . . . . . . . . . . . . . 247
A.8. Ruido Blanco Discreto . . . . . . . . . . . . . . . . . . . . . . . 248
A.9. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Bibliografı́a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
v
vi
Prólogo
vii
viii
Los autores
Valencia, julio de 2007.
Capı́tulo 1
Muestreo y Procesado
Discreto de Señales Continuas
1.1. Introducción
El procesado de señales de forma discreta presenta una serie de ventajas
frente a la alternativa analógica como son inmunidad frente al ruido, esta-
bilidad frente a temperatura, repetitividad,. . . Sin embargo la mayorı́a de las
señales que interesa procesar son de naturaleza analógica. En ese caso es ne-
cesaria una discretización de la señal continua. Además, en muchas ocasiones
interesa que el procesado (continuo o discreto) de una señal produzca como
resultado una señal analógica. En ambos casos es necesario convertir la señal
de continuo a discreto o viceversa.
En este tema veremos, en la sección 1.2, la conversión continuo-discreto
y viceversa para el caso más habitual de que las señales sean paso-bajo. En
el apartado 1.3 trataremos el efecto que produce procesar muestras de una
señal continua de forma discreta. El punto 1.4 aborda el muestreo de señales
paso-banda, de bastante interés en comunicaciones. En la sección 1.5 nos ocu-
paremos de cómo obtener, a partir de un conjunto de muestras de una señal
obtenidas a una frecuencia de muestreo, un nuevo conjunto de muestras corres-
pondientes a una frecuencia de muestreo diferente. Por último, estudiaremos
la cuantificación y la codificación en la sección 1.6.
1
2 CAPı́TULO 1. MUESTREO
Recordemos que:
( ) !
X 1 X
TF δ(t − nTs ) = δ(fc − n fs )
n Ts n
1
En este tema, y para evitar confusiones, denominaremos fc a la variable independiente
de la Transformada de Fourier (TF) de señales continuas, fd a la variable independiente de
la TF de señales discretas, Ω = 2πfc a la pulsación continua, y ω = 2πfd a la pulsación
discreta.
1.2. Muestreo de señales paso-bajo 3
y que: !
1 X 1 X
Xc (fc ) ∗ δ(fc − nfs ) = Xc (fc − nfs )
Ts n Ts n
Xc (fc )
6
a) 1
@
@
@
@ -
W fc
Xs (fc )
6
b) fs
... @ @ @ ...
@ @ @
@ @ @
@
@ @ @ @ -
−fs W fs fc
X(ejω )
6
c) fs
... @ @ @ ...
@ @ @
@ @ @
@
@ @ @ @ -
−1 W/fs 1 fd
resulta la relación:
1 X
X(ejω ) |ω=ΩTs = Xc (fc − n fs ) = Xs (fc ) (1.4)
Ts n
1 X fd − n
X(ejω ) = Xc (1.5)
Ts n Ts
Xc (fc )
6
1
""bb
" b
" b
" b
" b -
W fc
Xs (fc )
6
fs
... "
""bb
b "
""bb
b "
""bb
b ...
b " b " b " b "
b" b" b" b"
"b "b "b "b -
−fs W fs fc
X(ejω )
6
fs
... "
""bb
b "
""bb
b "
""bb
b ...
b " b " b " b "
b" b" b" b"
"b "b "b "b -
−1 W/fs 1 fd
−1
−2
0 5 10 15
−1
−2
0 5 10 15
xs (t)
- Generador - Hr (fc ) -
x[n] Impulsos xc (t)
6
fs D/C
Figura 1.5: Diagrama de bloques de un conversor discreto-continuo.
La figura 1.2 nos da una pista de cómo recuperar la señal analógica a partir
de las muestras.
2. Una vez se tiene xs (t) (figura 1.2-b), se aplica a un filtro analógico paso-
bajo ideal cuya ganancia en la banda de paso debe ser Ts y cuyo ancho
de banda es fs /2 para obtener finalmente x(t) (figura 1.2-a).
como en el de la frecuencia:
(
Ts X(ejΩ Ts ) |fc | < fs /2
Xc (fc ) = (1.8)
0 resto
Y t − n Ts
x0s (t) =
X
x[n] (1.9)
n Ts
1.3. Procesado discreto de señales continuas 9
x[n] y[n]
xc (t) yc (t)
- C/D - h[n] - D/C -
6 6
fs fs
En el caso más general de que h[n] sea un filtro digital arbitrario, tendre-
mos:
Y (ejω ) = X(ejω ) H(ejω ) (1.12)
Concatenando esta ecuación con las correspondientes al conversor C/D (1.4)
y al D/C (1.8) resulta la siguiente expresión para el espectro de yc (t).
X
H(ejΩ Ts )
Xc (fc − k fs ) |fc | < fs /2
k
Yc (fc ) = (1.13)
0 resto
Xc (fc )
1
6
@
@
@ - fc
−W W
Xs (fc )
1/Ts
6
@ @ @
@
@ @
@ @
@ - fc
−1/Ts −W W 1/Ts
- fd
−1 −0,5 0 0,5 1
H(ejω )
1
6
- fd
−1 −f1 f1 1
Y (ejω )
1/Ts 6
@ @ @
@ @ @
- fd
−1 −f1 f1 1
Ys (fc )
6
Ts Hr (fc )
1/Ts
@ @ @
@ @ @
- fc
−1/Ts −f1 /Ts f1 /Ts 1/Ts
La frecuencia de muestreo.
Este hecho puede ser usado, por ejemplo, para implementar filtrados analógicos
diferentes (distintas frecuencias de corte) con un mismo filtro digital cambian-
do únicamente la frecuencia de muestreo.
Xc (fc )
16
@
@
@
@ -
f1 f0 f2 fc
Figura 1.8: Espectro de una señal paso-banda.
continuo
- discreto
x1 (t)
xc (t) - × - Hlp (fc ) - C/D - x[n]
6 6
cos 2πf1 t fs
Obsérvese que hemos muestreado una señal paso-banda con una frecuencia
de muestreo igual (como mı́nimo) al doble de su ancho de banda. Para poder
recuperar la señal analógica original, hay que conocer los siguientes elementos:
La frecuencia de muestreo fs .
= (xc (t) cos Ω0 t) ∗ hlp (t) − j (xc (t) sen Ω0 t) ∗ hlp (t)
Hlp (fc )
16
-
f2 − f1 fc
X1 (fc )
1/2 6
@
@
@
@ -
f2 − f1 fc
- Continuo
Discreto
x1 (t)
x[n] - D/C - × - Hbp (fc ) - xc (t)
6 6
fs cos 2πf1 t
Hbp (fc )
46
-
f1 f2 fc
contı́nuo
- discreto
x2 (t)
xc (t) - × - Hlp (fc ) - C/D - x[n]
6 6
e−jΩ0 t fs
Re{x2 (t)}
xc (t) - × - Hlp (fc ) - C/D - Re{x[n]}
6 6
cos Ω0 t fs
− sen Ω0 t
? ?
xc (t) - × - Hlp (fc ) - C/D - Im{x[n]}
Im{x2 (t)}
Figura 1.15: Idem a la figura anterior pero con tadas las señales reales.
Nótese la existencia de dos canales, uno para la parte real y otro para
la imaginaria.
1.4. Muestreo y reconstrucción de señales paso-banda 17
Hlp (fc )
16
-
f2 − f1 fc
2
Figura 1.16: Respuesta en frecuencia del filtro de las figuras 1.14
y 1.15.
X2 (fc )
16
-
f2 − f1 fc
2
Figura 1.17: Espectro de x2 (t).
X+ (fc )
16
-
f1 f2 fc
? (−f )
X− (fc ) = X+
16 c
@
@
@
@ -
−f2 −f1 fc
Dado que tanto la parte real como la imaginaria de x2 (t) son señales paso-
bajo reales, se puede muestrear cada una de ellas con una frecuencia de mues-
treo mı́nima igual al doble de su ancho de banda, es decir
f2 − f1
fs ≥ 2 = f2 − f1 (1.20)
2
18 CAPı́TULO 1. MUESTREO
Nótese que, dado que la señal x2 (t) es compleja, el número total de muestras
por segundo será el doble de la cantidad de la ecuación (1.20), y coincide
con el dado por la ecuación (1.16). Ello es consistente con que el número de
muestras por segundo mı́nimo para representar una señal debe ser el mismo,
se considere ésta real o compleja.
xc (t)
x1 [n] x2 [n]
- D/C - C/D -
6 6
fs1 fs2
Figura 1.19: Solución trivial al problema del cambio de la frecuencia
de muestreo.
1.5. Cambio de la velocidad de muestreo 19
x2 [n] = x1 [M n] (1.21)
x1 [n] x2 [n]
- ↓M -
La figura 1.21 muestra la relación en el dominio del tiempo entre las mues-
tras. Cuando se diezma una señal como se acaba de describir, existe un peligro
que consiste en que es posible que aunque x1 [n] no contenga aliasing, dado que
x2 [n] corresponde a una frecuencia de muestreo menor, es posible que x2 [n]
r 1 x [n]
6 r r
··· r r ···
r r r r
r r r 6 -
1 2 3 4 5 n
r
r x2 [n]
r
r
6
··· ···
r r
r 3 -
1 2 n
r
x1 [n] x2 [n]
- H(ejω ) - ↓M -
sı́ que tenga aliasing. De hecho, para que al diezmar por M no existiese alia-
sing, el ancho de banda de la señal original W deberı́a ser:
fs2 fs1
W < =
2 2M
Normalmente se cumplirá únicamente que W < fs1 /2, por lo que será nece-
sario realizar un filtrado paso-bajo digital previo de la señal x1 [n] antes de ser
diezmada. Para determinar la frecuencia de corte discreta necesaria es preciso
conocer:
La frecuencia de corte analógica equivalente necesaria: fs1 /2M
La frecuencia de muestreo a la que trabajará el filtro: fs1
La frecuencia de corte discreta será pues
fs1 /2 M 1
=
fs1 2M
Por tanto el filtro digital que se debe anteponer antes del diezmado será un
filtro digital paso-bajo de frecuencia de corte 1/2M . En la figura 1.22 se mues-
tra el diezmador con el filtro paso-bajo discreto previo para evitar el aliasing.
X1 (ejω )
6
A A A A A
··· A A A A A ···
A A A A A - fd
-2 -1 W Ts1 1 2
ω
X1 (ej M )
6
@ @ @
··· @ @ @ ···
@ @ @ - fd
-2 -1 W Ts1 M 1 2
ω−2π
X1 (ej M )
6
@ @
··· @ @ ···
@ @ - fd
-2 -1 1 2
X2 (ejω )
6
@ @ @ @ @
··· @ @ @ @ @ ···
@ @ @ @ @ - fd
-2 -1 1 2
Figura 1.23: Relación entre espectros en el diezmado por M = 2.
−1 fd −i
1 MX
!
jω 1 X M −k
X2 (e ) = Xc
M i=0 Ts1 k Ts1
−1
1 MX ω−2πi
X2 (ejω ) = X1 ej M (1.24)
M i=0
x1 [n] y[n]
- ↑L -
r x1 [n]
r
r
6
··· ···
r r
r 3 -
1 2 n
r
r y[n]
r
r
6
··· ···
r r
r 6
r r r r r r r r
-
1 2 3 4 5 n
r
Ambos efectos se pueden lograr filtrando la señal y[n] con un filtro paso-
bajo de respuesta en frecuencia:
(
jω L |fd | < 1/2L
H(e ) = (1.27)
0 1/2L < |fd | < 0,5
1.5. Cambio de la velocidad de muestreo 23
X (ejω )
:6 1
fs1
@ @ @ @ @
··· @ @ @ @ @ ···
@ @ @ @ @ - fd
-2 -1 1/2 1 2
fs1 X
z6
X X1 (ejωL )
A A A A A A A A A
··· A A A A A A A A A ···
A A A A A A A A A - fd
-2 -1 1 2
X2 (ejω )
A A fs2
:6
A A A
··· A A A A A ···
A A A A A - fd
-2 -1 1/2L 1 2
x1 [n] x2 [n]
- ↑L - H(ejω ) -
Interpoladores lineales
conoce como interpolador lineal. Se conoce con este nombre porque las nuevas
muestras se calculan trazando lı́neas rectas entre las disponibles. La figura 1.28
ilustra el proceso de interpolación lineal. Cabrı́a preguntarse qué relación existe
entre dicha interpolación y la ideal con filtro paso-bajo. La respuesta es que
la interpolación lineal equivale a un relleno por ceros seguido de un filtro de
respuesta impulsiva triangular, como la mostrada en la figura 1.29.
La figura 1.30 compara la respuesta en frecuencia del interpolador ideal
con el lineal. Podemos apreciar las siguientes diferencias:
r x1 [n]
r
r
6
··· ···
r r
r 3 -
1 2 n
r
r x2 [n]
r
r
6
··· ? ? ? ···
? ? r r
r 6
? -
1 2 3 4 5 n
r
h[n]
1 r6
r r
r r
r r
r r r r r r r r-
L n
Figura 1.29: Respuesta impulsiva de un interpolador lineal.
1.5. Cambio de la velocidad de muestreo 25
Por todo ello, debe concluirse que en el caso en que la señal a interpolar ten-
ga su espectro concentrado en torno a fd = 0, es decir, esté sobre-muestreada,
el interpolador lineal constituye una buena aproximación al interpolador paso-
bajo ideal.
que pueden sustituirse por un único filtro cuya respuesta en frecuencia sea el
producto.
El diagrama global para el cambio de frecuencia de muestreo por un racio-
nal se muestra en la figura 1.31. La respuesta en frecuencia del filtro paso-bajo
de dicha figura es:
x1 [n] x2 [n]
- ↑L - H(ejω ) - ↓M -
Consideraciones prácticas
Factorizar M y L.
0–W . Una vez obtenidas las muestras, podremos filtrar digitalmente con un
filtro paso-bajo cuya frecuencia de corte sea W/fs1 , habiendo eliminado de
este modo el aliasing. Para lograr las muestras a una velocidad fs = 2W sólo
resta realizar un diezmado. Elegiremos fs1 = L fs :
f1 + W = L2W → f1 = W (2L − 1)
Xc (fc )
6
L
L
L
L
L -
W fc
Haa (fc )
6
@
@
@
@ -
W f1 fc
Yc (fc )
6
L
L
L
L XX
L XX -
W f1 fc
Figura 1.32: Aplicación del diezmado a la conversión C/D. Espectros
de las señales involucradas.
L α(dB)
1 3.9
2 0.9
4 0.2
8 0.06
Además, los nulos del sinc producen una atenuación mı́nima de las dife-
rentes repeticiones espectrales de:
fs − W
α(dB) = −20 log sinc
fs
L α(dB)
1 3.9
2 10.45
4 17.13
8 23.58
30 CAPı́TULO 1. MUESTREO
0
k
−2
−4
−6
−8
−1.5 −1 −0.5 0 0.5 1 1.5
x
1.5
0.5
yk
−0.5
−1
−1.5
−8 −7 −6 −5 −4 −3 −2 −1 0 1 2 3 4 5 6 7 8
k
uniformes, dicho valor suele coincidir con el centro del intervalo de cuan-
tificación. Además en los cuantificadores uniformes existe una relación
lineal k ↔ yk . Ello es importante de cara a procesar señales, pues se
puede operar con los valores enteros k en vez de los valores reales yk .
Al proceso k → yk se le suele llamar Cuantificador Inverso, y se re-
presenta como Q−1 , aunque realmente la cuantificación sea un proceso
irreversible.
Nótese que el proceso x[n] → k → yk hace que yk ≈ x[n]. Por ello se dice que
yk es x[n]-cuantificado o abreviadamente xq [n]. Además es posible establecer
la relación directa x → xq . En la figura 1.37 se muestra dicha relación global.
En dicha gráfica se observa una zona de saturación y una zona con forma
de escalera. La zona de saturación viene definida por un umbral de amplitud
máxima (Amáx ). Dicho umbral se obtiene fácilmente a partir de la gráfica de
la figura 1.38 que muestra el error ε = xq [n] − x[n] cometido en el proceso de
cuantificación; Amáx corresponde al punto en que el error excede el máximo
error de un intervalo de cuantificación de los “normales”.2
2
En el caso de un número de intervalos de cuantificación par (caso habitual), el valor de
saturación positivo y negativo es ligeramente diferente, debido a que el número de niveles de
cuantificación en la parte positiva y negativa del eje difiere en uno.
1.6. Codificación de señales 33
1.5
0.5
xq
−0.5
−1
−1.5
−1.5 −1 −0.5 0 0.5 1 1.5
x
2Amáx
∆ = uk − uk−1 = ∀k
2B
34 CAPı́TULO 1. MUESTREO
0.5
0.4
0.3
0.2
0.1
0
ε
−0.1
−0.2
−0.3
−0.4 Amax
−0.5
−1.5 −1 −0.5 0 0.5 1 1.5
x
Sat. Sat.
y0 -
y−5 y−4 y−3 y−2 y−1 y1 y2 y3 y4
r r r r r r r r r r -
u−5 u−4 u−3 u−2 u−1 u0 u1 u2 u3 u4 u5 x
Figura 1.39: Intervalos de cuantificación (uk+1 –uk ) y valores recons-
truidos (yk ) en un cuantificador uniforme.
La potencia es:
∆2
σε2 =
12
Es ruido blanco, es decir, los valores de ruido de cuantificación en ins-
tantes diferentes de tiempo están incorrelados.
De acuerdo con el modelo de ruido de cuantificación aditivo, cuando las
muestras cuantificadas se pasan por el D/C, a la salida se obtiene la señal
(supuesto que no existe aliasing):
x0c (t) = xc (t) + r(t)
donde r(t) es el ruido de cuantificación analógico añadido resultado de aplicar
ε[n] al conversor D/C, y que es un proceso aleatorio de varianza σr2 = ∆2 /12
cuyo espectro es plano en la banda de −fs /2 a fs /2.
1.6. Codificación de señales 35
S
(dB) = σx2 (dB) + 4,7 + 6B (1.29)
N
Nótese que la anterior expresión indica que por cada bit que añadamos, mejora-
mos en 6 dB la relación S/N (reducimos la potencia del ruido de cuantificación
a la cuarta parte). La relación S/N depende también, como es lógico, de la
potencia de señal que tengamos, pero es interesante el hecho de que aumentan-
do el número de bits podamos hacer el ruido tan pequeño como se quiera (y
la tecnologı́a permita en un momento dado). Pongamos un ejemplo numérico
para ver valores tı́picos de estas relaciones S/N. Si suponemos que la señal
xc (t) es un tono de amplitud 1/2, su potencia será 1/8. Por tanto tendremos:
B S/N (dB)
8 43.74
12 67.64
16 91.74
1.5
0.5
xq
−0.5
−1
−1.5
−1.5 −1 −0.5 0 0.5 1 1.5
x
log(1 + µ |x|)
Fµ (x) = Sig(x) |x| ≤ 1 (1.30)
log(1 + µ)
1.6. Codificación de señales 37
1 + ln A |x|
1
Sig(x) ≤ |x| ≤ 1
1 + ln A A
FA (x) = (1.31)
A |x| 1
|x| ≤
Sig(x)
1 + ln A A
Europa: A = 87,6
Compresor Expansor
F (x) F −1 (x)
6 6
- - - Cuantif. q- - -
x[n] Unif. xq [n]
Cuantif.
No-Unif.
-k
Transformada Discreta de
Fourier
2.1. Introducción
Hasta ahora hemos visto que para realizar el análisis en frecuencia de una
señal discreta x[n], se aplica sobre ella la Transformada de Fourier, obteniéndo-
se X(ejω ). Dicha transformada es una función continua y por lo tanto no se
puede manejar de forma discreta. Serı́a interesante disponer de una represen-
tación frecuencial discreta que nos facilitara la manipulación de los datos en
el dominio de la frecuencia de forma discreta por medio de un procesador de
señal u ordenador.
En este capı́tulo se presenta la herramienta que nos permite representar el
espectro de forma discreta, llamada Transformada Discreta de Fourier (DFT).
Para el cálculo de dicha Transformada Discreta de Fourier existen algoritmos
muy eficientes que permiten el cálculo de la misma con un número reducido de
operaciones. Ello ha permitido que la DFT constituya una herramienta básica
no sólo para el análisis frecuencial sino en numerosas aplicaciones.
39
40 CAPı́TULO 2. TRANSFORMADA DISCRETA DE FOURIER
Por tanto, la DFT puede considerarse como una transformación que toma las
N muestras de una señal para dar lugar a N coeficientes X[k] y viceversa.
La señal x[n] tiene una transformada de Fourier que viene dada por:
∞ N −1
x[n] e−jωn = x[n] e−jωn
X X
X(ejω ) = (2.3)
n=−∞ n=0
Es interesante notar que una señal de duración real M muestras puede ser
considerada también como de duración ficticia N , siendo N > M . Para ello
basta considerar que las muestras en exceso son nulas.
Esta observación nos permite, usando la DFT, calcular muestras de la
Transformada de Fourier de una señal, con un espaciamiento arbitrariamente
pequeño sin más que añadir ceros a la señal hasta completar una duración
ficticia igual al número de muestras espectrales que deseemos.
2.3. Propiedades de la DFT 41
Periodicidad de la DFT
Notación
Denotaremos como ((n))N , y leeremos n módulo N a lo siguiente:
resto(n/N ) n≥0
((n))N = N − resto(|n|/N ) n < 0, |n| no múltiplo de N
n < 0, |n| múltiplo de N
0
Es fácil observar que se cumple siempre:
0 ≤ ((n))N ≤ N − 1 ∀n
1
Las señales se consideran no nulas en el intervalo 0, . . . , N1 − 1 y 0, . . . , N2 − 1 respecti-
vamente.
42 CAPı́TULO 2. TRANSFORMADA DISCRETA DE FOURIER
Desplazamientos circulares
Sea x[n] una señal de duración finita N , definida entre 0 y N − 1. Se define
el operador desplazamiento circular o cı́clico como:
x[n] x[((−n))6 ]
6 6
r r
r r r r r r
r r
r r
- -
5 n 2 5 n
y[n] = x [((−n))N ]
El efecto que causa una inversión cı́clica sobre una señal se muestra en la
figura 2.2.
Puede verse lo siguiente:
Simetrı́as
Sea una secuencia x[n] de duración N tal que:
DFTN
x[n] −→ X[k]
DFTN
x[((−n))N ] ←→ X[((−k))N ]
DFTN
x∗ [n] ←→ X ∗ [((−k))N ]
DFTN
x∗ [((−n))N ] ←→ X ∗ [k]
x[n] = x∗ [n]
se tiene que
X[k] = X ∗ [((−k))N ]
Esta es la propiedad de simetrı́a conjugada usual en las transformadas
de Fourier de señales reales.
Para que la DFT de una señal sea real debe cumplirse x[n] = x∗ [((−n))N ],
que en el caso de que la señal x[n] sea real implica x[n] = x[((−n))N ].
Modulación
Sea una secuencia x[n] de duración finita N tal que:
DFTN
x[n] −→ X[k]
entonces:
DFTN
x[n] ej2πk0 n/N ←→ X[((k − k0 ))N ]
Convolución circular
Sean dos secuencias x1 [n] y x2 [n] ambas de duración N (N = max{N1 , N2 },
completando con ceros la más corta si fuera necesario) cuyas DFTN son, res-
pectivamente, X1 [k] y X2 [k]. Supongamos que calculamos:
x3 [n] = x1 [n]
N x2 [n]
intervalo
de suma
-
6x1 [m]
q
q
q
q
q
-
m
x2 [m]
6
q
q
q
q q -
m
x2 [((−m))N ]
6
q
q
q
q q -
m
x2 [((1 − m))N ]
6
q
q
q
q q -
m
Figura 2.3: Procedimiento de convolución circular módulo 5 entre dos
secuencias.
En realidad la convolución circular sı́ tiene una utilidad y ésta es que, bajo
determinadas condiciones, puede lograrse que la convolución circular coincida
con la convolución lineal (recordemos que en general esto no sucede). En ese
caso se tiene la eficiencia computacional de la convolución circular y la utilidad
de la lineal. En la siguiente sección nos ocuparemos de ver las condiciones para
que esto suceda.
intervalo
de suma
-
6x1 [m]
q
q
q
q
q
-
m
x2 [m]
6
q
q
q
q q -
m
x2 [−m]
6
q
q
q
q q q q q -
m
x2 [1 − m]
6
q
q
q
q q q q -
m
Figura 2.4: Procedimiento de convolución lineal entre dos secuencias
x1 [n] y x2 [n].
puede lograr que algunos e incluso todos los valores de la convolución circular
sean idénticos a la convolución lineal.
Esto nos será de utilidad en la siguiente sección en la que veremos cómo
se pueden realizar filtrados (convoluciones lineales) usando convoluciones cir-
culares (productos de DFTs, que se calculan con pocas operaciones).
48 CAPı́TULO 2. TRANSFORMADA DISCRETA DE FOURIER
N =L+P −1 (2.7)
h[n]
- Rell. 0 - DFTN
- ∗ h[n]
?
× -DFT−1 x[n]
N
x[n] 6
- Rell. 0 - DFTN
c[n] = x[n]
N h[n]
N
X −1
c[n] = x[n]
N h[n] = x[m] h[((n − m))N ]
m=0
intervalo intervalo
de suma- de suma-
x[m] x[m]
q q
6 6
q q q q q q q q q q q q q q q q
q - q -
m m
h[m] h[m]
6 6
q q q q
q q
q q q q q q q - q q q q q q q -
P −1 m P −1 m
h[((−m))N ] h[−m]
6 6
q q q
q q q q
q q q q q q q - q q q q q q q q q -
m m
h[((1 − m))N ] h[1 − m]
6 6
q q q q q
q
q q q q q q q - q q q q q q q q -
m m
h[((2 − m))N ] h[2 − m]
6 6
q q
q q q q
q q q q q q q - q q q q q q q -
N −1 m N −1 m
a) b)
z[n] = c[n] P − 1 ≤ n ≤ N − 1
El hecho de que aunque no sean idénticas por completo, sin embargo tengan
algunos valores comunes será utilizado por uno de los métodos que se detallan
en la sección 2.5.
52 CAPı́TULO 2. TRANSFORMADA DISCRETA DE FOURIER
Método de solape-suma
Los pasos a seguir para filtrar una señal x[n] de duración infinita (o des-
conocida) con un filtro h[n] de duración P utilizando este método son:
y0 [n]
+ P −-
1
y1 [n]
+
y2 [n]
Método de solape-almacenamiento
2. Se calculan las DFTs de L puntos tanto del trozo k-ésimo como de h[n].
Se multiplican y se calcula la DFT inversa de L puntos. El resultado,
como sabemos, es un vector de L muestras que contiene la convolución
circular.
zk [n] = xk [n]
L yk [n]
x[n]
x0 [n] 0..,0
P−
-1
x1 [n]
-
L
x2 [n]
z0 [n] @
@
z1 [n] @
@
z2 [n] @
@
y[n]
donde:
−1 ∞
1 NX
( )
2π 1 si n − m = r N X
ej N (n−m) k = = δ[n − m − rN ]
N k=0 0 resto r=−∞
obteniéndose finalmente:
∞
X ∞
X ∞
X
x̃[n] = x[m] δ[n − m − rN ] = x[n] ∗ δ[n − rN ]
m=−∞ r=−∞ r=−∞
∞
X
x̃[n] = x[n − r N ] (2.11)
r=−∞
La ecuación (2.11) indica que la secuencia periódica x̃[n], que tiene como
DFS los coeficientes obtenidos al muestrear la transformada de Fourier de la
secuencia x[n], se obtiene repitiendo la propia secuencia x[n] cada N muestras y
posteriormente sumando todas las repeticiones, como puede verse en el ejemplo
de la figura 2.10.
Podemos realizar las siguientes observaciones:
x[n]
q
6
q
... q ...
q q q q q q -
n
x[n] ∗ δ[n − 3]
q
6
q
... q ...
q q q q q q q q -
n
x̃[n]
q q q
6
q q q
... q q q ...
-
n
Figura 2.10: Obtención de x̃[n] a partir de x[n] (periodo N=3).
N
X −1
X[k] = x[n] WNk n (2.12)
n=0
donde
WN = e−j2π/N
−1
1 NX
x[n] = X[k] WN−k n (2.13)
N k=0
2
Sean dos números complejos z1 = a + j b y z2 = c + j d, el número de operaciones reales
necesarias para realizar su suma es:
z1 + z2 = (a + c) + j (c + d) −→ 2 sumas reales
y para calcular su producto:
z1 × z2 = (ac − bd) + j (ad + bc) −→ 4 productos reales y 2 sumas reales
60 CAPı́TULO 2. TRANSFORMADA DISCRETA DE FOURIER
Simetrı́a conjugada.
k (N −n)
WN = WN−k n = (WNk n )∗
Periodicidad en n y en k.
k (n+N ) (k+N ) n
WNk n = WN = WN
Si N par, entonces:
r+N/2
WN = −WNr
WN/2 = WN2
Transformada inversa
entonces
DFT
X[k] −→ N x[((−n))N ] 0≤n≤N −1
N N
2
−1 2
−1
X X (2 r+1) k
= x[2 r] WN2 r k + x[2 r + 1] WN
r=0 r=0
X[k]- x[n]-
( )∗ - FFT - ( )∗ - 1
N
G[0]
x[0] b - 0 0 - b - b X[0]
@ WN0
x[2] b - 1 1 - G[1]
b @ - b
X[1]
@
DFTN/2 @ @ WN1
x[4] b - 2 2 - G[2]
b @ @ - b
X[2]
@
@ @R
@ W 2
N
@
x[6] b - - G[3]
b @ b X[3]
@
3 3 @
@ - @
WN3
@ @R
@ @
@ @
@ @ @
@ @ @
@
@ @ R @
x[1] b - - b @ b X[4]
@ @
0 0 @ @
@ -
H[0] @ 4
@WN
@R
@ @
x[3] b - - b @ b X[5]
@
1 1 @
@ -
DFTN/2 H[1] @ 5
@ @WN
x[5] b - 2 2 - b @ - @ b X[6]
H[2] @ 6
@WN
x[7] b - 3 3 - b -@ b X[7]
H[3] WN7
A a -a aB B =a×A
A a - aB B=A
A a - a
C C =A+B
*
a
B
Figura 2.13: Sı́mbolos utilizados en los diagramas de bloques del algo-
ritmo FFT.
resulta:
N N
2
−1 2
−1
X X
rk rk k
X[k] = x[2 r] W N + x[2 r + 1] W N WN
2 2
r=0 r=0
llamando:
N/2−1
X
rk
G[k] = x[2 r] WN/2
r=0
N/2−1
X
rk
H[k] = x[2 r + 1] WN/2
r=0
se obtiene la nueva ecuación de análisis reducida.
G[0]
x[0] c - 0 0 - c - c X[0]
DFTN/2 @
WN0
G[1] @
x[2] c - 1 - c @ - c X[1]
1
WN1
@@@
R
@ @
@ @
@@
R @
x[1] c - c @ c X[2]
@ @
0 0 - @ -
DFTN/2 H[0] @ WN2
x[3] c - 1 - c @ c X[3]
@
1 -
H[1] WN3
x[0] c - 0 0 - c - c - cX[0]
DFTN/4
@ 0 @
WN 0
R
@
@ WN/2 @
x[4] c - 1 1 - c @ - c @ - cX[1]
@ @ 1@ @
WN 1
@ WN/2 @
R
@
@ @
R
@
@ @ @ @
x[2] c - 0 0 - c @ -@c
@
@ 2 @
@ @
- cX[2]
DFTN/4 W
@ N/2 @
@
R
@
@
@
WN 2
@
x[6] c - 1 1 - c -@c
@ @ @
- @ cX[3]
3 @
WN/2 @ @ 3
@ WN
@
@ @ @
R
@ @
@ @ @
x[1] c - c c @ cX[4]
@ @
0 0 - - @ -@
@ @ @
W 4
DFTN/4
@ 0 R
@
R
@
@ WN/2 @ @ @ N
x[5] c - 1 1 - c @ - c @ @ -@ cX[5]
@
@ @ 1 @ @ WN5
@ WN/2
R
@ @
@ @
@ @ @ @
x[3] c - c @c @ cX[6]
@ @
0 0 - -@ -@
@ 2 @ 6
DFTN/4 W
@ N/2 @WN
x[7] c - 1 1 - c -@c
@ -@ cX[7]
@
3
WN/2 WN7
3
El número de operaciones calculado es para cálculos generalizados, pero particularizando
se podrı́an optimizar más, por ejemplo, eliminando la multiplicación por coeficientes que
valen la unidad. Por contra, no están contabilizadas las operaciones de control (por ejemplo
el control de las iteraciones de los bucles). No obstante la mayorı́a de los DSPs tienen
arquitecturas que hacen que el coste computacional de estas operaciones sea nulo.
66 CAPı́TULO 2. TRANSFORMADA DISCRETA DE FOURIER
x[0] c - 0 0 - c - c - cX[0]
DFTN/4
@ R
@ 0 @
WN 0
@ WN @
x[4] c - 1 1 - c @ - c @ - cX[1]
@ R
@ @ 2@ @
WN 1
@ @ WN @ @
R
@
@ @ @ @
x[2] c - 0 0 - c @ -@c
@ @ @
- cX[2]
@
W 4 @ @ 2
DFTN/4
@ R
@
@ N @ @ @ WN
x[6] c - 1 1 - c -@c
@ @ @
- @ cX[3]
WN6 @ @ @ 3
@ WN
@
@ @ @
R
@ @
@ @ @
x[1] c - c c @ cX[4]
@ @
0 0 - - @ -@
@ @ @
W 4
DFTN/4
@ R
@
R
@
@
0
WN @ @ @ N
x[5] c - 1 1 - c @ - c @ @ -@ cX[5]
@
@ R
@ @ 2 @ @ WN5
@ @ WN @ @
@ @ @ @
x[3] c - c @c @ cX[6]
@ @
0 0 - -@ -@
4 @ 6
@WN
@
DFTN/4 WN
@
x[7] c - 1 1 - c -@c
@ -@ cX[7]
@
WN6 WN7
x[0] b- b
X[0]
@ 0
@ WN = 1
R
@
@
x[1] b b
@
-@ X[1]
N
WN2 = −1
Figura 2.17: Algoritmo FFT de diezmado en el tiempo (N = 2).
x[0] bP
PP -
q b
1 @
- b- b X[0]
PP 0 @ 0
W W
@
PPPN
R 0
WN @ N
b Pb - b- @ b X[1]
@
x[4] - @
WN4 @ @
WN 1
W2
R
@ @ @
@ @ N @ R
@@
@ @
x[2] bP
q
PP - b @
@
@
- b - @
@ b X[2]
PP 0 1
WN4 R
@ @
2
WN WN
@ @ @
P P @
b Pb @b- @ b X[3]
@ @ @
x[6] - P - @
WN4 WN6 @
@
3
@ WN
@ @
@ @
R
@@ @
@ @
x[1] bP b - b @ @ -@ b
PP - @ W 4 X[4]
q
1 @ @
PP 0 @ R
@ @
PPPN
W R
WN
0 @ @ @ N
b - Pb b -@ b X[5]
@ @
x[5] @ - @
WN4 WN5
@ @ @
R
@ @ W 2 @
@ @ N @
@
@ @
x[3] bP b @ b @ -@ b
@ W 6 X[6]
q
PP - @ @
-
PP 1
0 @WN4
P W
PPN @ N
b - Pb @b -@ b X[7]
@
x[7] -
WN4 WN6 WN7
Figura 2.18: Algoritmo FFT de diezmado en el tiempo (N = 8).
r+ N
2
y por tanto el factor WN que aparece en la mariposa puede ser sustituido
por:
r+ N N
WN 2
= WN2 WNr = −WNr
el cálculo de la mariposa de la figura 2.19 puede simplificarse, resultando la
b- b
@
R
@ WNr
@
etapa m − 1 @ etapa m
b -@ b
@
r+ N
2
WN
Figura 2.19: Grafo de una mariposa genérica de la figura 2.18.
68 CAPı́TULO 2. TRANSFORMADA DISCRETA DE FOURIER
a- a- a
R
@
etapa m − 1 @
etapa m
Wr
a- N a
@
−1
- @a
x[0] b- bP qP -
P 1
b- b - b- b - bX[0]
P @R
@ @
W 0 P
b b b b - b- b @ - bX[1]
PP
x[4] - N - P - @
−1 @R @
@ @ @
@ @ @ @
x[2] b- bP W0
b- Nb @ b- b - bX[2]
@ @ @ @
qP -
P 1
-
@ −1 @ @
P @
WN0 b WN2b @ @
PP
x[6] b- - PP b- @
-@ b- b @ @ - bX[3]
−1 −1
@ @
@ @ @ @@
@ @ @ @@
W 0
x[1] b- bP b- b - b- N b @ bX[4]
@ @ @ @
R
qP - @ -
−1
P 1
@ @ @
P @
R
@ @
WN0 b WN1 b
P @
x[5] b- P b- b @ - b- @ @@ -@ bX[5]
PP @ @
@
R
-
−1 @
R
@ @
@ @@ −1
@ @ @ @@
W 0 @ W2
x[3] b- bP b- Nb @ b- N b @ bX[6]
@ @@ -@
R
qP -
P 1
-
@ −1 @−1
P @
WN0 b WN2b @ W3
P
x[7] b- P b- @ b- N b @ bX[7]
PP @
@
R
- - -
−1 −1 −1
Figura 2.21: Algoritmo FFT de diezmado en el tiempo (N = 8) con
mariposas simplificada.
2.7. La FFT 69
N
X −1
k par −→ k = 2 r −→ X[2 r] = x[n] WNn 2 r (2.16)
n=0
N −1
X n (2 r+1)
k impar −→ k = 2 r + 1 −→ X[2 r + 1] = x[n] WN (2.17)
n=0
Empezaremos el estudio por los valores que ocupan una posición par en la
secuencia de coeficientes de la DFT. Separando el sumatorio de la ecuación
(2.16) en dos sumatorios tenemos:
N/2−1 N −1
X X
nr nr
X[2 r] = x[n] WN/2 + x[n] WN/2
n=0 n=N/2
Arreglando el segundo sumatorio para que ambos tengan los mismos lı́mites,
se obtiene:
N/2−1 N/2−1
X
nr
X r (n+N/2)
X[2 r] = x[n] WN/2 + x[n + N/2] WN/2
n=0 n=0
70 CAPı́TULO 2. TRANSFORMADA DISCRETA DE FOURIER
x[0] c - g[0]
c - 0 0 - cX[0]
@
- g[1]
@
x[1] c @ c - 1 1 - cX[2]
DFTN/2
@ @
- g[2]
@
x[2] c c cX[4]
@
@ @ - 2 2 -
@ @ @
- g[3]
@
x[3] c c cX[6]
@ @
@ @ @ - 3 3 -
@ @ @ @
@ @
@ @
@ @ @@
@ @ @ @
@ 0
x[4] c
@ @ @h[0]
c W cX[1]
@ @ R
@
@ -@ -N 0 0 -
−1
@ @
@ @ @
@ 1
x[5] c
@ @ @h[1]
c W cX[3]
@ R
@
-@ -N 1 1 -
−1
@ @
DFTN/2
@ @
@ 2
x[6] c
@ @ @h[2]
c W cX[5]
R
@
-@ -N 2 2 -
@ −1
@
@ 3
@h[3] W
@
x[7] c c cX[7]
R
@
-@ -N 3 3 -
−1
N/2−1 N/2−1
X X
nr rn
X[2 r] = x[n] WN/2 + x[n + N/2] WN/2
n=0 n=0
N/2−1
X
nr
X[2 r] = (x[n] + x[n + N/2]) WN/2 (2.18)
n=0
4
La exponencial es periódica, de periodo N/2, por lo que:
r (n+N/2) rn
WN/2 = WN/2
2.7. La FFT 71
x[n]
6
HH
H -
N/2 n
6
-
N/2 − 1 n
+m- g[n]
?
6
HH 6
H -
N/2 − 1 n
6
-
N/2 − 1 n
+ ?
m- h[n]
6 − 6
H
HH -
N/2 − 1 n
n+N/2
Teniendo en cuenta que WN = −WNn :
N/2−1 N/2
X X
nr
X[2 r + 1] = x[n] WN/2 WNn + nr
x[n + N/2] WN/2 (−WNn )
n=0 n=0
Finalmente, se obtiene la expresión (2.19) que nos permite obtener los coefi-
cientes impares de X[k] a partir de muestras de x[n]
N/2−1
X
nr
X[2 r + 1] = (x[n] − x[n + N/2]) WN/2 WNn (2.19)
n=0
y
x[n] − x[n + N/2] = h[n]
se obtienen dos nuevas ecuaciones (2.20 y 2.21) que nos sirven de base para
el desarrollo del grafo que representa el algoritmo de diezmado en frecuencia.
Gráficamente, puede observarse en la figura 2.23 cómo se obtendrı́an g[n] y
h[n] a partir de x[n].
N/2−1
X
nr
X[2 r] = g[n] WN/2 (2.20)
n=0
N/2−1
X
X[2 r + 1] = (h[n] WNn ) WN/2
nr
(2.21)
n=0
x[0] b- bP
PP -
q 1
b- b - b- b - bX[0]
P @ R
@ @
W 0 PPP b-
P
x[4] b- N b - b @ - b- b @ - bX[1]
−1 @ R @
@ @ @
@ @ @ @
W 0 @ @- @
x[2] b- bP b- Nb @ b- b - bX[2]
@
qP -
P 1
@ −1 @ @
P @ @
W 0 PPP b- WN2 b
P @ @
x[6] b- N b - @ b- b @ - bX[3]
- @ @
−1 −1 @ @ @
@ @
@ @ @ @ @
W 0 @ @
x[1] b- bP b- b - b- N b @ bX[4]
@ @@ @
R
@
qP - @ -
−1
P 1
@ @@
P @ R
@ @
W 0 PPP b- b @ WN1 b
P @ @
x[5] b- N b - - b- @ bX[5]
@ @
R
@
@ -
−1 @ R
@ @
@ @@ −1
@ @ @ @ @
W 0 @
W 2 @
x[3] b- bP b- Nb @ b- N b @ bX[6]
@ @@ @
R
@
qP - - -
P
P 1
@ −1 @@−1
W 0 PPP b- WN2 b WN3 b
P @ @
x[7] b- N b - @ b- @ bX[7]
@
R
@
- -
−1 - −1- −1-
etapa 1 etapa 2 etapa 3
Algoritmos en el sitio
El diagrama de flujo de la FFT (figura 2.21) representa el algoritmo a
implementar. Dentro de este grafo aparecen una serie de nodos que representan
las variables necesarias para realizar el programa, es decir, la cantidad de
almacenamiento necesario. En un grafo como el de la figura 2.24 se observa
que el algoritmo se divide en υ = log2 N etapas, en nuestro ejemplo el número
de etapas es 3. Cada etapa obtiene N complejos de salida (8 en el ejemplo), a
partir de otros N complejos de entrada.
Una forma de almacenar los datos y resultados necesarios para realizar el
programa que implemente un algoritmo como el de la figura 2.24 es utilizando
vectores que permitan almacenar los valores complejos de las entradas y las
salidas de las distintas etapas. Para tener almacenados N complejos de entrada
74 CAPı́TULO 2. TRANSFORMADA DISCRETA DE FOURIER
n2 n1 n0
-0 x[000] = x[0]
-0
-1 x[001] = x[1]
-0
-0 x[010] = x[2]
-1
-1 x[011] = x[3]
x[n2 n
-1 n0 ]
-0 x[100] = x[4]
-0
-1 x[101] = x[5]
-1
-0 x[110] = x[6]
-1
-1 x[111] = x[7]
n0 n1 n2
-0 x[000] = x[0]
-0
-1 x[100] = x[4]
-0
-0 x[010] = x[2]
-1
-1 x[110] = x[6]
x[n2 n
-1 n0 ]
-0 x[001] = x[1]
-0
-1 x[101] = x[5]
-1
-0 x[011] = x[3]
-1
-1 x[111] = x[7]
Formas alternativas
Si observamos las figuras que representan el grafo del algoritmo FFT (figu-
ras 2.18 y 2.21) podemos darnos cuenta que podrı́amos cambiar el orden de los
datos de entrada al algoritmo FFT siempre y cuando, con la nueva ordenación,
una muestra siga el mismo proceso, es decir, pase por las mismas ramas que
en el algoritmo original. Lo realmente importante es que una muestra sufra
los cálculos necesarios para que a la salida se obtengan los coeficientes de la
DFT, sin importar el orden en que se realicen los mismos. Ası́ pues, se podrı́a
pensar en nuevas ordenaciones de los datos que den lugar a nuevos grafos para
representar el algoritmo FFT. En la figura 2.28 puede observarse la forma del
grafo cuando el orden de la secuencia de entrada corresponde al orden natural,
que es, precisamente, el grafo original presentado por Cooley y Tukey.
Las implementaciones con las muestras de entrada en orden natural son
muy útiles en procesos en los que haya que concatenar FFT e FFTi, por ejem-
plo un filtrado (figura 2.29). De esta forma se pueden evitar varias ordenaciones
2.7. La FFT 77
x[0] b - b - b - b - b - b
H - b X[0]
*
@ @ H
WN0 b -
H
@
x[1] b - b b b @- b H b X[4]
@ H
jH
H
- - -
@
@
@ −1
WN0 b @ -@
@ @
x[2] b - b b @b bH - b X[2]
@ R
@ - - @ -
@
@ @ @
−1 H
*
W0 2
@ @ H
H
WN b -H
x[3] b - b @- b - N b @b H b X[6]
@ @ R
@ jH
@ -@ -
@
@ @ @ −1 −1
W0
@
x[4] b - N b @b - b - b bH - b X[1]
@ @ R
@@
@ - -
−1
@ @
@ @ @ H *
W0 1
@ H
H
@ WN b -H
x[5] b - N b @- @ b - b @- b H b X[3]
@ R
@@ jH
@ -
@ @−1 @ −1
WN0 @ W2
@
x[6] b b @- @ b - N b @- @ b bH- b X[5]
@ R
@ @ @R
- @ -
@−1 −1 H *
W0 WN2 b 3
@ H
WN b -H
x[7] b - N b @b - @b H b X[7]
R
@ R
@ H
jH
-@ -@ -
−1 −1 −1
de la secuencia, proceso que puede resultar cada vez más lento a medida que
N crece.
Además de la estructura de la figura 2.28 existen otras formas derivadas
de las distintas ordenaciones de los datos de entrada y los nodos intermedios,
de las cuales no vamos a ocuparnos aquı́.
78 CAPı́TULO 2. TRANSFORMADA DISCRETA DE FOURIER
Cálculo de coeficientes
Como hemos visto anteriormente, para implementar el algoritmo FFT hace
falta una serie de coeficientes exponenciales WNr donde r = 0 . . . (N/2) − 1,
cuyo cálculo es un proceso que debe ser optimizado. Para ello se utilizan dos
métodos diferentes:
Ejemplo: N = 3γ
Tendremos que realizar 3 DFTs de N/3 puntos.
N
X −1
X[k] = x[n] WNk n
n=0
◦ ◦ ◦
Separando las muestras en las situadas en 3, 3 +1 y 3 +2, tenemos5 :
N N N
3
−1 3
−1 3
−1
X X (3 r+1) k X (3 r+2) k
X[k] = x[3 r] WN3 r k + x[3 r + 1] WN + x[3 r + 2] WN
r=0 r=0 r=0
siendo
WN3 r k = W N
rk
3
N N N
3
−1 −1 3 3
−1
X X X
rk r k k r k 2k
X[k] = x[3 r] W N + x[3 r + 1] W N WN + x[3 r + 2] W N WN
3 3 3
r=0 r=0 r=0
(2.22)
N N
3
−1 3
−1
X X
rk rk
En la ecuación (2.22) puede observarse que x[3 r] W N , x[3 r + 1] W N
3 3
r=0 r=0
N
3
−1
X
rk
y x[3 r + 2] W N , son DFTs de N/3 puntos combinadas entre sı́ por coefi-
3
r=0
cientes exponenciales múltiplos de WN . Este proceso debe iterarse hasta obte-
ner DFTs simples de 3 puntos. Con esto queda visto que el algoritmo general
◦
5
La notación 3 indica múltiplos de 3.
80 CAPı́TULO 2. TRANSFORMADA DISCRETA DE FOURIER
conserva la misma idea que los algoritmos de diezmado en el tiempo (idem pa-
ra frecuencia) vistos en secciones anteriores para N = 2υ , aunque en nuestro
ejemplo la base en vez de 2 es 3. Si los factores en los que se descompone N
son diferentes (n1 6= n2 6= . . . 6= nL ), la base será mixta.
2.8. Problemas
1. Demuestre las propiedades de la sección 2.3.
2. Sea x[n] una señal real de duración N . Se define la señal x1 [n] de la
siguiente forma:
(
x[n] 0≤n≤N −1
x1 [n] =
x[2N − 1 − n] N ≤ n ≤ 2N − 1
es real.
Encuentre qué simetrı́as existen en los valores de Cx [k].
Demuestre que se puede obtener x[n] a partir de Cx [k], k =
0, . . . , N − 1 e indique cómo. 6
3. Considere que x[n] sea una señal real y par que sea no nula en el intervalo
n = −M, . . . , M . Indique de qué señal z[n] (no nula de n = 0, . . . , N − 1
habrı́a de calcularse la DFTN para que los N valores obtenidos consti-
tuyan muestras de X(ejω ).
4. Demuestre que para una secuencia de N muestras, y su correspondiente
DFT de N muestras se cumple:
N −1 −1
X
2 1 NX
|x[n]| = |X[k]|2
n=0
N k=0
6
A Cx [k] se le denomina Transformada del coseno.
2.8. Problemas 81
x[n]
20 y[n] = 15 0 ≤ n ≤ 19
Implementación de Filtros
Digitales
3.1. Introducción
En este tema se estudian los filtros digitales desde el punto de vista de su
implementación. Es decir, partiendo de su función de transferencia, H(z), se
tratan las técnicas para llevar a la realidad el filtro. Aunque el enfoque del tema
es genérico en cuanto a la tecnologı́a (hardware cableado o programado), en
algunas secciones se tratan aspectos especı́ficos de dispositivos programables
para tratamiento de señal (DSP).
También se estudian en el tema los efectos de precisión finita en filtros
digitales.
83
84 CAPı́TULO 3. IMPLEMENTACIÓN DE FILTROS
x[n] y[n]
x(t) y(t)
- A/D - h[n] - D/A -
fs
6 fs
6
Calidad del A/D y el D/A. Cuando un filtro digital se usa para filtrar
señales analógicas, (figura 3.1) es necesario un interfaz analógico. La
calidad en cuanto a número de bits, linealidad, etc. de los conversores va
a condicionar mucho la calidad del filtrado analógico equivalente que se
logre.
Velodidad del A/D y el D/A. Para poder filtrar señales analógicas usan-
do filtros digitales ya hemos dicho que se hace necesario un interfaz
analógico. En la medida en que se disponga de conversores suficiente-
mente rápidos y precisos se podrá llevar a cabo el filtrado digital. Ac-
tualmente (1998) la tecnologı́a ofrece conversores de muy bajo coste y
alta calidad en frecuencias de audio (fs ≈ 45 Khz), donde es posible
encontrar conversores de más de 20 bits. En el margen de frecuencias
de video (fs ≈ 13 Mhz) existen conversores estandar de 8 bits, pero se
pueden encontrar de 10 y 12. Existen también conversores A/D y D/A
para aplicaciones especiales capaces de trabajar a frecuencias muy eleva-
das (con pocos bits). De entre ellos se puede mencionar los que utilizan
algunos osciloscopios digitales con frecuencias de muestreo de 2 Ghz, con
6 bits de resolución.
Efectos de precisión finita. Se deben a redondeos en las operaciones que
realizan los filtros digitales. Se estudiarán a lo largo del tema.
Tiempo y coste del desarrollo del hardware. Un filtro digital impli-
cará normalmente el desarrollo de un sistema microprocesador con in-
terfaz analógico.
Para que un filtro digital sea implementable, se deben dar las siguientes cir-
cunstancias:
sirve no sólo para analizar el comportamiento del filtro sino para implemen-
tarlo. Ello es debido a que la expresión (3.1) incluye únicamente productos y
3.2. Planteamiento general del filtrado digital 89
Es fácil ver que para calcular cada valor de la salida y[n] es necesario:
Realizar L + 1 productos.
Realizar L sumas.
En otras palabras, aquellos filtros IIR que permitan ser expresados como:
L
X N
X
y[n] = bk x[n − k] + ar y[n − r] (3.5)
k=0 r=1
b0 + b1 z −1 + · · · + bL z −L
H(z) = (3.6)
1 − a1 z −1 − · · · − aN z −N
es decir, de forma racional. Este tipo de funciones de transferencia tiene una
respuesta impulsional en forma de suma de exponenciales. Podemos decir por
tanto que, aquellos sistemas IIR causales cuya respuesta impulsiva sea una
suma de exponenciales serán implementables con un número finito de opera-
ciones por muestra.
3.2. Planteamiento general del filtrado digital 91
5. Análisis de los efectos de precisión finita. Sobre todo con los DSP de
punto fijo es necesario realizar un estudio de los efectos secundarios que
se producen por el hecho de no usar aritmética de precisión infinita.
Resulta útil realizar una representación gráfica de las operaciones que ex-
presa la ecuación (3.7). Para ello utilizaremos los denominados diagramas de
3.3. Implementación de filtros digitales 93
flujo o grafos. Un diagrama de flujo es una red de ramas dirigidas que in-
terconectan nodos. Los nodos corresponden normalmente a variables y tienen
asociado un cierto valor. Las ramas son conexiones orientadas que en su origen
están conectadas a un nodo del que toman su valor, y tras aplicarle una cierta
operación entregan, a otro nodo, el valor procesado de su entrada. Los tipos
de rama que consideraremos en los filtros lineales son:
Constantes multiplicativas El valor de salida de la rama es el de la entrada
multiplicado por una cierta constante. Se representa como muestra la
figura 3.2.
b a
- b
Retardo Los valores de los nodos deben ser recalculados cada vez que lle-
ga una nueva muestra. Interesa a menudo guardar el valor de un nodo
para el instante siguiente. Esto lo haremos con ramas de retardo y lo
representaremos como se muestra en la figura (3.3).
−1
z-
b b
x[n] b
0 y[n]
r - r - r - r - r - r
z −1 ? 6 6 z −1
?
b
1 a1
r - r r rX
y
X
*
XX
y[n − 1]
x[n − 1]
z −1 ? 6 6 ? z −1
b
2 a2
r - r r r
z −1 ? 6 6 z −1
?
b
3 a3
r - r r r
z −1 ? 6 6 z −1
?
b
4 a4
r - r r r
x[n] b
0 y[n]
r - r - r - r - r
6 z −1
? 6
a1 b1
r r - r
6 z −1
? 6
a2 b
2
r r - r
6 z −1
? 6
a3 b3
r r - r
6 z −1
? 6
a4 b
4
r r - r
−1
z- −1
z- −1
z- −1
z-
x[n] r - r r r r r
h[0]
? h[1]
? h[2]
? h[3]
? h[4]
?
r - r - r - r - r - r y[n]
k=1
donde ck son los ceros de H(z) y y dk sus polos. Una vez realizada la facto-
rización, es posible descomponer H(z) como producto (cascada) de secciones
de orden 1 (ceros/polos reales) u orden 2 (ceros /polos complejos agrupados
por pares conjugados). Veamos un ejemplo. Supongamos la siguiente función
de transferencia:
1 − 0,8z −1 + 0,37z −2 − 0,05z −3
H(z) = =
1 + 0,9z −1 + 0,4z −2 + 0,1z −3
(1 − 0,6z −1 + 0,25z −2 ) (1 − 0,2z −1 )
=
(1 + 0,5z −1 ) (1 + 0,4z −1 + 0,2z −2 )
A través de esta factorización, es inmediata la implementación que se muestra
en la figura 3.7.
Obsérvese que:
r - r - r - r - r - r - r - r
x[n] y[n]
z −1
? 6 z −1
? 6
-0.5
r -0.2
- r -0.4
r -0.6
- r
z −1
?
−0,2 0.25
-
r - r - r - r - r
x[n] y[n]
6 z −1
? 6
−0,9 −0,8
r r - r
6 z −1
? 6
−0,4 0,37
r r - r
6 z −1
? 6
−0,1 −0,05
r r - r
k=0
H(z) = N
(3.9)
an z −n
X
1−
n=1
donde:
1 + 2 z −1 + z −2 18 25
H(z) = =8+ −
1 − 0,75 z −1 + 0,125 z −2 1 − 0,5z −1 1 − 0,25z −1
Dado que los filtros FIR no tienen polos, estos no admiten realización en
paralelo.
-
8
r - r - r - r 18
- r - r
x[n] y[n]
z −1
?
0.5
r
- r - r -25
-
z −1
?
0.25
r
Nótese que para aplicar el teorema anterior hay que considerar la entrada del
nuevo sistema (con las ramas en sentido inverso) en el punto donde el sistema
original tenı́a la salida y viceversa.
El anterior teorema puede aplicarse a cualquier grafo: FIR, IIR, cascada,
paralelo, . . .
Veamos un ejemplo. En la figura 3.11 vemos cómo serı́a la forma directa
II de un filtro cuya función de transferencia es:
b0 + b1 z −1 + b2 z −2
H(z) = (3.11)
1 − a1 z −1 − a2 z −2
r - r - r - r - r
x[n] y[n]
6 z −1
? 6
0,75 2
r r - r
6 z −1
? 6
−0,25
r r - r
b
0
r - r - r - r - r
x[n] y[n]
6 z −1
? 6
a1 b1
r r - r
6 z −1
? 6
a2 b2
r r - r
b
0
r - r - r - r - r
x[n] y[n]
? z −1
6 ?
b
1 a1
r - r r
z −1
6
b
2 a2
- r
Finalmente, dado que tendremos una ecuación menos que incógnitas (la
entrada no tiene ecuación), sólo resta despejar la relación Y (z)/X(z) =
b y
0
r - r - r - r - r
x y
z −1
? 6 ?
b1 v1 a1
r - r r
z −1
6
b v2 a
2
- r 2
v b
r - r - r 0 -0 r - r
x y
6 z −1
? 6
a1 v b
r r 1 -1 r
6 z −1
? 6
a2 v2 b2
r r - r
VARS x, y, v0 , v1 , v2
ESPERAR: IDLE
GOTO ESPERAR
INTERR:
X=INPUT /* Leer muestra de A/D */
V2=V1
V1=V0
V0=X+ A1 V1
V0=V0 + A2 V2
Y=B0 V0 + B1 V1
Y=Y+B2 V2
OUT (Y) /*Sacar muestra al D/A */
RTI /*Retorno de interrupcion*/
Xr −1 V 1 z −1 V 2 z −1 V 3 z −1 V 4
z-
X r - r - r - r - r
b0
? b1
? b2
? b3
? b4
?
r - r - r - r - r - rY
Buffers Ciculares
Puntero Muestras
?
Buffer Muestras
x[n]
x[n − M ] x[n − 1] @@ x[n − M − 1]
x[n − L]
x[n − 2]
Buffer Coeficientes
b0 b1 bL
6
Puntero Coeficientes
Los DSP que utilizan esta técnica tienen una arquitectura que permite rea-
lizar los incrementos y comprobaciones de si se ha alcanzado el final por har-
dware (sin necesitar instrucciones adicionales). El esquema de cómo se podrı́a
realizar un filtrado FIR utilizando esta técnica se muestra en la figura 3.19.
Supongamos, por ejemplo, un filtro FIR:
L
X
y[n] = h[k] x[n − k]
k=0
Para calcular un valor de la salida, nos hacen falta la muestra actual x[n] y
L muestras anteriores de la entrada. Supondremos que tenemos un buffer de
L + 1 elementos que contiene dichas muestras y un puntero que apunta a la
muestra actual.
Cuando llega una nueva muestra:
N (z) = b0 + b1 z −1 + b2 z −2 + · · · + bM z −M (3.13)
ẑj = zj + ∆zj
Es mayor si la raı́z tiene raı́ces próximas. Los filtros suelen tener muchos
polos próximos si el filtro tiene una respuesta en frecuencia abrupta.
Butterworth-8 Butterworth-8
0
-10
1 Coef. cuantif. 8 bits
Coef sin cuantificar -20
-30
Coef. cuantif. 8 bits
-40 Coef sin cuantificar
-50
-60
-70
-80
-90
0 -100
0 0.25 0.5 0 0.25 0.5
f f
0.6
C
150 30
180 0
A'
B'
D'
240 300
270
polo real o un par de polos complejos conjugados. Por tanto los coeficientes del
denominador de una fracción sólo influyen en los polos asociados a la misma
(lo mismo que en la forma en cascada). Por contra, en la forma paralelo, los
ceros dependen de todos los coeficientes de los denominadores y todos los de
los numeradores. Cabe esperar por tanto que los ceros se muevan más que en
la forma directa.
En general, con respecto a la cuantificación de los coeficientes, la mejor es
la forma en cascada, seguida por la forma en paralelo, y finalmente la forma
directa. Como contrapartida, las formas cascada y paralelo suelen requerir un
mayor número de operaciones por muestra para ser implementadas.
6 bits
1
0.8
0.6
0.4
0.2
−0.2
−0.4
−0.6
−0.8
−1
−1 −0.5 0 0.5 1
= 1 − 2r cos θz −1 + r2 z −2 (3.15)
Por simple identificación es fácil ver que a1 corresponde con (el doble de) la
parte real de la raı́z mientras que a2 corresponde con el módulo al cuadrado
de la misma. Si cuantificamos a1 y a2 de forma uniforme, consideramos todas
las posibles combinaciones de valores cuantificados de a1 con cada valor cuan-
tificado a2 , y realizamos una representación gráfica de las raı́ces se obtiene la
figura 3.22, denominada malla de raı́ces. Es posible observar que las raı́ces no
se distribuyen de forma uniforme por el plano z siendo menos densa la rejilla
en las proximidades del eje real, y más densa cerca del eje imaginario. Los
puntos de la rejilla representan el conjunto de las raı́ces posibles del polino-
mio de grado 2 con coeficientes cuantificados. En otras palabras, los filtros
implementados tendrán sus raı́ces en uno de los puntos marcados. Si el filtro
que deseamos realizar tiene sus raı́ces (ceros o polos) cerca del eje imaginario,
no habrá problemas, pero si las raı́ces están cerca del eje real, como aquı́ la
densidad es menor, el error que se comete en la ubicación de las raı́ces (y por
tanto en la respuesta en frecuencia) será mayor.
3.4. Efectos de precisión finita 113
s - s - s
x[n]
a 6 −1
?z a = r cos θ
Hs
HH
b = r sen θ
−b 6
?b
s - s y[n]
a 6 −1
?z
@
@XX
Xs
HH
XX X H
r sin θ z −1
H(z) = (3.16)
1 − 2r cos θ z −1 + r2 z −2
Las posibles ubicaciones de los polos al cuantificar uniformemente los coefi-
cientes de la forma acoplada se muestra en la figura 3.24. Las formas acopladas
son interesantes si tenemos polos cerca del eje real. Tienen el inconveniente de
requerir más operaciones por muestra.
Los filtros FIR resultan interesantes por dos propiedades que tienen:
6 bits
1
0.8
0.6
0.4
0.2
−0.2
−0.4
−0.6
−0.8
−1
−1 −0.5 0 0.5 1
1.5
0.5
0
y
-0.5
-1
-1.5
-1.5 -1 -0.5 0 0.5 1 1.5
x
x[n] - Q - H(z) - ./ x[n] - + - H(z) -
x̂[n]
x̂[n] 6
e[n]
La varianza vale
∆2
σe2 = (3.21)
12
siendo ∆ el tamaño del escalón de cuantificación.
Los diferentes ruidos de redondeo, se propagarán por las ramas del filtro
manifestándose a la salida del filtro como un ruido añadido. En la sección 3.4.3
veremos como se calcula dicha potencia de ruido a la salida del filtro.
Con respecto a las sumas, éstas no presentan ningún problema en cuanto a
errores de redondeo: la suma de dos números con dos decimales es un número
con dos decimales. Sin embargo, hay que prestar atención a que la suma de
dos números menores que la unidad puede ser mayor que la unidad. Este tema
será tratado en el punto 3.4.4
Arquitecturas de DSP
B B B B
B
- × B B - × B
B más significativos 2B
?
?
+
+
B
? B 2B
? 2B
Acumulador B Acumulador 2B
?B ?B
Salida al bus Salida al bus
(a) (b)
1
Existen dos posibles formas de implementar estas estructuras. Una consistirı́a en imple-
mentar cada una de las secciones independientemente, tomando la salida de una etapa como
entrada de la siguiente. La otra consistente en implementar de forma global la estructura.
En este segundo caso es posible realizar implementaciones con menos redondeos a costa de
una mayor complejidad de implementación, ya que en vez de implementar un bloque bási-
co (sección de segundo orden) y utilizarlo repetidamente hay que hacer una estructura a
medida.
120 CAPı́TULO 3. IMPLEMENTACIÓN DE FILTROS
n3 n1 n2
r - r - b0
r - r r
? - r r - r-
r ? b0
r - r-
r ? r
6n1 z −1 n4 6
? 6 z −1
? 6
a1 r -
r r? b1 r-r
? r
a b1
1 r - -r
6n2 z −1 n5 6
? 6 z −1
? 6
r r? b2
a2 r - r-r
? r
a b2
2 r - -r
(a) (b)
de simple ancho tras cada producto hay un redondeo (una fuente de ruido), con
acumulador de doble ancho hay una fuente de ruido cada vez que se termina
de hacer productos y acumulaciones. La ventaja de los acumuladores de doble
ancho es que reducen el número de redondeos que se efectúan. Ello hace que
la potencia de ruido de redondeo a la salida del filtro sea menor.
r r r r
@ c c3 @ c c3
R 1
@ R 1
@
c c
@r - 1 r - r @r 1 r - r
@ @
4 - 4
K z −1
A @ c z −1 @ c
A @ 5 @ 5
c n1 c n1
r @r r @r
I
@ I
@
2 2
a) b)
2. Emparejar los anteriores polos con los ceros que tengan más próximos.
En ocasiones, hay filtros que tienen coeficientes mayores que la unidad. Con
el formato fraccionario para números de coma fija, hemos visto que el mayor
número representable es (ligeramente menor que) la unidad. Las unidades de
cálculo de los DSP permiten ser configuradas para realizar el producto de un
número fraccionario por un entero. De este modo para realizar el producto por
1.4 hay que realizar dos productos, primero por 0.7 y a continuación por 2.
3.4. Efectos de precisión finita 123
0,16 0,16
q - q - q - q - q q - q - q - q - q
x[n] y[n] x[n] y[n]
6 z −1
? 6 26 z −1
? 6
1,42 0,24 0,71 0,24
q q - q q q - q
6 ?z −1 6 6 ?z −1 6
−0,80 0,18 −0,40 0,18
q q - q q q - q
(a) (b)
0,08
q - q - q - q - q
x[n] 2 y[n]
6 z −1
? 6
0,71 0,12
q q - q
6 ?z −1 6
−0,40 0,09
q q - q
(c)
por tanto:
X X X
|ya [n]| = | hxa [k] x[n − k]| ≤ |hxa [k] x[n − k]| ≤ M |hxa [k]|
k k k
Si deseo que |ya [n]| sea menor que C debo hacer que:
C
|x[n]| < M = X (3.26)
|hxa [k]|
k
M
u - u - H(z) -
|x[n]| < 1 |x1 [n]| < M y[n]
b0 + b1 z −1 + · · · + bL z −L
H(z) = =
1 − a1 z −1 − · · · − aN z −N
b0 /M + b1 /M z −1 + · · · + bL /M z −L
=M
1 − a1 z −1 − · · · − aN z −N
Si tengo varios nodos, debo garantizar la anterior condición para todos los
nodos en que se producen sumas. Ello implica tomar el menor M de los dis-
tintos nodos.
Si se utiliza complemento a 2, no será necesario comprobar aquellos nodos
que sean sumas parciales cuyo valor únicamente se sume con otros nodos. Ello
es debido a una propiedad de los números en complemento a 2 (para más
detalles se pueden consultar libros de electrónica digital o fundamentos de
computadores) que dice que:
3.5. Problemas
1. Determine la longitud máxima de un filtro FIR que se pueda implementar
usando un DSP que utiliza buffers circulares y que ejecuta 16 millones
de instrucciones por segundo siendo la frecuencia de muestreo 44.1 Khz.
9. Considere el filtro:
0,0102 + 0,0408 z −1 + 0,0613z −1 + 0,0408z −3 + 0,0102z −4
H(z) =
1 − 1,9684 z −1 + 1,7359z −2 − 0,7245z −3 + 0,1204z −4
Se pide (utilizando Matlab para los cálculos):
11. Compruebe que las tres estructuras de la figura 3.30 tienen la misma
H(z). Indique las fuentes de ruido de redondeo en las tres si se realiza una
implementación en coma fija con DSP de acumulador de doble ancho.
Filtros Adaptativos
4.1. Introducción
Un filtro adaptativo no es más que un filtro cuyos coeficientes varı́an con
el tiempo. Lo que los hace especialmente interesantes es que la variación de
los coeficientes es automática. En otras palabras, diseñar un filtro adaptati-
vo consistirá en determinar la regla de variación de los coeficientes. El resto
será automático.
Existen dos razones fundamentales para elegir un filtro adaptativo frente
a un filtro de coeficientes fijos:
131
132 CAPı́TULO 4. FILTROS ADAPTATIVOS
reciben las células de la retina sea mucho menor que las variaciones de
luminosidad que se pueden encontrar en la naturaleza.
-
d[n] - Algor. Adapt.
d[n]
- Planta???
?+ e[n]
x[n] -
6−
- Filtro. Adapt.
y[n]
4.2.2. Predicción
En esta aplicación se trata de predecir valores futuros de la señal de en-
trada. Para ello se enseña al sistema adaptativo qué coeficientes deberı́a tener
para minimizar el error entre la muestra actual y una predicción de la misma
hecha en base a muestras anteriores de la misma señal de entrada. Los coe-
ficientes obtenidos se copian en otro filtro que filtra la señal de entrada sin
retardar. Si la señal de entrada es estacionaria, la salida de este segundo filtro
es una predicción de la muestra que está por venir.
x[n − 1] d[n]
+
x[n] ?
−
- z −1 - Filtro Adap. - e[n]
y[n]
???
- Coef. Copiados - x̂[n + 1]
ambiente ruidoso. Dicho micrófono entregará una señal que será suma de la
voz (s) más un ruido (n1 ). Supongamos que situamos otro micrófono en el
mismo ambiente ruidoso. Dicho micrófono captará otro ruido n2 distinto (por
estar captado en un lugar diferente) pero correlado con n1 . La relación entre
ambos ruidos viene dada por un filtrado lineal y supondremos que el segundo
micrófono, por su ubicación, no capta voz. Se supone que la voz está incorre-
lada con el ruido ambiente.
El esquema del origen de las señales se muestra en la figura 4.4. Las
señales que introduciremos a nuestro filtro adaptativo serán las captadas por
los micrófonos.
Lo que se hace es introducir un filtrado adaptativo en el canal que tiene
sólo ruido y, mediante el algoritmo de adaptación, minimizar la potencia de
la señal e. Si el filtro adaptativo tuviera un número de coeficientes suficiente,
tras la adaptación, el ruido n3 a la salida del filtro adaptativo deberı́a ser igual
a n1 , obteniendo en la salida únicamente voz.
Para entender cómo funciona, pensemos que el filtro adaptativo únicamente
sabe ajustar sus coeficientes de forma que la potencia de la señal e sea lo más
pequeña posible. Dado que la voz está incorrelada con el ruido ambiente, la
única señal que el filtro puede cancelar es el ruido ambiente que está correlado
en ambas ramas.
E{e2 } = E{(s + n1 − n3 )2 } =
s + n1
s - +
+
6
n1
? e Salida
H -
−
n2 6
n - Filtro Adap.
n3
Señales disponibles
como entrada
- D.A.
?
?
Los primeros circuitos supresores analógicos de eco eran del tipo mostrado
en la figura 4.6. En ellos se puede ver que en la rama receptora de la parte
de cuatro hilos de la bobina hı́brida habı́a un detector de actividad (DA) de
señal remota. Si se detecta señal remota, se abrı́a un contacto en el extremo
transmisor a cuatro hilos que impedı́a el retorno de la señal remota. Este
sistema, sin embargo, tiene el inconveniente de que no permite que los dos
interlocutores hablen a la vez, convirtiendo el circuito en semiduplex. Esto, en
el caso de las comunicaciones vocales no es grave, pues normalmente, durante
las conversaciones, un interlocutor habla y el otro escucha. Sin embargo, si la
lı́nea telefónica se utiliza para transmitir datos utilizando un modem duplex,
ésta solución no sirve.
En los modems duplex también existe una separación de dos a cuatro hilos
en el terminal. En este caso no cabe utilizar la técnica del supresor de ecos
pues la transmisión debe ser duplex. Además, debe tenerse presente que la
señal que pasa del extremo transmisor a cuatro hilos al receptor es de mucho
mayor nivel que la señal recibida del extremo remoto, por lo que, aunque la
atenuación transhı́brida sea grande, la interferencia del transmisor local sobre
RCX
Linea
TRX 6
A ?
: ? D
C
?
B
âk
Decisión - Salida
- Ec. Adapt.
1- 2
-
E Test
E
- y Er
e +
d
?
lenta como para que un sı́mbolo erróneo aislado no afecte demasiado y desco-
rrija el filtro de un modo irrecuperable.
Si las caracterı́sticas del canal varı́an lentamente, el filtro se adaptará tam-
bién, siempre y cuando la variación sea suficientemente lenta como para que
la probabilidad de error no aumente en exceso y el sistema deje de funcionar.
r x0 r x1 r xL
w0 ? w1 ? ··· wL ?
y
?
w0 ? w1 ? w2 ? wL−1 ? wL ?
y[n]
r - r - r r - r - r
e[n] = d[n] − y[n]: Señal error entre la señal de referencia y la salida del
filtro.
1
Los vectores se considerarán siempre vectores columna. Para considerar un vector como
fila deberá aparecer transpuesto (X T ).
4.3. Filtrado Óptimo 143
d[n]
?+ e[n]
-
6−
x[n] - Filtro. Adapt. y[n]
estas notas, debido a que se emplean mucho menos, y las estrategias de adap-
tación que siguen son más complejas.
El objetivo de los algoritmos adaptativos que veremos será siempre mini-
mizar la potencia media de la señal error e[n]. De algún modo, determinarán
los coeficientes del filtro transversal de modo que la señal y[n] se cancele lo
más posible con d[n].
n o
A la matriz R = E X[n] X T [n] se la denomina matriz de autocorrelación de
la señal de entrada y vale:
x[n]
x[n − 1]
h i
R=E .. x[n] x[n − 1] · · · x[n − L] (4.10)
.
x[n − L]
x[n] x[n] x[n] x[n − 1] ··· x[n] x[n − L]
x[n − 1] x[n] x[n − 1] x[n − 1] ··· x[n − 1] x[n − L]
R=E .. .. .. .. =
. . . .
x[n − L] x[n] x[n − L] x[n − 1] · · · x[n − L] x[n − L]
(4.11)
Rx [0] Rx [1] Rx [2] ··· Rx [L]
Rx [1] Rx [0] Rx [1] · · · Rx [L − 1]
R= .. .. .. .. .. (4.12)
. . . . .
Rx [L] Rx [L − 1] Rx [L − 2] · · · Rx [0]
Análogamente, se define el vector de correlaciones cruzadas entre la entrada y
la señal de referencia P = E {d[n] X[n]}:
x[n]
d[n] x[n]
x[n − 1]
d[n] x[n − 1]
P = E {d[n] X[n]} = E d[n] .. =E ..
. .
x[n − L] d[n] x[n − L]
Rdx [0]
Rdx [1]
P = .. (4.13)
.
Rdx [L]
Estamos suponiendo que las señales x[n] y d[n] son estacionarias. En ese caso
ni la matriz de autocorrelación R ni el vector de correlaciones cruzadas P
dependen del tiempo2 . Usando la matriz de autocorrelación y el vector de
correlaciones cruzadas es posible escribir la potencia media de la señal error
en función de los coeficientes de la siguiente forma:
E{(e[n])2 } = ξ = E{(d[n])2 } + W T R W − 2P T W (4.14)
2
Aunque al principio del tema se dijo que una de las utilidades de los filtros adaptativos
era su uso con señales no estacionarias, supondremos por el momento que las señales de
entrada son estacionarias, discutiendo más adelante qué sucede si no lo son.
4.3. Filtrado Óptimo 145
La ecuación (4.14) expresa una función que tiene una forma muy peculiar
denominada cuádrica. En el caso de dos coeficientes (L = 1) dicha ecuación
es un paraboloide (figura 4.14). Cabrı́a la duda de si es un paraboloide con
un máximo o con un mı́nimo. Por reducción al absurdo es fácil ver que debe
tener un mı́nimo, porque si no necesariamente existirı́an valores de los pesos
que harı́an que ξ fuese negativo, cosa imposible, pues es un valor cuadrático
medio.
350
300
250
200
MSE
150
100
50
0
20
10 20
0 10
0
−10
−10
w1 −20 −20
w0
Dado que la función valor cuadrático medio de la señal error (ξ) tiene un único
mı́nimo local, podremos hallar los coeficientes óptimos W ∗ , es decir los que
minimizan la potencia de la señal error, sin más que calcular el gradiente de
la función ξ, anularlo y despejar el valor de los peso óptimos.
Para calcular el gradiente, tomamos la ecuación (4.14), calculamos las de-
rivadas parciales, y formamos el vector gradiente. Dicho gradiente se puede
expresar de nuevo en forma matricial del siguiente modo:
∇ξ = 2R W − 2P (4.16)
El error cuadrático medio mı́mimo se producirá cuando los pesos del filtro
anulen el gradiente.
∇ξ = 0 = 2R W ∗ − 2P (4.17)
W ∗ = R−1 P (4.18)
Es fácil ver cuánto vale ξmı́n , es decir, el valor de la potencia media cuando
los coeficientes del filtro son los óptimos. Tras unas operaciones matriciales
elementales, y teniendo en cuenta que la matriz R es simétrica, se llega a:
∇ξ = 2R (W − W ∗ ) (4.20)
justifica el hecho de que los pasos de los algoritmos iterativos sean de tamaño
proporcional al gradiente. La estrategia de variar los pesos iterativamente en
dirección contraria al gradiente es el fundamento del algoritmo adaptativo más
utilizado, el LMS, que veremos más adelante.
N=4
20
15
10
5
w1
−5
−10
−15
−20
−20 −15 −10 −5 0 5 10 15 20
w0
N=10
20
15
10
5
w1
−5
−10
−15
−20
−20 −15 −10 −5 0 5 10 15 20
w0
los pesos óptimos mediante la ecuación (4.18) con las matrices estimadas. Es-
tos métodos emplean técnicas eficientes que evitan el tener que invertir una
matriz cada vez que llega una nueva muestra.
Los procedimientos que vamos a estudiar más en profundidad son los de-
nominados algoritmos de gradiente. Se les llama de este modo porque buscan
el vector de pesos óptimo de forma recursiva, moviéndose pequeños pasos de
longitud proporcional al gradiente y en dirección contraria al mismo. El vector
de pesos se actualiza mediante la ecuación:
ξ = ξmı́n + λ (w − w∗ )2 (4.26)
r=0.8
3
w
1
r=−0.7
−1
0 5 10 15 20 25 30
n
|1 − 2µλ| < 1
Al valor
r = 1 − 2µλ
se le denomina razón geométrica y juega un papel fundamental en la velocidad
y forma de convergencia:
Si −1 < r < 0 (1/2λ < µ < 1/λ) el proceso converge de forma oscilatoria,
tanto más rápido cuanto más parecido sea r a cero.
1
0<µ<
λ
En cuanto a ξ también decrece de forma exponencial pero como (r2 )n , es
decir, de forma no oscilatoria.
152 CAPı́TULO 4. FILTROS ADAPTATIVOS
Para garantizar la convergencia debe cumplirse |rk | < 1 para todos los
modos. Esto implica que:
1
µ< (4.31)
λmáx
La convergencia se alcanza cuando han convergido todos los modos. La con-
vergencia es más lenta cuanto más parecido sea |rk | a 1. Esto suele producirse
para λmı́n . La razón geométrica del modo más lento, en el caso de tomar µ lo
más grande posible para asegurar la convergencia, vale:
λmı́n
r = 1−2 (4.32)
λmáx
Si la razón λmáx /λmı́n es grande, el valor de la constante geométrica de la
ecuación (4.32) puede ser muy próximo a uno, con lo que la convergencia del
algoritmo del gradiente se hace muy lenta.
La figura 4.17 muestra un ejemplo de convergencia por gradiente. En ella
puede apreciarse cómo inicialmente el algoritmo converge rápidamente hasta
uno de los ejes principales del paraboloide. Se puede decir que el modo asociado
al eje más estrecho del paraboloide (λ mayor) converge rápidamente, pero
puede observarse cómo el modo asociado a la convergencia en el eje mayor de
las elipses (λ menor) converge mucho más lentamente; será la convergencia de
este modo la que limite la velocidad de convergencia global. Obsérvese también
cómo, inicialmente, el tamaño de los pasos es mayor; mientras que conforme
nos acercamos al óptimo, debido a que el valor del gradiente es menor, se van
acortando.
4.5. El algoritmo LMS 153
20
15
10
5
w1
−5
−10
−15
−20
−20 −15 −10 −5 0 5 10 15 20
w0
20
15
10
5
w1
−5
−10
−15
−20
−20 −15 −10 −5 0 5 10 15 20
w0
con muestras de las señales. En concreto, para actualizar los pesos, se sigue la
ecuación:
W [n + 1] = W [n] + 2µ e[n] X[n] (4.33)
donde la estima del gradiente es:
ˆ
∇ξ[n] = −2e[n] X[n] (4.34)
Es fácil comprobar que la media de la estima del gradiente coincide con el
gradiente teórico:
n o n o
ˆ
E ∇ξ[n] = E {−2e[n] X[n]} = E −2(d[n] − X T [n] W ) X[n] = 2 R W − P
(4.35)
expresión que coincide con el gradiente teórico de la ecuación (4.16). El hecho
de que el gradiente no sea más que una estima hace que el comportamiento del
algoritmo LMS sea similar al de un algoritmo con gradiente en media aunque
la trayectoria seguida por los coeficientes sea más errática.
En las figuras 4.18, 4.19 y 4.20 se muestra un ejemplo de adaptación usando
el algoritmo LMS. Las señales usadas son las del ejemplo de la sección 4.3.6,
4.5. El algoritmo LMS 155
e[n]
10
−2
−4
−6
−8
−10
0 100 200 300 400 500 600 700 800 900 1000
n
salvo que la señal d[n] tiene añadido un ruido blanco de σ 2 = 0,05. Ello influye
únicamente en que la superficie de error tiene el mı́nimo ligeramente más
alto. Recordemos que tenemos dos coeficientes. En la figura 4.18 se muestra
la evolución de los pesos. Puede observarse que es similar a un algoritmo de
gradiente pero más errática.
La figura 4.19 muestra la evolución temporal de la señal de error. Podemos
apreciar como disminuye su amplitud llegando a un punto donde no parece
decrecer más. En ese momento, el algoritmo habrı́a finalizado su adaptación,
y la potencia media de la señal error una vez concluı́da la misma, serı́a ξmı́n .
La figura 4.20 muestra la evolución temporal de los pesos. Podemos apre-
ciar cómo alcanzan un valor en torno a su valor final para luego permanecer
oscilantes alrededor del mismo. Ello es debido a lo que se denomina desajuste
y que se explica más abajo.
w0[n] w1[n]
10
5
w0
−5 w1
−10
−15
−20
0 100 200 300 400 500 600 700 800 900 1000
n
implementarlo. Básicamente hay que realizar una serie de pasos que se repiten
cada nuevo instante:
altera los coeficientes en cada nueva muestra. Ello hace que aunque en media el
incremento de los pesos una vez alcanzada la adaptadación sea nulo, estos no
dejen de variar si la señal e[n] no tiende a cero. Se podrı́a ver el fenómeno como
si nos estuvieramos moviendo por el fondo del paraboloide constantemente.
158 CAPı́TULO 4. FILTROS ADAPTATIVOS
4.6. Conclusiones
En este punto revisaremos las principales ideas vistas en el tema:
La constante de adaptación:
4.7. Problemas
1. Suponga que la matriz de autocorrelación de la señal de entrada de una
filtro adaptativo que funciona según el algoritmo LMS es:
" #
3 2
R=
2 3
Se pide:
d-
- Planta??? + r[n]
y X
X
?+ Xe[n]
X dn
x[n] -
6−
- Filtro. Adapt.
y[n]
Análisis Espectral
5.1. Introducción
¿Qué es el análisis espectral? El análisis espectral de señales no es otra cosa
que el tratar de ver las señales de una forma distinta a como se manifiestan
normalmente. Concretando un poco más, las señales que habitualmente mane-
jamos se presentan como variaciones de una magnitud fı́sica (corriente, voltaje,
presión acústica, . . . ) en función del tiempo. Podrı́amos decir, que las señales
se producen de forma natural en el dominio del tiempo. Sin embargo, muchas
veces, mirar una señal en su dominio natural (el tiempo generalmente) no ayu-
da demasiado a comprender la misma. En muchas ocasiones, descomponer la
señal como suma de sinusoides resulta de gran interés práctico. En general,
se entenderá por análisis espectral en el sentido más amplio del término, el
descomponer una señal como suma de una colección de señales (ortogonales).
En la gran mayorı́a de los casos, y es lo que se estudiará en este tema, las
señales en las que descompondremos serán sinusoides. La razón de ello, es que
las sinusoides son autofunciones de los sistemas lineales.
El análisis espectral, resumiendo, será pues el conjunto de herramientas
que permiten considerar las señales desde un punto de vista diferente, cuando
ello resulta de interés.
Otra forma de hablar, diferente pero equivalente a la vez, y poco formal,
podrı́a ser decir que las señales, en su dominio temporal, nos indican la fuerza
de la señal a lo largo del tiempo, mientras que en su dominio espectral, la
fuerza de la misma para cada frecuencia. De un modo más técnico diremos
que el análisis espectral nos da la distribución de energı́a (o potencia según el
caso) por frecuencias, es decir, cuánta energı́a (o potencia) tiene la señal en
cada frecuencia.
163
164 CAPı́TULO 5. ANÁLISIS ESPECTRAL
Analizadores de barrido.
Analizadores digitales.
- H1 - Pot1 -
- H2 - Pot2 -
- .. ..
. .
- HN - PotN -
- x2 - Hkpb -
Potk
Para señales dinámicas interesarı́a anchos de banda grandes, para que las
respectivas salidas pudieran seguir la evolución temporal de las señales
en los diferentes canales. El problema que presentarı́a tomar anchos de
banda excesivamente grandes, serı́a lo fluctuante que resultarı́a la estima
espectral. Esto se comprenderá mejor al final del tema.
- × - HF I - x2 - Hpb -
6
OL
Recordemos que la DEP (Φx (ejω )) de una señal aleatoria estacionaria x[n]
viene dada por:
Φx (ejω ) = TF {Rx [m]} (5.1)
donde Rx [m] es la autocorrelación de la señal x[n] dada por
Ruido de cuantificación.
No linealidades.
1.5
0.5
x[n]
-0.5
-1
-1.5
-2
0 20 40 60 80 100 120 140 160 180 200
n
120
100
80
60
40
20
0
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5
f
De todo ello se puede deducir que, los efectos indeseados anteriores, son
todos debidos al hecho de truncar la señal con una ventana. Eligiendo dife-
rentes ventanas, podremos alterar el aspecto de la transformada de Fourier de
forma que los picos sean más o menos anchos, y las oscilaciones espúreas sean
más o menos grandes.
-5
NLS
-10
-15
dB
-20
-25
-30
-35
ALP
-40
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5
f
empleada. Existen muchas posibles elecciones para las ventanas. Las dos prin-
cipales caracterı́sticas que afectan sus propiedades de análisis espectral son:
0.9
0.8
0.7
0.6
0.5
0.4
Triangular
0.3
0.2
Hamming
0.1
Hanning
0
0 5 10 15 20 25 30
n
Rectangular
0
−10
−20
−30
−40
−50
−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.5
Triangular
0
−10
−20
−30
−40
−50
−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.5
f
−10
−20
−30
−40
−50
−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.5
Hanning
0
−10
−20
−30
−40
−50
−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.5
f
-1
-2
0 20 40 60 80 100 120 140 160 180 200
n
150
100
50
0
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5
f
2500
2000
1500
1000
500
0
0.14 0.142 0.144 0.146 0.148 0.15 0.152 0.154 0.156 0.158 0.16
Figura 5.12: Suma de dos tonos de frecuencias similares, que sı́ son
resueltos mediante el análisis espectral (detalle de una zona del eje de
frecuencias).
1
Las escalas en dB (logarı́tmicas) suelen ser útiles para visualizar señales de amplitudes
muy distintas.
5.4. Análisis espectral de señales deterministas 181
40
30
20
10
-10
-20
-30
-40
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f
40
30
20
10
-10
-20
-30
-40
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f
Figura 5.14: Estima espectral de los dos tonos de la figura 5.13 usando
ventana Hamming de la misma duración.
50
45
40
35
30
25
20
15
10
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f
40
35
30
25
20
15
10
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f
60
50
40
30
20
10
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f
Todos estos efectos, tienen fácil solución sin más que muestrear de forma
más fina la TF. Esto, como ya se ha comentado, se hace añadiendo ceros al
final de la señal antes de tomar la FFT, tomando de este modo la FFT de
tamaño N puntos con N > L. Es fácil ver que a medida que tomamos más
muestras en la FFT los errores cometidos disminuyen. Como regla práctica
podemos decir que el número de puntos N de la FFT deberı́a ser de al menos
3 o 4 veces el número de puntos, L, de la ventana de señal tomada.
Una cuestión a la que hay que prestar atención es al orden de las ope-
raciones de enventanado y rellenado con ceros. Siempre se realiza primero el
5.4. Análisis espectral de señales deterministas 185
60
50
40
30
20
10
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f
enventanado de las muestras, para una vez hecho esto añadir tantos ceros al
final como se deseen. Hacerlo en orden inverso, provoca resultados erróneos.
Para terminar este apartado, deberı́amos incidir en un aspecto que provoca
no pocos errores. Muchas veces, se tiende a pensar, que añadiendo ceros al final
de una señal y tomando la FFT se aumenta la resolución del análisis efectuado.
Esto es falso.
La resolución viene dada únicamente por la ventana de análisis w[n] (ancho
del lóbulo principal de su TF). Rellenar con ceros únicamente proporciona
una versión más suave del estimador espectral. La resolución (recordemos,
capacidad de distinguir tonos de frecuencias similares) no se afecta en absoluto
por añadir más o menos ceros antes de tomar la FFT.
¿La media (esperanza) de Φ̂x (ejω ) coincide con Φx (ejω )? Esto es equi-
valente a preguntarse si repitiendo la misma medida muchas veces y
tomando la media nos iremos acercando al valor teórico. Si
5.5.2. El periodograma
El periodograma es el estimador espectral más simple, y por ello suele ser
el más utilizado.
Supongamos que tenemos L muestras de un proceso aleatorio x[n]. Defini-
remos el estimador periodograma como:
2
1 L−1
x[n] e−jωn
X
jω
Φ̂x (e ) = (5.12)
L n=0
Tal y como se mencionó más arriba, en función de las muestras que cojamos
el resultado será uno u otro. La figura 5.19 muestra un fragmento de ruido
blanco (potencia unidad) en el dominio del tiempo. La figura 5.20 muestra
188 CAPı́TULO 5. ANÁLISIS ESPECTRAL
-1
-2
-3
0 50 100 150 200 250 300
n
pecto a la forma que tenga Φx (ejω ). Para ello bastará con tomar ventanas más
5.5. Análisis espectral no paramétrico 189
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f
El periodograma modificado
Las ventanas que se suelen emplear son las mismas vistas en la sección 5.4.
La constante U de la anterior expresión se elige para compensar el efecto de
atenuación en los extremos de las ventanas; de no tenerse en cuenta infraes-
timarı́amos siempre la potencia de la señal. Su valor se elige de modo que
5.5. Análisis espectral no paramétrico 191
1 L−1
X
U= (w[n])2 (5.16)
L n=0
2
La variación se supone en media. Obviamente, dado el carácter aleatorio del estimador,
si se toma un número distinto de muestras el resultado será diferente, pero en media no varı́a
con la longitud de la ventana.
192 CAPı́TULO 5. ANÁLISIS ESPECTRAL
L=128
80
60
40
20
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
L=256
80
60
40
20
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f
Periodogramas y DFT
L=N=128
6
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
L=128 N=1024
6
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f
5.5.3. Autocorrelación
Al principio de esta sección recordamos que la DEP y la autocorrelación
estaban relacionadas mediante una TF. Resulta, por tanto, equivalente, cal-
cular la una o la otra. En este apartado, veremos procedimientos para estimar
la autocorrelación de una señal aleatoria. Además descubriremos la razón de
la excesiva varianza del periodograma.
Recordemos que la autocorrelación de un proceso aleatorio se define como:
x[k + |m|]
|m|
- x[k]
-
0 L − 1 − |m| L−1 k
Insesgado
1
0.5
-0.5
-1
-100 -80 -60 -40 -20 0 20 40 60 80 100
Sesgado
1
0.5
-0.5
-100 -80 -60 -40 -20 0 20 40 60 80 100
m
valor de |m| en las figuras 5.25 y 5.26, la varianza del estimador es menor en
el caso de tener más muestras.
Se pueden establecer una serie de observaciones con respecto a los estima-
dores de la autocorrelación:
Insesgado
1
0.5
-0.5
-1
-400 -300 -200 -100 0 100 200 300 400
Sesgado
1
0.5
-0.5
-1
-400 -300 -200 -100 0 100 200 300 400
m
Las expresiones (5.26) y (5.29) explican la razón de ser del estimador sesga-
do de la autocorrelación. La expresión (5.29) es siempre positiva, debido a que
la transformada de Fourier de una ventana triangular es positiva para todo ω
(una ventana triangular es la convolución de dos rectangulares). Dado que la
DEP teórica Φx (ejω ) es positiva siempre, la convolución de dos funciones posi-
tivas también es siempre positiva. De alguna forma, tomar la TF del estimador
sesgado garantiza que la media de los resultados obtenidos será positiva. Sin
embargo, esto mismo no sucede con la TF del estimador insesgado dado que
la TF de una ventana rectangular tiene lóbulos negativos. Resumiendo:
3
Nótese que ésta es una ventana rectangular simétrica con respecto al origen, a diferencia
de la vista con el periodograma.
5.5. Análisis espectral no paramétrico 199
DFT−1
Q
Q
Q
Q -
N −1 m
s
?
Q
Q Autocorr
Q
Q -
0 m
Para entender el orden en que tenemos los valores de R̃x [m] pensemos que la
DFT inversa nos devuelve una porción de una señal periódica en el intervalo 0
a N − 1. Dado que la autocorrelación que queremos, se corresponde a valores
positivos y negativos de m hay que reordenar el resultado como muestra la
figura 5.27.
Tomar la TF.
donde la ventana w[n] es una ventana simétrica alrededor del origen de dura-
ción impar (2M + 1). Nótese que se puede emplear tanto el estimador sesgado
como el insesgado de la autocorrelación, ya que el sesgado no es más que el
insesgado enventanado, por lo que, enventanar el sesgado, no es otra cosa que
enventanar el insesgado con una ventana que sea el producto de la ventana
triangular y w[n].
A continuación se calcula la TF:
M
R̂xBT [m]e−jωm
X
Φ̂BT jω
x (e ) = (5.33)
m=−M
1.2
0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
-200 -150 -100 -50 0 50 100 150 200
m
1.5
0.5
-0.5
-1
-200 -150 -100 -50 0 50 100 150 200
m
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f
determinados valores (los de |m| grande) tengan por correlación un valor nulo.
En el caso de señales ruidosas (autocorrelaciones estrechas), si realmente la
autocorrelación es nula para |m| el método BT no producirá ninguna pérdida
de resolución y sı́ una reducción de la varianza. Podrı́amos decir que el método
BT produce una pérdida de resolución en la estima si y sólo si al enventanar
estoy truncando valores no-nulos de la autocorrelación teórica.
La figura 5.28 muestra la estima de la autocorrelación de 200 muestras de
ruido blanco. La figura 5.29 muestra la misma autocorrelación enventanada
con una ventana de Hamming de M = 20 (duración total igual a 41). La
figura 5.30 muestra la TF de dicha autocorrelación. Puede apreciarse cómo el
resultado es mucho menos fluctuante que el del periodograma de las mismas
muestras que se muestra en la figura 5.31.
Resumiendo, podrı́amos decir que el método BT es un estimador espec-
tral, que con respecto al periodograma tiene más sesgo (peor resolución) pero
menor varianza (siempre a igualdad del número de muestras disponibles). La
reducción de la varianza se logra descartando los valores poco fiables de la
autocorrelación.
204 CAPı́TULO 5. ANÁLISIS ESPECTRAL
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f
-1
-2
-3
0 20 40 60 80 100 120 140 160 180 200
n
el dado 10 veces, pero apuntamos cada número 100 veces y dividimos por
1000, obviamente el resultado será menos fiable (mayor varianza) que en el
caso anterior, pues aunque también hemos promediado 1000 números, en un
caso eran independientes y en otro no.
Centrándonos en nuestro problema, supongamos que se registra una señal
y se graban un número total de muestras igual a LT . La idea consiste en coger
ventanas de longitud L (L < LT ), realizar el periodograma (o periodograma
modificado) de cada una de ellas y promediar los resultados. El número de pe-
riodogramas que promediaremos, K, dependerá de la relación LT /L ası́ como
del solape entre ventanas consecutivas. Cuanto mayor sea el solape, mayor
será el número de ventanas que podremos tomar para un número dado de
muestras LT . Por contra, si el solape es muy grande, el resultado de los perio-
dogramas no será independiente, lo que reducirá la eficacia del promediado a
la hora de reducir la varianza. Se ha comprobado experimentalmente que la
máxima reducción de varianza se corresponde con un factor de solape de 1/2,
es decir, cuando se coge una nueva ventana para calcular su periodograma,
se toma como primera mitad de la nueva ventana, la segunda de la ventana
anterior y se añaden L/2 muestras nuevas.
(k)
Si denotamos como Φ̂x (ejω ) al periodograma de la k-ésima ventana, y que
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f
50
45
40
35
30
25
20
15
10
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f
S1
1
0.5
x[n]
-0.5
-1
0 50 100 150 200 250 300 350 400 450 500
n
40
30
|X(f)|
20
10
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f
S2
1
0.5
x[n]
-0.5
-1
0 50 100 150 200 250 300 350 400 450 500
n
40
30
|X(f)|
20
10
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f
w[m] es una ventana similar a las vistas que limita el trozo de señal a analizar.
Supondremos que es no nula en torno al origen. x[n + m] es la versión despla-
zada n hacia la izquierda de la señal que estamos analizando. Lo que estamos
haciendo es desplazar la señal de modo que el fragmento que originariamente
estaba en m = n, tras el desplazamiento esté situado en m = 0. De este modo,
variando n, cada vez tenemos un trozo distinto de señal cerca del origen.
Un aspecto no mencionado hasta ahora, es el relativo a la representación de
la STFT. Dicha transformada es compleja y de dos variables. Lo que se suele
hacer es representar el módulo (o la fase) como una función bidimensional, en
la que un eje representa el tiempo y el otro (entre −π y π) la pulsación λ. Entre
los métodos habitualmente empleados para representar funciones de este tipo
están las curvas de nivel, las imágenes de falso color o las representaciones
tridimensionales. Las figuras 5.38, 5.39 y 5.40 muestran la STFT de la señal
de la figura 5.36. En ellas se puede apreciar que para cada instante, tenemos
un pico (tono) y que la posición de este pico va aumentando de frecuencia a
medida que aumenta el tiempo.
5.6. Análisis Tiempo-Frecuencia 213
30
25
20
15
10
0
0.5
0.4 500
0.3 400
0.2 300
200
0.1 100
0 0
0.5
0.45
0.4
0.35
0.3
0.25
f
0.2
0.15
0.1
0.05
0
0 50 100 150 200 250 300 350 400 450 500
n
f
6
-
n
1.5
0.5
-0.5
-1
-1.5
-2
0 50 100 150 200 250 300 350 400 450 500
n
f
6
-
n
Figura 5.42: Análisis de la señal de la figura 5.41 con una ventana de
duración 21.
f
6
-
n
Figura 5.43: Análisis de la señal de la figura 5.41 con una ventana de
duración 71.
una secuencia (compleja) que denominaremos xλ0 [n]. Veamos qué propiedades
tiene.
∞
w[m] x[n + m] e−jλ0 m
X
xλ0 [n] = X[n, λ0 ) = (5.41)
m=−∞
con
hλ0 [n] = w[−n] ejλ0 n (5.43)
Es posible calcular la respuesta en frecuencia de este filtro tomando, como
siempre, la TF de la respuesta impulsional.
1. Para cada n se hace una TF−1 . Obtenemos con ello w[m] x[n + m], es
decir un fragmento enventanado de la señal.
L es la longitud de la ventana.
R≤L≤N (5.45)
Sólo tendremos que estimar unos pocos parámetros, para estimar la DEP.
La relación entre los parámetros y la DEP la suponemos conocida.
Rx [m]
6
@
@
Estimado a partir de muestras
Extrapolación por modelo
-
m
5.7.1. Modelos AR
En esta sección estudiaremos cómo se pueden estimar los coeficientes del
filtro del modelo a partir de las muestras de señal.
Estamos suponiendo que el filtro es todo polos. Por lo tanto:
X(z) G
HAR (z) = = (5.50)
E(z) 1 − a1 z − a2 z −2 − · · · − ap z −p
−1
G2
Rx [0] Rx [1] ···
Rx [2] Rx [p] 1
Rx [1] Rx [0] · · · Rx [p − 1]
Rx [1]
−a1
0
Rx [2] Rx [1] · · · Rx [p − 2]
Rx [0] −a2 0
=
.. .. .. .. ..
..
..
. . . . . . .
Rx [p] Rx [p − 1] Rx [p − 2] · · · Rx [0] −ap 0
(5.59)
10
-2
-4
-6
-8
-10
0 5 10 15 20 25 30 35 40 45 50
n
25
20
15
10
dB
-5
-10
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f
30
25
20
15
10
dB
-5
-10
-15
-20
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f
30
25
20
15
10
dB
-5
-10
-15
-20
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f
25
20
15
10
dB
-5
-10
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f
25
20
15
10
dB
-5
-10
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f
5.8. Problemas
1. La transformada de Fourier de tiempo corto se puede definir de una
forma diferente a como se expresa en la ecuación (5.39). Dicha forma
alternativa es:
∞
x[m] w[n − m] e−jλm
X
X̌[n, λ) =
m=−∞
?
Encuentre la relación X[n, λ) ←→ Y [n, λ) si se utiliza en ambos
casos la misma ventana.
e) Demuestre que si la longitud de la ventana es larga comparada con
M , la longitud del filtro h[n] se cumple:
Formante 1 Formante 2
A 620–800 1000-1500
E 420–500 1600-2000
I 200–300 2000-2500
O 400–500 800-1000
U 230–290 600-900
Cuadro 5.3: Tablas de frecuencias de formantes en castellano.
232 CAPı́TULO 5. ANÁLISIS ESPECTRAL
A.1. Introducción
En tratamiento digital de la señal existen dos conceptos fundamentales:
las señales y los sistemas. Una manera de considerar las señales es a través
de un enfoque determinista, en el cual una señal discreta es una secuencia de
números correspondientes a los valores de amplitud de la señal en distintos ins-
tantes de tiempo. En teorı́a de la señal hay una gran variedad de herramientas
(Transformada de Fourier, Transformada Z, etc.) que permiten la descripción
de señales deterministas en dominios distintos al tiempo. En lo referente a los
sistemas, resulta interesante conocer como un sistema modifica la señal que
tiene en su entrada, con el objetivo de ser capaces de diseñar sistemas que
realicen tareas de interés. Si un sistema se caracteriza adecuadamente y en
su entrada hay una señal determinista, se puede saber analı́ticamente cuál es
la señal determinista en su la salida. Parece razonable pensar, por tanto, que
el enfoque determinista es de gran utilidad. Sin embargo, en la práctica este
enfoque es poco útil debido fundamentalmente a dos razones:
Habitualmente, la secuencia de entrada en un sistema discreto de interés
no es única. Ası́ por ejemplo, en comunicaciones, las señales suelen pro-
venir de fuentes de información continuas o discretas, donde la forma de
onda de la señal depende del mensaje que se transmite, el cual, habitual-
mente no se conoce a priori. Asumiendo la variabilidad de la señal en la
entrada de un sistema, el enfoque determinista tiene poco interés, ya que
por ejemplo, a la hora de diseñar el sistema: ¿Cuál serı́a, de entre todas
las posibles, la señal que deberı́amos considerar como señal de entrada?
La existencia de señales de naturaleza intrı́nsecamente aleatoria llamadas
ruido. El ruido es una señal impredecible debida a diversos fenómenos
233
234 APÉNDICE A. SEÑALES ALEATORIAS DISCRETAS
fı́sicos que está siempre presente (al menos en condiciones fı́sicas norma-
les). Por ejemplo, en sistemas de comunicación, uno de los principales
inconvenientes para una correcta detección o decodificación, aparte de la
atenuación y la distorsión de la señal transmitida, es el ruido introducido
en el proceso de transmisión-recepción.
Estas dos razones hacen que, en la práctica, sea necesaria una caracteriza-
ción aleatoria o estadı́stica en la que las señales se consideren realizaciones de
procesos estocásticos.
A.3. Promedios
Los promedios estadı́sticos o simplemente estadı́sticos, son parámetros o
funciones que permiten una caracterización sencilla aunque incompleta de pro-
cesos estocásticos. Los promedios pueden clasificarse en: aquellos que hacen
referencia a medidas instantáneas del proceso, esto es, caracterı́sticas del proce-
so en cada instante de tiempo individual (promedios instantáneos), y aquellos
que miden la dependencia que hay en el proceso en dos instantes de tiempo
(promedios con memoria).
La varianza σx2 [n] es una medida de cuanto pueden variar los valores
que toma un proceso aleatorio en cada instante de tiempo. De hecho, si
la varianza de un proceso es 0 en todo n, entonces el proceso se puede
caracterizar exactamente de forma determinista.
Observe que los tres parámetros anteriores dependen del instante de tiem-
po considerado. Además, existen semejanzas entre estos parámetros y otros
similares utilizados en la caracterización de señales deterministas como por
ejemplo: valor medio u offset, potencia media de una señal y valor eficaz.
La relación entre ambos tipos de parámetros se hará más patente cuando se
introduzca más tarde el concepto de ergodicidad.
Observe que
Rxx [n, n] = Px [n], Cxx [n, n] = σx2 [n]. (A.12)
y que si la media del proceso es cero, autocorrelación y autocovarianza coin-
ciden. La autocorrelación Rxx [n1 , n2 ] es un promedio que mide el grado de
parecido estadı́stico del proceso en dos instantes de tiempo n1 y n2 . La auto-
covarianza también mide el parecido del proceso en dos instantes de tiempo,
pero sin considerar sus medias. En ocasiones la autocorrelación y la autocova-
rianza se denotan mediante Rx [n1 , n2 ] y Cx [n1 , n2 ] respectivamente.
238 APÉNDICE A. SEÑALES ALEATORIAS DISCRETAS
Los promedios con memoria que miden la dependencia entre dos procesos
estocásticos distintos en dos instantes de tiempo son:
Cabe destacar que todos los promedios, ya sean parámetros o funciones, ca-
recen de aleatoriedad, esto es, no varı́an según la realización del proceso sino
que representan al conjunto de todas las realizaciones.
• E{x̃[n]} = µx = cte.
• E{|x̃[n]|2 } = Px = cte.
• σx2 [n] = σx2 = cte.
Rzz [m] = |a|2 Rxx [m] + ab∗ Rxy [m] + a∗ bRyx [m] + |b|2 Ryy [m] (A.17)
y en el caso en que los procesos estén incorrelados (Rxy [m] = Ryx [m] =
0):
Rzz [m] = |a|2 Rxx [m] + |b|2 Ryy [m] (A.18)
n = −N, · · · , −1, 0, 1, · · · , N
Como las secuencia que resultan del truncamiento son de energı́a finita, tienen
Transformada de Fourier
N
(k)
xk [n] e−jωn ,
X
X̃N (ejω ) = (A.23)
n=−N
244 APÉNDICE A. SEÑALES ALEATORIAS DISCRETAS
n o N N
E{x̃[n1 ] x̃∗ [n2 ]} e−jω(n1 −n2 )
X X
E |X̃N (ejω )|2 = (A.25)
n1 =−N n2 =−N
n o N −n2
NX
Rxx [m] e−jωm
X
jω 2
E |X̃N (e )| = (A.26)
n2 =−N m=−N −n2
n2 = −N m
-
−2N 0 2N
..
.
n2 = 0 m
-
−2N −N 0 N 2N
..
.
n2 = N m
-
−2N 0 2N
Figura A.3: Conjunto de términos Rxx [m] e−jω del segundo sumatorio
de (A.26) en los casos n2 = −N, 0 y N .
A.6. Densidad Espectral de Potencia 245
Términos No de veces
Rxx [−2N ]ejω2N y Rxx [2N ]e−jω2N 1
Rxx [−2N + 1]ejω(2N −1) y Rxx [2N − 1]e−jω(2N −1) 2
... ...
Rxx [−1]e y Rxx [1]e−jω
jω 2N
Rxx [0] 2N + 1
Por otro lado, se puede definir un espectro cruzado entre dos procesos
{x[n]} e {y[n]} conjuntamente estacionarios mediante
y de la misma forma
Syx (ejω ) = TF{Ryx [m]} (A.34)
Estos espectros cruzados carecen de significado fı́sico (a diferencia de la DEP).
Sin embargo, pueden utilizarse para comprobar ciertas caracterı́sticas de los
procesos que relacionan. Por ejemplo, si los procesos {x[n]} e {y[n]} ortogo-
nales (Rxy [m] = 0), entonces Sxy (ejω ) = Syx (ejω ) = 0. También pueden ser
útiles para estimar la respuesta frecuencial de sistemas LTI (problema 4) y a
la hora de calcular la llamada Función de Coherencia
Sxy (ejω )
γxy (ejω ) = q (A.35)
Sxx (ejω ) Syy (ejω )
A.7. Filtrado de Procesos Discretos 247
Resulta interesante relacionar los promedios del proceso de salida con los
de la entrada. Desde aquı́ y hasta el final de la sección, denotaremos mediante
x[n] e y[n] a los PED {x[n]} e {y[n]} respectivamente. Asumiendo un proceso
de entrada estacionario, la media del proceso de salida es:
∞
X ∞
X
µy = E x[n − k] h[k] = E{x[n]} h[k] = µx H(ej0 ) (A.37)
k=−∞ k=−∞
donde hay que recordar que la respuesta impulsiva es una secuencia determi-
nista. La correlación cruzada entrada-salida Rxy [m] es
De forma análoga:
Ryx [m] = Rxx [m] ∗ h[m] (A.39)
con lo que en el ruido blanco no existe ninguna dependencia entre dos muestras,
por muy cercanas que estén. A diferencia del ruido blanco continuo, su versión
discreta si que tiene potencia media finita puesto que
Z 0,5
Pw = Sww (ej2πf ) df = σw
2
(A.46)
−0,5
obteniéndose un proceso de salida cuya DEP tiene la misma forma que |H(ejω )|2
y recibe el nombre de ruido coloreado siendo su potencia media
Z 0,5 Z 0,5 ∞
X
Py = Syy (ej2πf ) df = σww
2
|H(ej2πf )|2 df = σww
2
|h[n]|2
−0,5 −0,5 n=−∞
(A.48)
|h[n]|2
P
El término n recibe el nombre de ganancia del filtro para el ruido
blanco, ya que representa la ganancia en potencia que tiene el filtro única-
mente cuando la entrada es un ruido blanco. Esta magnitud constituye una
caracterı́stica exclusiva del filtro.
En ocasiones, varios ruidos blancos independientes se suman dando lugar
a otro ruido
w[n] = w1 [n] + w2 [n] + · · · + wN [n] (A.49)
que también es blanco ya que su autocorrelación es
y su DEP es
Sww (ω) = σ12 + σ22 + · · · + σN
2
(A.51)
A.9. Problemas
1. La función de MATLAB randn permite generar ruido blanco gaussiano
de media cero y varianza unidad.
250 APÉNDICE A. SEÑALES ALEATORIAS DISCRETAS
x[n] - - - e[n]
6x̂[n]
- Predictor
4.2 En muchas ocasiones la salida del sistema está contaminada por rui-
do aditivo, tal y como se muestra en la figura A.6, siendo únicamente
accesibles las secuencias x[n] e y[n], lo cual puede complicar la deter-
minación de la respuesta frecuencial. Una posible situación donde esto
ocurre es cuando el transductor utilizado para captar la salida es de peor
calidad que el de entrada, de forma que el ruido que introduce es mucho
mayor que el introducido para captar la entrada. Considere las siguientes
respuestas frecuenciales
Szz (ejω ) Szx (ejω )
H1 (ejω ) = H2 (ejω ) =
Sxz (ejω ) Sxx (ejω )
¿Cuál de las dos funciones proporciona una mejor estimación de la res-
puesta frecuencial? (Suponga que el ruido está incorrelado con la señal
de entrada)
4.3 En otras ocasiones se da la situación contraria, esto es, la señal
captada en la entrada está contaminada por ruido (Figura A.7). En este
caso, ¿Cuál de las dos medidas eligirı́a?
4.4 ¿Y si, como se muestra en la Figura A.8, se tiene simultáneamente
ruido en la adquisición de la entrada w1 [n] y la salida w2 [n]?
5. Sea {v[n]} un proceso estocástico real estacionario de media µ y cuyas
variables aleatorias están incorreladas
E{v[n] v[k]} = E{v[n]} E{v[k]} = µ2 , ∀n 6= k
Suponga además que la varianza de v[n] es σ 2 .
w[n]
y[n] ?
x[n] - Sist. LTI - + - z[n]
?
+ w[n]
?
x[n]
y[n]
v[n] - Sist. LTI - + - z[n]
6
? w2 [n]
+ w1 [n]
?
x[n]
[1] F.J. Harris. On the use of wndows for harmonic analysis with the discrete
fourier transform. Proceedings IEEE, 66(1):51–83, january 1978.
[2] Simon Haykin. Adaptive Filter Theory. Prentice Hall, 3rd edition, 1996.
255