Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Tratamiento Digital de la Se
nal
Teora y Aplicaciones
Antonio Albiol
Valery Naranjo
Josep Prades
Indice
1. Muestreo
1.1. Introducci
on . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2. Muestreo de se
nales paso-bajo . . . . . . . . . . . . . . . . . . .
1.2.1. Recuperaci
on de una se
nal paso-bajo a partir de
sus muestras . . . . . . . . . . . . . . . . . . . . . . . .
1.2.2. Consideraciones pr
acticas . . . . . . . . . . . . . . . . .
1.3. Procesado discreto de se
nales continuas . . . . . . . . . . . . .
1.4. Muestreo y reconstrucci
on de se
nales paso-banda . . . . . . . .
1.4.1. Muestreo de se
nales paso-banda como se
nales reales . .
1.4.2. Muestreo de se
nales paso-banda como se
nales complejas
1.5. Cambio de la velocidad de muestreo . . . . . . . . . . . . . . .
1.5.1. Diezmado por un factor entero . . . . . . . . . . . . . .
1.5.2. Interpolaci
on por un factor entero . . . . . . . . . . . .
1.5.3. Cambio de la frecuencia de muestreo por un factor racional
1.5.4. Aplicaci
on del diezmado a la conversion C/D . . . . . .
1.5.5. Aplicaci
on de la interpolacion a la conversion D/C . . .
1.6. Codificaci
on de se
nales . . . . . . . . . . . . . . . . . . . . . . .
1.6.1. Recuperaci
on de la se
nal . . . . . . . . . . . . . . . . . .
1.6.2. El ruido de cuantificacion . . . . . . . . . . . . . . . . .
1.6.3. Cuantificaci
on no uniforme . . . . . . . . . . . . . . . .
5
8
9
12
13
14
18
19
21
25
27
28
30
31
33
35
39
39
39
41
46
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
1
2.5.
2.6.
2.7.
2.8.
3. Implementaci
on de filtros
3.1. Introducci
on . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1. Aplicaciones de los filtros . . . . . . . . . . . .
3.1.2. Ventajas e inconvenientes de los filtros digitales
3.2. Planteamiento general del filtrado digital . . . . . . . .
3.2.1. Implementabilidad de filtros FIR . . . . . . . .
3.2.2. Implementabilidad de filtros IIR . . . . . . . .
3.2.3. Proceso de implementacion de un filtro digital
3.3. Implementaci
on de filtros digitales . . . . . . . . . . .
3.3.1. Diagramas de flujo . . . . . . . . . . . . . . . .
3.3.2. Formas directas . . . . . . . . . . . . . . . . . .
3.3.3. Realizaci
on en Cascada . . . . . . . . . . . . .
3.3.4. Realizaci
on en paralelo . . . . . . . . . . . . . .
3.3.5. Formas transpuestas . . . . . . . . . . . . . . .
3.3.6. Determinaci
on de la funcion de transferencia de
3.3.7. Secuencia de c
alculo . . . . . . . . . . . . . . .
3.4. Efectos de precisi
on finita . . . . . . . . . . . . . . . .
3.4.1. Cuantificaci
on de los coeficientes . . . . . . . .
3.4.2. Cuantificaci
on de las muestras de entrada . . .
3.4.3. Redondeos en las operaciones . . . . . . . . . .
3.4.4. Escalado en sistemas de coma fija . . . . . . .
3.4.5. Ciclos lmite . . . . . . . . . . . . . . . . . . .
3.5. Problemas . . . . . . . . . . . . . . . . . . . . . . . . .
ii
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
un
. .
. .
. .
. .
. .
. .
. .
. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
48
50
52
54
58
58
61
69
72
78
80
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
grafo
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
83
83
83
85
87
89
90
91
92
92
94
96
98
98
100
102
108
108
114
116
123
126
127
4. Filtros Adaptativos
131
4.1. Introducci
on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
4.1.1. Ejemplos de sistemas adaptativos . . . . . . . . . . . . . 131
4.1.2. Caractersticas fundamentales de los sistemas adaptativos132
4.1.3. Fundamentos de los de sistemas adaptativos . . . . . . . 132
4.2. Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
4.2.1. Identificaci
on de sistemas . . . . . . . . . . . . . . . . . 133
4.2.2. Predicci
on . . . . . . . . . . . . . . . . . . . . . . . . . . 134
4.2.3. Cancelaci
on de ruido . . . . . . . . . . . . . . . . . . . . 134
4.2.4. Canceladores de eco . . . . . . . . . . . . . . . . . . . . 136
4.2.5. Ecualizadores adaptativos . . . . . . . . . . . . . . . . . 139
4.2.6. Filtro en hendidura . . . . . . . . . . . . . . . . . . . . . 140
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
163
163
164
164
166
167
iv
. . . . . . . . .
. . . . . . . . .
de Densidad de
. . . . . . . . .
. . . . . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
depen. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
167
168
168
168
170
170
172
174
178
181
185
186
186
187
193
200
205
209
210
211
213
216
217
218
219
222
228
233
. . . . . . . 233
. . . . . . . 234
Probabilidad235
. . . . . . . 236
. . . . . . . 236
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
237
238
239
240
241
243
247
248
249
255
vi
Pr
ologo
Este libro tiene sus orgenes en la experiencia adquirida en la imparticion
de un curso de Tratamiento Digital de la Se
nal durante casi 20 a
nos en la
ETSI de Telecomunicaci
on de la Universidad Politecnica de Valencia.
El libro, en esta su segunda edici
on se ajusta al temario impartido en la
actualidad (2007). Respecto a la edici
on precedente se han corregido diversos
peque
nos errores que se haban detectado en la primera edicion, y se ha reescrito el principio del captulo 2 para no incluir las series discretas de Fourier.
Este texto tiene su raz
on de ser en la falta de un texto nacional o extranjero
que se ajuste al temario visto en la asignatura. Algunos aspectos que no se
encuentran en otros textos de gran difusion ([9] o [6]) son el muestreo de se
nales
paso-banda o el estudio de los efectos de precision finita en filtros digitales en
DSPs con arquitecturas modernas. Otros libros (por ejemplo [4] o [11]) son
especficos de alguno de los temas de la asignatura, y tratan con mucha mayor
profundidad los aspectos de an
alisis espectral o filtrado adaptativo. Puede
llamar la atenci
on la no existencia de un tema dedicado al dise
no de filtros
digitales, clasico en la mayora de los libros sobre la materia. Dicho tema se ha
suprimido del temario de la asignatura y ha sido relegado a una asignatura de
laboratorio debido a la disponibilidad generalizada de software de dise
no de
filtros que simplifica notablemente la tarea del dise
nador. Nos ha parecido mas
interesante mantener un tema sobre aspectos practicos de implementacion de
filtros digitales, que requieren de m
as criterio por parte del ingeniero dise
nador.
Se ha procurado en todo momento mantener a lo largo del libro un lenguaje
lo mas claro e intuitivo posible, huyendo de un excesivo rigor matematico en
beneficio de la claridad. As por ejemplo siempre que se ha credo conveniente
se ha a
nadido una figura para reforzar las ideas o expresiones matematicas.
Como base para la lectura del libro es necesario tener una base de la teora
de sistemas lineales, tanto discretos como continuos. Se suponen conocidos
aspectos como el concepto de se
nal discreta, la transformada de Fourier, o la
transformada Z. Sobre estos temas se pueden consultar los libros [8] o [10]
entre muchos otros.
vii
viii
Los autores
Valencia, julio de 2007.
Captulo 1
Muestreo y Procesado
Discreto de Se
nales Continuas
1.1.
Introducci
on
El procesado de se
nales de forma discreta presenta una serie de ventajas
frente a la alternativa anal
ogica como son inmunidad frente al ruido, estabilidad frente a temperatura, repetitividad,. . . Sin embargo la mayora de las
se
nales que interesa procesar son de naturaleza analogica. En ese caso es necesaria una discretizaci
on de la se
nal continua. Ademas, en muchas ocasiones
interesa que el procesado (continuo o discreto) de una se
nal produzca como
resultado una se
nal anal
ogica. En ambos casos es necesario convertir la se
nal
de continuo a discreto o viceversa.
En este tema veremos, en la secci
on 1.2, la conversion continuo-discreto
y viceversa para el caso m
as habitual de que las se
nales sean paso-bajo. En
el apartado 1.3 trataremos el efecto que produce procesar muestras de una
se
nal continua de forma discreta. El punto 1.4 aborda el muestreo de se
nales
paso-banda, de bastante interes en comunicaciones. En la seccion 1.5 nos ocuparemos de c
omo obtener, a partir de un conjunto de muestras de una se
nal
obtenidas a una frecuencia de muestreo, un nuevo conjunto de muestras correspondientes a una frecuencia de muestreo diferente. Por u
ltimo, estudiaremos
la cuantificaci
on y la codificaci
on en la seccion 1.6.
1.2.
Muestreo y reconstrucci
on de se
nales paso-bajo
CAPTULO 1. MUESTREO
xc (t)
- C/D
- x[n]
fs
Figura 1.1: Representaci
on esquem
atica de un conversor continuo discreto.
(1.1)
donde x[n] es la se
nal discreta de salida correspondiente a muestras de la se
nal
xc (t). El par
ametro Ts recibe el nombre de periodo de muestreo, y representa
la separacion (en segundos) entre dos muestras consecutivas. A su inversa fs =
1/Ts se le denomina frecuencia de muestreo. Dicho bloque lo representaremos
esquematicamente como se muestra en la figura 1.1. A la operacion que realiza
dicho bloque se le denomina muestreo de la se
nal continua xc (t).
En la pr
actica, el valor de las muestras de salida x[n] se suele cuantificar
en amplitud obteniendose una representacion binaria del valor de la muestra.
En este caso se habla de convertidores analogico-digitales (A/D). Nosotros
consideraremos que la discretizaci
on de amplitud es suficientemente fina como
para poder considerar sus efectos despreciables. Por ello supondremos (salvo
en la seccion 1.6) que las muestras pueden tomar cualquier valor real.
La se
nal continua de entrada tendr
a una transformada de Fourier Xc (fc )1
y la se
nal discreta de la salida tendr
a una transformada de Fourier X(ej ).
Dado que x[n] proviene del muestreo de xc (t) (ec. (1.1)) parece logico pensar
que tambien exista una relaci
on entre las correspondientes transformadas de
Fourier. Veamos cu
al es esta relaci
on. Consideremos la siguiente se
nal continua:
xs (t) = xc (t)
(t nTs ) =
xc (n Ts ) (t nTs )
(1.2)
Recordemos que:
TF
(
X
n
(t nTs )
1 X
(fc n fs )
Ts n
1.2. Muestreo de se
nales paso-bajo
Tomando Transformadas de Fourier a cada uno de los terminos de la ecuacion (1.2) resulta:
!
Xs (fc ) = Xc (fc )
1 X
(fc nfs )
Ts n
xc (n Ts ) ejTs n
(1.3)
x[n] ejn =
xc (n Ts ) ejn
y que:
!
Xc (fc )
1 X
(fc nfs )
Ts n
1 X
Xc (fc nfs )
Ts n
Xc (fc )
6
a)
1
@
@
@
-
fc
Xs (fc )
6
b)
...
fs
@
@
@
@
@
@
@
...
@
@
@
fs
fc
fs
X(ej )
6
c)
...
fs
@
@
@
@
@
@
@
...
@
@
@
@
W/fs
fd
CAPTULO 1. MUESTREO
resulta la relaci
on:
X(ej ) |=Ts =
1 X
Xc (fc n fs ) = Xs (fc )
Ts n
(1.4)
fd n
1 X
Xc
Ts n
Ts
(1.5)
1.2. Muestreo de se
nales paso-bajo
Xc (fc )
6
1
""bb
b
"
"
"
"
fc
Xs (fc )
fs
...
""bb
""bb
"
"
6
b
"
b
"
b"
"b
"
b
b"
"b
"
b
b"
"b
...
""bb
b
fs
b
"
b"
"b -
fc
fs
X(ej )
fs
...
""bb
"
""bb
"
b
"
b
b"
"b
"
b
b"
"b
...
""bb
b
"
b
"
b"
"b
W/fs
b
"
b"
"b -
fd
1.2.1.
Recuperaci
on de una se
nal paso-bajo a partir de
sus muestras
Supongamos que tenemos un conjunto de muestras x[n] que han sido tomadas a una frecuencia de muestreo fs . Dado dicho conjunto de muestras de
una se
nal continua, la cantidad de se
nales continuas que pueden corresponder
a dichas muestras es infinita. Este hecho queda ilustrado en la figura 1.4, donde
se pueden observar dos se
nales distintas que corresponden a un mismo conjunto de muestras. Observese que las muestras u
nicamente permiten conocer
directamente la se
nal continua en los instantes tk = k Ts .
Para conocer los valores de la se
nal en instantes de tiempo intermedios, es
necesario hacer alguna hip
otesis sobre la naturaleza de la se
nal muestreada.
Si consideramos que la se
nal anal
ogica a la que corresponden las muestras es
paso-bajo de ancho de banda fs /2 entonces solo existe una u
nica se
nal
continua a la que pueden corresponder las muestras.
CAPTULO 1. MUESTREO
Si las muestras de la se
nal no contienen aliasing, es decir si fs > 2 W
entonces la se
nal que se recupera es xc (t), de la cual se tomaron las muestras.
En caso contrario, la se
nal que se recupera no coincide con la se
nal xc (t).
Podemos resumir por tanto, los condiciones necesarias para recuperar una
se
nal continua a partir de sus muestras:
1. Las muestras x[n] tomadas equiespaciadamente.
2. Conocer el periodo de muestreo Ts para saber a que instantes corresponden las muestras.
3. Saber que la se
nal xc (t) original es paso-bajo.
4. Que su ancho de banda sea W < fs /2.
Es interesante notar que la falta de cualquiera de los 4 elementos arriba indicados no permite reconstruir la se
nal analogica original.
El hecho de que se pueda recuperar exactamente una se
nal a partir de sus
muestras es equivalente a decir que las muestras contienen la misma cantidad
de informaci
on que la se
nal continua. Por lo tanto, cualquier manipulacion
de la se
nal continua que pudieramos pensar, podra ser realizada sobre sus
muestras.
2
1
0
1
2
0
10
15
10
15
2
1
0
1
2
0
1.2. Muestreo de se
nales paso-bajo
xs (t)
- Generador
x[n]
Impulsos
Hr (fc )
xc (t)
D/C
fs
Y fc
hr (t) = sinc
fs
t
Ts
(1.6)
X
n
t n Ts
x[n] sinc
Ts
(1.7)
CAPTULO 1. MUESTREO
como en el de la frecuencia:
(
Xc (fc ) =
(1.8)
1.2.2.
Consideraciones pr
acticas
X
n
x[n]
Y t n Ts
Ts
(1.9)
= xs (t)
Y t
Ts
(1.10)
Por lo que:
fc
(1.11)
fs
es decir, se obtiene lo mismo que en el caso ideal pero multiplicado por
un sinc. Este producto tiene dos efectos:
Xs0 (fc ) = Xs (fc ) Ts sinc
1.3.
Procesado discreto de se
nales continuas
El muestreo de una se
nal anal
ogica suele realizarse para:
Transmitir dichas muestras digitalmente.
Almacenar las muestras, para su posterior reproduccion, analisis, etc.
Procesarlas para obtener otro conjunto de muestras que volvera a ser
convertido a continuo. Este u
ltimo punto es el que trataremos en esta
seccion.
Considerese un diagrama como el de la figura 1.6, en el que se muestrea
una se
nal anal
ogica cuyas muestras son procesadas para obtener un nuevo
conjunto de muestras y[n] que dar
a lugar a una se
nal analogica de salida.
En el caso m
as simple h[n] = [n] sera el sistema identidad. En ese caso
yc (t) coincide con xc (t) si xc (t) es paso-bajo y el muestreo se realiza sin aliasing.
10
CAPTULO 1. MUESTREO
x[n]
xc (t)
-
C/D
y[n]
h[n]
D/C
yc (t)
-
fs
fs
En el caso m
as general de que h[n] sea un filtro digital arbitrario, tendremos:
Y (ej ) = X(ej ) H(ej )
(1.12)
Concatenando esta ecuaci
on con las correspondientes al conversor C/D (1.4)
y al D/C (1.8) resulta la siguiente expresion para el espectro de yc (t).
Yc (fc ) =
H(ej Ts )
Xc (fc k fs )
|fc | < fs /2
(1.13)
resto
Si la se
nal xc (t) se muestre
o sin aliasing (como en la figura 1.2), entonces
del anterior sumatorio s
olo es no nulo el termino correspondiente a k = 0,
resultando en ese caso:
Yc (fc ) = H(ej Ts ) Xc (fc )
|fc | < fs /2
(1.14)
Es decir, si la se
nal de entrada se muestrea sin aliasing, y sus muestras se filtran
digitalmente, el efecto es producir un filtrado analogico equivalente sobre la
se
nal de entrada por un filtro:
Hef f (fc ) = H(ej Ts )
(1.15)
Dicha expresi
on nos indica que la respuesta en frecuencia analogica equivalente
es simplemente una desnormalizaci
on del eje de frecuencias del sistema discreto
empleado. Por poner un ejemplo, si se utiliza una frecuencia de muestreo
de 10 kHz, y tuvieramos un filtro discreto h[n] paso-bajo de frecuencia de
corte discreta 0.1, el conjunto de la figura 1.6 equivaldra a un filtro paso-bajo
analogico de 1 kHz. de ancho de banda.
En la figura 1.7 se muestra un resumen de las relaciones entre espectros al
filtrar se
nales anal
ogicas de forma discreta.
11
Xc (fc )
6
1
@
@
@
W
1/Ts
@
6
@
@
@
@
1/Ts
1
@
@
@
@
W
0,5
- fc
W
Xs (fc )
1/Ts
W
0,5
- fc
- fd
H(ej )
1
f1
f1
- fd
Y (ej )
@
@
1/Ts 6
@
@
@
@
f1
f1
- fd
Ys (fc )
6
Ts
Hr (fc )
1/Ts
@
@
1/Ts
@
@
f1 /Ts f1 /Ts
@
@
1/Ts
- fc
12
CAPTULO 1. MUESTREO
1.4.
Muestreo y reconstrucci
on de se
nales paso-banda
Un tipo de se
nales especialmente u
til en telecomunicaciones es el de las
se
nales paso-banda. Algunos campos donde podemos encontrar estas se
nales
son en radiocomunicaciones, multiplex por division en frecuencia, radar, . . . La
figura 1.8 muestra una se
nal de este tipo.
Dicha se
nal podra muestrearse usando la misma regla aplicada para se
nales
paso-bajo, a una frecuencia de muestreo que fuera el doble de la maxima frecuencia de la se
nal, es decir
fs = 2f2
Sin embargo, esto no es lo m
as eficiente posible, pues si dicha frecuencia f2 es
mucho mayor que el ancho de banda W = f2 f1 (cosa que suele suceder en
la practica), la frecuencia de muestreo necesaria sera muy alta, lo que llevara
a los siguientes problemas:
Tecnol
ogico: Tal vez no sea posible el muestreo a la suficiente velocidad.
Coste: Suponiendo que sea posible tecnicamente, los convertidores rapidos son m
as caros.
Volumen de informaci
on: Suponiendo que se pudiera realizar la conversion, la cantidad de muestras por segundo generadas hara su procesamiento difcil y costoso, cuando no imposible.
La ineficiencia del muestreo se manifiesta en que en el espectro de la se
nal
discreta resultante apareceran amplios huecos. Vamos a ver en este punto dos
tecnicas que se utilizan para que la frecuencia de muestreo necesaria no sea
tan grande. La idea subyacente en ambas es que la cantidad de informacion
13
Xc (fc )
16
@
@
@
@
f1 f0 f2
fc
1.4.1.
Muestreo de se
nales paso-banda como se
nales reales
-
- Hlp (fc )
6
cos 2f1 t
- discreto
x1 (t)
-
C/D
- x[n]
fs
14
CAPTULO 1. MUESTREO
1.4.2.
Muestreo de se
nales paso-banda como se
nales complejas
Hlp (fc )
16
f2 f1
fc
15
X1 (fc )
1/2 6
@
@
@
@
fc
f2 f1
Figura 1.11: Espectro de x1 (t).
La se
nal x2 (t) recibe el nombre de envolvente compleja y su espectro se
muestra en la figura 1.17. La parte real de la envolvente compleja recibe el
nombre de componente en fase y la parte imaginaria, el de componente en
cuadratura. El m
odulo de x2 (t) recibe el nombre de envolvente de la se
nal
xc (t) (y no depende de 0 ) mientras que la fase de x2 (t) recibe el nombre de
fase instant
anea y su derivada, frecuencia instant
anea.
Para recuperar xc (t) a partir de x2 (t) hay que deshacer los pasos hechos.
En primer lugar, obtendremos x+ (t), se
nal compleja correspondiente a las
frecuencias positivas de la se
nal paso-banda:
x+ (t) = x2 (t) ej0 t
- Continuo
Discreto
x[n]
(1.17)
x1 (t)
D/C
6
fs
-
- Hbp (fc )
6
- xc (t)
cos 2f1 t
f1
f2
fc
16
CAPTULO 1. MUESTREO
A continuaci
on obtendremos la parte correspondiente a las frecuencias negativas:
x (t) = x?+ (t)
(1.18)
para finalmente obtener la se
nal paso-banda original
xc (t) = x+ (t) + x (t) = 2 Re{x+ (t)} =
= 2 ( Re{x2 (t)} cos 0 t Im{x2 (t)} sen 0 t)
(1.19)
contnuo
xc (t)
-
- Hlp (fc )
6
- discreto
x2 (t)
-
C/D
- x[n]
ej0 t
fs
xc (t)
-
- Hlp (fc )
6
sen 0 t
xc (t)
Re{x2 (t)}
-
- Re{x[n]}
cos 0 t
?
-
- Hlp (fc )
C/D
fs
?
-
C/D
- Im{x[n]}
Im{x2 (t)}
17
Hlp (fc )
16
fc
f2 f1
2
Figura 1.16: Respuesta en frecuencia del filtro de las figuras 1.14
y 1.15.
X2 (fc )
16
fc
f2 f1
2
Figura 1.17: Espectro de x2 (t).
X+ (fc )
16
f1
f2
fc
? (f )
X (fc ) = X+
c
16
@
@
@
@
f2
fc
f1
Figura 1.18: Espectro de x+ (t) y x (t). Frecuencias positivas y negativas respectivamente de xc (t).
f2 f1
= f2 f1
2
(1.20)
18
CAPTULO 1. MUESTREO
1.5.
En esta secci
on nos ocuparemos de un problema que aparece a menudo en
la practica. Supongamos que x1 [n] sea un conjunto de muestras de una se
nal
continua xc (t), tomadas con una frecuencia de muestreo fs1 . Pretendemos
encontrar otro conjunto de muestras x2 [n] que corresponda al muestreo de la
misma se
nal anal
ogica con una frecuencia de muestreo fs2 .
Una posibilidad trivial para resolver el problema anterior consisitira en recuperar la se
nal anal
ogica a partir de las muestras x1 [n] para, a continuacion,
volver a muestrear la se
nal a la nueva frecuencia de muestreo. Esquematicamente dicha posibilidad se muestra en la figura 1.19. No obstante, vamos a
proponer una soluci
on totalmente discreta al problema anterior, en la que no
sea necesario pasar por la se
nal anal
ogica.
Abordaremos el problema por fases, estudiando primero los casos sencillos
de relaciones enteras entre las frecuencias de muestreo:
Caso en que fs2 = fs1 /M siendo M entero. Denominaremos este caso
diezmado por un factor entero.
Caso en que fs2 = L fs1 siendo L entero. Denominaremos esta operacion
interpolaci
on por un factor entero.
Caso en que fs2 = (L/M ) fs1 , es decir, que exista una relacion racional
entre las frecuencias de muestreo. Dependiendo de si L/M es mayor o
menor que la unidad hablaremos de interpolacion o diezmado por un
factor racional.
xc (t)
x1 [n]
-
D/C
6
fs1
C/D
x2 [n]
-
fs2
19
1.5.1.
fs1
M
(1.21)
x2 [n]
x [n]
1
6 r
r
r
6
-
r
r
x2 [n]
6
r
3
-
20
CAPTULO 1. MUESTREO
x1 [n]
- H(ej )
x2 [n]
-
s que tenga aliasing. De hecho, para que al diezmar por M no existiese aliasing, el ancho de banda de la se
nal original W debera ser:
fs2
fs1
=
2
2M
Normalmente se cumplir
au
nicamente que W < fs1 /2, por lo que sera necesario realizar un filtrado paso-bajo digital previo de la se
nal x1 [n] antes de ser
diezmada. Para determinar la frecuencia de corte discreta necesaria es preciso
conocer:
W <
(1.22)
1 X
fd r
Xc
Ts2 r
Ts2
(1.23)
X2 (ej ) =
En esta u
ltima expresi
on, vamos a hacer r = i + k M con 0 i < M y k
variando de a . El sumatorio se convierte en el siguiente doble sumatorio:
X2 (ej ) =
1
1 X
fd (i + k M )
1 MX
Xc
M i=0 Ts1 k
Ts1 M
21
X1 (ej )
A
A
6
A
A
A
A
A
A
W Ts1
X1 (ej M )
-1
-2
A
A
A
@
@
@
W Ts1 M 1
2
X1 (ej M )
-1
-2
- fd
6
@
@
@
@
A
A
@ - fd
6
@
@
@
@
@
-1
-2
- fd
@
@
@
@ - fd
X2 (ej )
@
@
-2
6
@
@
@
@
@
@
-1
1
1 MX
1 X
X2 (e ) =
Xc
M i=0 Ts1 k
j
Ts1
1
2i
1 MX
X1 ej M
M i=0
X2 (ej ) =
1.5.2.
fd i
M
(1.24)
Interpolaci
on por un factor entero
y[n]
-
22
CAPTULO 1. MUESTREO
x1 [n]
r
3
-
1
r
y[n]
r
r
r
r
r
y[n] =
x1 [n/L] n m
ultiplo de L
0
resto
(1.25)
y[n] ejn =
(1.26)
H(e ) =
L
|fd | < 1/2L
0 1/2L < |fd | < 0,5
(1.27)
23
X (ej )
:6 1
fs1
@
@
@
@
@
@
@
@
-2
-1
fs1
A
A
A
A
A
A
A
A
-2
A
A
A
@
@
A
A
A
A
A A A A
A
A
A
A
A
-1
A
A
A
A
@ - fd
1/2
X1 (ejL )
X
z6
X
A
A
A
@
@
- fd
X2 (ej )
A
A
:6
fs2
A
A
A
A
-2
A
A
-1
1/2L
- fd
x1 [n]
-
- H(ej )
x2 [n]
-
Interpoladores lineales
Acabamos de ver que para interpolar una se
nal, es necesario realizar un
relleno por ceros y un filtrado paso-bajo con un filtro de respuesta impulsiva:
h[n] = sinc
n
L
24
CAPTULO 1. MUESTREO
conoce como interpolador lineal. Se conoce con este nombre porque las nuevas
muestras se calculan trazando lneas rectas entre las disponibles. La figura 1.28
ilustra el proceso de interpolaci
on lineal. Cabra preguntarse que relacion existe
entre dicha interpolaci
on y la ideal con filtro paso-bajo. La respuesta es que
la interpolaci
on lineal equivale a un relleno por ceros seguido de un filtro de
respuesta impulsiva triangular, como la mostrada en la figura 1.29.
La figura 1.30 compara la respuesta en frecuencia del interpolador ideal
con el lineal. Podemos apreciar las siguientes diferencias:
El interpolador lineal aten
ua la parte alta de la banda de paso del ideal.
El interpolador lineal no elimina totalmente las repeticiones intermedias de la figura 1.26, excepto en torno a las frecuencias k/L, donde la
atenuaci
on es alta.
r
x1 [n]
r
3
-
1
r
x2 [n]
?
r
6
r
?
1
2
?
3
?
5
6
r
h[n]
1 r6
r r r r
r r r r-
25
1.5.3.
L
fs1
M
Es facil darse cuenta de que concatenando una interpolacion y un diezmado por factores enteros L y M respectivamente se logra el objetivo deseado.
Cabra la duda de que debe realizarse antes, la interpolacion o el diezmado.
Para responder a esta pregunta hay que recordar que el diezmado destruye informaci
on, hasta dejar la se
nal anal
ogica equivalente con un ancho de banda
fs1 /(2M ). Como dicho ancho de banda sera menor que el de la se
nal final, se
hace necesario realizar primero la interpolacion y luego el diezmado. Es decir,
primero se realizar
a lo mostrado en la figura 1.27, seguido de lo mostrado en
la figura 1.22. Al concatenar estas operaciones, aparecen dos filtros en cascada
26
CAPTULO 1. MUESTREO
x1 [n]
-
- H(ej )
x2 [n]
-
Consideraciones pr
acticas
Acabamos de ver un procedimiento para el cambio de la frecuencia de
muestreo por un factor racional. Sucede a menudo que aunque la frecuencia
de muestreo no cambie por un factor excesivamente grande, los terminos M y
L de la fracci
on, pueden serlo. Hemos comprobado que si se intenta el cambio
de frecuencia de muestreo en una u
nica etapa, la frecuencia de trabajo del
filtro necesario puede ser muy alta. Para solucionar el problema hay que hacer
lo siguiente:
Factorizar M y L.
Realizar cambios de frecuencia de muestreo por factores de muestreo
racionales resultado de agrupar los factores de M con los de L, de forma
que la frecuencia de muestreo en ning
un punto de la cadena sea menor
que mn(fs2 , fs1 ).
Veamos un ejemplo de lo que estamos diciendo. Supongamos que desamos
cambiar de la frecuencia normalizada del CD 44.1 kHz. a una de las frecuencias
27
L
L
= 44100
M
M
es decir
L
480
160
=
=
M
441
147
Si intentaramos realizar el cambio directamente, el filtro intermedio trabajara
a una frecuencia de 44100 160 7 106 hz. Factorizando M y L se obtiene:
160
222225
=
147
377
Sera posible por ejemplo la siguiente factorizacion:
160
845
=
147
737
1.5.4.
Aplicaci
on del diezmado a la conversi
on C/D
suaves. La se
nal a la salida del filtro sera la yc (t) de la figura. Esta
es la se
nal
que muestrearemos.
Es facil darse cuenta de que si muestreamos con una frecuencia de muestreo
fs1 > f1 + W no se nos va a producir solapamiento espectral en la banda
28
CAPTULO 1. MUESTREO
f1 = W (2L 1)
W
Haa (fc )
fc
6
@
@
@
@
W
Yc (fc )
f1
6
L
L
L
L XX
XX
L
f1
fc
fc
1.5.5.
Aplicaci
on de la interpolaci
on a la conversi
on D/C
En los apartados 1.2.1 y 1.2.2 hemos visto como se puede recuperar una
se
nal a partir de sus muestras. Vimos que era necesario el uso de un filtro
analogico de reconstrucci
on. Dicho filtro debera tener las siguientes caractersticas:
29
(dB)
3.9
0.9
0.2
0.06
Ademas, los nulos del sinc producen una atenuacion mnima de las diferentes repeticiones espectrales de:
fs W
(dB) = 20 log sinc
fs
L
1
2
4
8
(dB)
3.9
10.45
17.13
23.58
30
CAPTULO 1. MUESTREO
1.6.
Introducci
on a la codificaci
on de se
nales. Codificaci
on PCM
xc (t)
C/D
x[n]
Cuantif.
- Codificaci
on
1001101
31
1.6. Codificaci
on de se
nales
8
1.5
0.5
0
x
0.5
1.5
1.6.1.
Recuperaci
on de la se
nal
- Decodif.
1001101
Q1
xq [n]
D/C
x0c (t)
32
CAPTULO 1. MUESTREO
1.5
yk
0.5
0.5
1.5
8
0
k
33
1.6. Codificaci
on de se
nales
1.5
xq
0.5
0.5
1.5
1.5
0.5
0
x
0.5
1.5
Adviertase que la se
nal de salida no coincide con la de la entrada, incluso
en ausencia de aliasing, debido a que x[n] 6= xq [n].
1.6.2.
El ruido de cuantificaci
on
2Amax
2B
34
CAPTULO 1. MUESTREO
0.5
0.4
0.3
0.2
0.1
0
0.1
0.2
0.3
0.4
0.5
1.5
Amax
0.5
0
x
0.5
1.5
Sat.
y0
y5 y4 y3 y2 y1
y1 y2 y3 y4
r
r
r
r
r
r
r
r
r
r
u5 u4 u3 u2 u1 u0 u1 u2 u3 u4 u5
Sat.
-
La potencia es:
2 =
2
12
Es ruido blanco, es decir, los valores de ruido de cuantificacion en instantes diferentes de tiempo est
an incorrelados.
De acuerdo con el modelo de ruido de cuantificacion aditivo, cuando las
muestras cuantificadas se pasan por el D/C, a la salida se obtiene la se
nal
(supuesto que no existe aliasing):
x0c (t) = xc (t) + r(t)
donde r(t) es el ruido de cuantificaci
on analogico a
nadido resultado de aplicar
[n] al conversor D/C, y que es un proceso aleatorio de varianza r2 = 2 /12
cuyo espectro es plano en la banda de fs /2 a fs /2.
35
1.6. Codificaci
on de se
nales
x2
r2
= 10 log
x2
2 /12
= 10 log
x2
(2/2B )2 /12
S
(dB) = x2 (dB) + 4,7 + 6B
(1.29)
N
Notese que la anterior expresi
on indica que por cada bit que a
nadamos, mejoramos en 6 dB la relaci
on S/N (reducimos la potencia del ruido de cuantificacion
a la cuarta parte). La relaci
on S/N depende tambien, como es logico, de la
potencia de se
nal que tengamos, pero es interesante el hecho de que aumentando el n
umero de bits podamos hacer el ruido tan peque
no como se quiera (y
la tecnologa permita en un momento dado). Pongamos un ejemplo numerico
para ver valores tpicos de estas relaciones S/N. Si suponemos que la se
nal
xc (t) es un tono de amplitud 1/2, su potencia sera 1/8. Por tanto tendremos:
B
8
12
16
S/N (dB)
43.74
67.64
91.74
1.6.3.
Cuantificaci
on no uniforme
Estos presentan la particularidad de que todos sus intervalos de cuantificacion son iguales. En realidad no existe a priori ninguna razon para elegir los
intervalos de ese modo.
36
CAPTULO 1. MUESTREO
1.5
xq
0.5
0.5
1.5
1.5
0.5
0
x
0.5
1.5
log(1 + |x|)
log(1 + )
|x| 1
(1.30)
37
1.6. Codificaci
on de se
nales
FA (x) =
1 + ln A |x|
Sig(x)
1 + ln A
1
|x| 1
A
(1.31)
A |x|
Sig(x)
|x|
1 + ln A
1
A
Compresor
F (x)
Expansor
F 1 (x)
6
-
x[n]
6
-
- Cuantif.
Unif.
q-
xq [n]
Cuantif.
No-Unif.
-k
38
CAPTULO 1. MUESTREO
Captulo 2
Transformada Discreta de
Fourier
2.1.
Introducci
on
Hasta ahora hemos visto que para realizar el analisis en frecuencia de una
se
nal discreta x[n], se aplica sobre ella la Transformada de Fourier, obteniendose X(ej ). Dicha transformada es una funcion continua y por lo tanto no se
puede manejar de forma discreta. Sera interesante disponer de una representacion frecuencial discreta que nos facilitara la manipulacion de los datos en
el dominio de la frecuencia de forma discreta por medio de un procesador de
se
nal u ordenador.
En este captulo se presenta la herramienta que nos permite representar el
espectro de forma discreta, llamada Transformada Discreta de Fourier (DFT).
Para el calculo de dicha Transformada Discreta de Fourier existen algoritmos
muy eficientes que permiten el c
alculo de la misma con un n
umero reducido de
operaciones. Ello ha permitido que la DFT constituya una herramienta basica
no solo para el an
alisis frecuencial sino en numerosas aplicaciones.
2.2.
Representaci
on de Fourier de secuencias de
duraci
on limitada. La DFT
x[n] =
6= 0 0 n N 1
0
resto
39
40
N
1
X
x[n] ej 2 kn/N
k = 0, . . . , N 1
(2.1)
n=0
n = 0, . . . , N 1
(2.2)
Por tanto, la DFT puede considerarse como una transformacion que toma las
N muestras de una se
nal para dar lugar a N coeficientes X[k] y viceversa.
Relaci
on con la Transformada de Fourier
La se
nal x[n] tiene una transformada de Fourier que viene dada por:
X(ej ) =
x[n] ejn =
N
1
X
n=
x[n] ejn
(2.3)
n=0
donde la u
ltima igualdad se debe al hecho de que la se
nal x[n] es de duracion
limitada.
Comparando la anterior ecuaci
on con la definicion de DFT se puede ver
que:
X[k] = X(ejk ) donde k =
2k
,
N
fk =
k
,
N
0k N 1
(2.4)
41
La relaci
on entre el valor del ndice de la transformada y la frecuencia de
la Transformada de Fourier es:
k fk =
2k
k
k =
N
N
(2.5)
Periodicidad de la DFT
Si en la ecuaci
on 2.1 intentamos calcular X[k] para un valor k N se
puede comprobar que:
X[k + N ] = X[k]
0kN
Notaci
on
Denotaremos como ((n))N , y leeremos n m
odulo N a lo siguiente:
((n))N =
resto(n/N )
N resto(|n|/N )
n0
n < 0, |n| no m
ultiplo de N
n < 0, |n| m
ultiplo de N
2.3.
Propiedades de la DFT
Linealidad
Sean dos secuencias x1 [n] y x2 [n] de duraciones N1 y N2 .1 La secuencia
suma de ambas, x3 [n], tendr
a una duracion N que sera el maximo de N1 y
N2 . La DFT de N puntos de x3 [n] ser
a:
x3 [n] = x1 [n] + x2 [n]
DFTN
1
Las se
nales se consideran no nulas en el intervalo 0, . . . , N1 1 y 0, . . . , N2 1 respectivamente.
42
x[((n 2))6 ]
x[n]
6
r r r
6
r
r
r r
Desplazamientos circulares
Sea x[n] una se
nal de duraci
on finita N , definida entre 0 y N 1. Se define
el operador desplazamiento circular o cclico como:
y[n] = x[((n n0 ))N ]
siendo n0 un desplazamiento entero. El efecto que causa un desplazamiento
cclico sobre una se
nal se muestra en la figura 2.1. Puede observarse que:
La se
nal desplazada cclicamente tambien es de duracion finita N y no
nula en el intervalo 0 n N 1.
El desplazamiento circular es similar a uno normal (llamado en este
contexto lineal) salvo por el hecho de que las muestras que al desplazar
se saldran del intervalo 0 n N 1 reaparecen circularmente por el
otro extremo.
Si la secuencia x[n] de duraci
on N tiene por DFT de N puntos (DFTN ) a
X[k] entonces:
x[((n n0 ))N ]
DFTN
ej
2
N
n0 k
X[k]
43
x[n]
6
r r r
x[((n))6 ]
6
r
r r r
Dualidad e inversi
on cclica
Sea x[n] una se
nal de duraci
on finita N , definida entre 0 y N 1. Se define
el operador inversi
on circular o cclica como:
y[n] = x [((n))N ]
El efecto que causa una inversi
on cclica sobre una se
nal se muestra en la
figura 2.2.
Puede verse lo siguiente:
La se
nal invertida circularmente tambien es de duracion finita N y no
nula en el intervalo 0 n N 1.
La inversi
on cclica conserva la muestra de n = 0 en su ubicacion y el
resto de muestras cambian de orden.
La inversi
on circular de la inversion circular es la se
nal original, es decir
si
y[n] = x [((n))N ]
entonces
y [((n))N ] = x[n]
Sea una secuencia x[n] de duraci
on finita N tal que:
x[n]
entonces:
X[n]
DFTN
DFTN
X[k]
N x[((k))N ]
44
Simetras
Sea una secuencia x[n] de duraci
on N tal que:
x[n]
DFTN
X[k]
DFTN
x [((n))N ]
DFTN
X[((k))N ]
X [((k))N ]
DFTN
X [k]
Modulaci
on
Sea una secuencia x[n] de duraci
on finita N tal que:
x[n]
entonces:
x[n] ej2k0 n/N
DFTN
DFTN
X[k]
X[((k k0 ))N ]
Convoluci
on circular
Sean dos secuencias x1 [n] y x2 [n] ambas de duracion N (N = max{N1 , N2 },
completando con ceros la m
as corta si fuera necesario) cuyas DFTN son, respectivamente, X1 [k] y X2 [k]. Supongamos que calculamos:
X3 [k] = X1 [k] X2 [k] k = 0, . . . , N 1
45
n = 0, . . . , N 1
N
1
X
(2.6)
m=0
46
intervalo
de suma
6x1 [m]
q
q
-
x2 [m]
6
q
q q
x2 [((m))N ]
6
q
q q
q
-
x2 [((1 m))N ]
6
q
q
q q
q
-
m
Figura 2.3: Procedimiento de convoluci
on circular m
odulo 5 entre dos
secuencias.
En realidad la convoluci
on circular s tiene una utilidad y esta es que, bajo
determinadas condiciones, puede lograrse que la convolucion circular coincida
con la convoluci
on lineal (recordemos que en general esto no sucede). En ese
caso se tiene la eficiencia computacional de la convolucion circular y la utilidad
de la lineal. En la siguiente secci
on nos ocuparemos de ver las condiciones para
que esto suceda.
2.4.
Relaci
on entre convoluci
on circular y lineal
47
2.4. Relaci
on entre convoluci
on circular y lineal
intervalo
de suma
6x1 [m]
q
q
-
x2 [m]
6
q
q q
x2 [m]
6
q
q q q q
x2 [1 m]
6
q
q q q
m
Figura 2.4: Procedimiento de convoluci
on lineal entre dos secuencias
x1 [n] y x2 [n].
puede lograr que algunos e incluso todos los valores de la convolucion circular
sean identicos a la convoluci
on lineal.
Esto nos ser
a de utilidad en la siguiente seccion en la que veremos como
se pueden realizar filtrados (convoluciones lineales) usando convoluciones circulares (productos de DFTs, que se calculan con pocas operaciones).
48
2.4.1.
6x[m]
q
q q q q q
L1
N 1
h[m]
6
q
q q q q q q q
P 1
N 1
h[((m))N ]
6
q
q q q q q q q
q
-
N 1
N P +1
h[((1 m))N ]
6
q
q
q q q q q q q
q
-
m
Figura 2.5: Determinaci
on del periodo N para realizar la convoluci
on
circular. Hay que lograr que (N P + 1) > (L 1).
N 1
49
2.4. Relaci
on entre convoluci
on circular y lineal
(2.7)
- DFTN
?
x[n]
- Rell. 0
- DFTN
6
-DFT1
N
x[n]
- h[n]
50
2.4.2.
x[m] h[n m] ==
m=
c[n] = x[n]
N h[n] =
N
1
X
x[m] h[n m]
m=0
N
1
X
m=0
0mN 1
51
2.4. Relaci
on entre convoluci
on circular y lineal
intervalo
intervalo
de suma
x[m]
6
q
q q q q q q q q
q
de suma
x[m]
6
q
q q q q q q q q
q
h[m]
6
q q
q
h[m]
6
q q
q
q q q q q q q
P 1
q q q q q q q
q q
q
-
6
q q
q
q q q q q q q q q
h[1 m]
6
q
q q
q q q q q q q
h[((2 m))N ]
6
q
q q
h[m]
h[((1 m))N ]
6
q q
q q q q q q q
P 1
h[((m))N ]
6
q
q q q q q q q q
h[2 m]
6
q
q q
q q q q q q q
N 1
q q q q q q q
N 1
a)
b)
0n<P 1
52
2.5.
Implementaci
on de filtros LTI utilizando DFT
Acabamos de ver c
omo se puede utilizar la DFT para realizar convoluciones
lineales. En esta secci
on veremos c
omo utilizarla para filtrar se
nales. Consideraremos u
nicamente filtros FIR causales cuya respuesta impulsiva sera de
duracion P muestras (definida entre n = 0, . . . , P 1).
Si la se
nal a filtrar x[n] es de duracion finita, podemos aplicar lo visto en
el punto anterior. No obstante, si la se
nal a filtrar tuviera duracion infinita,
el metodo anterior no podra llevarse a la practica. En general tendremos
problemas cuando:
La se
nal tenga un comienzo, pero no se sepa cuando termina. En ese caso
deberemos esperar hasta que se de por terminada x[n]. En aplicaciones
interactivas (telefona) esto puede ser inaceptable.
Otro problema ser
a el retardo: para calcular la DFT (y por tanto la
convoluci
on) se necesita que esten presentes todas las muestras de la
se
nal a filtrar (x[n]), por lo que tendremos un retardo algortmico igual
a la duraci
on de la se
nal.
Para mitigar los anteriores problemas se utilizan dos metodos basados en
las siguientes ideas:
1. Se divide la se
nal de entrada en trozos de duracion razonable para que
el retardo no sea muy largo.
2. Se calcula la salida para cada trozo.
3. Finalmente, se combinan las respuestas de cada trozo de forma adecuada.
Los dos metodos para filtrar se
nales basandonos en la DFT se conocen
como el metodo de solape- suma y el de solape-almacenamiento. En los siguientes apartados se describen los mismos.
M
etodo de solape-suma
Los pasos a seguir para filtrar una se
nal x[n] de duracion infinita (o desconocida) con un filtro h[n] de duraci
on P utilizando este metodo son:
1. Se divide x[n] en trozos de longitud L, sin solape y sin dejar huecos.
Es decir, el primer bloque (bloque 0) incluira las muestras de n =
0, . . . , L 1, el segundo (bloque 1) las muestras n = L, . . . , 2L 1, y
53
2.5. Implementaci
on de filtros LTI utilizando DFT
x0 [n]
x1 [n]
x2 [n]
-
-
y0 [n]
+
P 1
y1 [n]
+
y2 [n]
Figura 2.8: Metodo Solape-Suma
xk [n]
k=0
yk [n]
k=0
Dado que los bloques y[k] tienen una duracion mayor que la de los bloques x[k], existir
a un solapamiento entre las respuestas de los distintos
bloques, lo que obligar
a a tener que realizar sumas de las colas de un
bloque con el comienzo del siguiente. La cantidad de nuestras que se
solapan es P 1. (Ver figura 2.8).
54
M
etodo de solape-almacenamiento
La se
nal, como en el caso anterior, x[n] de duracion infinita, se pretende
filtrar con un filtro h[n] de duraci
on P , para lo cual se debe seguir:
1. Se divide x[n] en trozos de longitud L, (en este metodo L > P ). Llamaremos a cada trozo xk [n] con k = 0, 1, . . .
2. Se calculan las DFTs de L puntos tanto del trozo k-esimo como de h[n].
Se multiplican y se calcula la DFT inversa de L puntos. El resultado,
como sabemos, es un vector de L muestras que contiene la convolucion
circular.
zk [n] = xk [n]
L yk [n]
De cada vector zk [n]:
Las primeras P 1 muestras no coinciden con la convolucion lineal
y se desechan.
Las muestras de n = P, . . . , L1 coinciden con las de la convolucion
lineal.
3. Al tomar el bloque siguiente (k + 1), previendo que sus primeras P 1
muestras de la convoluci
on circular van a ser erroneas, se elige el bloque
de modo que sus P 1 primeras muestras coincidan con las P 1 muestras
finales del bloque k. Finalemente, se desplaza cada salida a su lugar
correspondiente para componer la se
nal de salida.
4. De ese modo, la salida final, se obtiene yuxtaponiendo las muestras de
cada bloque que coinciden con la convolucion lineal.
En el bloque inicial, como no hay bloque anterior con el que solapar las
P 1 primeras muestras, se anteponen P 1 ceros.
La figura 2.9 muestra el procedimiento.
2.6.
55
x[n]
x0 [n] 0..,0
P
-1
x1 [n]
-
L
x2 [n]
z0 [n] @
@
z1 [n] @
@
z2 [n] @
@
y[n]
Figura 2.9: Metodo Solape-Almacenamiento
X(e ) =
x[m] ejm
(2.8)
m=
X[k]
= X(ej )
=2k/N
= X(ej2k/N )
(2.9)
56
2 y la separaci
on entre muestras es 2/N , con lo que el periodo de X[k]
1
resultara ser N . Por otro lado la DFS de los X[k] obtenidos resulta ser:
x
[n] =
1
1 NX
ej2kn/N
X[k]
N k=0
(2.10)
Sustituyendo en la ecuaci
on (2.10) la expresion de X(ej ) dada por la ecuacion (2.8) se obtiene:
x
[n] =
1 X
1 NX
x[m] ej2km/N ej2kn/N
N k=0 m=
x
[n] =
x[m]
m=
1
2
1 NX
ej N (nm) k
N k=0
donde:
1
2
1 NX
ej N (nm) k =
N k=0
1 si n m = r N
0 resto
[n m rN ]
r=
obteniendose finalmente:
x
[n] =
X
m=
x[m]
[n m rN ] = x[n]
[n rN ]
r=
r=
x
[n] =
x[n r N ]
(2.11)
r=
La ecuaci
on (2.11) indica que la secuencia periodica x
[n], que tiene como
DFS los coeficientes obtenidos al muestrear la transformada de Fourier de la
secuencia x[n], se obtiene repitiendo la propia secuencia x[n] cada N muestras y
posteriormente sumando todas las repeticiones, como puede verse en el ejemplo
de la figura 2.10.
Podemos realizar las siguientes observaciones:
Si la duraci
on de la secuencia original x[n] es menor o igual que N
(y por tanto finita) no habr
a solape entre las distintas repeticiones. Si
conocemos el intervalo en que la se
nal x[n] era no nula sera posible
recuperar dicha se
nal a partir de x
[n].
57
...
...
q q q
x[n]
6
q
q
q
q q q
...
-
x[n] [n 3]
6
q
q
q ...
q q q q q q
q q -
...
x
[n]
6
q
q
q
q
q
q
q
q
...
-
Si la duraci
on de la secuencia original x[n] es mayor que N habra solape.
En ese caso no es posible conocer la secuencia inicial a partir de x
[n].
El razonamiento anterior nos viene a decir que si la se
nal es de duracion finita
y menor que el n
umero de muestras tomadas de la TF, las muestras de la TF
(coeficientes de la DFS de x
[n]) contienen toda la informacion de x[n] (o de
forma equivalente de su TF X(ej )).
Notese la dualidad que existe entre el muestreo de la TF de una se
nal
discreta y el muestreo de se
nales continuas en el tiempo:
En el caso del muestreo en el dominio del tiempo, para que el muestreo
de una se
nal continua x(t) contenga toda la informacion de la se
nal, la
separaci
on de las muestras mnima debe ser:
t =
1
Ancho del espectro
donde ancho del espectro es la anchura del intervalo del eje de frecuencias
(positivas y negativas) en que la TF de la se
nal es no nula.
En el caso del muestreo de la TF, la separacion entre muestras espectrales
debe ser:
1
f =
Duracion de la se
nal
en ambos casos la separaci
on entre muestras consecutivas debe ser menor que
la inversa de la extensi
on de la se
nal en el dominio contrario al que se muestrea.
58
2.7.
C
alculo eficiente de la Transformada Discreta
de Fourier (La FFT)
La FFT es un metodo r
apido de calculo de la transformada discreta de
Fourier que fue publicado en 1964 por Cooley y Tukey, el cual es ya conocido
universalmente por sus siglas en ingles FFT (Fast Fourier Transform). La
eficiencia de este metodo se muestra en la tabla 2.1, donde se compara el
n
umero de operaciones a realizar para implementar la DFT de N puntos por
el metodo directo (N 2 ) y por el algoritmo rapido (N log2 N ), as como la
N2
eficiencia conseguida utilizando la FFT ( N log
N ).
2
N
32
64
128
256
.
.
.
4096
Directo
1024
4096
16384
65536
.
.
.
17,106
FFT
160
384
896
2048
.
.
.
49,103
Eficiencia
6.4
10.7
18.3
32
.
.
.
341
2.7.1.
Consideraciones previas
59
2.7. La FFT
X[k] =
N
1
X
x[n] WNk n
(2.12)
n=0
donde
WN = ej2/N
Ecuaci
on de Sntesis (Transformada Inversa)
x[n] =
1
1 NX
X[k] WNk n
N k=0
(2.13)
As, seg
un la ecuaci
on (2.12), para implementar la DFT por el metodo
directo, para cada valor de k (o para cada n si se trata de la DFT inversa) se
deben realizar N productos complejos y N 1 sumas complejas, por lo que
en total, el n
umero de operaciones a realizar sera:
2
Num. de ops. = Nproductos
complejos + N (N 1)sumas complejas
Sean dos n
umeros complejos z1 = a + j b y z2 = c + j d, el n
umero de operaciones reales
necesarias para realizar su suma es:
z1 + z2 = (a + c) + j (c + d) 2 sumas reales
y para calcular su producto:
z1 z2 = (ac bd) + j (ad + bc) 4 productos reales y 2 sumas reales
60
WN
= WNk n = (WNk n )
Periodicidad en n y en k.
k (n+N )
WNk n = WN
(k+N ) n
= WN
Si N par, entonces:
r+N/2
WN
= WNr
WN/2 = WN2
Transformada inversa
En el resto del tema, s
olo desarrollaremos los distintos tipos de algoritmos
para el calculo de la DFT, ya que las estructuras necesarias para implementar
la DFT inversa son similares (
unicamente se diferencian en los coeficientes
multiplicativos). Adem
as, la DFT inversa se puede incluso calcular utilizando
el algoritmo r
apido de c
alculo de la DFT ya que hay relaciones entre ellas que
nos permiten hacerlo. Como ejemplo, presentaremos dos formas de relacionar
ambas transformaciones:
1. DFT y DFT inversa se diferencian u
nicamente en el factor 1/N y en
2
el signo de la exponencial ej N k , como puede observarse comparando
las ecuaciones de an
alisis y sntesis (2.12 y 2.13). Por tanto, se podra
realizar la DFT inversa usando una FFT y utilizando la expresion (2.14),
resultando un algoritmo cuyo diagrama de bloques se muestra en la
figura 2.11.
!
1
1 NX
j 2N n k
x[n] =
X [k] e
(2.14)
N k=0
2. Aplicando la propiedad de la dualidad de la DFT. Si
x[n]
DFT
X[k]
61
2.7. La FFT
entonces
DFT
X[k]
N x[((n))N ]
0nN 1
2.7.2.
En esta secci
on se van a explicar el primer tipo de algoritmos FFT, los
de diezmado en el tiempo. Estos algoritmos, al igual que los de diezmado en
frecuencia que veremos en la secci
on 2.7.3, son mas eficientes si la DFT a
calcular es de N puntos, con N potencia de 2 (N = 2 Z). Sin embargo,
en la seccion 2.7.5 veremos una generalizacion de los mismos para el caso en
que N no sea potencia de 2.
Los algoritmos de diezmado en el tiempo se basan en descomponer x[n]
en subsecuencias recursivamente, calcular las DFTs de cada subsecuencia y
combinarlas para componer la DFT de subsecuencias mayores, hasta llegar a
la secuencia x[n] de N puntos.
Tomando como partida la ecuaci
on de analisis de la DFT,
X[k] =
N
1
X
x[n] WNk n
n=0
X
n
N
2
par
N
2
x[2 r] WN2 r k
r=0
X[k]-
( )
x[n] WNk n +
- FFT
x[n] WNk n =
impar
(2 r+1) k
x[2 r + 1] WN
r=0
( )
1
N
x[n]-
62
x[0] b -
x[2] b -
G[0]
0 - b
1
DFTN/2
x[4] b -
x[6] b -
x[1] b -
x[3] b -
1
DFTN/2
x[5] b -
x[7] b -
b X[0]
@
WN0
b
b @
- G[1]
X[1]
@
@
WN1
@
b
b @
- G[2]
@ X[2]
@
@
@
2
R
@
W
@
@
N
b X[3]
b @
- G[3]
@ - @
@
@
@
R
@
@
WN3
@
@
@
@
@
@
@
@
@
R
@
@ @
@
@
@ @ b X[4]
- b
@
@
@
@
H[0]
4
R
@
@
@WN
@
@ @ b X[5]
- b
@
@
H[1]
5
@
@WN
@ @ b X[6]
- b
@
H[2]
6
@WN
@ b X[7]
- b
-
H[3]
WN7
A a
-a
aB
B =aA
A a
aB
B=A
A a
a
C
*
C =A+B
a
B
Figura 2.13: Smbolos utilizados en los diagramas de bloques del algoritmo FFT.
63
2.7. La FFT
resulta:
N
2
X[k] =
X
r=0
N
2
rk
x[2 r] W N
+
2
r=0
rk
k
x[2 r + 1] W N
WN
llamando:
N/21
G[k] =
rk
x[2 r] WN/2
r=0
N/21
H[k] =
rk
x[2 r + 1] WN/2
r=0
(2.15)
N
2
2
+N =N +
N2
productos complejos
2
64
x[0] c x[2] c -
G[0]
0
0 - c
@
DFTN/2
G[1] @
1
1 - c @ -
c X[0]
WN0
c X[1]
@
@
R
WN1
@
@
@
@
@
@
R
@
@
@
@ c X[2]
c
0
0
@ H[0]
2
@ WN
DFTN/2
@
@ c X[3]
1
1 - c
x[1] c x[3] c -
H[1]
WN3
65
2.7. La FFT
x[0] c x[4] c -
x[2] c x[6] c -
x[1] c x[5] c -
x[3] c x[7] c -
0
0 DFTN/4
1
1 -
0
0 DFTN/4
1
1 -
0
0 DFTN/4
1
1 -
0
0 DFTN/4
1
1 -
c
c
cX[0]
@
@
0
0
R
@
WN
WN/2 @
@
c
c
c
@
@
X[1]
@
@
@
1
1@
R
@
WN
@
@
@ WN/2 @
R
@
@
@
@
@
@
@
@
@
@c
cX[2]
c
@
@ 2 @
@
R
@
W
2
WN
@
@ N/2 @
@
@
@
@c
c
cX[3]
@
@
3 @
@
@
@
WN/2
3
@
@
@ WN
@
R
@
@
@
@
@
@
@
@
@
@ cX[4]
c
c
@
@
4
@
@
R
@
W
0
R
@
@ N
@
@
WN/2
@
@
@
@ cX[5]
c
c
@
@ @
@
@
@
WN5
1
R
@
@
@
@
@ WN/2
@
@
@
@
@
@
@
@
@ cX[6]
@c
c
@
@ 2
6
W
@WN
@ N/2
@
@
@ cX[7]
@c
c
3
WN/2
WN7
Figura 2.15: Algoritmo FFT de diezmado en el tiempo (N = 8): resultado de descomponer las DFTs de N/2 en DFTs de N/4.
El n
umero de operaciones (productos complejos) del algoritmo FFT, desarrollado hasta las DFTs de 2 puntos (como el de la figura 2.18) sera:3
N productos N umetapas = N log2 N
etapa
66
x[0] c x[4] c -
x[2] c x[6] c -
x[1] c x[5] c -
x[3] c x[7] c -
0
0 DFTN/4
1
1 -
0
0 DFTN/4
1
1 -
0
0 DFTN/4
1
1 -
0
0 DFTN/4
1
1 -
c
c
cX[0]
@
@
0
0
R
@
WN
@
WN @
c
c
c
@
@
X[1]
@
@
@
1
2@
R
@
WN
@
@
@ WN @
R
@
@
@
@
@
@
@
@
@
@c
cX[2]
c
@
@
@
4
@
R
@
2
W
WN
@
@ N @
@
@
@
@c
c
cX[3]
@
@
@
@
@
3
WN6 @
@
@
@ WN
@
R
@
@
@
@
@
@
@
@
@
@ cX[4]
c
c
@
@
4
@
@
R
@
W
0
R
@
@ N
@
@
@
WN
@
@
@ cX[5]
c
c
@
@ @
@
@
@
WN5
2
R
@
@
@
@
@ WN
@
@
@
@
@
@
@
@
@ cX[6]
@c
c
@
@
6
4
WN
@WN
@
@
@
@ cX[7]
@c
c
-
WN6
WN7
b
X[0]
@
R
@
0
@ WN = 1
@
@
-@ X[1]
b
x[1] b
N
WN2 = 1
Figura 2.17: Algoritmo FFT de diezmado en el tiempo (N = 2).
67
2.7. La FFT
b X[0]
b
- b1 @
PP
@
0
0 @
R
0
W
W
N
PPPN
WN @
@
Pb
b X[1]
b
- b- @
@
@
@
1
WN4
R
@
@
@
WN
W2
@
R
@
@ N @
@
@
@
@
@
@
b X[2]
b
b
bP
@
@
q
PP
1
@
4
R
@
PP 0
@
@
@
2
WN
WN
@
WN
P P
@
@
@
P
@b- @
Pb
b X[3]
b
@
@
@
3
WN6 @
WN4
@
@
@
@ WN
R
@
@
@
@
@
@
@ -@ b
bP
b
- b
@
q
PP -
1 @
@
@ W 4 X[4]
R
@
PP
@
0 @
R
0
W
@
@ N
PPPN
WN
@
@
Pb
b
b -@ b X[5]
@
@
@
@
@
WN5
WN4
R
@
@
2
@
W
@
@
N
@
@
@
@
@
@ -@ b
@
b
bP
b
@
q
PP
1
@ W 6 X[6]
4
PP
@WN
0
W
P
@ N
PPN
@
@b
Pb
b -@ b X[7]
x[0] bP
q
PP x[4]
x[2]
x[6]
x[1]
x[5]
x[3]
x[7]
WN7
WN6
WN4
Figura 2.18: Algoritmo FFT de diezmado en el tiempo (N = 8).
2 N
)2
WN2 = ej( N
r+ N
2
r+ N
2
WN
= ej
WN
68
etapa m 1
Wr
a- N a
a
etapa m
@
1
- @a
N
log2 N
2
b- b
x[0] b- bP
qP P
1
P
@
R
@
P
0
PP
@
W
P
b
b
b
b
N
x[4]
1
@
R @
@
- b
- b
@ @
@ @
W0
@ bx[2] b- bP
b- Nb
qP P
1
@ 1
P
PP
@
PP bWN0 b
WN2b
@ bx[6] b-
b
- bX[0]
@
b @
- bX[1]
@ @
@ @
@
@
b
- bX[2]
@ @
@
@ @
b @
- bX[3]
@
@
@
1
1
@ @
@ @@
@ @
@ @@
@
0
@
@
@
R
W
@ @ bX[4]
- b- N b
x[1] b- bP
@
b- b
qP P
1
@
@
1
@
P
@
R
@
@
P
@
@
PP
@
R
WN0 b
WN1 b
P b- b @
- bx[5] b@ @@ -@ bX[5]
@
1
1
@
R
@
@ @@
@ @
@ @@
@ W2
0
@
@
@
R
W
@ @ bX[6]
@ b- N b
b- Nb
x[3] b- bP
qP P
1
@
@ 1
1
@
P
P
@
@ W3
PP
@
R
WN0 b
WN2b
@ bX[7]
@ b- N b
P bx[7] b-
69
2.7. La FFT
2.7.3.
N
1
X
x[n] WNn k
n=0
N
1
X
x[n] WNn 2 r
(2.16)
n=0
k impar k = 2 r + 1 X[2 r + 1] =
N
1
X
n (2 r+1)
x[n] WN
(2.17)
n=0
Empezaremos el estudio por los valores que ocupan una posicion par en la
secuencia de coeficientes de la DFT. Separando el sumatorio de la ecuacion
(2.16) en dos sumatorios tenemos:
N/21
X[2 r] =
nr
x[n] WN/2
+
n=0
N
1
X
nr
x[n] WN/2
n=N/2
Arreglando el segundo sumatorio para que ambos tengan los mismos lmites,
se obtiene:
N/21
N/21
X[2 r] =
X
n=0
nr
x[n] WN/2
+
X
n=0
r (n+N/2)
70
x[0] c
- g[0]
c
0 -
cX[0]
c
- g[1]
1 -
cX[2]
- g[2]
c
2 -
cX[4]
- g[3]
c
3 -
cX[6]
0
W
-N
0 -
cX[1]
1
W
-N
1 -
cX[3]
@
@
x[1] c
@
@
x[2] c
@
@
@
@
@
x[3] c
@
@
@
@
@
x[7] c
@
@
@
@
@
@
R
@
@
@ @
@
@h[0]
c
@
@
@
@
1
@
@
@
R
@
@
@ @
@
@h[1]
c
@
@
@
1
@
@
R
@
@ @
@
@h[2]
c
@
@ 1
@
@
R
@
@
@h[3]
c
-
x[6] c
@
@
x[5] c
@
@
x[4] c
DFTN/2
DFTN/2
2
W
-N
2 -
cX[5]
3
W
-N
3 -
cX[7]
N/21
X[2 r] =
nr
x[n] WN/2
+
rn
x[n + N/2] WN/2
n=0
n=0
N/21
X[2 r] =
nr
(x[n] + x[n + N/2]) WN/2
n=0
La exponencial es peri
odica, de periodo N/2, por lo que:
r (n+N/2)
WN/2
rn
= WN/2
(2.18)
71
2.7. La FFT
Procediendo de la misma forma con los coeficientes de orden impar, desarrollaremos la ecuaci
on (2.17), obteniendo:
N/21
X[2 r + 1] =
nr
x[n] WN/2
WNn +
n=0
N
1
X
nr
x[n] WN/2
WNn
n=N/2
X[2 r + 1] =
N/2
nr
x[n] WN/2
WNn
n=0
(n+N/2) r
n+N/2
WN
n=0
X[2 r + 1] =
N/2
nr
x[n] WN/2
WNn +
n=0
n+N/2
nr
x[n + N/2] WN/2
WN
n=0
x[n]
6
HH
H
N/2
6
-
N/2 1 n
+m- g[n]
?
6
HH
H
6
-
N/2 1 n
6
-
N/2 1 n
6
H
+ ?
m- h[n]
6
HH
N/2 1 n
72
n+N/2
= WNn :
N/21
X[2 r + 1] =
N/2
nr
x[n] WN/2
WNn +
n=0
nr
x[n + N/2] WN/2
(WNn )
n=0
X[2 r + 1] =
nr
(x[n] x[n + N/2]) WN/2
WNn
(2.19)
n=0
X[2 r] =
nr
g[n] WN/2
(2.20)
n=0
N/21
X[2 r + 1] =
nr
(h[n] WNn ) WN/2
(2.21)
n=0
2.7.4.
Una vez vistos los dos tipos de algoritmos para realizar la FFT, en este
punto vamos a ocuparnos de una serie de consideraciones practicas a tener en
cuenta a la hora de implementarlos, como:
Cantidad de memoria utilizada en la implementacion del algoritmo, la
cual se minimiza con los algoritmos en el sitio.
73
2.7. La FFT
x[0] b- bP
PP q
b1
P
P
W 0 PPP bx[4] b- N b -
b
- b@
R
@
- bb @
1
@
R @
@
@ @
0
@ @W
@ bx[2] b- bP
b- Nb
qP P
@ 1
1
P
P
@
W 0 PPP bWN2 b
@ bx[6] b- N b -
b
- bX[0]
@
- bX[1]
b @
@ @
@ @
@
@
b
- bX[2]
@ @
@
@
@
- bX[3]
b @
@ @
@
@
1
1
@
@ @
@
@ @
@ @
@
@
0
@
@
@
@
R
@
W
@ bX[4]
b- b
- b- N b
@
x[1] b- bP
qP P
@
1
@
@
1
@
P
R
@
@
P
@
@
@
R
@
W 0 PPP b- b @
WN1 b
@
@ bX[5]
- b@
x[5] b- N b @
@
@
1
1
@
R
@
@
@
@ @
@ @
@
@
0
2
@
@
@
@
R
@
W
W
@ b- N b
@ bX[6]
x[3] b- bP
b- Nb
qP P
@
1
@
@
1
1
P
P
@
@
@
R
@
W 0 PPP bWN2 b
WN3 b
@ b@ bX[7]
x[7] b- N b 1
1-
1
-
etapa 1
etapa 2
etapa 3
Ordenaci
on de los datos de entrada al algoritmo.
Formas alternativas de realizar el algoritmo FFT.
Minimizaci
on de los c
alculos de las exponenciales involucradas en el proceso utilizando distintas estrategias.
Algoritmos en el sitio
El diagrama de flujo de la FFT (figura 2.21) representa el algoritmo a
implementar. Dentro de este grafo aparecen una serie de nodos que representan
las variables necesarias para realizar el programa, es decir, la cantidad de
almacenamiento necesario. En un grafo como el de la figura 2.24 se observa
que el algoritmo se divide en = log2 N etapas, en nuestro ejemplo el n
umero
de etapas es 3. Cada etapa obtiene N complejos de salida (8 en el ejemplo), a
partir de otros N complejos de entrada.
Una forma de almacenar los datos y resultados necesarios para realizar el
programa que implemente un algoritmo como el de la figura 2.24 es utilizando
vectores que permitan almacenar los valores complejos de las entradas y las
salidas de las distintas etapas. Para tener almacenados N complejos de entrada
74
Xm1 (p) c -
c@
R
@
@
c Xm (p)
@
Wr
Xm1 (q) c - N c
@
@
1
- @ c Xm (q)
75
2.7. La FFT
n2
n1
-0
-0
-1
x[n2 n
-1 n0 ]
-0
-1
-1
n0
-0
x[000] = x[0]
-1
x[001] = x[1]
-0
x[010] = x[2]
-1
x[011] = x[3]
-0
x[100] = x[4]
-1
x[101] = x[5]
-0
x[110] = x[6]
-1
x[111] = x[7]
76
n0
n1
-0
-0
-1
x[n2 n
-1 n0 ]
-0
-1
-1
n2
-0
x[000] = x[0]
-1
x[100] = x[4]
-0
x[010] = x[2]
-1
x[110] = x[6]
-0
x[001] = x[1]
-1
x[101] = x[5]
-0
x[011] = x[3]
-1
x[111] = x[7]
n0 = 1 (impares) pasar
an a la mitad inferior. Para las dos subsecuencias obtenidas se debe repetir el mismo proceso (N veces), hasta obtener subsecuencias
de un solo elemento (figuras 2.17 y 2.15). As pues, la ordenacion bit inverso
de la figura 2.27 es equivalente a separar la secuencia en muestras que ocupan
lugares pares o impares en la misma.
Formas alternativas
Si observamos las figuras que representan el grafo del algoritmo FFT (figuras 2.18 y 2.21) podemos darnos cuenta que podramos cambiar el orden de los
datos de entrada al algoritmo FFT siempre y cuando, con la nueva ordenacion,
una muestra siga el mismo proceso, es decir, pase por las mismas ramas que
en el algoritmo original. Lo realmente importante es que una muestra sufra
los calculos necesarios para que a la salida se obtengan los coeficientes de la
DFT, sin importar el orden en que se realicen los mismos. As pues, se podra
pensar en nuevas ordenaciones de los datos que den lugar a nuevos grafos para
representar el algoritmo FFT. En la figura 2.28 puede observarse la forma del
grafo cuando el orden de la secuencia de entrada corresponde al orden natural,
que es, precisamente, el grafo original presentado por Cooley y Tukey.
Las implementaciones con las muestras de entrada en orden natural son
muy u
tiles en procesos en los que haya que concatenar FFT e FFTi, por ejemplo un filtrado (figura 2.29). De esta forma se pueden evitar varias ordenaciones
77
2.7. La FFT
WN0
-
W0
x[7] b - N
b
@
b
- b
@
@
@
b
b
b
@- b
@
@
@
@
@
R
@
WN0 b @ -@
@
@
@b
b
b
@
@
@
1
@
@
@
@
R
@
@
W0
@
@b
b
-@
@- b - N b
@
@
1
@
@
@
@
R
@
@
@
@
@b b
b
- b
@
@
@
1
@
@
@
@
R
@
@
@
@
b
b
@- @ b @- b
@
1
@
@
@
@
R
@
R
@ @
@ W2
@
b
@- @ b - N b
@- @ b
1
1
@
@
R
@
R
@
WN2 b
@b @b
b
-@
-@
-
b -
b
- b X[0]
H
*
H
H
H
WN0 b jH
H
H b X[4]
-
bH
- b X[2]
*
H
H
H
2
WN b -H
jH
H b X[6]
-
bH
- b X[1]
*
H
H
H
1
WN b -H
jH
H b X[3]
-
- b X[5]
*
H
H
3
H
WN b -H
jH
H b X[7]
-
bH
orden
orden
natural
natural
Relleno
- FFTN
con 0
x[n]
h[n]- Relleno
- FFTN
con 0
orden
orden
natural
natural
orden
bit inverso
?
- FFT1
N
orden
bit
inverso
6
orden
natural
orden
bit inverso
de la secuencia, proceso que puede resultar cada vez mas lento a medida que
N crece.
Ademas de la estructura de la figura 2.28 existen otras formas derivadas
de las distintas ordenaciones de los datos de entrada y los nodos intermedios,
de las cuales no vamos a ocuparnos aqu.
78
C
alculo de coeficientes
Como hemos visto anteriormente, para implementar el algoritmo FFT hace
falta una serie de coeficientes exponenciales WNr donde r = 0 . . . (N/2) 1,
cuyo calculo es un proceso que debe ser optimizado. Para ello se utilizan dos
metodos diferentes:
Uso de una tabla: calcular previmente todos los coeficientes necesarios
para implementar el algoritmo y guardarlos en una tabla. Este metodo
minimiza el tiempo de c
alculo, pero necesita memoria para almacenar la
tabla.
Calculo recursivo: consiste en calcular los coeficientes cuando sean necesarios. En una etapa dada todos los coeficientes necesarios son m
ultiplos
de WN . Para optimizar se aplica la siguiente formula recursiva:
(l1)
WNl = WN WN
ejemplo WN4 = j.
2.7.5.
Algoritmos con N 6= 2
79
2.7. La FFT
Ejemplo: N = 3
Tendremos que realizar 3 DFTs de N/3 puntos.
X[k] =
N
1
X
x[n] WNk n
n=0
X[k] =
N
3
x[3 r] WN3 r k
r=0
N
3
x[3 r +
(3 r+1) k
1] WN
r=0
(3 r+2) k
x[3 r + 2] WN
r=0
siendo
rk
WN3 r k = W N
3
X[k] =
X
r=0
N
1
1
3
X
X
rk
r k
r k
k
2k
x[3 r] W N
x[3 r + 1] W N
x[3 r + 2] W N
+
WN +
WN
3
N
3
r=0
r=0
(2.22)
N
3
En la ecuaci
on (2.22) puede observarse que
X
r=0
N
3
N
3
rk
x[3 r] W N ,
3
rk
x[3 r + 1] W N
r=0
rk
, son DFTs de N/3 puntos combinadas entre s por coefix[3 r + 2] W N
3
r=0
cientes exponenciales m
ultiplos de WN . Este proceso debe iterarse hasta obtener DFTs simples de 3 puntos. Con esto queda visto que el algoritmo general
5
La notaci
on 3 indica m
ultiplos de 3.
80
conserva la misma idea que los algoritmos de diezmado en el tiempo (idem para frecuencia) vistos en secciones anteriores para N = 2 , aunque en nuestro
ejemplo la base en vez de 2 es 3. Si los factores en los que se descompone N
son diferentes (n1 6= n2 6= . . . 6= nL ), la base sera mixta.
2.8.
Problemas
x1 [n] =
x[n]
0nN 1
x[2N 1 n] N n 2N 1
Dibuje una se
nal arbitraria de 3 puntos y su correspondiente x1 [n]
Si llamamos X1 [k] a la DFT de 2N puntos de x1 [n], demuestre que:
Cx [k] = ejk/2N X1 [k]
es real.
Encuentre que simetras existen en los valores de Cx [k].
Demuestre que se puede obtener x[n] a partir de Cx [k],
0, . . . , N 1 e indique c
omo. 6
k =
N
1
X
5. Sean dos se
nales de duraci
on finita x[n] e y[n] tal que
(
x[n] =
x[n] si 0 n 19
0
resto
y[n] =
y[n] si 0 n 4
0
resto
81
2.8. Problemas
a) Cu
al es el m
aximo n
umero posible de valores distintos de 0 en el
resultado de la convoluci
on lineal entre x[n] e y[n]? b) La convolucion
circular de 20 puntos de x[n] e y[n] es:
x[n]
20 y[n] = 15
0 n 19
0n3
N = 3 . Indique cu
anto vale el n
umero de productos complejos en este
caso.
8. Demuestre que una DFT de 4 puntos se puede realizar sin productos
complejos.
9. Desarrolla hasta la FFT2 el algoritmo de diezmado en frecuencia para
N = 8 de la figura 2.22.
10. Dibuje el diagrama de flujo del algoritmo FFT de diezmado en el tiempo
cuando N = 9 (ver secci
on 2.7.5).Cual sera en este caso el orden de los
datos de entrada?. Cu
antas operaciones por etapa se realizan? Cuantas
operaciones totales?.
11. Determine el n
umero de operaciones a realizar para implementar el algoritmo FFT de diezmado en el tiempo cuando N = a siendo a, Z.
82
Captulo 3
Implementaci
on de Filtros
Digitales
3.1.
Introducci
on
3.1.1.
84
DE FILTROS
CAPTULO 3. IMPLEMENTACION
3.1. Introducci
on
85
Separaci
on de se
nales multiplexadas en frecuencia Tal y como se acaba de mencionar, cuando se multiplexan se
nales en frecuencia, cada una
de ellas ocupa una banda de frecuencias diferente. Para extraer una se
nal
es necesario el uso de un filtro que deje pasar la banda de frecuencias
ocupada por la misma y aten
ue el resto. Si se desean obtener todas las
se
nales ser
a necesario el uso de banco de filtros.
Controles de tono en audio De todos son conocidos los controles de graves y agudos de los equipos de audio. Estos controles no son otra cosa
que filtros cuyas caractersticas podemos variar mediante un mando, de
forma que enfaticemos o atenuemos a voluntad bien las frecuencias altas,
bien las bajas.
Ecualizadores de audio Permiten controlar de forma mas flexible la respuesta en frecuencia. Consisten normalmente en agrupaciones en cascada o paralelo de filtros paso-banda centrados en distintas frecuencias
en los que es posible variar su ganancia. Dado que permiten variar individualmente la respuesta en frecuencia en un n
umero mas grande de
frecuencias, permiten un control mas exacto de la respuesta en frecuencia
que los controles de tono.
Interpolaci
on y diezmado de se
nales discretas Esta es una aplicacion
tpica de los filtros digitales. Recordemos que la se
nal debe ser prefiltrada antes de ser diezmada, y cuando se interpola hay que filtrar la
se
nal tras el relleno por ceros.
Conversi
on D/A Para eliminar las frecuencias imagen, es necesario el uso
de un filtro reconstructor tras la conversion D/A.
La anterior relaci
on no pretende ser exhaustiva y u
nicamente pretende ilustrar
algunas de las aplicaciones m
as conocidas de los filtros.
3.1.2.
86
DE FILTROS
CAPTULO 3. IMPLEMENTACION
87
x[n]
y[n]
x(t)
y(t)
- A/D
6
fs
h[n]
- D/A
6
fs
Calidad del A/D y el D/A. Cuando un filtro digital se usa para filtrar
se
nales anal
ogicas, (figura 3.1) es necesario un interfaz analogico. La
calidad en cuanto a n
umero de bits, linealidad, etc. de los conversores va
a condicionar mucho la calidad del filtrado analogico equivalente que se
logre.
Velodidad del A/D y el D/A. Para poder filtrar se
nales analogicas usando filtros digitales ya hemos dicho que se hace necesario un interfaz
analogico. En la medida en que se disponga de conversores suficientemente r
apidos y precisos se podra llevar a cabo el filtrado digital. Actualmente (1998) la tecnologa ofrece conversores de muy bajo coste y
alta calidad en frecuencias de audio (fs 45 Khz), donde es posible
encontrar conversores de m
as de 20 bits. En el margen de frecuencias
de video (fs 13 Mhz) existen conversores estandar de 8 bits, pero se
pueden encontrar de 10 y 12. Existen tambien conversores A/D y D/A
para aplicaciones especiales capaces de trabajar a frecuencias muy elevadas (con pocos bits). De entre ellos se puede mencionar los que utilizan
algunos osciloscopios digitales con frecuencias de muestreo de 2 Ghz, con
6 bits de resoluci
on.
Efectos de precisi
on finita. Se deben a redondeos en las operaciones que
realizan los filtros digitales. Se estudiaran a lo largo del tema.
Tiempo y coste del desarrollo del hardware. Un filtro digital implicara normalmente el desarrollo de un sistema microprocesador con interfaz anal
ogico.
3.2.
88
DE FILTROS
CAPTULO 3. IMPLEMENTACION
h[k] x[n k]
(3.1)
k=
sirve no solo para analizar el comportamiento del filtro sino para implementarlo. Ello es debido a que la expresi
on (3.1) incluye u
nicamente productos y
89
h[k] x[n k]
(3.2)
k=0
3.2.1.
L
X
h[k] x[n k]
(3.3)
k=0
Es facil ver que para calcular cada valor de la salida y[n] es necesario:
Realizar L + 1 productos.
Realizar L sumas.
Almacenar L valores anteriores de la entrada x[n]
Dado que tanto la cantidad de almacenamiento como el n
umero de operaciones por muestra de salida es finito podemos decir que los filtros FIR son
implementables, y que la expresi
on de la convolucion constituye una forma
directa de implementaci
on. Ya se han estudiado otras formas de implementar
(3.4)
en la que se puede observar que los coeficientes de la funcion de transferencia (3.4) coinciden con los de la expresion (3.3) de filtrado.
Un aspecto importante que conviene tener presente y en el que luego se
insistira, es que un mismo filtro puede ser implementado de formas diferentes.
Podra surgirnos la pregunta Que interes puede tener conocer distintas implementaciones posibles de un mismo filtro? Si la aritmetica utilizada fuera de
precision infinita, es decir, si dispusieramos de un microprocesador con capacidad de manejar tama
nos de palabra infinitos, la respuesta a esta pregunta
sera ninguno. Ahora bien, si la aritmetica empleada es de precision finita,
puede tener ventajas el uso de una u otra implementacion.
DE FILTROS
CAPTULO 3. IMPLEMENTACION
90
3.2.2.
L
X
k=0
bk x[n k] +
N
X
ar y[n r]
(3.5)
r=1
y siempre y cuando los valores de x[n] se vayan teniendo disponibles secuencialmente y los de y[n] se tengan que calcular del mismo modo (caso habitual),
podran ser implementados con un n
umero finito de operaciones por muestra.
La funci
on de transferencia de los sistemas IIR que se pueden escribir la
forma de la ecuaci
on (3.5) es:
H(z) =
b0 + b1 z 1 + + bL z L
1 a1 z 1 aN z N
(3.6)
3.2.3.
91
Proceso de implementaci
on de un filtro digital
En esta secci
on veremos cuales son los principales pasos que deberemos
seguir desde que decidimos construir un filtro digital hasta que lo tenemos
funcionando.
1. Obtenci
on de especificaciones. El primer paso de todo dise
no consiste
en establecer lo que se quiere realizar. Este primer paso no es en absoluto trivial, pues tiene influencia en el resto de procesos. En concreto
habra que tener en cuenta que:
Las especificaciones dependen de la aplicacion.
Las especificaciones pueden venir dadas por normas.
En general, cuanto m
as exigentes seamos con las especificaciones
mayor ser
a el coste del dise
no.
2. Dise
no del filtro. Consiste en obtener los coeficientes de H(z). A este
punto le dedicaremos un tema.
3. Selecci
on del hardware. En este punto existen varias opciones:
Hardware dedicado. Se trata de construir un circuito integrado especfico para realizar este filtrado. Normalmente solo es rentable si
se pretenden construir grandes series, y/o si la (alta) frecuencia de
muestreo impide el uso de dispositivos programables.
Hardware programable (DSP): Se trata en este caso de usar microprocesadores especializados para el tratamiento de se
nal en tiempo
real. Dentro de estos a su vez hay dos alternativas basicas:
DSP coma fija. Suelen tener un menor coste que los de coma
flotante. El consumo es menor, lo que los hace preferibles en
aplicaciones port
atiles basadas en bateras. Existen versiones
con velocidades mayores de reloj. Como contrapartida el software es m
as costoso de programar, lo que incrementa el coste
de este aspecto. Un ejemplo tpico de aplicacion de este tipo de
DSP es en los terminales de telefona movil GSM.
DSP coma flotante. Tienen como principal ventaja la menor
dificultad del desarrollo del software.
La elecci
on del DSP a usar debe depender de su capacidad para
realizar las operaciones requeridas por unidad de tiempo (depende
del orden del filtro y de la frecuencia de muestreo), as como de
otros aspectos como la facilidad del desarrollo (disponibilidad de
herramientas de dise
no), soporte del fabricante, precio unitario,. . .
DE FILTROS
CAPTULO 3. IMPLEMENTACION
92
4. Eleccion de la estructura del filtro. Una vez elegido el hardware es necesario realizar un programa que ante una muestra de la entrada calcule
una muestra de la salida. Existen diversas formas, que veremos mas adelante, todas ellas equivalentes con precision infinita en los calculos, para
calcular las muestras de la salida. Cada una de estas formas recibira el
nombre de estructura.
5. Analisis de los efectos de precision finita. Sobre todo con los DSP de
punto fijo es necesario realizar un estudio de los efectos secundarios que
se producen por el hecho de no usar aritmetica de precision infinita.
6. Implementaci
on del hardware incluyendo interfaz analogico. Sera basicamente un dise
no digital con microprocesador.
7. Implementaci
on del software. Consiste en programar en el lenguaje adecuado la rutina que ante una muestra de la entrada calcula la muestra de
la salida. Puede ser desarrollado en lenguajes de alto nivel (normalmente
C) y mediante un compilador generar el codigo. No obstante, sobre todo
en dise
nos crticos, muchas veces se prefiere la programacion directa en
ensamblador ya que de esta forma el codigo puede ser optimizado mas.
3.3.
Implementaci
on de filtros digitales
3.3.1.
Diagramas de flujo
Consideremos, por ejemplo, el caso de un sistema IIR causal. La ecuacion (3.5) que reproducimos a continuacion expresa una forma de implementar
el filtrado. En otras palabras, expresa explcitamente que operaciones hay que
realizar para calcular de forma recursiva la salida.
y[n] =
L
X
k=0
bk x[n k] +
N
X
ar y[n r]
(3.7)
r=1
Resulta u
til realizar una representacion grafica de las operaciones que expresa la ecuaci
on (3.7). Para ello utilizaremos los denominados diagramas de
93
3.3. Implementaci
on de filtros digitales
flujo o grafos. Un diagrama de flujo es una red de ramas dirigidas que interconectan nodos. Los nodos corresponden normalmente a variables y tienen
asociado un cierto valor. Las ramas son conexiones orientadas que en su origen
estan conectadas a un nodo del que toman su valor, y tras aplicarle una cierta
operacion entregan, a otro nodo, el valor procesado de su entrada. Los tipos
de rama que consideraremos en los filtros lineales son:
Constantes multiplicativas El valor de salida de la rama es el de la entrada
multiplicado por una cierta constante. Se representa como muestra la
figura 3.2.
b
a
-
Retardo Los valores de los nodos deben ser recalculados cada vez que llega una nueva muestra. Interesa a menudo guardar el valor de un nodo
para el instante siguiente. Esto lo haremos con ramas de retardo y lo
representaremos como se muestra en la figura (3.3).
b
1
z-
Conexi
on La salida de la rama es igual a su entrada. Equivale a una rama
multiplicativa cuya constante vale a = 1. No representaremos el valor de
a.
Observemos que en ambos tipos de rama, la etiqueta corresponde con la funcion de transferencia de la misma.
En cuanto a los nodos ser
an los puntos donde confluyan ramas. Distinguiremos los siguientes tipos de nodo:
Nodo fuente A el no entran ramas, u
nicamente salen. Suele corresponder
con generadores o fuentes de se
nal.
Nodos sumidero De el no salen ramas, u
nicamente entran. Suelen corresponder con la salida de los filtros.
Nodos intermedios Son los que tienen ramas entrantes y salientes. El valor
del nodo es la suma de los valores de salida de las ramas que entran. Si
hay varias ramas de salida, el valor del nodo es pasado a todas ellas.
DE FILTROS
CAPTULO 3. IMPLEMENTACION
94
x[n]
r
0
-
z 1 ?
r
1
-
y[n]
z 1
?
a1
*
rX
y
X
z 1
z 1
XX
x[n 1]
?
r
2
-
z 1 ?
r
3
-
z 1 ?
r
4
-
y[n 1]
a2
z 1
?
a3
z 1
?
a4
3.3.2.
Formas directas
95
3.3. Implementaci
on de filtros digitales
x[n]
r
a1
a2
a3
a4
y[n]
-
r
6
2
-
r
6
b3
-
z 1
?
6
r
z 1
?
6
r
r
6
b1
z 1
?
6
r
0
-
z 1
?
6
r
r
6
4
-
DE FILTROS
CAPTULO 3. IMPLEMENTACION
96
x[n] r
1
z-
1
z-
1
z-
1
z-
h[0]
?
h[1]
?
h[2]
?
h[3]
?
h[4]
?
r y[n]
3.3.3.
Realizaci
on en Cascada
Dada la funci
on de transferencia racional de un filtro, es posible factorizarla:
L
Y
H(z) =
z 1
z L
(1 ck z 1 )
b0 + b1
+ + bL
= b0 k=1
1
N
1 a1 z aN z N
Y
(1 dk z 1 )
(3.8)
k=1
donde ck son los ceros de H(z) y y dk sus polos. Una vez realizada la factorizacion, es posible descomponer H(z) como producto (cascada) de secciones
de orden 1 (ceros/polos reales) u orden 2 (ceros /polos complejos agrupados
por pares conjugados). Veamos un ejemplo. Supongamos la siguiente funcion
de transferencia:
H(z) =
=
97
3.3. Implementaci
on de filtros digitales
x[n]
y[n]
z 1
?
-0.5
z 1
?
-0.2
-
-0.4
-0.6
-
z 1
?
0,2
0.25
-
x[n]
y[n]
z 1
?
6
r
0,9
0,4
0,1
r
6
0,37
-
z 1
?
6
r
z 1
?
6
r
0,8
r
6
0,05
-
DE FILTROS
CAPTULO 3. IMPLEMENTACION
98
3.3.4.
Realizaci
on en paralelo
Consideremos la funci
on de transferencia H(z) de un filtro IIR de coeficientes reales:
L
X
H(z) =
bk z k
k=0
N
X
(3.9)
an z n
n=1
En el caso m
as general podemos descomponer la anterior expresion como suma
de fracciones simples:
H(z) =
Np
X
k=0
ck z k +
N1
X
2
X
Bk (1 ek z 1 )
Ak
+
1 dk z 1 k=1 (1 fk z 1 ) (1 fk z 1 )
k=1
(3.10)
donde:
El primer termino s
olo existe si el grado del numerador de H(z) en z 1
es mayor o igual que el del denominador. En ese caso Np = L N .
El segundo termino existe u
nicamente si H(z) tiene polos reales. En ese
caso N1 es el n
umero de polos reales.
El tercer termino existe si H(z) tiene polos complejos. En ese caso N2
es el n
umero de pares de polos complejos conjugados.
Veamos un ejemplo que s
olo tiene polos reales:
H(z) =
1 + 2 z 1 + z 2
18
25
=8+
1 0,75 z 1 + 0,125 z 2
1 0,5z 1 1 0,25z 1
Dado que los filtros FIR no tienen polos, estos no admiten realizacion en
paralelo.
3.3.5.
Formas transpuestas
99
3.3. Implementaci
on de filtros digitales
8
r
18
-
x[n]
y[n]
z 1
?
r
0.5
-25
-
z 1
?
0.25
Notese que para aplicar el teorema anterior hay que considerar la entrada del
nuevo sistema (con las ramas en sentido inverso) en el punto donde el sistema
original tena la salida y viceversa.
El anterior teorema puede aplicarse a cualquier grafo: FIR, IIR, cascada,
paralelo, . . .
Veamos un ejemplo. En la figura 3.11 vemos como sera la forma directa
II de un filtro cuya funci
on de transferencia es:
H(z) =
r
b0 + b1 z 1 + b2 z 2
1 a1 z 1 a2 z 2
x[n]
(3.11)
-
y[n]
z 1
?
6
r
0,75
2
-
z 1
?
6
r
0,25
r
6
DE FILTROS
CAPTULO 3. IMPLEMENTACION
100
r
0
-
x[n]
y[n]
z 1
?
6
r
a1
z 1
?
6
r
b1
a2
r
6
b2
-
0
-
x[n]
y[n]
z 1
6
?
r
1
-
a1
?
r
z 1
6
b
2
-
a2
3.3.6.
Determinaci
on de la funci
on de transferencia de un grafo
En esta secci
on presentaremos un procedimiento general de analisis de grafos que nos permitir
a determinar su H(z). Para centrar la explicacion utilizare-
101
3.3. Implementaci
on de filtros digitales
0
-
b1
-
z 1
?
v1
a1
z 1
6
2
-
v2
a
2
DE FILTROS
CAPTULO 3. IMPLEMENTACION
102
Y (z)
b0 + b1 z 1 + b2 z 2
=
X(z)
1 a1 z 1 a2 z 2
3.3.7.
Secuencia de c
alculo
Los grafos indican las operaciones a realizar cada vez que llega una nueva muestra de entrada. En muchas ocasiones, dichas operaciones deben ser
programadas en un lenguaje que realice las operaciones de forma secuencial.
En ese caso habr
a que realizar un programa que implemente exactamente las
operaciones descritas en el grafo.
El primer paso consiste en asignar a cada nodo una variable. Los programas
realizados tendr
an el aspecto de una subrutina en el que todas las variables
deben actualizar sus valores de forma ordenada. Inicialmente, consideraremos
las siguientes reglas a la hora de decidir el orden de actualizacion:
Al comienzo de la subrutina, todas las variables se consideraran del instante n 1.
Cuando una variable se actualiza pasa a ser del instante n. A la salida
de la subrutina todas las variables se consideraran del instante n.
Cuando se suman variables, tienen que corresponder al mismo instante.
Hay que evitar sobreescribir cosas que puedan ser necesarias.
Veremos a continuaci
on algunos ejemplos para centrar las ideas.
Ejemplo 1: Forma directa II de un filtro IIR
Consideremos la estructura de la figura 3.14 en la que se han se se
nalado
los nodos. El procesador sobre el que se vaya a implementar el filtrado, en
estado normal estar
a sin hacer nada (IDLE). Supondremos que cuando el
A/D digitaliza una nueva muestra se genera una interrupcion. El programa
que realmente realiza el filtrado ser
a una rutina de interrupcion.
Inicialmente se est
a en estado de reposo. Este estado suele corresponder
a un modo de bajo consumo de los DSP. De este estado se sale u
nicamente
cuando se produce una interrupci
on (debida a la llegada de una muestra del
103
3.3. Implementaci
on de filtros digitales
6
r
a1
6
r
a2
v b
r 0 -0
z 1
?
v b
r 1 -1
z 1
?
v2
b2
-
VARS
ESPERAR:
x, y, v0 , v1 , v2
IDLE
GOTO ESPERAR
INTERR:
X=INPUT
V2=V1
V1=V0
V0=X+ A1 V1
V0=V0 + A2 V2
Y=B0 V0 + B1 V1
Y=Y+B2 V2
OUT (Y)
RTI
DE FILTROS
CAPTULO 3. IMPLEMENTACION
104
Xr
1 V 1 z 1 V 2 z 1 V 3 z 1 V 4
zr
r
r
r
-
b1
?
b0
?
r
b2
?
-
b3
?
-
b4
?
-
rY
105
3.3. Implementaci
on de filtros digitales
VARS
ESPERAR:
X, Y, V1, V2 ,V3, V4
IDLE
GOTO ESPERAR
INTERR:
V4=V3
V3=V2
V2=V1
V1=X
X=INPUT
Y= B0 X
Y= Y + B1 V1
Y=Y+B2 V2
Y=Y+B3 V3
Y=Y+B4 V4
OUT (Y)
RTI
DE FILTROS
CAPTULO 3. IMPLEMENTACION
106
VARS
ESPERAR:
X, Y, V1, V2 ,V3, V4
IDLE
GOTO ESPERAR
INTERR:
X=INPUT
Y= B4 V4
Y=Y+B3 V3
V4=V3
Y=Y+B2 V2
V3=V2
Y=Y+B1 V1
V2=V1
Y=Y+B0 X
V1=X
OUT (Y)
RTI
Buffers Ciculares
Consisten b
asicamente en una zona de memoria, a la que se accede con un
puntero. Sobre dicho puntero se pueden realizar operaciones aritmeticas del
tipo incremento o decremento con las siguientes particularidades:
Cuando al incrementar el puntero se supera la u
ltima direccion de memoria del buffer, autom
aticamente se apunta a la primera.
107
3.3. Implementaci
on de filtros digitales
Puntero Muestras
?
Buffer Muestras
x[n]
x[n 1] @@
x[n M ]
x[n 2]
x[n M 1]
x[n L]
Buffer Coeficientes
b0 b1
bL
Puntero Coeficientes
Figura 3.19: Buffer Circular.
L
X
h[k] x[n k]
k=0
Para calcular un valor de la salida, nos hacen falta la muestra actual x[n] y
L muestras anteriores de la entrada. Supondremos que tenemos un buffer de
L + 1 elementos que contiene dichas muestras y un puntero que apunta a la
muestra actual.
Cuando llega una nueva muestra:
1. El puntero se incrementa. Ahora apunta a la muestra mas antigua del
buffer
2. Se escribe la nueva muestra en el lugar apuntado por el puntero.
Tras esto, el puntero apunta a la muestra mas reciente. A continuacion, para
realizar los productos y sumas, se realizan L + 1 operaciones, de decremento
sobre el puntero de las muestras, y de incremento (circular) sobre el de los
coeficientes, de forma que se va recorriendo las mismas y se van efectuando los
DE FILTROS
CAPTULO 3. IMPLEMENTACION
108
productos y sumas. N
otese que como el buffer es de tama
no L+1, si realizamos
L + 1 incrementos (o decrementos) el puntero tendra la misma posicion al final
que la que tena al inicio.
Observese que, dado que adem
as, el control de los bucles no consume ciclos
de CPU en la mayora de DSP, es posible implementar un filtro FIR con una
instruccion por muestra.
3.4.
Efectos de precisi
on finita
En esta secci
on se estudian los efectos que se producen debido a que los
n
umeros involucrados en la implementacion de filtros digitales (coeficientes y
muestras) est
an cuantificados.
Los efectos de precisi
on finita son normalmente despreciables si se emplea
aritmetica de coma flotante. Sin embargo si la aritmetica es de coma fija es
necesario tenerlos presentes. En el resto de esta seccion se presentan los diferentes efectos debidos a la precisi
on finita en sistemas con aritmetica de coma
fija.
3.4.1.
Cuantificaci
on de los coeficientes
Cuando se dise
na un filtro, se emplean diversos metodos que proporcionan
un conjunto de coeficientes bk y ak para numerador y denominador respectivamente. A la hora de implementar el filtro, dichos coeficientes deben ser
introducidos en un programa y por lo tanto codificados con un n
umero finito
de bits.
N (z)
H(z) =
(3.12)
D(z)
Si consideramos una forma directa, los coeficientes a introducir en el procesador seran directamente los coeficientes de H(z). Centremonos por ejemplo en
el numerador:
N (z) = b0 + b1 z 1 + b2 z 2 + + bM z M
(3.13)
(3.14)
109
DE FILTROS
CAPTULO 3. IMPLEMENTACION
110
Butterworth-8
Butterworth-8
0
-10
-20
-30
-40
-50
-60
-70
-80
-90
0
0
0.25
f
(a):Escala lineal
0.5
-100
0.25
f
0.5
(b):Escala en dB
111
*: Sin cuantif
60
0.6
C
150
30
B
180
0
A'
B'
210
330
C'
D'
300
240
270
polo real o un par de polos complejos conjugados. Por tanto los coeficientes del
denominador de una fracci
on s
olo influyen en los polos asociados a la misma
(lo mismo que en la forma en cascada). Por contra, en la forma paralelo, los
ceros dependen de todos los coeficientes de los denominadores y todos los de
los numeradores. Cabe esperar por tanto que los ceros se muevan mas que en
la forma directa.
En general, con respecto a la cuantificacion de los coeficientes, la mejor es
la forma en cascada, seguida por la forma en paralelo, y finalmente la forma
directa. Como contrapartida, las formas cascada y paralelo suelen requerir un
mayor n
umero de operaciones por muestra para ser implementadas.
Mallas de races en secciones de segundo orden
En la secci
on anterior hemos visto que interesa descomponer polinomios
de grados altos en productos de polinomios de grados 1 y 2. Vamos a estudiar
en este punto, las races de los polinomios de segundo grado con coeficientes
DE FILTROS
CAPTULO 3. IMPLEMENTACION
112
6 bits
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
1
0.5
0.5
(3.15)
113
s
x[n]
a 6
?z
a = r cos
Hs
HH
b = r sen
b 6
?b
s y[n]
a 6
@
@X
X
?z
H
Xs
HH
XX
X
r sin z 1
1 2r cos z 1 + r2 z 2
(3.16)
Las posibles ubicaciones de los polos al cuantificar uniformemente los coeficientes de la forma acoplada se muestra en la figura 3.24. Las formas acopladas
son interesantes si tenemos polos cerca del eje real. Tienen el inconveniente de
requerir mas operaciones por muestra.
Efectos de la cuantificaci
on de los coeficientes en filtros FIR
Los filtros FIR resultan interesantes por dos propiedades que tienen:
Son siempre estables.
Si los coeficientes son simetricos tienen fase lineal.
DE FILTROS
CAPTULO 3. IMPLEMENTACION
114
6 bits
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
1
0.5
0.5
Cabra preguntarse si por el hecho de que los coeficientes esten cuantificados se pierden estas propiedades. Con respecto a la estabilidad, esta se
mantiene pues cualquier filtro FIR es estable. Con respecto a la linealidad de
fase, esta se produce si existe simetra en los coeficientes. Notese que por el
hecho de cuantificar los coeficientes no se pierde la simetra, por lo que la cuantificaci
on de los coeficientes no afecta a la linealidad de la fase de los filtros
FIR.
Por tanto, el u
nico efecto de la cuantificacion de los coeficientes sera una
variacion en la posici
on de los ceros y del modulo de H(ej ).
3.4.2.
Cuantificaci
on de las muestras de entrada
Sea x[n] la secuencia de muestras de entrada a un filtro digital. En la practica dichas muestras est
an cuantificadas, es decir toman un conjunto discreto
de valores posibles. (vease el apartado 1.6)
El efecto de la cuantificaci
on se puede ver como si las muestras (sin cuantificar) antes de entrar en el filtro se hubieran hecho pasar por un sistema no
lineal sin memoria cuya relaci
on entrada salida se muestra en la figura 3.25.
De esta forma, el filtro digital H(z) con muestras de entrada cuantificadas,
se puede considerar como si tuvieramos muestras sin cuantificar aplicadas a
un sistema no lineal (el cuantificador) seguido del filtro H(z). El analisis del
115
0.5
0
-0.5
-1
-1.5
-1.5
-1
-0.5
0
x
0.5
1.5
DE FILTROS
CAPTULO 3. IMPLEMENTACION
116
x[n]
- Q
- H(z)
./
x[n]
x
[n]
- +
- H(z)
x
[n]
6
e[n]
Figura 3.26: Modelado de la cuantificaci
on de las muestras de entrada
como un ruido aditivo a la entrada del filtro.
2
12
(3.18)
siendo el tama
no del escal
on de cuantificacion.
La funci
on densidad de probabilidad es uniforme entre /2 y /2.
Por lo tanto a la hora de analizar el efecto de la cuantificacion de las muestras
de entrada en la salida del mismo, supondremos que:
Las muestras de entrada est
an sin cuantificar.
Tenemos una segunda se
nal, el ruido de cuantificacion e[n], a la entrada
del filtro y sumada con la anterior.
Como el filtro es un sistema lineal, para determinar la salida determinare independientemente la se
nal a la salida, y la potencia y DEP del
ruido de cuantificaci
on tras pasar por el filtro.
En otras palabras, modelaremos el comportamiento de la no linealidad suponiendo que tenemos un ruido a
nadido en la salida.
Notese que el uso del modelo de ruido aditivo simplifica notablemente el
analisis. Sin embargo el modelo no es mas que eso, un modelo, que u
nicamente
es valido si se cumplen las hip
otesis vistas mas arriba. Es decir, por ejemplo no
es posible intentar medir el ruido de cuantificacion anulando las muestras de
entrada y observando la potencia de ruido a la salida del filtro, ya que en ese
caso los valores cuantificados tambien son cero, y la salida del filtro tambien.
3.4.3.
Las operaciones b
asicas que se realizan para implementar filtros digitales
son productos y sumas. Vamos a ver en este punto como influye el hecho de
que los n
umeros esten representados en coma fija para realizar las operaciones.
117
B2
X
bk 2k
(3.19)
k=0
(3.20)
En la implementaci
on de filtros digitales se suele preferir esta segunda forma
debido a que el producto de dos n
umeros fraccionarios (menores que uno) da
como resultado un n
umero fraccionario.
Cuando se multiplican dos n
umeros fraccionarios, el resultado requiere ser
representado con m
as bits. Para entender la afirmacion anterior pensemos en
n
umeros fraccionarios en base 10, y pongamos un ejemplo en que los factores
tienen dos dgitos:
0,31 0,47 = 0,1457
Como puede verse, el resultado tiene un tama
no de mantisa que es el doble
de la de los factores. Si dicho resultado, debe ser almacenado de nuevo con
dos dgitos se estara cometiendo un error que podra ser por truncamiento o
redondeo. Habitualmente en los DSP se redondea el resultado. El redondeo del
resultado se suele modelar como una cuantificacion, de forma similar a como
vimos en el apartado 3.4.2.
Estrictamente hablando, la cuantificacion representa una no linealidad, lo
que convierte el filtro implementado en no lineal. Sin embargo, bajo las mismas
hipotesis que se vieron en el apartado 3.4.2 se puede modelar cada redondeo
DE FILTROS
CAPTULO 3. IMPLEMENTACION
118
2
12
siendo el tama
no del escal
on de cuantificacion.
e2 =
(3.21)
La funci
on densidad de probabilidad es uniforme entre /2 y /2 en
el caso de redondeo y entre y cero en el caso de truncamiento.
Los distintos ruidos de redondeo son estadsticamente independientes.
Los diferentes ruidos de redondeo, se propagar
an por las ramas del filtro
manifestandose a la salida del filtro como un ruido a
nadido. En la seccion 3.4.3
veremos como se calcula dicha potencia de ruido a la salida del filtro.
Con respecto a las sumas, estas no presentan ning
un problema en cuanto a
errores de redondeo: la suma de dos n
umeros con dos decimales es un n
umero
con dos decimales. Sin embargo, hay que prestar atencion a que la suma de
dos n
umeros menores que la unidad puede ser mayor que la unidad. Este tema
sera tratado en el punto 3.4.4
Arquitecturas de DSP
Las operaciones producto y suma (acumulacion) constituyen el n
ucleo de
las operaciones a realizar en los filtros digitales; se suelen llevar a cabo en
unidades de c
alculo especializadas de los DSP denominadas MAC (Multiply
Acumulate). Existen dos tipos de arquitecturas basicas que denominaremos de
acumulador de simple ancho (o los MAC antiguos) y de acumulador de doble
ancho (o MAC modernos). La mayora de los DSP actuales corresponden al
segundo tipo, pero dado que a
un existen DSP del otro tipo (principalmente
debido a su menor coste), ambos ser
an tratados aqu.
La figura 3.27 muestra ambos tipos de MAC para un tama
no de palabra
de B bits.
119
B
B
- B
B
B
B m
as significativos
?
+
B
?
Acumulador
B
B
?
Salida al bus
(a)
- B
2B
?
+
2B
?
Acumulador
2B
2B
B
?
Salida al bus
(b)
Figura 3.27: Modelos de arquitectura de MAC. (a):MAC con acumulador de simple ancho. (b):MAC con acumulador de doble ancho.
En el MAC con acumulador de simple ancho se realiza el redondeo inmediatamente despues de cada producto.
En el MAC con acumulador de doble ancho el redondeo se realiza cuando
el resultado final es extrado del MAC, es decir las acumulaciones se
realizan con toda la precisi
on del resultado del producto. El resultado se
extrae del MAC para:
Almacenar su valor para un instante posterior (z 1 )
Cuando el resultado se corresponde con el nodo de salida del filtro
y por lo tanto el resultado debe ser enviado al D/A con B bits.
En implementaciones en cascada y paralelo, cuando el resultado
corresponde a la salida de un bloque de la estructura.1
En la figura 3.28 se muestran las fuentes de ruido para acumulador de
simple y doble ancho en una forma directa II. Mientras que con acumuladores
1
Existen dos posibles formas de implementar estas estructuras. Una consistira en implementar cada una de las secciones independientemente, tomando la salida de una etapa como
entrada de la siguiente. La otra consistente en implementar de forma global la estructura.
En este segundo caso es posible realizar implementaciones con menos redondeos a costa de
una mayor complejidad de implementaci
on, ya que en vez de implementar un bloque b
asico (secci
on de segundo orden) y utilizarlo repetidamente hay que hacer una estructura a
medida.
DE FILTROS
CAPTULO 3. IMPLEMENTACION
120
n3
r
6n1
b0
r -
?
z 1 n4 6
a1 r b1
r r?
6n2
r r
?
r-r
?
?
z 1 n5 6
b2
a2 r r r?
(a)
r-r
?
n1
-
n2
rr ?
b0
r -
rr ?
?
z 1
r
a
b1
1 r -
?
z 1
r
b2
a
2 r (b)
-r
6
-r
de simple ancho tras cada producto hay un redondeo (una fuente de ruido), con
acumulador de doble ancho hay una fuente de ruido cada vez que se termina
de hacer productos y acumulaciones. La ventaja de los acumuladores de doble
ancho es que reducen el n
umero de redondeos que se efect
uan. Ello hace que
la potencia de ruido de redondeo a la salida del filtro sea menor.
C
alculo de la potencia de ruido de redondeo a la salida
Acabamos de ver como el redondeo en las operaciones se puede modelar
como unas fuentes de ruido aditivo. Normalmente, lo que interesa conocer es
la potencia de ruido de redondeo a la salida del filtro.
Este ruido es algo similar al ruido introducido por los componentes que
procesan las se
nales anal
ogicas en los filtros analogicos. La diferencia fundamental con el caso anal
ogico es que el ruido en los filtros digitales puede hacerse
arbitrariamente peque
no sin m
as que aumentar el n
umero de bits con que se
realizan las operaciones.
Para calcular la potencia de ruido total a la salida del filtro, hay que
determinar la potencia de ruido de cada una de las fuentes a la salida del filtro
y finalmente sumarlas en potencia (debido a que realizamos la hipotesis de que
los diferentes ruidos son procesos aleatorios independientes). En el caso de la
figura 3.28-(b) vemos como el ruido n2 esta directamente en la salida, mientras
que el ruido n1 es como si estuviera a la entrada. Por tanto, dicho ruido n1
se manifiesta a la salida tras ser filtrado por una funcion de transferencia que
coincide en este caso con la H(z) del filtro. Recordemos que si un ruido blanco
121
|h[n]|2
(3.22)
22B X
22B
|h[n]|2
+2
3
3
n
(3.25)
Para poder agrupar las fuentes, es necesario moverlas. Para ello hay que seguir
unas reglas:
Si una fuente inyecta ruido de cuantificacion en un nodo del que solo
sale una rama cuyo peso es 1 o z 1 , dicha fuente de ruido puede ser
movida al nodo destino de dicha rama. En la figura 3.29, consistira en
mover la fuente de donde est
a en a) a b).
Si una fuente inyecta ruido de cuantificacion en un nodo al que llega una
rama cuyo peso es 1 o z 1 , y dicha rama es la u
nica que sale del nodo
origen de la misma, la fuente de ruido puede ser movida al nodo origen.
En la figura 3.29, consistira en mover la fuente de donde esta en b) a
a).
Es importante tener en cuenta que en caso de duda no se debe mover las
fuentes de ruido, ya que no agrupar al maximo las fuentes de ruido u
nicamente nos har
a realizar m
as c
alculos de los mnimos necesarios, mientras que
agruparlas mal provocar
a que todos los calculos sean erroneos.
DE FILTROS
CAPTULO 3. IMPLEMENTACION
122
r
@ c
R 1
@
@
1
@r K z 1
A
A
n1
c
2
r
a)
c3
c
4
r r
@ c
@ 5
I
@
@r
r
@ c
R 1
@
@
@r
r
c
c3
c
4
r r
@ c
@ 5
n1
I
@
@r
1
-
z 1
b)
123
0,16
x[n]
0,16
-
y[n] x[n]
6
1,42
q
?
z 1
0,24
?
z 1
6
0,80 0,18
q q -
y[n]
26
6
q
?
z 1
0,71
0,24
-
?
z 1
6
0,40 0,18
q q -
6
q
(a)
6
q
6
q
(b)
x[n]
6
0,71
q
0,08
-
y[n]
?
z 1
q
0,12
-
?
z 1
6
0,40 0,09
q q -
6
q
6
q
(c)
Figura 3.30: Implementaci
on de filtros con coeficientes mayores que
uno. (a):Filtro original. (b): Primera forma de hacer que todos los
coeficientes sean menores que uno o enteros. (c): Segunda forma de
hacer que los coeficientes sean enteros o menores que uno.
3.4.4.
DE FILTROS
CAPTULO 3. IMPLEMENTACION
124
por tanto:
|ya [n]| = |
X
k
|hxa [k]|
Si deseo que |ya [n]| sea menor que C debo hacer que:
|x[n]| < M = X
C
|hxa [k]|
(3.26)
Normalmente C = 1 (se
nales normalizadas). No obstante, si el valor del
nodo va a ser multiplicado por un coeficiente mayor que la unidad, r, debemos
hacer que el valor a la entrada de dicho nodo sea menor que C = 1/r.
Si la se
nal de entrada, est
a acotada en el margen |x[n]| < 1, debere preescalar la se
nal de entrada para reducir su amplitud antes de introducirla al filtro
multiplicandola por M (M < 1). De esa forma asegurare que la se
nal a la
entrada del filtro tiene la amplitud correcta. El u
nico efecto del preescalado es
una reduccion de la ganancia del filtro. Dicha ganancia puede ser compensada:
125
|x[n]| < 1
H(z)
y[n]
De forma anal
ogica, aumentando la ganancia de las etapas que siguen a
la salida y[n].
De forma digital, multiplicando por 1/M la salida y[n]
De forma digital modificando algunos coeficientes del filtro. Por ejemplo:
H(z) =
=M
b0 + b1 z 1 + + bL z L
=
1 a1 z 1 aN z N
b0 /M + b1 /M z 1 + + bL /M z L
1 a1 z 1 aN z N
Si tengo varios nodos, debo garantizar la anterior condicion para todos los
nodos en que se producen sumas. Ello implica tomar el menor M de los distintos nodos.
Si se utiliza complemento a 2, no sera necesario comprobar aquellos nodos
que sean sumas parciales cuyo valor u
nicamente se sume con otros nodos. Ello
es debido a una propiedad de los n
umeros en complemento a 2 (para mas
detalles se pueden consultar libros de electronica digital o fundamentos de
computadores) que dice que:
Si al hacer sumas (y restas) encadenadas de n
umeros en complemento a 2, se producen overflows parciales y se desprecian los bits
de acarreo, el resultado final ser
a correcto si este no presenta overflow
DE FILTROS
CAPTULO 3. IMPLEMENTACION
126
C
|Hxa (ej0 )|
(3.27)
3.4.5.
C
m
ax {|Hxa (ej )|}
(3.28)
Ciclos lmite
3.5. Problemas
127
3.5.
Problemas
1. Determine la longitud m
axima de un filtro FIR que se pueda implementar
usando un DSP que utiliza buffers circulares y que ejecuta 16 millones
de instrucciones por segundo siendo la frecuencia de muestreo 44.1 Khz.
2. Implemente un programa para realizar los calculos de la forma directa
II transpuesta de la figura 3.13.
3. Determinar la funci
on de transferencia de la estructura de la figura 3.23
y verificar que coincide con la de la ecuacion (3.16).
4. Realizar un programa que permita implementar los calculos para calcular
una muestra de salida cuando llega una de entrada de la estructura de
la figura 3.23.
5. Dibuje las fuentes de ruido de redondeo de un filtro IIR de orden 4
implementado en forma directa I. Considere los casos de acumuladores
de simple y de doble ancho. Agrupe las fuentes tanto como le sea posible
y determine la funci
on de transferencia de cada fuente hasta la salida.
6. Indique las fuentes de ruido de cuantificacion en un filtro FIR en forma
transpuesta tanto en el caso de acumuladores de simple como de doble
ancho.
7. Indique las fuentes de ruido de redondeo en las operaciones en una forma acoplada (figura 3.23. Agrupe las fuentes tanto como sea posible.
DE FILTROS
CAPTULO 3. IMPLEMENTACION
128
G2 1 + b12 z 1 + b22 z 2
1 a12 z 1 a22 z 2
129
3.5. Problemas
Dibuje la implementaci
on en forma directa II transpuesta.
Determine la m
axima amplitud a la entrada.
Determine la potencia de ruido de redondeo a la salida si el DSP
tiene una longitud de palabra de 16 bits y se utilizan acumuladores
de doble ancho. Y para el caso de acumuladores de ancho simple?
Proponga ahora una realizacion en la que todos los coeficientes sean
enteros o menores que uno. Indique cuales seran las fuentes de ruido
ahora.
130
DE FILTROS
CAPTULO 3. IMPLEMENTACION
Captulo 4
Filtros Adaptativos
4.1.
Introducci
on
Un filtro adaptativo no es m
as que un filtro cuyos coeficientes varan con
el tiempo. Lo que los hace especialmente interesantes es que la variacion de
los coeficientes es autom
atica. En otras palabras, dise
nar un filtro adaptativo consistira en determinar la regla de variacion de los coeficientes. El resto
sera automatico.
Existen dos razones fundamentales para elegir un filtro adaptativo frente
a un filtro de coeficientes fijos:
Porque no sepamos que filtro usar a priori.
Porque el filtro
optimo que necesitemos, debido a que la se
nal no sea
estacionaria, deba variar con el tiempo.
4.1.1.
En esta secci
on vamos a presentar algunos ejemplos de sistemas adaptativos
con los que estamos familiarizados.
CAG es un circuito usado ampliamente que permite variar su ganancia en
funcion de la amplitud de la se
nal de entrada. Cuando la se
nal de entrada
es de poca potencia el factor de amplificacion es grande y a la inversa,
de modo que la potencia a la salida tiene una amplitud practicamente
independiente de la amplitud de entrada.
Pupila sistema biol
ogico que regula su apertura en funcion inversa a la luz
incidente, de modo que el margen de variacion de energa luminosa que
131
132
reciben las celulas de la retina sea mucho menor que las variaciones de
luminosidad que se pueden encontrar en la naturaleza.
Los ejemplos anteriores son ejemplos sencillos de sistemas que varan su
comportamiento en funci
on de las se
nales recibidas. En el caso de sistemas
artificiales para el filtrado de se
nales, aunque conceptualmente sera posible
pensar en sistemas anal
ogicos adaptativos, en la practica u
nicamente se han
desarrollado sistemas adaptativos discretos de cierta complejidad.
4.1.2.
4.1.3.
- Filtro. Adapt.
- y[n]
d[n]
- Algor. Adapt.
4.2. Aplicaciones
133
4.2.
Ejemplos de aplicaci
on de sistemas adaptativos
En esta secci
on vamos a estudiar algunos ejemplos de aplicacion de los
sistemas adaptativos que nos van a ir permitiendo descubrir sus ventajas y
limitaciones.
4.2.1.
Identificaci
on de sistemas
134
d[n]
-
Planta???
?+ e[n]
x[n]
6
- Filtro. Adapt.
y[n]
4.2.2.
Predicci
on
En esta aplicaci
on se trata de predecir valores futuros de la se
nal de entrada. Para ello se ense
na al sistema adaptativo que coeficientes debera tener
para minimizar el error entre la muestra actual y una prediccion de la misma
hecha en base a muestras anteriores de la misma se
nal de entrada. Los coeficientes obtenidos se copian en otro filtro que filtra la se
nal de entrada sin
retardar. Si la se
nal de entrada es estacionaria, la salida de este segundo filtro
es una predicci
on de la muestra que esta por venir.
x[n 1]
x[n]
-
z 1
d[n]
+
- Filtro Adap.
?
e[n]
y[n]
???
- Coef. Copiados
- x
[n + 1]
4.2.3.
Cancelaci
on de ruido
135
4.2. Aplicaciones
136
s + n1
- +
6
+
?
e
n1
n2
- Filtro Adap.
Salida
-
n3
Se
nales disponibles
como entrada
dichas componentes de la rama que se filtra. Las componentes incorreladas de la rama superior pasar
an a la salida, pues para el algoritmo
adaptativo son indiscernibles de la se
nal de voz.
El n
umero de coeficientes del filtro debe ser suficientemente largo. Si
fuera FIR, la duraci
on de la respuesta impulsional debera coincidir o ser
superior a la de H. En caso contrario, no se podra lograr la cancelacion
total.
4.2.4.
Canceladores de eco
B
- E
D
137
4.2. Aplicaciones
- D.A.
?
?
138
?
:
C
?
139
4.2. Aplicaciones
4.2.5.
Ecualizadores adaptativos
aj p(t jT ) + r(t)
(4.1)
donde ak son los smbolos transmitidos, r(t) es el ruido, y p(t) es la convolucion entre el pulso transmitido, la respuesta impulsiva del canal y el filtro del
receptor. Dicha se
nal se muestrea en los instantes tk = kT obteniendo:
y(tk ) = ak p(0) +
aj p(kT jT ) + r(tk )
(4.2)
j6=k
- Salida
Decision
- Ec. Adapt.
?
+
d
1-
2
E
E
Er
Test
140
4.2.6.
Filtro en hendidura
+
e
6
d
W0
Salida
-
cos 0 t
x
?
6
- 90o
W1
4.3.
Filtrado Optimo
Una vez vistas algunas de las posibles aplicaciones de los filtros adaptativos,
vamos a comenzar en esta secci
on el estudio de su funcionamiento. En este
punto estudiaremos c
omo influye en la potencia de la se
nal error el valor de
los coeficientes del filtro adaptativo, y encontraremos el valor de los coeficientes
que minimizan dicha potencia.
4.3. Filtrado Optimo
141
r x0
w0 ?
r x1
r xL
w1 ?
wL ?
+
?
y
4.3.1.
El combinador lineal
w0 ?
r
w1 ?
-
w2 ?
-
wL1 ?
r
wL ?
-
y[n]
-
142
4.3.2.
Notaci
on matricial
L
X
wk [n] x[n k]
(4.3)
k=0
Dicha expresi
on se puede formular matricialmente de la forma:
y[n] = W T [n] X[n] = X T [n] W [n]
(4.4)
(4.5)
4.3.3.
(4.6)
Los sistemas que vamos a estudiar en estas notas seran todos de lazo cerrado. En ellos existen siempre las siguientes se
nales(figura 4.13):
x[n]: Se
nal de entrada al filtro adaptativo.
y[n]: Se
nal de salida del filtro adaptativo.
d[n]: Se
nal de referencia.
e[n] = d[n] y[n]: Se
nal error entre la se
nal de referencia y la salida del
filtro.
En funcion de la aplicaci
on concreta (ver seccion 4.2), dichas se
nales tendran
un origen u otro. Sin embargo, en todos los ejemplos de aplicacion vistos, es
posible identificar las mismas.
Consideraremos que el filtro adaptativo es un filtro transversal (FIR). Aunque existen algoritmos adaptativos para filtros IIR, no los consideraremos en
1
4.3. Filtrado Optimo
143
d[n]
?+ e[n]
x[n]
- Filtro. Adapt.
6
y[n]
estas notas, debido a que se emplean mucho menos, y las estrategias de adaptacion que siguen son m
as complejas.
El objetivo de los algoritmos adaptativos que veremos sera siempre minimizar la potencia media de la se
nal error e[n]. De alg
un modo, determinaran
los coeficientes del filtro transversal de modo que la se
nal y[n] se cancele lo
mas posible con d[n].
4.3.4.
Superficie de error
Supongamos inicialmente que x[n] y d[n] son procesos aleatorios estacionarios. La potencia de la se
nal e[n] depende de los coeficientes que pongamos
en el filtro adaptativo transversal. A la funcion que expresa la potencia de la
se
nal error en funci
on de los coeficientes del filtro la denominaremos Superficie
de Error. Supongamos moment
aneamente que el vector de pesos del filtro W
no vara con el tiempo n. La se
nal de error es:
e[n] = d[n] y[n] = d[n] W T X[n]
(4.7)
Su potencia instant
anea vale:
(e[n])2 = (d[n])2 + W T X[n] X T [n] W 2 d[n] X T [n] W
(4.8)
144
x[n]
x[n 1]
R=E
..
x[n L]
x[n] x[n]
x[n
1] x[n]
R=E
..
x[n] x[n 1]
x[n 1] x[n 1]
..
.
..
.
x[n] x[n L]
x[n 1] x[n L]
..
.
(4.10)
(4.11)
R=
Rx [0]
Rx [1]
..
.
Rx [1]
Rx [0]
..
.
Rx [2]
Rx [1]
..
.
Rx [L]
Rx [L 1]
..
..
.
.
Rx [L] Rx [L 1] Rx [L 2]
Rx [0]
(4.12)
d[n] x[n]
d[n] x[n 1]
=E
..
d[n] x[n L]
x[n L]
x[n]
x[n 1]
..
.
P =
Rdx [0]
Rdx [1]
..
.
Rdx [L]
(4.13)
(4.14)
Aunque al principio del tema se dijo que una de las utilidades de los filtros adaptativos
era su uso con se
nales no estacionarias, supondremos por el momento que las se
nales de
entrada son estacionarias, discutiendo m
as adelante que sucede si no lo son.
4.3. Filtrado Optimo
145
La anterior ecuaci
on expresa el valor medio de la potencia de la se
nal error en
el caso de que:
Los coeficientes no varen. En la practica, y dado que el filtro es adaptativo, lo que suceder
a es que un algoritmo de adaptaci
on tratara de
encontrar el valor de los coeficientes W que minimice .
Las se
nales sean estacionarias. En realidad, en los metodos que veremos,
sera suficiente con que las se
nales tengan una estadstica que vare suficientemente despacio como para que el algoritmo de adaptacion pueda
converger correctamente y seguir las variaciones estadsticas de la se
nal.
En el caso de se
nales no estacionarias lo que sucedera es que la funcion
ira modific
andose lentamente con el tiempo.
La ecuacion (4.14) expresa una funci
on que tiene una forma muy peculiar
denominada cu
adrica. En el caso de dos coeficientes (L = 1) dicha ecuacion
es un paraboloide (figura 4.14). Cabra la duda de si es un paraboloide con
un maximo o con un mnimo. Por reduccion al absurdo es facil ver que debe
tener un mnimo, porque si no necesariamente existiran valores de los pesos
que haran que fuese negativo, cosa imposible, pues es un valor cuadr
atico
medio.
350
300
MSE
250
200
150
100
50
0
20
20
10
10
0
0
10
w1
10
20
20
w0
146
4.3.5.
,
, ...,
(4.15)
=
w0 w1
wL
El vector gradiente en un cierto punto tiene las siguientes propiedades:
La direcci
on es la de m
axima pendiente en un punto (crecimiento).
Su modulo es el valor de esa m
axima pendiente.
Los mnimos (y m
aximos) locales de la funcion se corresponden con
puntos de gradiente nulo.
Dado que la funci
on valor cuadr
atico medio de la se
nal error () tiene un u
nico
mnimo local, podremos hallar los coeficientes optimos W , es decir los que
minimizan la potencia de la se
nal error, sin mas que calcular el gradiente de
la funcion , anularlo y despejar el valor de los peso optimos.
Para calcular el gradiente, tomamos la ecuacion (4.14), calculamos las derivadas parciales, y formamos el vector gradiente. Dicho gradiente se puede
expresar de nuevo en forma matricial del siguiente modo:
= 2R W 2P
(4.16)
El error cuadr
atico medio mmimo se producira cuando los pesos del filtro
anulen el gradiente.
= 0 = 2R W 2P
(4.17)
Suponiendo que R sea no singular (es decir, invertible) entonces el vector
de coeficientes
optimo, W , vale:
W = R1 P
(4.18)
4.3. Filtrado Optimo
147
Es facil ver cu
anto vale mn , es decir, el valor de la potencia media cuando
los coeficientes del filtro son los
optimos. Tras unas operaciones matriciales
elementales, y teniendo en cuenta que la matriz R es simetrica, se llega a:
mn = E{d2 } P T W
(4.19)
(4.20)
148
justifica el hecho de que los pasos de los algoritmos iterativos sean de tama
no
proporcional al gradiente. La estrategia de variar los pesos iterativamente en
direccion contraria al gradiente es el fundamento del algoritmo adaptativo mas
utilizado, el LMS, que veremos m
as adelante.
4.3.6.
R=
0,5
0,5 cos 2/N
PT =
0 sen 2/N
(4.21)
(4.22)
(4.24)
149
N=4
20
15
10
w1
10
15
20
20
15
10
0
w0
10
15
20
10
15
20
N=10
20
15
10
w1
10
15
20
20
15
10
0
w0
4.4.
Algoritmos de gradiente
En la secci
on anterior hemos visto que la funcion que mide la potencia de
la se
nal error, en funci
on del valor de los pesos del filtro FIR, presenta un
u
nico mnimo local que a la vez es el mnimo global de la misma.
Existen procedimientos de adaptacion que estiman la matriz de autocorrelacion y el vector de correlaciones cruzadas muestra a muestra determinando
150
(4.25)
4.4.1.
Caso Unidimensional
(4.26)
= 2 (w w )
(4.27)
w
La recursion (4.25) particularizada para nuestro caso de un solo coeficiente
resulta:
w[n + 1] = w[n] 2(w[n] w )
(4.28)
Esta ecuacion en diferencias recursiva, tiene por solucion:
w[n] = w + (1 2)n (w[0] w )
(4.29)
151
4
r=0.8
1
r=0.7
0
1
0
10
15
n
20
25
30
152
4.4.2.
Caso Multidimensional
0kL
(4.30)
Para garantizar la convergencia debe cumplirse |rk | < 1 para todos los
modos. Esto implica que:
1
<
(4.31)
max
La convergencia se alcanza cuando han convergido todos los modos. La convergencia es m
as lenta cuanto m
as parecido sea |rk | a 1. Esto suele producirse
para mn . La raz
on geometrica del modo mas lento, en el caso de tomar lo
mas grande posible para asegurar la convergencia, vale:
mn
r = 12
max
(4.32)
153
20
15
10
w1
10
15
20
20
15
10
0
w0
10
15
20
4.5.
El algoritmo LMS
En la secci
on anterior hemos visto una estrategia para encontrar el mnimo
de la superficie de error consistente en moverse peque
nos pasos en direccion
contraria al gradiente. En la pr
actica se dispone de muestras de las se
nales
d[n] y x[n], pero se desconoce el valor del gradiente.
El algoritmo conocido como LMS (Least Mean Squares) consiste en sustituir el gradiente en la ecuaci
on (4.25) por una estima del mismo obtenida
154
20
15
10
w1
10
15
20
20
15
10
0
w0
10
15
20
[n]
= 2e[n] X[n]
(4.34)
E [n]
= E {2e[n] X[n]} = E 2(d[n] X T [n] W ) X[n] = 2 R W P
(4.35)
expresion que coincide con el gradiente teorico de la ecuacion (4.16). El hecho
de que el gradiente no sea m
as que una estima hace que el comportamiento del
algoritmo LMS sea similar al de un algoritmo con gradiente en media aunque
la trayectoria seguida por los coeficientes sea mas erratica.
En las figuras 4.18, 4.19 y 4.20 se muestra un ejemplo de adaptacion usando
el algoritmo LMS. Las se
nales usadas son las del ejemplo de la seccion 4.3.6,
155
e[n]
10
8
6
4
2
0
2
4
6
8
10
0
100
200
300
400
500
n
600
700
800
900
1000
Figura 4.19: Se
nal error en el algoritmo LMS.
salvo que la se
nal d[n] tiene a
nadido un ruido blanco de 2 = 0,05. Ello influye
u
nicamente en que la superficie de error tiene el mnimo ligeramente mas
alto. Recordemos que tenemos dos coeficientes. En la figura 4.18 se muestra
la evolucion de los pesos. Puede observarse que es similar a un algoritmo de
gradiente pero m
as err
atica.
La figura 4.19 muestra la evoluci
on temporal de la se
nal de error. Podemos
apreciar como disminuye su amplitud llegando a un punto donde no parece
decrecer mas. En ese momento, el algoritmo habra finalizado su adaptacion,
y la potencia media de la se
nal error una vez concluda la misma, sera mn .
La figura 4.20 muestra la evoluci
on temporal de los pesos. Podemos apreciar como alcanzan un valor en torno a su valor final para luego permanecer
oscilantes alrededor del mismo. Ello es debido a lo que se denomina desajuste
y que se explica m
as abajo.
4.5.1.
Ejemplo num
erico del algoritmo LMS
En esta secci
on vamos a dar un ejemplo numerico del proceso de adaptacion
de un algoritmo LMS. Como hemos podido ver en la seccion anterior, este
algoritmo es bastante simple, pero es necesario ser cuidadoso a la hora de
156
w0[n] w1[n]
10
5
w0
w1
10
15
20
0
100
200
300
400
500
n
600
700
800
900
1000
implementarlo. B
asicamente hay que realizar una serie de pasos que se repiten
cada nuevo instante:
Recibir x[n] y d[n].
Actualizar el vector de entradas X.
Calcular la salida y[n] = W T [n] X[n].
Calcular la se
nal e[n] = d[n] y[n].
Actualizar los pesos W [n + 1] = W [n] + 2e[n]X[n]
La tabla 4.1 muestra un fragmento de los anteriores valores en un caso de dos
coeficientes, con 2 = 0,1 .
4.5.2.
Aspectos pr
acticos del algoritmo LMS
157
n
..
.
-2
-1
0
1
..
.
d[n]
..
.
1.6
1.8
0.6
-0.8
..
.
x[n]
..
.
0
0.6
0.9
0.9
..
.
w0 [n]
..
.
w1 [n]
..
.
y[n]
..
.
e[n]
..
.
-2
-1.82
-1.673
..
.
1
1
1.0983
..
.
-1.2
-1.038
-0.517
..
.
3
1.638
-0.282
..
.
1
(L + 1) P otx
(4.36)
En esta expresi
on intervienen u
nicamente el n
umero de coeficientes del filtro y
la potencia media de la se
nal x[n], f
acilmente estimable. Si la se
nal x[n] pudiera
variar su potencia (es decir, fuera no estacionaria), deberamos introducir alg
un
mecanismo de monitorizaci
on de la misma o situarnos en el caso de la maxima
potencia esperada, pues en caso contrario, el algoritmo de adaptacion podra
diverger.
La segunda consideraci
on se refiere a que el vector
[n]
= 2 e[n] X[n]
altera los coeficientes en cada nueva muestra. Ello hace que aunque en media el
incremento de los pesos una vez alcanzada la adaptadacion sea nulo, estos no
dejen de variar si la se
nal e[n] no tiende a cero. Se podra ver el fenomeno como
si nos estuvieramos moviendo por el fondo del paraboloide constantemente.
158
Esta
es la raz
on por la que cuando estudiamos los canceladores de eco,
dijimos que, durante el funcionamiento full duplex, el algoritmo no actualizaba
sus coeficientes.
4.6.
Conclusiones
159
4.7. Problemas
Si la se
nal es no estacionaria es como si el paraboloide se moviese/deformase
lentamente.
Si la potencia de x[n] puede variar con el tiempo, hay que monitorizarla
para evitar que el algoritmo pueda hacerse inestable.
4.7.
Problemas
R=
3 2
2 3
4.7.1.
En la direcci
on
http://ttt.upv.es/aalbiol/librotds
se encuentran los ficheros que hacen falta para realizar estos ejercicios.
El programa LMS.M implementa el algoritmo de adaptacion del mismo nombre.
1. En este primer ejercicio comprobaremos una de las aplicaciones de la prediccion lineal. En codificaci
on de se
nales interesa muchas veces codificar
la diferencia entre una se
nal y una prediccion de la misma. Normalmente
la predicci
on se hace de forma lineal y en base a muestras anteriores. En
160
161
4.7. Problemas
Planta???
x[n]
d-
+ r[n]
y X
X
?+ Xe[n]
X dn
6
- Filtro. Adapt.
y[n]
Figura 4.21: Ruido aditivo a la salida de la planta. El algoritmo adaptativo no tiene acceso a d[n] sino a dn[n].
d ) Vamos a simular lo que sucede cuando la salida de la planta tiene
un ruido aditivo incorrelado con la entrada. Genere un vector r
de muestras aleatorias gaussianas y varianza 0.01. Genere el vector
dn = d + r. Suponiendo que cuando la se
nal d no tena ruido la
potencia de la se
nal error tras la adaptacion vala cero, calcule cual
es el valor de mn en el caso de utilizar dn.
e) Utilice un filtro adaptativo de 8 coeficientes con un valor de igual
a una decima parte de su valor maximo. y ejecute el algoritmo LMS
tratando de estimar la respuesta en frecuencia de la planta. Dibuje
la evoluci
on temporal de los pesos. Que observa con respecto al
caso en que no tenamos ruido en la salida de la planta?
f ) Repita el punto anterior pero con un valor de igual a 1/5 del valor
m
aximo. Dibuje nuevamente la evolucion temporal de los pesos y
compare que sucede cuando se incrementa .
162
Captulo 5
An
alisis Espectral
5.1.
Introducci
on
Que es el an
alisis espectral? El an
alisis espectral de se
nales no es otra cosa
que el tratar de ver las se
nales de una forma distinta a como se manifiestan
normalmente. Concretando un poco m
as, las se
nales que habitualmente manejamos se presentan como variaciones de una magnitud fsica (corriente, voltaje,
presion ac
ustica, . . . ) en funci
on del tiempo. Podramos decir, que las se
nales
se producen de forma natural en el dominio del tiempo. Sin embargo, muchas
veces, mirar una se
nal en su dominio natural (el tiempo generalmente) no ayuda demasiado a comprender la misma. En muchas ocasiones, descomponer la
se
nal como suma de sinusoides resulta de gran interes practico. En general,
se entendera por an
alisis espectral en el sentido mas amplio del termino, el
descomponer una se
nal como suma de una coleccion de se
nales (ortogonales).
En la gran mayora de los casos, y es lo que se estudiara en este tema, las
se
nales en las que descompondremos seran sinusoides. La razon de ello, es que
las sinusoides son autofunciones de los sistemas lineales.
El analisis espectral, resumiendo, sera pues el conjunto de herramientas
que permiten considerar las se
nales desde un punto de vista diferente, cuando
ello resulta de interes.
Otra forma de hablar, diferente pero equivalente a la vez, y poco formal,
podra ser decir que las se
nales, en su dominio temporal, nos indican la fuerza
de la se
nal a lo largo del tiempo, mientras que en su dominio espectral, la
fuerza de la misma para cada frecuencia. De un modo mas tecnico diremos
que el analisis espectral nos da la distribucion de energa (o potencia seg
un el
caso) por frecuencias, es decir, cu
anta energa (o potencia) tiene la se
nal en
cada frecuencia.
163
CAPTULO 5. ANALISIS
ESPECTRAL
164
5.2.
El analisis espectral es una herramienta profusamente utilizada en Telecomunicaciones y un sinfn de otras disciplinas. Existen distintos tipos de analizadores espectrales, fundamentalmente en funcion del rango de frecuencias a
analizar y de la aplicaci
on. Los principales son:
Analizador espectral por banco de filtros.
Analizadores de barrido.
Analizadores digitales.
En las secciones siguientes expondremos los principios de funcionamiento de
cada uno de ellos as como algunas de sus aplicaciones mas tpicas.
5.2.1.
Practicamente todos hemos podido ver los displays que presentan algunos
equipos de alta fidelidad, en los que un conjunto de barras indican en cada
momento la amplitud de la se
nal en la correspondiente banda de frecuencias.
Este tipo de presentaci
on corresponde al resultado de un analisis espectral
mediante un banco de filtros.
Consisten en un conjunto de filtros paso-banda (figura 5.1), cada uno de
los cuales tiene a su salida un medidor de potencia. Cada canal (salida del
filtro) proporciona una indicaci
on del comportamiento medio en su correspondiente banda de paso. Los medidores de potencia consisten basicamente en un
elevador al cuadrado seguido de un filtro paso-bajo (figura 5.2). El ancho de
H1
Pot1
H2
Pot2
..
.
HN
..
.
- PotN
165
x2
Hkpb
Potk
Figura 5.2: Esquema de un medidor de potencia de un analizador espectral por banco de filtros.
CAPTULO 5. ANALISIS
ESPECTRAL
166
5.2.2.
Analizadores de barrido
HF I
x2
Hpb
OL
Figura 5.3: Esquema de un analizador de espectros de barrido.
167
5.2.3.
Analizadores digitales
Van a constituir el resto del tema. En este punto, solo diremos que las
se
nales a analizar son digitalizadas, y se analizan mediante distintos procedimientos las muestras obtenidas. Son los metodos mas potentes que existen
por la complejidad de los procedimientos implementables. Su u
nica limitacion practica est
a en la disponibilidad/calidad de los convertidores de datos
(A/D) y en el ancho de banda de la se
nal (n
umero de muestras por segundo
a procesar).
5.3.
En esta secci
on vamos a centrar un poco mas el problema que pretendemos
resolver mediante el an
alisis espectral. En general, podemos hablar de una
serie de tipos de se
nales que podemos estar interesados en analizar. En los
siguientes apartados iremos viendo para cada uno de estos tipos que es lo que
pretendemos obtener analizando espectralmente, y los posibles problemas.
168
5.3.1.
CAPTULO 5. ANALISIS
ESPECTRAL
Se
nales deterministas de duraci
on limitada
Este tipo de se
nales es el que ofrece conceptualmente menos problemas.
La herramienta a utilizar ser
a la transformada de Fourier, y en la practica
la FFT. Ello es posible porque la FFT recibe como entrada un vector de
muestras de duraci
on limitada, y proporciona como resultado un vector de
muestras espectrales. Si se desea una mayor finura de muestreo espectral,
siempre podremos a
nadir ceros al final de las muestras antes de calcular la
FFT.
Si se eleva al cuadrado el m
odulo de la FFT se obtiene la denominada
Densidad Espectral de Energa (DEE).
5.3.2.
Se
nales deterministas de duraci
on ilimitada
Cuando las se
nales son de duraci
on ilimitada, nos encontramos con el primer obstaculo insalvable del an
alisis espectral. La Transformada de Fourier
(TF), es una operaci
on que permite pasar de un dominio (el tiempo) a otro
(la frecuencia). Sin embargo, por la propia definicion, para calcular la TF en
cualquier frecuencia, es necesario conocer la se
nal en todo instante. Esto, para
se
nales de duraci
on infinita, implicara esperar hasta el final de los tiempos
antes de poder empezar a calcular la TF, as como haber conocido dicha se
nal
desde el principio de los mismos (eso sin contar con los problemas de convergencia de la serie).
En primer lugar, no est
abamos aqu para grabar el principio de la se
nal.
En segundo lugar, tampoco lo estaremos para el final de la misma. Ademas
es bastante improbable que la se
nal que pretendemos analizar existiera desde
siempre ni vaya a durar por siempre. Todas estas cuestiones, aparentemente
filosoficas, conducen al procedimiento de medida siguiente. Lo que haremos
sera tomar un trozo de se
nal y analizarlo utilizando los metodos de se
nales
de duracion limitada (cualquier trozo de se
nal tiene duracion limitada), suponiendo que el segmento seleccionado es suficientemente representativo de la
se
nal total.
Dentro de este tipo de se
nales consideraremos, por su importancia, el estudio mas en detalle de sumas de tonos y se
nales periodicas.
5.3.3.
Se
nales aleatorias estacionarias
169
(5.2)
CAPTULO 5. ANALISIS
ESPECTRAL
170
se
nal a analizar). No obstante, indicaremos tambien que la ergodicidad es una
propiedad de los procesos aleatorios que siempre supondremos pero que nunca
comprobaremos (porque no se pueden conocer las infinitas realizaciones del
proceso aleatorio y, si se conocieran, la propiedad no nos servira para nada).
La ergodicidad, como acabamos de ver, es la propiedad teorica que nos
permite analizar un proceso aleatorio a partir de una u
nica realizacion. Esto, de
todos modos, a
un no resuelve el an
alisis espectral practico pues sera necesario
conocer la realizaci
on para todo tiempo. Para solucionar este problema se
recurre a lo mismo que en el caso de se
nales deterministas de duracion infinita.
Se cogera un trozo de se
nal, y se realizara el analisis de dicho fragmento. La
forma de pasar del an
alisis de un fragmento a la DEP de la se
nal aleatoria
sera estudiada con detalle en los apartados correspondientes.
5.3.4.
Se
nales no estacionarias
Si la se
nal a analizar es no estacionaria resulta que la ecuacion (5.2) depende no solo de m sino de n. En ese caso la DEP no existe estrictamente
hablando. Para solventar este problema, presente en muchas se
nales de interes
practico (voz, sonar, radar,. . . ), se recurrira a un concepto nuevo llamado distribuci
on tiempo frecuencia.
En la secci
on correspondiente estudiaremos con mas profundidad estos procedimientos, pero de momento pensemos que lo que haremos sera considerar
que el espectro vara con el tiempo. Este concepto, facil de comprender intuitivamente, choca frontalmente con nuestros conocimientos teoricos hasta el
momento, en donde los dominios del tiempo y la frecuencia, NUNCA aparecen
juntos.
5.3.5.
Aspectos pr
acticos del an
alisis espectral digital
171
Haa
A/D
An. Dig.
CAPTULO 5. ANALISIS
ESPECTRAL
172
frecuencias anal
ogicas fa es necesario multiplicar por la frecuencia de muestreo
fs .
fa = fd fs
(5.3)
5.4.
An
alisis espectral de se
nales deterministas
Esta secci
on se va a dedicar al an
alisis espectral de sumas de tonos. Dado
que las se
nales peri
odicas son sumas de tonos, este apartado incluira el analisis
de se
nales peri
odicas como extensi
on.
Supondremos que la se
nal a analizar es la suma de dos tonos:
x[n] = A1 cos(1 n + 1 ) + A2 cos(2 n + 2 )
(5.4)
No contemplamos el caso de un u
nico tono, puesto que los efectos que vamos a
presentar en breve necesitan de la presencia de varios tonos. Para no recargar
la notacion, y dado que no se pierde generalidad, vamos a suponer que las fases
iniciales de los tonos son ambas cero 1 = 2 = 0. La figura 5.5 reperesenta
un ejemplo de se
nal de este tipo con f1 = 0,15 y f2 = 0,28.
2
1.5
x[n]
0.5
-0.5
-1
-1.5
-2
0
20
40
60
80
100
n
120
140
160
180
200
5.4. An
alisis espectral de se
nales deterministas
173
w[n] =
6= 0 0 n L 1
0
resto
(5.5)
(5.6)
Xw (e ) =
L1
X
(5.7)
n=0
donde es la convoluci
on peri
odica de transformadas de Fourier
Z
1
X(ej() ) W (ej ) d
X(ej ) W (ej ) =
2
(5.8)
w[n] =
1 0nL1
0
resto
(5.9)
A
W (ej0 )
2
(5.10)
CAPTULO 5. ANALISIS
ESPECTRAL
174
120
100
80
60
40
20
0
-0.5
-0.4
-0.3
-0.2
-0.1
0
f
0.1
0.2
0.3
0.4
0.5
Figura 5.6: M
odulo de la transformada de Fourier de dos tonos truncados.
5.4.1.
Ventanas de an
alisis
En el apartado anterior, hemos concluido que las propiedades del analizador espectral de tonos, dependen u
nicamente de la ventana de truncacion
175
5.4. An
alisis espectral de se
nales deterministas
-5
NLS
-10
dB
-15
-20
-25
-30
-35
ALP
-40
-0.5
-0.4
-0.3
-0.2
-0.1
0
f
0.1
0.2
0.3
0.4
0.5
Figura 5.7: M
odulo de la transformada de Fourier de una ventana
rectangular de 30 puntos.
empleada. Existen muchas posibles elecciones para las ventanas. Las dos principales caractersticas que afectan sus propiedades de analisis espectral son:
El ancho del l
obulo principal, ALP , definido como el ancho de la transformada de Fourier entre los dos nulos mas proximos al origen de frecuencias. Se expresa en hercios.
El nivel de l
obulos secundarios, NLS definido como la diferencia de amplitud entre el m
aximo local de la TF en el origen y el siguiente mas
grande. Se suele expresar en dB (20 log A0 /A1 , siendo A0 el modulo de
la TF en el origen y A1 el m
odulo del siguiente maximo local de la TF).
La figura 5.7 muestra dichos par
ametros para una ventana rectangular de
duracion 30.
Cada uno de los par
ametros anteriormente mencionados, es decir, el ancho
del lobulo principal y el nivel de l
obulos secundarios, es responsable de uno de
los problemas que se manifiestan en la figura 5.6:
El hecho de tener en cada tono anchos de pico no nulos se debe al ancho
del lobulo principal de la TF de la ventana.
CAPTULO 5. ANALISIS
ESPECTRAL
176
La presencia de m
ultiples peque
nos picos esp
ureos es debida a los lobulos
secundarios de la TF de la ventana.
Las ventanas m
as empleadas suelen ser funciones simetricas decrecientes
hacia los extremos del margen de valores no nulos de la misma, y con un valor
maximo de 1 en el centro del intervalo. De entre las mas usuales estan las
rectangulares, triangulares, Hanning y Hamming. Las expresiones analticas
de las distintas ventanas pueden encontrarse en la bibliografa [6]. Ademas
Matlab tiene funciones que generan un gran n
umero de ventanas diferentes
de todas las longitudes.
Para nuestros prop
ositos de an
alisis espectral conviene conocer las propiedades de las m
as conocidas, que se muestran en la tabla 5.1.
Tipo
Rectang.
Triang.
Hanning
Hamming
ALP (Hz)
2/L
4/L
4/L
4/L
NLS (dB)
13
26
32
42
177
5.4. An
alisis espectral de se
nales deterministas
1
0.9
0.8
0.7
0.6
0.5
0.4
Triangular
0.3
0.2
Hamming
0.1
Hanning
0
0
10
15
n
20
25
30
CAPTULO 5. ANALISIS
ESPECTRAL
178
Rectangular
0
10
20
30
40
50
0.5
0.4
0.3
0.2
0.1
0.1
0.2
0.3
0.4
0.5
0.1
0.2
0.3
0.4
0.5
Triangular
0
10
20
30
40
50
0.5
0.4
0.3
0.2
0.1
0
f
0.4
0.3
0.2
0.1
0.1
0.2
0.3
0.4
0.5
0.1
0.2
0.3
0.4
0.5
Hanning
0
10
20
30
40
50
0.5
0.4
0.3
0.2
0.1
0
f
5.4.2.
Resoluci
on en frecuencia y margen din
amico
179
5.4. An
alisis espectral de se
nales deterministas
proximos. Si la separaci
on en frecuencia de los dos tonos hubiera sido menor
que el ancho del l
obulo principal de la ventana, en vez de dos picos, se habra
visto un u
nico pico. En este caso diramos que no somos capaces de resolver
los dos tonos.
Definiremos la resoluci
on de un estimador espectral como la separacion
mnima en frecuencia que deben tener dos tonos de igual amplitud para que el
estimador presente dos picos claramente diferenciados. La resolucion coincide
aproximadamente con el ancho del l
obulo principal de la ventana de truncamiento empleada. La figura 5.11 muestra el estimador espectral de dos tonos
de frecuencias 0.15 y 0.151 con la misma ventana rectangular de L = 200 de
la figura 5.6. En este caso la resoluci
on es de f = 2/200 mientras que la
separacion de frecuencia de los tonos es de 1/1000, por lo que no se resuelven.
Si en vez de considerar una duracion de 200 muestras para la ventana,
hubieramos tomado 4000, hubieramos obtenido el resultado de la figura 5.12
en la que claramente aparecen los dos tonos.
Si en vez de tener dos tonos de la misma amplitud, hubieramos tenido
dos tonos de amplitud bastante diferente, habra resultado que, incluso si la
frecuencia de los mismos hubiera sido bastante diferente, habra sido difcil
distinguir el tono de peque
na amplitud de un lobulo lateral del tono de mayor
amplitud. Dicho de otro modo, es m
as facil distinguir tonos de amplitudes si-
2
1
0
-1
-2
0
20
40
60
80
100
n
120
140
160
180
200
-0.4
-0.3
-0.2
-0.1
0
f
0.1
0.2
0.3
0.4
0.5
150
100
50
0
-0.5
CAPTULO 5. ANALISIS
ESPECTRAL
180
2500
2000
1500
1000
500
0
0.14
0.142
0.144
0.146
0.148
0.15
0.152
0.154
0.156
0.158
0.16
181
5.4. An
alisis espectral de se
nales deterministas
40
30
20
10
-10
-20
-30
-40
0
0.05
0.1
0.15
0.2
0.25
f
0.3
0.35
0.4
0.45
0.5
40
30
20
10
-10
-20
-30
-40
0
0.05
0.1
0.15
0.2
0.25
f
0.3
0.35
0.4
0.45
0.5
Figura 5.14: Estima espectral de los dos tonos de la figura 5.13 usando
ventana Hamming de la misma duraci
on.
5.4.3.
CAPTULO 5. ANALISIS
ESPECTRAL
182
La TF de una se
nal discreta, no obstante, es una funcion contnua. Dichas
funciones son bastante engorrosas de manejar por ordenador, por lo que frecuentemente se manejan muestras de dicha TF. De hecho, todas las graficas
presentadas en los apartados anteriores, corresponden realmente a muestras
suficientemente pr
oximas de la TF (funcion contnua).
La herramienta natural para obtener muestras de la TF de una se
nal de
duracion finita es la FFT. En principio cabra pensar que dado que tenemos
segmentos de L muestras, las FFT a utilizar deberan ser del mismo tama
no.
Sin embargo, aunque la teora nos dice que dicho n
umero de muestras espectrales es suficiente para representar sin ambig
uedad la se
nal, en aplicaciones
de analisis espectral puede inducir a errores de interpretacion. Veamoslo con
algunos ejemplos. En la figura 5.15 se muestra el analisis de una se
nal que es
un u
nico tono de frecuencia 0.05, utilizando una ventana de analisis rectangular y de duraci
on L = 100. Se ha empleado para confeccionar dicha figura una
FFT de 100 puntos. La figura muestra los valores de la FFT como crculos
y unos trazos rectos que los unen. Aparentemente, el resultado es excelente
porque dado un tono tengo una delta como espectro. Nada mas enga
noso como
veremos dentro de un momento.
La figura 5.16 muestra lo mismo que la figura 5.15 pero esta vez para
un tono de frecuencia 0.0438, no muy diferente de la del ejemplo anterior. Si
observamos lo que sucede vemos que el aspecto de la figura 5.16 es totalmente
50
45
40
35
30
25
20
15
10
5
0
0
0.05
0.1
0.15
0.2
0.25
f
0.3
0.35
0.4
0.45
0.5
183
5.4. An
alisis espectral de se
nales deterministas
40
35
30
25
20
15
10
0
0
0.05
0.1
0.15
0.2
0.25
f
0.3
0.35
0.4
0.45
0.5
CAPTULO 5. ANALISIS
ESPECTRAL
184
60
50
40
30
20
10
0
0
0.05
0.1
0.15
0.2
0.25
f
0.3
0.35
0.4
0.45
0.5
185
5.4. An
alisis espectral de se
nales deterministas
60
50
40
30
20
10
0
0
0.05
0.1
0.15
0.2
0.25
f
0.3
0.35
0.4
0.45
0.5
5.4.4.
El problema de la media
CAPTULO 5. ANALISIS
ESPECTRAL
186
analizan espectralmente se
nales cuya media es no nula aparecen los mismos
problemas que para cualquier tono:
El ancho del l
obulo principal me impide ver otras componentes de muy
baja frecuencia.
Los lobulos secundarios de la componente contnua pueden ser de mayor
amplitud que otras componentes espectrales.
Dichos problemas, no son observables si se utilizan ventanas rectangulares
y un n
umero de muestras espectrales igual a la duracion de la ventana. Sin
embargo, si se usan otras ventanas o el n
umero de muestras espectrales es
mayor que la duraci
on de la ventana (porque se rellena con ceros antes de
calcular la FFT), dichos efectos pueden no permitir realizar un analisis correcto
del resto de componentes espectrales. El procedimiento a seguir, partiendo de
un segmento de L muestras es:
Restar la media de las L muestras.
Enventanar el resultado con la ventana deseada de L muestras.
Opcionalmente, a
nadir los ceros necesarios para obtener el muestreo en
frecuencia deseado.
5.5.
An
alisis espectral no param
etrico
En esta secci
on vamos a abordar el analisis espectral de se
nales aleatorias estacionarias. Por lo tanto, el objetivo sera tratar de estimar la DEP del
proceso aleatorio del cual disponemos de un fragmento temporal.
Los metodos que veremos en esta seccion se denominan metodos no-parametricos. Esto es as porque no presuponen nada sobre la se
nal que estamos analizando. Mas adelante, veremos otros metodos que presuponen que las se
nales
bajo analisis son de un determinado tipo (metodos parametricos). En este caso, y si las se
nales realmente son del tipo supuesto, los metodos parametricos
dan mucho mejor resultado que los que veremos en esta seccion. No obstante,
en ausencia de conocimiento del tipo de se
nal que vamos a analizar, los metodos no-parametricos son mejores puesto que simplemente nos dan muestras de
la DEP sin ninguna suposici
on.
5.5.1.
Sesgo y Varianza
Cuando las se
nales a analizar son aleatorias, nos encontramos con que
ante una serie de operaciones deterministas, el resultado sera diferente en
187
5.5. An
alisis espectral no parametrico
funcion de la realizaci
on concreta del proceso que estemos utilizando. Ello
lleva a que la estima espectral sea considerada como aleatoria. Esto quiere
decir que en funci
on del trozo que cojamos de se
nal para analizar, el resultado
sera diferente.
Si denominamos x (ej ) a la verdadera (y desconocida) DEP del proceso
x (ej ) a la estima que estamos haciendo, resulta que
x (ej ) es una
x[n] y
variable aleatoria para cada . Para saber la bondad de un estimador, cabra
preguntarse dos cuestiones:
x (ej ) coincide con x (ej )? Esto es equiLa media (esperanza) de
valente a preguntarse si repitiendo la misma medida muchas veces y
tomando la media nos iremos acercando al valor teorico. Si
x (ej )} = x (ej )
E{
(5.11)
5.5.2.
El periodograma
L1
X
x (ej ) = 1
x[n] ejn
L n=0
(5.12)
CAPTULO 5. ANALISIS
ESPECTRAL
188
-1
-2
-3
0
50
100
150
n
200
250
300
(5.13)
sesgado. Unicamente
en el caso del ruido blanco, dicha convolucion coincij
dira con x (e ).
2
El sesgo ser
a peque
no cuando WR (ej ) se parezca a una delta con respecto a la forma que tenga x (ej ). Para ello bastara con tomar ventanas mas
189
5.5. An
alisis espectral no parametrico
0
0
0.05
0.1
0.15
0.2
0.25
f
0.3
0.35
0.4
0.45
0.5
0.05
0.1
0.15
0.2
0.25
f
0.3
0.35
0.4
0.45
0.5
0
0
CAPTULO 5. ANALISIS
ESPECTRAL
190
0
0
0.05
0.1
0.15
0.2
0.25
f
0.3
0.35
0.4
0.45
0.5
LU n=0
Las ventanas que se suelen emplear son las mismas vistas en la seccion 5.4.
La constante U de la anterior expresi
on se elige para compensar el efecto de
atenuacion en los extremos de las ventanas; de no tenerse en cuenta infraestimaramos siempre la potencia de la se
nal. Su valor se elige de modo que
191
5.5. An
alisis espectral no parametrico
cuando la se
nal a analizar es ruido blanco, el estimador resulte insesgado:
U=
X
1 L1
(w[n])2
L n=0
(5.16)
(5.17)
La variaci
on se supone en media. Obviamente, dado el car
acter aleatorio del estimador,
si se toma un n
umero distinto de muestras el resultado ser
a diferente, pero en media no vara
con la longitud de la ventana.
CAPTULO 5. ANALISIS
ESPECTRAL
192
L=128
80
60
40
20
0
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
0.3
0.35
0.4
0.45
0.5
L=256
80
60
40
20
0
0
0.05
0.1
0.15
0.2
0.25
f
Unicamente
proporciona una version interpolada en frecuencia, con respecto a no rellenar con ceros.
193
5.5. An
alisis espectral no parametrico
L=N=128
6
0
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
0.35
0.4
0.45
0.5
L=128 N=1024
6
0
0
0.05
0.1
0.15
0.2
0.25
f
0.3
5.5.3.
Autocorrelaci
on
(5.18)
CAPTULO 5. ANALISIS
ESPECTRAL
194
Si sustituimos las esperanzas matematicas por promedios temporales (asumiendo ergodicidad), podemos llegar a dos estimadores de la autocorrelacion.
Suponiendo que tenemos L muestras de una se
nal real, definimos el estimador
x [m] como:
insesgado de la autocorrelaci
on R
1
x [m] =
R
L |m|
L1|m|
k=0
(5.19)
|m| L
x [m] como:
Analogamente, definimos el estimador sesgado R
x [m] =
R
L1|m|
1 X
(5.20)
k=0
|m| L
Observese c
omo estos dos estimadores solo se diferencian en la constante
que divide. Mientras en el insesgado, se divide por el n
umero de muestras
que se solapan al desplazar la se
nal, en el sesgado se divide siempre por el
n
umero total de muestras. La figura 5.24 muestra el n
umero de muestras que
se solapan (n
umero de productos que se pueden realizar) al ir desplazando las
se
nales.
x[k + |m|]
|m|
x[k]
L 1 |m|
L1
(5.21)
195
5.5. An
alisis espectral no parametrico
x [m] = Rx [m]
E R
|m| < L
(5.22)
|m| < L
(5.23)
CAPTULO 5. ANALISIS
ESPECTRAL
196
Insesgado
1
0.5
0
-0.5
-1
-100
-80
-60
-40
-20
20
40
60
80
100
20
40
60
80
100
Sesgado
1
0.5
-0.5
-100
-80
-60
-40
-20
0
m
valor de |m| en las figuras 5.25 y 5.26, la varianza del estimador es menor en
el caso de tener m
as muestras.
Se pueden establecer una serie de observaciones con respecto a los estimadores de la autocorrelaci
on:
Para un desplazamiento m fijo, la varianza de ambos estimadores decrece
a medida que aumentamos el n
umero de muestras disponible L. Esto
es en cierto modo l
ogico, pues a medida que tenemos mas muestras la
cantidad de muestras que se solapan es mas grande (ver figura 5.24) y
por lo tanto la cantidad de productos a promediar es mayor.
Para el estimador insesgado, para un n
umero total de muestras L fijo,
la varianza del estimador crece a medida que |m| aumenta.
La relaci
on entre las varianzas de los estimadores sesgado e insesgado es:
n
x [m] =
VAR R
L |m|
L
2
x [m]
VAR R
|m| < L
(5.24)
197
5.5. An
alisis espectral no parametrico
Insesgado
1
0.5
0
-0.5
-1
-400
-300
-200
-100
100
200
300
400
100
200
300
400
Sesgado
1
0.5
0
-0.5
-1
-400
-300
-200
-100
0
m
L1
X
x [m]ejm
R
(5.25)
m=L+1
Dicho estimador, dado que la estima de la autocorrelacion es aleatoria (dependera de las muestras concretas empleadas), tambien sera aleatorio, y tendra por
lo tanto una media y una varianza para cada . La media se puede demostrar
que vale:
n
o
x (ej ) = x (ej ) WR (ej )
E
(5.26)
CAPTULO 5. ANALISIS
ESPECTRAL
198
wR [m] =
1 |m| L 1
0
resto
(5.27)
x (ej ) =
x [m]ejm
R
(5.28)
m=L+1
(5.29)
5.5. An
alisis espectral no parametrico
199
(5.31)
Adicionalmente, la relaci
on (5.31) permite explicar la gran varianza del
periodograma. Antes hemos concluido que, cuando estimamos la autocorrelacion, hay algunos valores que estimamos bastante bien (los de |m| peque
no)
y otros que los estimamos con bastante error (los valores de |m| proximos a
L) debido a que tenemos pocas muestras que se solapen para calcular la media de los productos). Estos valores erroneos de la autocorrelacion, hacen que
cuando calculamos la TF todos los valores de la TF tengan una gran varianza.
De alguna forma, en la autocorrelaci
on, las varianzas grandes estan localizadas mientras que en el periodograma tenemos una gran varianza para todo
. En la secci
on 5.5.4 veremos c
omo podemos emplear este conocimiento para
obtener un estimador espectral mucho menos fluctuante que el periodograma.
C
alculo de la autocorrelaci
on mediante DFT
El metodo de estima espectral Blackman-Tukey que se vera en la siguiente
seccion, parte de la estima de la autocorrelacion, por lo que es interesante
disponer de metodos de c
alculo r
apido de la misma.
Las expresiones vistas en el punto anterior para el calculo de la autocorrelacion (5.19) y (5.20) son directamente aplicables para el calculo de los
estimadores. Sin embargo, el n
umero de operaciones a realizar para su calculo
cuando se requieren los 2L 1 valores (L 1 se pueden obtener por la simetra
conjugada de la autocorrelaci
on), es proporcional a L2 . Es posible establecer
un procedimiento para usar DFT (junto con algunas operaciones auxiliares)
para calcular las estimas de autocorrelacion de forma eficiente. El metodo se
x [m] tiene duracion
x [m] es la TF1 del periodograma. Como R
basa en que R
2L 1 muestras, si tomamos el mismo (o mayor) n
umero de muestras del pe x [m]. Recordemos que
riodograma mediante una DFT inversa obtendremos R
el n
umero de muestras espectrales del periodograma se puede fijar facilmente
sin mas que rellenar con ceros antes de hacer la DFT. El procedimiento para
x [m] es:
obtener R
CAPTULO 5. ANALISIS
ESPECTRAL
200
s
Q
Q
Q
Q
s
?
Q
Q
DFT1
m
N 1
Autocorr
Q
Partimos de L muestras de se
nal. Las completamos a
nadiendo ceros hasta un total de N , con N (2L 1). Normalmente elegiremos un valor
de N potencia de 2 para poder usar la FFT de forma lo mas eficiente
posible.
Calculamos la DFT directa del anterior vector.
Tomamos el m
odulo al cuadrado y dividimos por L, es decir, calculamos
el periodograma (N muestras del mismo).
x [m] en un orden un poco
Calculamos la DFT inversa. El resultado es R
particular.
x [m] pensemos que la
Para entender el orden en que tenemos los valores de R
DFT inversa nos devuelve una porci
on de una se
nal periodica en el intervalo 0
a N 1. Dado que la autocorrelaci
on que queremos, se corresponde a valores
positivos y negativos de m hay que reordenar el resultado como muestra la
figura 5.27.
5.5.4.
El m
etodo Blackman-Tukey
En la secci
on anterior, hemos visto cual es el origen del problema de varianza del periodograma.
El metodo Blackman-Tukey (BT) resuelve el problema de la varianza enventanando (truncando) la estima de la autocorrelacion de modo que u
nicamente se consideren para tomar la TF aquellos valores de la correlacion que
resulten fiables (gran n
umero de muestras solapadas al desplazar). El estimador BT consiste pues en:
201
5.5. An
alisis espectral no parametrico
Estimar la autocorrelaci
on (sesgado o insesgado).
Enventanar la autocorrelaci
on, para descartar los valores erroneos de la
misma.
Tomar la TF.
Para estimar la autocorrelaci
on se emplean los procedimientos vistos en el
apartado anterior. Para truncar la autocorrelacion:
xBT [m] = R
x [m] w[m]
R
(5.32)
donde la ventana w[n] es una ventana simetrica alrededor del origen de duracion impar (2M + 1). N
otese que se puede emplear tanto el estimador sesgado
como el insesgado de la autocorrelaci
on, ya que el sesgado no es mas que el
insesgado enventanado, por lo que, enventanar el sesgado, no es otra cosa que
enventanar el insesgado con una ventana que sea el producto de la ventana
triangular y w[n].
A continuaci
on se calcula la TF:
M
X
j
BT
x (e ) =
xBT [m]ejm
R
(5.33)
m=M
1.2
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-200
-150
-100
-50
0
m
50
100
150
200
CAPTULO 5. ANALISIS
ESPECTRAL
202
1.5
0.5
-0.5
-1
-200
-150
-100
-50
0
m
50
100
150
200
j
j
j
BT
E
x (e ) = x (e ) W (e )
(5.34)
es decir, la convoluci
on de la verdadera DEP con la TF de la ventana empleada
para truncar la autocorrelaci
on. Si dicha TF de la ventana es positiva para todo
, se garantizar
a la positividad de la media del estimador, en caso contrario,
no.
Recordemos que la convoluci
on produce un sesgo en la estima. Dicho sesgo
se manifestaba como una perdida de resolucion y unos lobulos laterales.
Si recordamos que el periodograma era la TF del estimador sesgado (enventanado triangular del insesgado), podemos decir que el periodograma es
un caso particular del estimador BT. Comparado con el periodograma, una
estima BT con M < L 1 tendr
a peor resolucion (la TF de una ventana
es mas ancha cuanto menos muestras tiene la ventana). Por contra, el mismo estimador BT tendr
a menor varianza que el periodograma, pues a la hora
de calcular la TF estamos descartando los valores de la autocorrelacion de
gran varianza. N
otese que enventanar la autocorrelacion equivale a forzar que
203
5.5. An
alisis espectral no parametrico
0
0
0.05
0.1
0.15
0.2
0.25
f
0.3
0.35
0.4
0.45
0.5
determinados valores (los de |m| grande) tengan por correlacion un valor nulo.
En el caso de se
nales ruidosas (autocorrelaciones estrechas), si realmente la
autocorrelaci
on es nula para |m| el metodo BT no producira ninguna perdida
de resolucion y s una reducci
on de la varianza. Podramos decir que el metodo
BT produce una perdida de resoluci
on en la estima si y s
olo si al enventanar
estoy truncando valores no-nulos de la autocorrelaci
on te
orica.
La figura 5.28 muestra la estima de la autocorrelacion de 200 muestras de
ruido blanco. La figura 5.29 muestra la misma autocorrelacion enventanada
con una ventana de Hamming de M = 20 (duracion total igual a 41). La
figura 5.30 muestra la TF de dicha autocorrelacion. Puede apreciarse como el
resultado es mucho menos fluctuante que el del periodograma de las mismas
muestras que se muestra en la figura 5.31.
Resumiendo, podramos decir que el metodo BT es un estimador espectral, que con respecto al periodograma tiene mas sesgo (peor resolucion) pero
menor varianza (siempre a igualdad del n
umero de muestras disponibles). La
reduccion de la varianza se logra descartando los valores poco fiables de la
autocorrelaci
on.
CAPTULO 5. ANALISIS
ESPECTRAL
204
0
0
0.05
0.1
0.15
0.2
0.25
f
0.3
0.35
0.4
0.45
0.5
Uso de la DFT en el m
etodo Blackman Tukey
Tal y como acabamos de ver en la ecuacion 5.33, el metodo BT implica el
calculo de la TF de una autocorrelaci
on. Como siempre, dicha TF se calcula
mediante una DFT. Como siempre, se pueden utilizar DFT del tama
no N que
se quiera, sin m
as que rellenar con ceros adecuadamente. Para calcular la TF
de la autocorrelaci
on enventanada hay que reordenar los datos antes, pues la
autocorrelaci
on tiene un margen de ndices M m M mientras que la
DFT tiene un margen de ndices 0 n N 1.
Como siempre, para entender de que se ha de calcular la DFT basta pensar
en la periodicidad de la DFT. Si llamamos g[m], con 0 m N 1, al vector
del que se debe calcular la DFT, tenemos (suponiendo N 2M + 1):
xBT [m]
0mM
BT
g[m] =
Rx [m N ] N M m N 1
0
resto
La figura 5.27 puede ayudar a comprender la ecuacion (5.35).
(5.35)
205
5.5. An
alisis espectral no parametrico
5.5.5.
El m
etodo de Welch o WOSA
-1
-2
-3
0
20
40
60
80
100
n
120
140
160
180
200
CAPTULO 5. ANALISIS
ESPECTRAL
206
0
0
0.05
0.1
0.15
0.2
0.25
f
0.3
0.35
0.4
0.45
0.5
207
5.5. An
alisis espectral no parametrico
0
0
0.05
0.1
0.15
0.2
0.25
f
0.3
0.35
0.4
0.45
0.5
(e ) =
x
K k=1 x
(5.36)
j
OSA j
(k)
W
(e ) = E
E
x
x (e )
(5.37)
(5.38)
CAPTULO 5. ANALISIS
ESPECTRAL
208
50
45
40
35
30
25
20
15
10
5
0
0
0.05
0.1
0.15
0.2
0.25
f
0.3
0.35
0.4
0.45
0.5
a analizar ser
a la suma de un ruido blanco de potencia unidad y un tono de
amplitud 0.5. La figura 5.32 muestra el aspecto temporal de la mencionada
se
nal, en el que es pr
acticamente imposible discernir la presencia del tono.
En la figura 5.33 podemos apreciar el periodograma (modificado, usando
una ventana de Hamming) de un fragmento de 128 muestras de la se
nal. Podemos observar, que aunque aparece un pico, este es difcilmente discernible
de las fluctuaciones de la estima espectral del ruido. Podramos decir que con
128 muestras, NO sera posible detectar el tono mediante el periodograma.
En la figura 5.34, se dispone de 1024 muestras de la misma se
nal, a partir
de las cuales se generan 15 ventanas (solape 1/2) para cada una de las cuales se
calcula el periodograma de longitud 128 y se promedian los resultados. Comparando con la figura 5.33 vemos que se han reducido mucho las fluctuaciones
de la estima del espectro del ruido que ahora aparece mucho mas concentrado
alrededor de su valor te
orico (uno). Ahora, podemos apreciar claramente el
pico en el espectro debido al tono. Podemos apreciar que la resolucion de las
figuras 5.33 y 5.34 es la misma.
En la figura 5.35 se han tomado las mismas muestras de la figura 5.34,
1024, y se ha calculado un periodograma u
nico de 1024 muestras. Podemos
observar que el tono tambien resulta facilmente detectado en este caso, que
utiliza 1024 muestras. Sin embargo, la forma en que se detecta es diferente
de la de la figura 5.34. Mientras que en la figura 5.34 se han reducido las
fluctuaciones aleatorias y se ha mantenido la altura del pico con respecto a
5.5. An
alisis espectral no parametrico
209
5.5.6.
Resumen m
etodos no-param
etricos
Como resumen de los metodos no-parametricos vistos en esta seccion podemos establecer una serie de conclusiones:
El periodograma es el metodo b
asico de analisis. Es computacionalmente
eficiente (FFT).
Su sesgo se puede reducir tomando mas muestras.
Su varianza no se puede reducir y es siempre grande.
Los otros metodos, Blackman-Tukey y Welch, permiten reducir la varianza de la estima del periodograma.
210
CAPTULO 5. ANALISIS
ESPECTRAL
5.6.
An
alisis Tiempo-Frecuencia
211
5.6. An
alisis Tiempo-Frecuencia
S1
1
x[n]
0.5
0
-0.5
-1
0
50
100
150
200
250
n
300
350
400
450
500
0.05
0.1
0.15
0.2
0.25
f
0.3
0.35
0.4
0.45
0.5
40
|X(f)|
30
20
10
0
0
5.6.1.
(5.39)
m=
CAPTULO 5. ANALISIS
ESPECTRAL
212
S2
1
x[n]
0.5
0
-0.5
-1
0
50
100
150
200
250
n
300
350
400
450
500
0.05
0.1
0.15
0.2
0.25
f
0.3
0.35
0.4
0.45
0.5
40
|X(f)|
30
20
10
0
0
(5.40)
213
5.6. An
alisis Tiempo-Frecuencia
30
25
20
15
10
5
0
0.5
0.4
500
0.3
400
300
0.2
200
0.1
100
0
Figura 5.38: M
odulo de la STFT de la se
nal de la figura 5.36 vista en
3D.
0.5
0.45
0.4
0.35
0.3
0.25
0.2
0.15
0.1
0.05
0
0
50
100
150
200
250
n
300
350
400
450
500
Figura 5.39: M
odulo de la STFT de la se
nal de la figura 5.36 vista con
curvas de nivel.
5.6.2.
Elecci
on de la ventana
214
CAPTULO 5. ANALISIS
ESPECTRAL
f
6
Figura 5.40: M
odulo de la STFT de la se
nal de la figura 5.36 vista con
niveles de gris. Colores m
as claros representan, valores m
as grandes.
Pueden apreciarse los l
obulos laterales debidos al uso de una ventana
rectangular
longitud L. La elecci
on de la ventana a utilizar sigue los mismos criterios vistos
en los apartados anteriores con respecto a la resolucion y lobulos laterales.
Si queremos tener una buena resolucion en frecuencia emplearamos ventanas largas. Esto, que en el caso de se
nales estacionarias no representa ning
un
problema, en el caso de se
nales no estacionarias puede dar lugar a que dentro
de la ventana de an
alisis estemos considerando porciones no estacionarias de
se
nal. En ese caso, la elecci
on de una ventana larga nos llevara de nuevo a
obtener espectros medios de lo que sucede en la ventana. Diremos que en ese
caso estamos perdiendo resoluci
on temporal.
No vamos a dar aqu una definici
on rigurosa de resolucion temporal, pero intuitivamente, podramos decir que tendra que ver con la capacidad de
detectar correctamente eventos de duracion corta. Parece obvio que para detectar el fen
omeno de duraci
on corta, es necesario que al menos para alg
un
n, la ventana este situada u
nicamente sobre el fenomeno de duracion corta.
Vemos por tanto que para tener una buena resolucion temporal nos interesan
ventanas cortas.
Tras la anterior discusi
on estamos llegando a una de las limitaciones fundamentales del an
alisis de se
nales que podramos enunciar del siguiente modo:
215
5.6. An
alisis Tiempo-Frecuencia
1.5
0.5
-0.5
-1
-1.5
-2
0
50
100
150
200
250
n
300
350
400
450
500
Figura 5.41: Se
nal que es la suma de dos tonos de freceuncias similares, salvo en un intervalo de 25 muestras en que es un u
nico tono de
frecuencia bastante distinta de las anteriores.
CAPTULO 5. ANALISIS
ESPECTRAL
216
f
6
Figura 5.42: An
alisis de la se
nal de la figura 5.41 con una ventana de
duraci
on 21.
f
6
Figura 5.43: An
alisis de la se
nal de la figura 5.41 con una ventana de
duraci
on 71.
5.6.3.
Interpretaci
on como banco de filtros de la TF dependiente del tiempo
Supongamos que tomamos la Transformada de Fourier de Tiempo Corto X[n, ) y la particularizamos para = 0 . Obtendremos de esta forma
217
5.6. An
alisis Tiempo-Frecuencia
x0 [n] = X[n, 0 ) =
(5.41)
m=
(5.42)
m0 =
con
h0 [n] = w[n] ej0 n
(5.43)
(5.44)
5.6.4.
Transformada Inversa
CAPTULO 5. ANALISIS
ESPECTRAL
218
1. Para cada n se hace una TF1 . Obtenemos con ello w[m] x[n + m], es
decir un fragmento enventanado de la se
nal.
2. Para recuperar x[n] basta con particularizar el resultado anterior para
m = 0 y dividir por w[0].
Para finalizar esta secci
on, haremos un comentario de tipo practico. Observemos que de toda la TF1 del punto 1 u
nicamente estamos interesados
en un valor (el de m = 0). En ese caso, resulta mucho mas eficaz calcular
u
nicamente la TF1 para ese valor de m concreto que no utilizar una FFT1
(ver siguiente secci
on) para luego quedarnos con un u
nico valor.
5.6.5.
En la definici
on hecha en la ecuaci
on (5.39) de la STFT, aparece una TF.
Supondremos que la ventana w[n] tiene u
nicamente L valores no nulos. Como
cabe esperar, dicha TF se calcula en la practica como una FFT. Es decir, se
realiza un muestreo en frecuencia () de la transformada. Para que no exista
ambig
uedad, el n
umero de muestras espectrales, N , debera ser al menos igual a
la longitud de la ventana w[n]. Para realizar las FFT, como siempre, podemos
rellenar con ceros las L muestras de se
nal enventanadas antes de hacer la FFT.
En la misma definici
on de la ecuaci
on (5.39) se ve que en cada transformada
de Fourier intervienen L muestras. Esto permite, si se desea, no tener que
calcular las transformadas de Fourier para todo n sino u
nicamente cada R
muestras. Si se cumple R L ser
a posible recuperar la se
nal original, pues en
cada TF1 se recuperan hasta L muestras de la misma.
Resumiendo, si:
L es la longitud de la ventana.
N es el n
umero de puntos de la FFT.
R es el factor de diezmado temporal.
para poder recuperar la se
nal debe cumplirse:
RLN
(5.45)
5.7. An
alisis Espectral Parametrico
5.7.
219
An
alisis Espectral Param
etrico
CAPTULO 5. ANALISIS
ESPECTRAL
220
Rx [m]
6
@
@
m
Figura 5.44: Extrapolaci
on de la autocorrelaci
on usando un modelo.
221
5.7. An
alisis Espectral Parametrico
(5.46)
(5.47)
HAR (z) =
(5.48)
e[n]
Se
nal a analizar
h[n]
x[n]
CAPTULO 5. ANALISIS
ESPECTRAL
222
b0 + b1 z 1 + b2 z 2 + + bq z q
1 a1 z 1 a2 z 2 ap z p
(5.49)
5.7.1.
Modelos AR
En esta secci
on estudiaremos c
omo se pueden estimar los coeficientes del
filtro del modelo a partir de las muestras de se
nal.
Estamos suponiendo que el filtro es todo polos. Por lo tanto:
HAR (z) =
X(z)
G
=
1
E(z)
1 a1 z a2 z 2 ap z p
(5.50)
La anterior ecuaci
on permite establecer la ecuacion en diferencias que relaciona
las muestras de e[n] con las de x[n]:
x[n] = G e[n] + a1 x[n 1] + a2 x[n 2] + + ap x[n p]
(5.51)
(5.52)
(5.53)
Aplicandolo en la ecuaci
on (5.52):
Rxe [0] = h[0] = G
(5.54)
(5.55)
223
5.7. An
alisis Espectral Parametrico
(5.56)
Por la ecuaci
on (5.53) sabemos que
Rxe [1] = h[1] = 0
por lo que obtenemos:
Rx [1] = 0 + a1 Rx [0] + a2 Rx [1] + + ap Rx [p 1]
(5.57)
(5.58)
=
0 + a1 Rx [p 1] + a2 Rx [p 2] + + ap Rx [0] = Rx [p]
Dicho sistema de ecuaciones de p + 1 ecuaciones y p + 1 incognitas se conoce
como Ecuaciones de Yule-Walker y permite obtener los coeficientes del filtro
del modelo AR a partir de valores de correlacion de la se
nal. Dichos valores
se estiman directamente a partir de las muestras de la se
nal tal y como se vio
en la seccion 5.5.3. El mencionado sistema se suele escribir en forma matricial
del siguiente modo:
Rx [p]
Rx [p 1]
Rx [p 2]
..
..
.
.
Rx [p] Rx [p 1] Rx [p 2]
Rx [0]
Rx [0]
Rx [1]
Rx [2]
..
.
Rx [1]
Rx [0]
Rx [1]
..
.
Rx [2]
Rx [1]
Rx [0]
..
.
1
a1
a2
..
.
ap
G2
0
0
..
.
0
(5.59)
Resumiendo el metodo de an
alisis espectral mediante modelos AR, consistira en:
Elegir el orden y el tipo de modelo.
Estimar los valores de correlaci
on necesarios para plantear las ecuaciones
de Yule-Walker. Suele utilizarse el estimador sesgado.
CAPTULO 5. ANALISIS
ESPECTRAL
224
10
8
6
4
2
0
-2
-4
-6
-8
-10
0
10
15
20
25
n
30
35
40
45
50
225
5.7. An
alisis Espectral Parametrico
25
20
15
dB
10
-5
-10
0
0.05
0.1
0.15
0.2
0.25
f
0.3
0.35
0.4
0.45
0.5
CAPTULO 5. ANALISIS
ESPECTRAL
226
30
25
20
15
dB
10
5
0
-5
-10
-15
-20
0
0.05
0.1
0.15
0.2
0.25
f
0.3
0.35
0.4
0.45
0.5
30
25
20
15
dB
10
5
0
-5
-10
-15
-20
0
0.05
0.1
0.15
0.2
0.25
f
0.3
0.35
0.4
0.45
0.5
227
5.7. An
alisis Espectral Parametrico
25
20
15
dB
10
-5
-10
0
0.05
0.1
0.15
0.2
0.25
f
0.3
0.35
0.4
0.45
0.5
25
20
15
dB
10
-5
-10
0
0.05
0.1
0.15
0.2
0.25
f
0.3
0.35
0.4
0.45
0.5
CAPTULO 5. ANALISIS
ESPECTRAL
228
5.8.
Problemas
m=
).
b) Encuentre la relaci
on X[n, ) X[n,
0 ) es una se
c) Demuestre que s[n] = X[n,
nal paso-bajo 0
d ) Sea x[n] una se
nal arbitraria que se aplica a la entrada de un filtro
FIR de respuesta impulsiva h[n] para obtener y[n] a la salida.
y[n] =
M
X
h[k] x[n k]
k=0
?
Encuentre la relaci
on X[n, ) Y [n, ) si se utiliza en ambos
casos la misma ventana.
e) Demuestre que si la longitud de la ventana es larga comparada con
M , la longitud del filtro h[n] se cumple:
)
Y [n, ) ' H(ej ) X[n,
siendo H(ej ) la respuesta en frecuencia del filtro.
229
5.8. Problemas
679
770
852
941
hz
hz
hz
hz
1209 hz
1
4
7
*
1336 hz
2
5
8
0
1477 hz
3
6
9
#
230
CAPTULO 5. ANALISIS
ESPECTRAL
mensaje implique un riesgo sobre nosotros. Su mision es definir y aplicar el procedimiento para detectar la presencia de los mensajes (tonos),
utilizando la mnima cantidad de muestras posibles. En el servidor de
TDS, se encuentra el archivo CAMU1.MAT que contiene un vector con
muestras de un mensaje interceptado al enemigo.
Para comprobar la utilidad de las herramientas de analisis presentadas hasta el momento, compruebe que a la vista de las muestras
(en el tiempo) si le es posible saber las frecuencias de los tonos de
camuflaje y de los posibles mensajes.
Utilizando las tecnicas de analisis espectral que considere oportunas, determine la presencia de tonos camuflados.
Cu
al es el mnimo n
umero de muestras necesario para detectar los
tonos?
3. Analisis espectral de se
nales de voz. En este ejercicio se van a comprobar
algunas de las propiedades de la voz en el dominio de la frecuencia. Para
ello se tomar
a el fichero DONDE.MAT que contiene la palabra donde
dicha de forma enunciativa e interrogativa en las variables d1 y d2.
El espectro localizado (en fragmentos donde se puede suponer estacionariedad) de la se
nal de voz se caracteriza por dos aspectos:
El pitch o frecuencia fundamental de los sonidos sonoros. Los sonidos sonoros son cuasi-peri
odicos. Por lo tanto su espectro esta formado aproxim
adamente por deltas situadas en los armonicos de la
frecuencia fundamental. El pitch es el reponsable del tono de voz y
es de aproxim
adamente unos 100 hz para los hombre y de unos 200
hz para las mujeres (depende bastante de los individuos particulares). Para un mismo individuo, y dentro de una frase se producen
variaciones del mismo que subjetivamente el cerebro asocia con la
entonaci
on de la frase. As, una frase enunciativa tiene una variaci
on temporal del pitch muy peque
na, mientras que en una frase
interrogativa el pitch aumenta al final de la misma.
Los formantes. Antes hemos mencionado que los sonidos sonoros
son casi peri
odicos. Si el pitch estaba relacionado con el periodo
de repetici
on, los formantes estan relacionados con la forma de los
periodos. Dicha forma depende como se sabe de la envolvente espectral. Los formantes son las frecuencias de resonancia (picos) de
dicha envolvente espectral. La envolvente espectral es la responsable de que identifiquemos los distintos sonidos, es decir, de que
distingamos la o de la e, por ejemplo.
231
5.8. Problemas
A
E
I
O
U
Cuadro 5.3: Tablas
Formante 1 Formante 2
620800
1000-1500
420500
1600-2000
200300
2000-2500
400500
800-1000
230290
600-900
de frecuencias de formantes en castellano.
232
CAPTULO 5. ANALISIS
ESPECTRAL
Ap
endice A
Se
nales Aleatorias Discretas
A.1.
Introducci
on
En tratamiento digital de la se
nal existen dos conceptos fundamentales:
las se
nales y los sistemas. Una manera de considerar las se
nales es a traves
de un enfoque determinista, en el cual una se
nal discreta es una secuencia de
n
umeros correspondientes a los valores de amplitud de la se
nal en distintos instantes de tiempo. En teora de la se
nal hay una gran variedad de herramientas
(Transformada de Fourier, Transformada Z, etc.) que permiten la descripcion
de se
nales deterministas en dominios distintos al tiempo. En lo referente a los
sistemas, resulta interesante conocer como un sistema modifica la se
nal que
tiene en su entrada, con el objetivo de ser capaces de dise
nar sistemas que
realicen tareas de interes. Si un sistema se caracteriza adecuadamente y en
su entrada hay una se
nal determinista, se puede saber analticamente cual es
la se
nal determinista en su la salida. Parece razonable pensar, por tanto, que
el enfoque determinista es de gran utilidad. Sin embargo, en la practica este
enfoque es poco u
til debido fundamentalmente a dos razones:
Habitualmente, la secuencia de entrada en un sistema discreto de interes
no es u
nica. As por ejemplo, en comunicaciones, las se
nales suelen provenir de fuentes de informaci
on continuas o discretas, donde la forma de
onda de la se
nal depende del mensaje que se transmite, el cual, habitualmente no se conoce a priori. Asumiendo la variabilidad de la se
nal en la
entrada de un sistema, el enfoque determinista tiene poco interes, ya que
por ejemplo, a la hora de dise
nar el sistema: Cual sera, de entre todas
las posibles, la se
nal que deberamos considerar como se
nal de entrada?
La existencia de se
nales de naturaleza intrnsecamente aleatoria llamadas
ruido. El ruido es una se
nal impredecible debida a diversos fenomenos
233
APENDICE
A. SENALES
ALEATORIAS DISCRETAS
234
A.2.
Procesos Estoc
asticos Discretos
Un proceso estoc
astico discreto (PED) {x[n]} asocia a cada instante discreto de tiempo n una variable aleatoria x
[n], constituyendo una concatenacion en
tiempo discreto de variables aleatorias. Desde otro punto de vista, cada realizacion xk [n] del proceso {x[n]}, constituye una secuencia en la que la amplitud
de cada muestra es el valor que ha tomado la variable aleatoria correspondiente a ese instante de tiempo y en esa realizacion (Figura A.1).
235
La existencia en la pr
actica de procesos aleatorios discretos, o al menos de
secuencias que se pueden considerar realizaciones de tales procesos, se debe
fundamentalmente a dos razones:
Muestreo de Procesos Continuos. En general, las fuentes de informacion
digital provienen del muestreo (discretizacion en el tiempo) de fuentes
de informaci
on continuas, por lo que si la fuente continua se modela a
traves de un proceso estoc
astico continuo {x(t)}, su muestreo proporcionar
a un proceso discreto {x[n]}. Ademas, en la practica, la amplitud
de la secuencia resultante tambien se discretiza (cuantificacion) lo que
da lugar a una secuencia error discreta llamada ruido de cuantificaci
on,
que bajo ciertas circunstancias pueden modelarse como PED.
Generaci
on de Ruido en los Procesadores Digitales. Los procesadores
digitales operan con precisi
on finita, introduciendo errores (redondeo en
los calculos, almacenamiento en memoria, etc.) que se pueden modelar
como PED.
A continuaci
on trataremos la caracterizacion estadstica de los procesos
estocasticos discretos.
A.2.1.
Funciones de Distribuci
on y de Densidad de Probabilidad
Z x1
x0
px[n] (x) dx
(A.3)
(A.4)
APENDICE
A. SENALES
ALEATORIAS DISCRETAS
236
(A.5)
A.3.
Promedios
A.3.1.
Promedios instant
aneos
x [n] = E{
x[n]} =
x px[n] (x) dx
(A.6)
Px [n] = E{|
x[n]| } =
(A.7)
(A.8)
237
A.3. Promedios
(A.9)
A.3.2.
Existen dos tipos de promedios con memoria: los que hacen referencia a
la dependencia que hay en un mismo proceso en dos instantes de tiempo y
aquellos que muestran esa dependencia entre dos procesos distintos.
Entre los primeros est
an:
La autocorrelaci
on Rxx [n1 , n2 ]
Rxx [n1 , n2 ] = E{
x[n1 ] x
[n2 ]} =
Z Z
(A.11)
Observe que
Rxx [n, n] = Px [n],
(A.12)
APENDICE
A. SENALES
ALEATORIAS DISCRETAS
238
Los promedios con memoria que miden la dependencia entre dos procesos
estocasticos distintos en dos instantes de tiempo son:
La correlaci
on cruzada Rxy [n1 , n2 ]
x[n1 ] y [n2 ]} =
Rxy [n1 , n2 ] = E{
Z Z
(A.14)
Cabe destacar que todos los promedios, ya sean parametros o funciones, carecen de aleatoriedad, esto es, no varan seg
un la realizacion del proceso sino
que representan al conjunto de todas las realizaciones.
A.4.
PED Estacionarios
239
(A.15)
A.4.1.
(A.16)
A continuaci
on se enumeran algunas de las propiedades de los promedios
de primer y segundo orden.
1. Hermiticidad. A traves de un cambio de variable es facil demostrar que
[m]
Rxx [m] = Rxx
[m]
Rxy [m] = Ryx
[m]
Cxx [m] = Cxx
Si adem
as los procesos {x[n]} e {y[n]} son reales
Rxx [m] = Rxx [m]
Rxy [m] = Ryx [m]
Cxx [m] = Cxx [m]
y por tanto las secuencias de autocorrelacion y autocovarianza son pares.
APENDICE
A. SENALES
ALEATORIAS DISCRETAS
240
(A.17)
y en el caso en que los procesos esten incorrelados (Rxy [m] = Ryx [m] =
0):
Rzz [m] = |a|2 Rxx [m] + |b|2 Ryy [m]
(A.18)
3. Funcion semidefinida positiva
XX
i
ai Rxx [i j] aj 0, ai , aj
(A.19)
4. Maximo de la autocorrelaci
on y la autocovarianza
Rxx [0] |Rxx [m]|, m
Cxx [0] |Cxx [m]|, m
A.4.2.
(A.20)
241
A.5.
Procesos Erg
odicos
(A.21)
(A.22)
242
APENDICE
A. SENALES
ALEATORIAS DISCRETAS
243
A.6.
N
X
n=N
xk [n] ejn ,
(A.23)
APENDICE
A. SENALES
ALEATORIAS DISCRETAS
244
y la consideraci
on de todas las posibles transformadas de Fourier dara lugar
a un proceso aleatorio continuo (en )
N
X
N (ej ) =
X
x
[n] ejn .
(A.24)
n=N
N (ej ) es
La potencia media de X
n
N (ej )|2 =
E |X
N
X
N
X
E{
x[n1 ] x
[n2 ]} ej(n1 n2 )
(A.25)
n1 =N n2 =N
N (ej )|2 =
E |X
N
X
NX
n2
(A.26)
n2 =N m=N n2
En la expresi
on anterior, el segundo sumatorio siempre cuenta con 2N + 1
terminos, los cuales dependen del valor del ndice n del primer sumatorio, tal
y como se muestra en la Figura A.3.
En la siguiente tabla se muestra el n
umero de veces que aparece cada
termino de la forma Rxx [m] ejm en la expresion (A.26).
n2 = N
m
-
2N
0
..
.
n2 = 0
2N
m
-
2N
N
n2 = N
0
..
.
2N
m
-
2N
2N
245
Terminos
Rxx
y Rxx [2N ]ej2N
Rxx [2N + 1]ej(2N 1) y Rxx [2N 1]ej(2N 1)
...
j
Rxx [1]e y Rxx [1]ej
Rxx [0]
[2N ]ej2N
No de veces
1
2
...
2N
2N + 1
A partir de la tabla es f
acil convertir el doble sumatorio en uno solo obteniendo
2N
X
m=2N
|m|
2N + 1
(A.27)
Sxx (ej ) = lm
lo cual conduce a
Sxx (ej ) =
(A.28)
(A.29)
m=
con lo cual la Densidad Espectral de Potencia y la Funcion de autocorrelacion de un proceso son pares transformados (Teorema de Wiener-Khinchin).
Al igual que ocurre con la autocorrelacion, la DEP de un proceso se denota a
veces simplemente mediante Sx (ej ).
Observe que Sxx (ej ) es una funci
on, no un proceso, ya que es la transformada de Fourier de la funci
on de autocorrelacion del proceso (funcion determinista). Por tanto, la DEP hereda las propiedades de la T. de Fourier de
secuencias, de forma que, Sxx (ej ) es una funcion periodica y de periodo 2 y
[m]), es
debido a la simetra de la funci
on de autocorrelacion (Rxx [m] = Rxx
una funcion real. Adem
as como la potencia no puede ser negativa, la DEP es
una funcion no negativa (Sxx (ej ) 0).
Teniendo en mente el T. de Wiener-Khinchin, la autocorrelacion del proceso se puede obtener mediante
Rxx [m] =
1
2
(A.30)
APENDICE
A. SENALES
ALEATORIAS DISCRETAS
246
2
2
Z 2
Sxx (ej ) d = 2
Z f2
Sxx (ej2f ) df
(A.32)
f1
(A.33)
(A.34)
y de la misma forma
Estos espectros cruzados carecen de significado fsico (a diferencia de la DEP).
Sin embargo, pueden utilizarse para comprobar ciertas caractersticas de los
procesos que relacionan. Por ejemplo, si los procesos {x[n]} e {y[n]} ortogonales (Rxy [m] = 0), entonces Sxy (ej ) = Syx (ej ) = 0. Tambien pueden ser
u
tiles para estimar la respuesta frecuencial de sistemas LTI (problema 4) y a
la hora de calcular la llamada Funci
on de Coherencia
xy (ej ) = q
Sxy (ej )
Sxx (ej ) Syy (ej )
(A.35)
247
A.7.
y[n] =
x[k] h[n k]
(A.36)
k=
{x[n]}
- {y[n]}
h[n]
Resulta interesante relacionar los promedios del proceso de salida con los
de la entrada. Desde aqu y hasta el final de la seccion, denotaremos mediante
x[n] e y[n] a los PED {x[n]} e {y[n]} respectivamente. Asumiendo un proceso
de entrada estacionario, la media del proceso de salida es:
y = E
k=
x[n k] h[k]
= E{x[n]}
h[k] = x H(ej0 )
(A.37)
k=
donde hay que recordar que la respuesta impulsiva es una secuencia determinista. La correlaci
on cruzada entrada-salida Rxy [m] es
Rxy [m] = E {x[n + m] y [n]}
(
= E x[n + m]
)
X
k
x [n k] h [k]
APENDICE
A. SENALES
ALEATORIAS DISCRETAS
248
h [k] Rxx [m + k]
(A.38)
De forma an
aloga:
Ryx [m] = Rxx [m] h[m]
(A.39)
En cuanto a la autocorrelaci
on de la salida Ryy [m]
Ryy [m] = E {y[n + m] y [n]}
(
= E y[n + m]
x [n k]h [k]
h [k] Ryx [m + k]
(A.40)
(A.41)
(A.42)
(A.43)
A.8.
(A.45)
249
A.9. Problemas
con lo que en el ruido blanco no existe ninguna dependencia entre dos muestras,
por muy cercanas que esten. A diferencia del ruido blanco continuo, su version
discreta si que tiene potencia media finita puesto que
Z 0,5
Pw =
0,5
2
Sww (ej2f ) df = w
(A.46)
(A.47)
obteniendose un proceso de salida cuya DEP tiene la misma forma que |H(ej )|2
y recibe el nombre de ruido coloreado siendo su potencia media
Z 0,5
Py =
0,5
2
Syy (ej2f ) df = ww
Z 0,5
0,5
2
|H(ej2f )|2 df = ww
|h[n]|2
n=
(A.48)
El termino n
recibe el nombre de ganancia del filtro para el ruido
blanco, ya que representa la ganancia en potencia que tiene el filtro u
nicamente cuando la entrada es un ruido blanco. Esta magnitud constituye una
caracterstica exclusiva del filtro.
En ocasiones, varios ruidos blancos independientes se suman dando lugar
a otro ruido
w[n] = w1 [n] + w2 [n] + + wN [n]
(A.49)
P
|h[n]|2
(A.50)
2
Sww () = 12 + 22 + + N
(A.51)
y su DEP es
A.9.
Problemas
1. La funci
on de MATLAB randn permite generar ruido blanco gaussiano
de media cero y varianza unidad.
250
APENDICE
A. SENALES
ALEATORIAS DISCRETAS
M
1
X
bk w[n k]
k=0
251
A.9. Problemas
3. La predicci
on lineal es una tecnica de procesado de se
nal en la que se
intenta predecir el valor de una muestra de un proceso x[n] a partir de
muestras anteriores (Figura A.5). La base de esta tecnica es el predictor, un sistema que proporciona el valor predicho para x[n] mediante
combinaci
on lineal de muestras anteriores:
x
=
P
X
aj x[n j]
j=1
P
X
aj x[n j]
j=1
x[n]
- e[n]
6x
[n]
- Predictor
APENDICE
A. SENALES
ALEATORIAS DISCRETAS
252
Syy (ej )
Sxy (ej )
H(ej ) =
Syx (ej )
Sxx (ej )
4.2 En muchas ocasiones la salida del sistema esta contaminada por ruido aditivo, tal y como se muestra en la figura A.6, siendo u
nicamente
accesibles las secuencias x[n] e y[n], lo cual puede complicar la determinaci
on de la respuesta frecuencial. Una posible situacion donde esto
ocurre es cuando el transductor utilizado para captar la salida es de peor
calidad que el de entrada, de forma que el ruido que introduce es mucho
mayor que el introducido para captar la entrada. Considere las siguientes
respuestas frecuenciales
H1 (ej ) =
Szz (ej )
Sxz (ej )
H2 (ej ) =
Szx (ej )
Sxx (ej )
Cual de las dos funciones proporciona una mejor estimacion de la respuesta frecuencial? (Suponga que el ruido esta incorrelado con la se
nal
de entrada)
4.3 En otras ocasiones se da la situacion contraria, esto es, la se
nal
captada en la entrada est
a contaminada por ruido (Figura A.7). En este
caso, Cu
al de las dos medidas eligira?
4.4 Y si, como se muestra en la Figura A.8, se tiene simultaneamente
ruido en la adquisici
on de la entrada w1 [n] y la salida w2 [n]?
5. Sea {v[n]} un proceso estoc
astico real estacionario de media y cuyas
variables aleatorias est
an incorreladas
E{v[n] v[k]} = E{v[n]} E{v[k]} = 2 ,
n 6= k
Suponga adem
as que la varianza de v[n] es 2 .
w[n]
y[n]
?
x[n]
- Sist. LTI
- +
- z[n]
253
A.9. Problemas
v[n]
- z[n]
- Sist. LTI
?
+ w[n]
?
x[n]
y[n]
v[n]
- Sist. LTI
?
+ w1 [n]
- + - z[n]
6
w2 [n]
x[n]
254
APENDICE
A. SENALES
ALEATORIAS DISCRETAS
x =
2N + 1 n=N
Es un estimador insesgado? Es consistente? Que condicion debe de
cumplirse para que {x[n]} sea erg
odico en media? La cumple un proceso
AR de primer orden, con 0 < < 1?
8. Sea {x[n]} un proceso aleatorio estacionario. Para la obtencion de la
autocorrelaci
on utilizamos el estimador
rxx [m] =
N
X
1
x [n] x[n + m]
2N + 1 n=N
Bibliografa
[1] F.J. Harris. On the use of wndows for harmonic analysis with the discrete
fourier transform. Proceedings IEEE, 66(1):5183, january 1978.
[2] Simon Haykin. Adaptive Filter Theory. Prentice Hall, 3rd edition, 1996.
[3] Emmanuel C. Ifeachor and Barrie W. Jervis. Digital Signal Processing :
A Practical Approach. Addison-Wesley, 1993.
[4] Steven M. Kay. Modern Spectral Estimation Theory and Application.
Prentice Hall, 1988.
[5] S. L. Marple. Digital spectral analysis with applications. Prentice Hall,
1987.
[6] Alan V. Oppenheim and Ronald W. Schaffer. Discrete-Time Signal Processing. Prentice Hall, 1989.
[7] Alan V. Oppenheim, Ronald W. Schaffer, and John R. Buck. DiscreteTime Signal Processing. Signal Processing. Prentice Hall, 2nd edition,
1999.
[8] Alan V. Oppenheim and Alan S. Wilsky. Se
nales y Sistemas. Prentice
Hall, 2nd edition, 1997.
[9] John G. Proakis and Dimitris G. Manolakis. Tratamiento Digital de
Se
nales. Principios Algoritmos y Aplicaciones. Prentice Hall, 1997.
[10] Samir S. Soliman and Mandyam D. Srinath. Continuous and Discrete
Signals and Systems. Prentice Hall, 1998.
[11] Bernard Widrow. Adaptative signal processing. Prentice Hall, 1985.
255