1
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
Transformada DiscretaTransformada Discreta de Fourierde Fourier
(DFT)(DFT)
ÌÌ Transformada DiscretaTransformada Discreta de Fourierde Fourier
ÌÌ FFT (Fast Fourier Transform)FFT (Fast Fourier Transform)
2
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
Transformada DiscretaTransformada Discreta de Fourierde Fourier
Ì Antes de definir la DFT, analizaremos primero la Transforma-
da de Fourier en tiempo discreto (DTFT).
Ì La DTFT describe el espectro de señales discretas. Deducire-
mos la DFT a partir de la convolución discreta explicada en el
Capítulo 2.
Ì Allí se definió la convolución discreta como
x Si tenemos una señal de entrada armónica x[n]=exp(j2πnfts), la
respuesta y[n] es
x H(f) es la DTFT de la señal discreta h[n]. Nótese que la función H(f)
es periódica, debido a que h[n] es una función discreta.
[ ] [ ] [ ] [ ] [ ]y n x n h n x k h n ks s
k
= ∗ = −
=−∞
∞
∑
[ ] [ ] [ ]
[ ] [ ] ( )
y n j n k ft h k
j nft j kft h k x n H f
s
k
s s
k
= − ⋅
= − ⋅ = ⋅
=−∞
∞
=−∞
∞
∑
∑
exp ( )
exp( ) exp( )
2
2 2
π
π π
3
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
Transformada DiscretaTransformada Discreta de Fourierde Fourier
Ì Se define la DTFT de una señal discreta x[n] como
Ì Dualidad entre las series de Fourier y la DTFT
x Tenemos una señal periódica continua xp(t). Mediante las series de
Fourier transformamos esa señal periódica continua en una función
aperiódica y discreta (los coeficientes espectrales XS[k]).
x De una manera dual, podemos intercambiar tiempo y frecuencia de
forma
donde SF=1/ts . Ahora tenemos una señal aperiódica discreta xs[k] y la
transformamos en una señal periódica continua (Xp(f)) mediante la
DTFT.
( ) [ ]X f x k j kfts
k
= −
=−∞
∞
∑ exp( )2π
[ ] ( ) ( ) ( ) [ ] ( )X k
T
x t j kf t dt x t X k j kf tS p
T
p S
k
= − =∫ ∑
=−∞
∞
1
2 20 0exp expπ π
[ ] ( ) ( ) ( ) [ ] ( )∑∫
∞
−∞=
−==
k
sSP
S
sP
F
S kftjnxfXdfkftjfX
S
kx
F
ππ 2exp2exp
1
4
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
Transformada DiscretaTransformada Discreta de Fourierde Fourier
x El comportamiento dual entre las series de Fourier y la DTFT se
manifiesta en lo siguiente :
3 En las series de Fourier parto de una señal x(t), temporal, continua y perió-
dica (periodo T) y obtengo los coeficientes X[k], que es una función de la
frecuencia, aperiódica y discreta con una distancia entre dos valores
consecutivos de f0=1/T.
3 En la DTFT parto de una señal discreta en el tiempo x[n], con periodo de
muestreo ts=1/fs y aperiódica y obtengo una función X(f), que es función
continua de la frecuencia y periódica con periodo fs.
x Todas las propiedades que se vieron para las series de Fourier tienen su
correspondientes equivalencias en la DTFT.
x Ejemplo : DTFT de la secuencia x[n]=δ[n] :
Si tenemos una secuencia x[n]={1,0,3,-2}, a partir de la anterior ecuación
y aplicando la propiedad del desplazamiento,
[ ] ( )X f k j kfts
k
( ) exp= − =
=−∞
∞
∑δ π2 1
( ) ( )X f j ft j fts s( ) exp exp= + − − −1 3 4 2 6π π
5
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
Transformada DiscretaTransformada Discreta de Fourierde Fourier
Ì Sin embargo, a la hora de realizar operaciones tenemos los
mismos problemas que en las series de Fourier ya que
seguimos tratanto con señales continuas o con series de datos
de longitud infinita. La electrónica nos obliga a trabajar con
un número finito de datos discretos que además tienen una
precisión finita.
Ì De lo que se trata es de conseguir discretizar las variables
continuas y de limitar el números de muestras en los dos
dominios (temporal y frecuencial).
Ì Esto nos lleva a definir las series discretas de Fourier y la
Transformada Discreta de Fourier (DFT).
6
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
Transformada DiscretaTransformada Discreta de Fourierde Fourier
Ì De las Series de Fourier a las Series Discretas de Fourier
x Para las Series de Fourier se cumple (f0=1/T)
x Para limitar xp(t), tomamos N muestras de xp(t) durante un periodo a
intervalos ts, de forma que N·ts=T. Al calcular los coeficientes X[k] me
queda,
x La cantidad X[k] es la serie de Fourier Discreta de la señal periódica
muestreada xP[n].
( ) [ ] ( ) [ ] ( ) ( )∑ ∫
∞
−∞=
⋅−⋅==
k
T
PSSP dttkfjtx
T
kXtkfjkXtx 00 2exp
1
2exp ππ
[ ] [ ] ( )
[ ] ( ) 1,2,1,0/2exp
1
2exp
1
1
0
1
0
0
−=−⋅=
⋅−⋅=
∑
∑
−
=
−
=
NkNknjnx
N
tntkfjnx
Nt
kX
N
n
P
s
N
n
sP
s
π
π
7
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
Transformada DiscretaTransformada Discreta de Fourierde Fourier
Ì De la DTFT a la DFT
x Tenemos una señal x[n] limitado a N muestras con un periodo de
muestreo ts.
x La DTFT se define como
x XP(f) es periódica con periodo 1/ts. Muestreamos esta señal N veces
sobre un periodo, por tanto XT[k] será sustituir f por k/(Nts) :
x Esta última expresión resultante es la Transformada Discreta de
Fourier de una señal x[n]. Excepto por el término 1/N es idéntica a la
Serie Discreta de Fourier.
( ) [ ] ( )X f x n j nftP s
n
N
= ⋅ −
=
−
∑ exp 2
0
1
π
[ ] [ ] ( )[ ]
[ ] [ ]
X k x n j nkt Nt
x n j nk N k N
T s s
n
N
n
N
= ⋅ −
= ⋅ − = −
=
−
=
−
∑
∑
exp /
exp / , , , ,
2
2 0 1 2 1
0
1
0
1
π
π
8
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
Transformada DiscretaTransformada Discreta de Fourierde Fourier
Ì Transformada Discreta inversa (IDFT),
Ì Convolución Circular o Cíclica
x La convolución normal entre dos señales periódicas es cero o infinito. Para
este tipo de señales se define la convolución circular de dos secuencias xp[n] y
hp[n] con periodo N :
x La convolución circular requiere que las dos secuencias sean del mismo
tamaño. Si no fuera así habría que llenar de ceros la secuencia más corta.
[ ] [ ] ( )x n
N
X k j nk N n NT
k
N
= = −
=
−
∑
1
2 0 1 2 1
0
1
exp / , , , ,π 
[ ] [ ] [ ] [ ] [ ]y n x n h n
N
x k h n kp p p p p
k
N
= • = −
=
−
∑
1
0
1
9
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
Transformada DiscretaTransformada Discreta de Fourierde Fourier
Ì Propiedades de la DFT
[ ] [ ] [ ]
[ ] [ ] [ ] [ ]
[ ] [ ] ( ) [ ]
[ ] [ ]
[ ] [ ] [ ] [ ]
[ ] [ ] [ ]
[ ] [ ]
[ ] [ ] [ ] [ ]
[ ] [ ] [ ]
Simetria Conjugada
Linealidad
Desplazamiento
Modulacion
Producto
Simetria
Conjugado
Convolucion Circular
Correlacion
X k X k X N k
x n y n X k Y k
x n m X k j km N X k W
W x n X k m
x n y n
N
X k Y k
x n X k X k
x n X k
x n y n X k Y k
x n y n X k
T T T
T T
T T N
km
N
nm
T
T T
T T
T
T T
T
− = = −
+ ↔ +
− ↔ ⋅ − = ⋅
⋅ ↔ −
↔ •
− ↔ − =
↔ −
• ↔
• − ↔
∗
−
∗
∗ ∗
∗
α β α β
πexp /2
1
[ ]
[ ] [ ]
Y k
x n
N
X k
T
T
∗
=∑ ∑Ecuacion de Parseval
2 21
10
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
Transformada DiscretaTransformada Discreta de Fourierde Fourier
Ì Ejemplos
x x[n]={1,2,1,0}
por tanto la DFT de x[n] es XT[k]={4,-j2,0,j2} para k=0,1,2,3
[ ] [ ]
[ ] [ ] ( ) ( ) ( )
[ ] [ ] ( ) ( ) ( )
[ ] [ ] ( ) ( ) ( )
k X x n
k X x n j j j j
k X x n j j j
k X x n j j j j
T
T
T
T
= = = + + + =
= = − = + − + − = −
= = − = + − + − =
= = − = + − + − =
∑
∑
∑
∑
0 0 1 2 1 0 4
1 1 2 4 1 2 2 2
2 2 2 2 4 1 2 2 0
3 3 2 3 4 1 2 3 2 3 2
exp / exp / exp
exp / exp exp
exp / exp / exp
π π π
π π π
π π π
11
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
Transformada DiscretaTransformada Discreta de Fourierde Fourier
Ì Podemos interpretar los resultados del DFT de una secuencia
xs[n] desde dos puntos de vista:
x Como los coeficientes espectrales (series de Fourier) de una señal
periódica discreta cuyos muestreos coinciden con la secuencia xs[n].
x Como el espectro de una señal aperiódica discreta cuyos muestreos
corresponden a la secuencia xs[n].
Ì EL DFT es una aproximación al espectro de la señal analógica
original. Su magnitud se ve influenciada por el intervalo de
muestreo, mientras que su fase depende de los instantes de
muestreo.
12
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
Transformada DiscretaTransformada Discreta de Fourierde Fourier
Ì Como hacer la DFT a partir de una señal x(t), muestreada
durante D segundos, con periodo de muestreo ts :
x Elegir el intervalo de muestreo ts de forma que se cumpla el Teorema
del muestreo.
x Crear la expensión periodica (xp(t)) de x(t) con periodo D.
x Tomar N muestras de xp(t) empezando en t=0.
x Si hay discontinuidades, los valores de muestreo los tomaremos en el
punto medio de la señal.
TT
x(t)
0-1 321-3 -2 0-1 321-3 -2
x p(t)
13
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
Transformada DiscretaTransformada Discreta de Fourierde Fourier
Ì DFT de señales periódicas
x Siendo x(t)=sin(2πft), con f=1KHz, D=1ms y N=8 tenemos la siguien-
te secuencia de muestreos :
x[n]={0,0.7071,1,0.7071,0,-0.7071,-1,-0.7071}
El resultado de hacer el DFT es XT[k]={0,-4j,0,0,0,0,0,4j}.
XS[k]=1/8{0,-4j,0,0,0,0,0,4j}={0,-j/2,0,0,0,0,0,j/2}
0 0.2 0.4 0.6 0.8 1
x 10
-3
-1
-0.5
0
0.5
1
Sinusoide 1KHz, D=1ms, N=8
Tiempo (s)
Amplitud
14
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
Transformada DiscretaTransformada Discreta de Fourierde Fourier
-4000 -2000 0 2000
0
1
2
3
4
5
DFT
MagnitudDFT
Frecuencia (Hz)
MagnitudDFT
0 2 4 6 8
0
1
2
3
4
5
DFT
Indice k
x x(t)=sin(2πft), con f=1KHz, D=0.5ms y N=8, tenemos la secuencia de
muestreos: x[n]={0,0.3827,0.7071,0.9239,1,0.9239,0.7071, 0.3827}.
Los coeficientes del DFT son
{5.0273,-1.7654,0.4142,-0.2346,-0.1989,-0.2346,-0.4142,-1.7654}
Y los coeficientes del DFS son
X[k]=1/8{5.0273,-1.7654,0.4142,-0.2346,-0.1989,-0.2346,-0.4142,-1.7654}
15
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
Transformada DiscretaTransformada Discreta de Fourierde Fourier
x En este nuevo ejemplo, la frecuencia de muestreo es 16KHz. Los X[k]
son reales, por lo que la función tiene simetría par. Para la onda dada,
los coeficientes exactos de Fourier son :
3 XS[0]=1/π XS[k]=2/π(1-4k2)
3 Comparando XS[0]≈X[0]
XS[1]≈X[1] dentro del 5% de precisión
3 Para los términos con k=2,3..., X[k] se desvía bastante del término exacto
debido a que la señal no tiene un espectro limitado, produciéndose aliasing.
0 1 2 3 4 5
x 10
-4
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Sinusoide 1KHz, D=1ms, N=8
Tiempo (s)
Amplitud
0 1 2 3 4 5 6 7 8
0
1
2
3
4
5
6
7
8
DFT
MagnitudDFT
Indice k
-8000 -6000 -4000 -2000 0 2000 4000 6000
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
16
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
Transformada DiscretaTransformada Discreta de Fourierde Fourier
x x(t)=sin(2πft), con f=1KHz, D=1.5ms y N=24.
0 0.5 1 1.5
x 10
-3
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Sinusoide 1KHz, D=1ms, N=8
Tiempo (s)
Amplitud
0 5 10 15 20
0
5
10
15
20
DFT
MagnitudDFT
Indice k
-5000 0 5000
0
5
10
15
20
DFT
MagnitudDFT
Frecuencia (Hz)
17
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
Transformada DiscretaTransformada Discreta de Fourierde Fourier
3 En este ejemplo se ha producido el denominado “leakage”, que consiste
en que las componentes originales de la señal se derraman hacia las
nuevas componentes de la señal. Para evitarlo, se debe muestrear un
número entero de periodos, o bien utilizar alguna de las ventanas
espectrales (ventana de Hamming, etc).
x Podría ocurrir que no conocieramos el periodo de la señal de la cual
queremos calcular el DFT. En ese caso se muestrea una señal de
duración lo más larga posible. De esta forma, se reduce el “leakage” y
el espacio entre frecuencias obteniéndose una buena estimación del
espectro original.
0 0.001 0.002 0.003 0.004 0.005 0.006 0.007 0.008 0.009 0.01
-1
-0.5
0
0.5
1
Sinusoide 1KHz
Tiempo (s)
Amplitud
18
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
Transformada DiscretaTransformada Discreta de Fourierde Fourier
Ì DFT de señales aperiódicas
x La señal aperiódica x(t) debe ser muestreada durante un tiempo D. El
DFT produce los coeficientes espectrales correspondientes a la
extensión periódica de x(t) con periodo D. El espacio entre frecuencias
es f0=1/D. A f0 se le denomina resolución frecuencial. Esta depende
sólo de la duración. Si la señal está limitada en el tiempo, la forma de
aumentar la duración es añadir ceros.
-4000 -3000 -2000 -1000 0 1000 2000 3000
0
20
40
60
80
DFT
MagnitudDFT
Frecuencia (Hz)
19
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
Transformada DiscretaTransformada Discreta de Fourierde Fourier
0 0.5 1 1.5 2
0
0.5
1
1.5
Tiempo (s)
Magnitud Señal x(t)=exp(-t)
-4 -3 -2 -1 0 1 2 3 4
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
Frecuencia (Hz)
Magnitud
Señal x(t)=exp(-t)
0 0.5 1 1.5 2 2.5 3 3.5 4
0
0.5
1
1.5
Tiempo (s)
Magnitud
Señal x(t)=exp(-t)
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.5
1
1.5
2
2.5
Frecuencia (Hz)
Magnitud
Señal x(t)=exp(-t)
20
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
Transformada DiscretaTransformada Discreta de Fourierde Fourier
Ì Tal y como se observa en las figuras de la páginas anteriores
hay varias formas de dibujar la gráfica de la DFT de una
secuencia de datos.
Ì Una de ellas es indicarlo directamente mediante el índice k. Se
puede observar que |XT[k]| es simétrico respecto a N/2.
Ì Otra forma es reordenando los datos en función de la frecuen-
cia. De la definición de DFT sabemos que cada intervalo de la
DFT es 1/(Nts). La DFT nos da la Transformada de Fourier
para las frecuencias
f -(N/2)/(Nts),...,-1/(Nts),0, 1/(Nts), 2/(Nts)...(N/2-1)/(Nts)
k (N/2) ,..., N-1 ,0, 1 , 2 ... (N/2-1)
Ì La máxima frecuencia detectable por la DFT es lógicamente
fs/2, de acuerdo con el Teorema del Muestreo.
21
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
Transformada DiscretaTransformada Discreta de Fourierde Fourier
Ì En general, el DFT es una aproximación a las series o a la
transformada de Fourier. Es muy importante elegir
correctamente los parámetros del DFT (frecuencia de
muestreo fs=1/ts, resolución de frecuencia f0=1/D).
Ì La frecuencia de muestreo se determina a partir del teorema
de muestreo. Si queremos detectar el espectro de una señal
hasta una máxima frecuencia B , la frecuencia de muestreo
deberá ser 2B.
Ì La duración del muestreo se elige para una determinada
resolución de frecuencia.
Ì Una regla de diseño muy útil es: Si queremos los M primeros
armónicos de una señal con un error máximo del 5%, el
número de muestreos N=8M.
22
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
Transformada DiscretaTransformada Discreta de Fourierde Fourier
Ì Ejemplo: Queremos determinar mediante un algoritmo digital
el espectro de la señal x(t)=exp(-t). La máxima frecuencia de
la que pide su coeficiente es fB=1Hz. Además el armónico
correspondiente a f=0.3Hz debe tener un error menor que el
5%. Calcular fs,D y N.
x De acuerdo con el Teorema del Muestreo fs=2fB=2Hz.
x Escogemos una resolución frecuencial de f0=0.1Hz, de forma que
D=1/0.1=10s.
x La frecuencia 0.3Hz se corresponde con el índice k=3, por lo que
N=3·8=24 muestreos. Esto me indica que fs=N/D=24/10=2.4  2.
x Si el objetivo es hacer que N sea lo menor posible (para facilitar los
cálculos del DFT), se puede elegir f0=0.3Hz, D=1/0.3=3.33s, k=1 y
N=1·8=8.
23
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
Transformada DiscretaTransformada Discreta de Fourierde Fourier
Tiempo (s)
0 2 4 6 8 10
0
0.5
1
1.5
Magnitud
Señal x(t)=exp(-t)
-1.5 -1 -0.5 0 0.5 1 1.5
0
0.2
0.4
0.6
0.8
1
1.2
Frecuencia (Hz)
Magnitud
Señal x(t)=exp(-t)
0 0.5 1 1.5 2 2.5 3
0
0.5
1
1.5
Tiempo (s)
Magnitud
Señal x(t)=exp(-t)
-1.5 -1 -0.5 0 0.5 1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Frecuencia (Hz)
Magnitud
Señal x(t)=exp(-t)
24
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
Transformada DiscretaTransformada Discreta de Fourierde Fourier
Ì Ventanas espectrales: Si tenemos señales truncadas, el
espectro de la señal muestra unos picos que no decaen lo
suficientemente rápido con la frecuencia. Para ello podemos
utilizar ventanas en el dominio temporal para suavizar esas
discontinuidades. Los picos serán menores aunque el ancho de
banda de cada lóbulo aumentará.
25
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
ResumenResumen de Series yde Series y TransformadasTransformadas de Fourierde Fourier
Ì Series de Fourier
x Señal Continua Periódica (periodo T), Espectro Discreto Aperiódico
(intervalo de discretización 1/T)
Ì Transformada de Fourier
x Señal Continua Aperiódica, Espectro Continuo Aperiódico.
Ì Transformada de Fourier Discreta en el Tiempo
x Señal Discreta Aperiódica (intervalo de discretización ts), Espectro
Continuo Periódico (periodo 1/ ts)
Ì Transformada Discreta de Fourier
x Señal Discreta Periódica (intervalo de discretización ts, periodo T),
Espectro Discreto (intervalo de discretización 1/T)
26
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT (Fast Fourier Transform)FFT (Fast Fourier Transform)
Ì La importancia de DFT estriba en que es posible utilizar un
algoritmo, llamado FFT, que lo realiza de forma eficiente y
rápida.
Ì El DFT de una secuencia x[n] es :
Una primera aproximación al cálculo del DFT requeriría la suma
compleja de N multiplicaciones complejas para cada uno de las
salidas. En total, N2 multiplicaciones complejas y N2 sumas complejas
para realizar un DFT de N puntos.
Lo que consigue el algoritmo FFT es simplicar enormemente el
cálculo del DFT introduciendo “atajos” matemáticos para reducir
drasticamente el número de operaciones.
[ ]X k x n W k N
W e
N
nk
n
N
N
j N
[ ] , , ,
/
= = −
=
=
−
−
∑
0
1
2
0 1 1
donde

π
27
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT (Fast Fourier Transform)FFT (Fast Fourier Transform)
Ì La optimización del proceso de cálculo del DFT está basado
en las siguientes ideas :
x Simetría y Periodicidad de los términos WN.
x Elegimos el valor de N de forma que N=rm. Al factor r se le denomina
radix y su valor más habitual es 2, de forma que N=2m y algoritmo se
denomina FFT radix-2.
Ì Radix-2 FFT-Decimación en el Tiempo.
x Dividimos la secuencia de datos de entrada x[n] en dos grupos, uno de
índices par y el otro de índices impar. Con estas sub-secuencias se
realiza el DFT de N/2 puntos y sus resultados se combinan para formar
el DFT de N puntos.
W W
W W
N
n N
N
n
N
n N
N
n
+
+
=
= −/2
W
W W
N
Nk
N N
=
=
1
2
2/
28
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT (Fast Fourier Transform)FFT (Fast Fourier Transform)
[ ] [ ] [ ] [ ] [ ]
[ ] [ ]
[ ] [ ]
[ ] [ ] [ ] [ ] [ ]
X k x n W x n W x n W W x n W
Sustituimos x n x n
x n x n
W W
X k x n W W x n W Y k W Z k k
N
nk
n
N
N
n k
n
N
N
nk
n
N
N
k
N
nk
n
N
N
nk
N
nk
N
nk
n
N
N
k
N
nk
n
N
N
k
= + + = + +
=
= +
=
= + = + =
=
−
+
=
−
=
−
=
−
=
−
=
−
∑ ∑ ∑ ∑
∑ ∑
2 2 1 2 2 1
2
2 1
0 1 2
2
0
2 1
2 1
0
2 1
2
0
2 1
2
0
2 1
1
2
2
2
1 2
0
2 1
2 2
0
2 1
/
( )
/ / /
/
/
/
/
/
, , , , N −1
x Esta última ecuación muestra que el DFT de N puntos es la suma de dos
DFTs de N/2 puntos (Y[k], Z[k]) realizadas con las secuencias par e impar
de la secuencia original x[n]. Cada término Z[k] es multiplicado por un
factor WN
k, llamado “twiddle factor”. Ya que WN
k+N/2=-WN
k y debido a la
periodicidad de Y[k] y Z[k] (periodo N/2) podemos poner X[k] como
[ ] [ ] [ ] [ ]
[ ] [ ] [ ] [ ]
X k Y k W k Z k
X k N Y k W k Z k
Para k N
N
k
N
k
= + ⋅
+ = − ⋅
= −
/
, , , /
2
0 1 2 1
29
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT (Fast Fourier Transform)FFT (Fast Fourier Transform)
x Los dos DFT de N/2 puntos se puede a su vez dividir para formar 4 DFTs
de N/4 puntos, lo que produce las siguientes ecuaciones
DFT
N/2 Puntos
x[0]
x[2]
x[N-2]
Y[0]
Y[1]
Y[N/2-1]
DFT
N/2 Puntos
x[1]
x[3]
x[N-1]
Z[0]
Z[1]
Z[N/2-1]
x
W0
x
W1
x
WN/2-1
+
+
+
+
+
+
X[0]
X[N-1]
X[N/2+1]
X[N/2]
X[N/2-1]
X[1]
-1
-1
-1
[ ] [ ] [ ]
[ ] [ ] [ ]
Y k U k W V k
Y k N U k W V k
Para k N
N
k
N
k
= +
+ = −
= −
2
2
4
0 1 4 1
/
, , , /
[ ] [ ] [ ]
[ ] [ ] [ ]
Z k R k W S k
Z k N R k W S k
Para k N
N
k
N
k
= +
+ = −
= −
2
2
4
0 1 4 1
/
, , , /
30
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT (Fast Fourier Transform)FFT (Fast Fourier Transform)
x El proceso puede repetirse sucesivamente hasta llegar a computar el
DFT de dos valores x[n], en concreto x[k] y x[k+N/2], para
k=0,1,...,N/2-1. Para una DFT de N=8 puntos tenemos el siguiente
esquema
x[0]
x[4]
x[2]
x[6]
x[1]
x[5]
x
W
0
+
+ X[0]
X[4]-1
x
W
1
+
+ X[1]
X[5]-1
x
W
2
+
+ X[2]
X[6]-1
x
W
3
+
+ X[3]
X[7]-1
+
+
+
+
x
W
0
x
W
2
-1
-1
+
+
+
+
x
W
0
x
W
2
-1
-1
+
+x
W
0
-1
+
+x
W
0
-1
+
+x
W
0
-1
+
+x
W
0
-1
x[7]
x[3]
Etapa 1 Etapa 2 Etapa 3
Butterfly
31
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT (Fast Fourier Transform)FFT (Fast Fourier Transform)
x Las características de una FFT de N puntos decimada en el tiempo se
sumarizan en la siguiente tabla :
x Por cada butterfly tenemos una multiplicación y dos sumas complejas.
Hay N/2 butterflies por etapa y log2N etapas.
3 El número total de multiplicaciones es ½N·log2N .
3 El número total de sumas es N·log2N .
Etapa 1 Etapa 2 Etapa 3 Etapa log2N
Número de
Grupos
N/2 N/4 N/8 1
Butterflies por
Grupo
1 2 4 N/2
Exponentes
Twiddle Factors
(N/2)k,
k=0
(N/4)k,
k=0,1
(N/8)k,
k=0,1,2,3
k,
k=0,1,...,N/2-1
32
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT (Fast Fourier Transform)FFT (Fast Fourier Transform)
x Para pequeños valores de N, la diferencia puede parecer pequeña, pero
para valores grandes la diferencia es enorme. Para un DFT de 1024
puntos, el número de multiplicaciones en un FFT es aprox. 5000
mientras que para un DFT normal es de aprox. 106.
Ì Radix-2 FFT-Decimación en Frecuencia
x Expresaremos el FFT como suma de los FFT de dos secuencias, la
primera con los N/2 primeros datos y la segunda con los N/2 últimos.
[ ] [ ] [ ] [ ]
[ ] [ ]
[ ] ( ) [ ]
[ ] ( ) [ ][ ]
X k x n W x n W x n W
x n W x n N W
x n W x n N W
x n x n N W k N
N
nk
n
N
N
nk
n
N
N
nk
n N
N
N
nk
n
N
N
n N k
n
N
N
nk
n
N
k
N
nk
n
N
k
N
nk
n
N
= = +
= + +
= + − +
= + − + = −
=
−
=
−
=
−
=
−
+
=
−
=
−
=
−
=
−
∑ ∑ ∑
∑ ∑
∑ ∑
∑
0
1
0
2 1
2
1
0
2 1
2
0
2 1
0
2 1
0
2 1
0
2 1
2
1 2
1 2 0 1 2 1
/
/
/
( / )
/
/ /
/
/
/
/ , , , ,
33
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT (Fast Fourier Transform)FFT (Fast Fourier Transform)
x La decimación en frecuencia se obtiene dividiendo la secuencia de
salida (X[k]) en dos ecuaciones, una para los índices pares y otro para
los impares.
[ ] [ ] [ ][ ]
[ ] [ ][ ]
X k x n x n N W
x n x n N W k N
N
nk
n
N
N
nk
n
N
2 2
2 0 1 2 1
2
0
2 1
2
0
2 1
= + +
= + + = −
=
−
=
−
∑
∑
/
/ , , , /
/
/
/

[ ] [ ] [ ][ ]
[ ] [ ][ ][ ]
X k x n x n N W
x n x n N W W k N
N
n k
n
N
N
n
N
nk
n
N
2 1 2
2 0 1 2 1
2 1
0
2 1
2
0
2 1
+ = − +
= − + = −
+
=
−
=
−
∑
∑
/
/ , , , /
( )
/
/
/

x X[2k] y X[2k+1] son los resultados del DFT de N/2 puntos realizado
con las suma y la diferencia entre la primera y segunda mitades de la
secuencia de entrada.
34
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT (Fast Fourier Transform)FFT (Fast Fourier Transform)
DFT
N/2 Puntos
x[0]
x[1]
x[N/2-1]
DFT
N/2 Puntos
x
W
0
+
+
+
+
+
+
X[0]
X[N-1]
X[N-2]
X[2]
X[3]
X[1]-1
-1
-1
x
W
1
x
W
N/2-1
x[N/2]
x[N/2+1]
x[N-1]
35
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT (Fast Fourier Transform)FFT (Fast Fourier Transform)
x[0]
x[1]
x[2]
x
W0
+
+
+
+
+
+
X[0]
X[3]
X[2]
X[4]
X[5]
X[1]-1
-1
-1 x
W1
x
W2
x[3] +
+-1 x
W3
x[4]
x[5]
x[7]
x[6]
+
+
+
+ x
W2
x
W0
-1
-1
+
+
+
+ x
W2
x
W0
-1
-1
+
+ x
W0
+
+ x
W0
+
+ x
W0
+
+ x
W0
X[6]
X[7]
-1
-1
-1
-1
Etapa 1 Etapa 3Etapa 2
Butterfly
36
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT (Fast Fourier Transform)FFT (Fast Fourier Transform)
x Las característica del FFT decimado en frecuencia son
Ì Se puede observar que en el caso de decimación en el tiempo, la secuencia
de entrada debe ser reordenada mientras que la salida aparece en el orden
correcto.
Ì Para la decimación en frecuencia, la secuencia está en orden mientras que
la salida habrá que reordenarla.
Ì Se da la circunstancia que esa reordenación es simplemente invertir el
índice en binario. Por ejemplo, en la misma posición que x[1] aparece
X[4], y 001 invertido es 100.
Etapa 1 Etapa 2 Etapa 3 Etapa log2N
Número de
Grupos
1 2 4 N/2
Butterflies por
Grupo
N/2 N/4 N/8 1
Exponentes
Twiddle Factors
n,
n=0,...,N/2-1
2n,
n=0,...,N/4-1
4n,
k=0,...,N/8-1
(N/2)n,
n=0
37
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT (Fast Fourier Transform)FFT (Fast Fourier Transform)
Ì DFT en 2 dimensiones
x En aplicaciones como procesamiento de imagen, las señales dependen
de dos variables n1 y n2 (el eje x y el eje y en una imagen bidimensio-
nal). Por tanto necesitamos extender el concepto de DFT a dos dimen-
siones.
x Dada una secuencia x(n1,n2), se define la DFT como
x La IDFT de X(k1,k2) se define como
( )
( ) ( ) ( )
X k k
x n n e e n N n N
aso
j N k n j N k n
n
N
n
N
1 2
1 2
2 2
0
1
0
1
1 1 2 2
1 1 1 2 2 2
2
2
1
1
0 1 0 1
0
,
, ,
,
=
≤ ≤ − ≤ ≤ −







− −
=
−
=
−
∑∑
π π
en otro c
( )
( ) ( ) ( )
x n n
N N
X k k e e n N n N
aso
j N k n j N k n
k
N
k
N
1 2
1 2
1 2
2 2
0
1
0
1
1 1 2 2
1
0 1 0 1
0
1 1 1 2 2 2
2
1
1
1
,
, ,
,
=
≤ ≤ − ≤ ≤ −







=
−
=
−
∑∑
π π
en otro c
38
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT (Fast Fourier Transform)FFT (Fast Fourier Transform)
Ì FFT-2D
x Al igual que en el caso de señales unidimensionales, disponemos de un
eficiente algoritmo para realizar el DFT.
x Descomposición Fila-Columna
3 Reescribimos la ecuación anterior
3 Si consideramos n2 fijo (pe, n2 =0), f(k1,n2) es el DFT unidimensional de
x(n1,n2)|n2=0 con respecto a la variable n1. De esta forma obtenemos una
matriz f(k1,n2) para todos los posibles valores de n2 (Figura).
3 Ahora podemos calcular X(k1,k2) a partir de f(k1,n2),
( ) ( ) ( ) ( )
( ) ( )
( ) ( ) ( )
X k k x n n e e
f k n e k n x n n e
j N k n j N k n
n
N
n
N
n
N
j N k n j N k n
n
N
1 2 1 2
2 2
0
1
0
1
1 2
0
1
2
1 2 1 2
2
0
1
1 1 1 2 2 2
2
2
1
1
1
1
2 2 2 1 1 1
2
2
, ,
, , , ,
=
=
− −
=
−
=
−
=
−
− −
=
−
∑∑
∑ ∑
π π
π π
donde f =
( ) ( ) ( )X k k f k n e
j N k n
n
N
1 2 1 2
2
0
1
2 2 2
2
2
, ,=
−
=
−
∑
π
39
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT (Fast Fourier Transform)FFT (Fast Fourier Transform)
3 Fijamos k1 (pe, k1=0), por lo que f(k1,n2)|k1=0 es una columna de f(k1,n2) y
X(0,k2) es la DFT unidimensional de f(k1,n2)|k1=0 con respecto a la variable
n2. Obtendremos X(k1,k2) haciendo N1 DFT 1D para cada valor de k1
(Figura).
n2
n1
N1-1
N2-1
n2
k1
N1-1
N2-1
FFT 1D
N1 puntos
x(n1,n2) f(k1,n2)
40
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT (Fast Fourier Transform)FFT (Fast Fourier Transform)
n2
k1
N1
-1
N2
-1
k2
k1
N1
-1
N2
-1
FFT 1D
N2
puntos
X(k1
,k2
)f(k1
,n2
)
Número de
Multiplicaciones
Número de
Sumas
Calculo Directo N N1
2
2
2
N N1
2
2
2
Descomposición
Fila-Columna con
FFT 1D
( )N N
N N1 2
2 1 2
2
log ( )N N N N1 2 2 1 2log
41
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT con MATLABFFT con MATLAB
 X = fft(x)
Hace la FFT del vector x. “X” es un vector de números complejos
ordenados desde k=0...N-1. Se recomienda que la longitud del vector
x sea una potencia de 2. Lo que no se recomienda es que la longitud
de x sea un número primo.
Otra opción del la FFT es especificar el número de puntos con el
que se quiere hacer la FFT.
 X = fft(x,N)
Si la longitud de x es menor que N, el vector se rellena con
ceros. Si es mayor, el vector es truncado.
 x = ifft(X)
Hace la FFT inversa del vector X. También se puede especificar el
número de puntos N con el que quiero hacer la IFFT.
 x = ifft(X,N)
 X = fftshift(X)
Reordena el vector X en orden creciente de frecuencia. Si “X” es el
vector resultante de hacer una FFT, utilizando esta función
reordenamos los puntos en función de la frecuencia.
Ì A continuación tienen unos ejemplos del uso de las FFT. Los programas de
MATLAB utilizados los pueden conseguir en el Web de la asignatura.
42
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT con MATLAB: fftej1.mFFT con MATLAB: fftej1.m →→ x(t)=sin(2·x(t)=sin(2·ππ·20·t)+chirp(5-40)·20·t)+chirp(5-40)
N=128 D=1 sN=128 D=1 s
0 0.2 0.4 0.6 0.8 1
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
Tiempo (s)
x(t)
x(t)
-80 -60 -40 -20 0 20 40 60 800
0.1
0.2
0.3
0.4
0.5
0.6
Frecuencia (Hz)
|X[k]|
Módulo de Coeficientes Espectrales |X[k]|
43
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT con MATLAB: fftej1.mFFT con MATLAB: fftej1.m →→ x(t)=sin(2·x(t)=sin(2·ππ·20·t)+chirp(5-40)·20·t)+chirp(5-40)
N=128 D=1 sN=128 D=1 s
-80 -60 -40 -20 0 20 40 60 80-1000
-500
0
500
1000
1500
2000
Frecuencia (Hz)
Fase(º)
Fase de Coeficientes Espectrales X[k]
Comparación entre x(t) y su reconstrucción a partir de X[k]
0 0.2 0.4 0.6 0.8 1-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
Tiempo (t)
x(t)
44
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT con MATLAB: fftej1.mFFT con MATLAB: fftej1.m →→ x(t)=sin(2·x(t)=sin(2·ππ·20·t)+chirp(5-40)·20·t)+chirp(5-40)
N=128 D=1 sN=128 D=1 s
0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99
-1.5
-1
-0.5
0
0.5
1
1.5
2
Tiempo (t)
x(t)
Comparación entre x(t) y su reconstrucción a partir de X[k]
45
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT con MATLAB: fftej1.mFFT con MATLAB: fftej1.m →→ x(t)=sin(2·x(t)=sin(2·ππ·20·t)+chirp(5-40)·20·t)+chirp(5-40)
N=32 D=1 sN=32 D=1 s
0 0.2 0.4 0.6 0.8 1-2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
Tiempo (t)
x(t)
Comparación entre x(t) y su reconstrucción a partir de X[k]
Frecuencia (Hz)
-20 -15 -10 -5 0 5 10 15
0
0.1
0.2
0.3
0.4
0.5
0.6
|X[k]|
Módulo de Coeficientes Espectrales |X[k]|
Aliasing 32-20=12 Hz
46
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT con MATLAB: fftej2.mFFT con MATLAB: fftej2.m →→ x(t)=x(t)=expexp(-2·t)+0.2·chirp(60-100)(-2·t)+0.2·chirp(60-100)
N=256 D=1 sN=256 D=1 s
0 0.2 0.4 0.6 0.8 1
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
Tiempo (s)
x(t)
x(t)=exp(-2t)+0.2·chirp(60-100)
-150 -100 -50 0 50 100 150
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
Frecuencia (Hz)
|X[k]|
Módulo de los coeficientes espectrales |X[k]|
47
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT con MATLAB: fftej2.mFFT con MATLAB: fftej2.m →→ x(t)=x(t)=expexp(-2·t)+0.2·chirp(60-100)(-2·t)+0.2·chirp(60-100)
N=256 D=1 sN=256 D=1 s
-150 -100 -50 0 50 100 150
-1500
-1000
-500
0
500
1000
1500
Frecuencia (Hz)
Fase(X[k])(º)
Fase de los coeficientes espectrales X[k]
0 0.2 0.4 0.6 0.8 1-0.2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Tiempo (t)
x(t)
Comparación entre x(t) y su reconstrucción a partir de X[k]
48
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT con MATLAB: fftej2.mFFT con MATLAB: fftej2.m →→ x(t)=x(t)=expexp(-2·t)+0.2·chirp(60-100)(-2·t)+0.2·chirp(60-100)
N=256 D=1 sN=256 D=1 s
0.96 0.97 0.98 0.99 1
0
0.2
0.4
0.6
0.8
1
Tiempo (t)
x(t)
Comparación entre x(t) y su reconstrucción a partir de X[k]
49
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT con MATLAB: fftej2.mFFT con MATLAB: fftej2.m →→ x(t)=x(t)=expexp(-2·t)+0.2·chirp(60-100)(-2·t)+0.2·chirp(60-100)
N=64 D=0.1 sN=64 D=0.1 s
-400 -300 -200 -100 0 100 200 300 400
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
0.1
Frecuencia (Hz)
|X[k]|
Módulo de los coeficientes espectrales |X[k]|
0 0.02 0.04 0.06 0.08 0.1
0.6
0.7
0.8
0.9
1
1.1
1.2
Comparación entre x(t) y su reconstrucción a partir de X[k]
Tiempo (t)
x(t)
50
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT con MATLAB: fftej3.mFFT con MATLAB: fftej3.m →→ x(t)=x(t)=expexp(-2·t)·sin(2·(-2·t)·sin(2·ππ·200·t)·200·t)
N=128 D=0.2 sN=128 D=0.2 s
0 0.05 0.1 0.15 0.2
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Tiempo (t)
x(t)
x(t)=exp(-2t)·sin(2·p·200·t)
-400 -300 -200 -100 0 100 200 300 400
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
Frecuencia (Hz)
|X[k]|
Módulo de los coeficientes espectrales de x(t)
51
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT con MATLAB: fftej3.mFFT con MATLAB: fftej3.m →→ x(t)=x(t)=expexp(-2·t)·sin(2·(-2·t)·sin(2·ππ·200·t)·200·t)
N=128 D=0.2 sN=128 D=0.2 s
-400 -300 -200 -100 0 100 200 300 400
-200
-150
-100
-50
0
50
100
150
200
Frecuencia (Hz)
FaseX[k] Fase de los coeficientes espectrales X[k]
52
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT con MATLAB: fftej4.mFFT con MATLAB: fftej4.m →→ x(t)=sin(2·x(t)=sin(2·ππ·200·t+5·sin(2··200·t+5·sin(2·ππ·2·t))·2·t))
N=256 D=0.5 sN=256 D=0.5 s
0 0.1 0.2 0.3 0.4 0.5
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Tiempo (t)
x(t)
x(t)=sin(2·pi·200·t+5·sin(2·pi·2·t)
Frecuencia (Hz)
-300 -200 -100 0 100 200 300
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
0.1
|X[k]|
Módulo de los coeficientes espectrales de x(t)
53
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT con MATLAB: fftej4.mFFT con MATLAB: fftej4.m →→ x(t)=sin(2·x(t)=sin(2·ππ·200·t+5·sin(2··200·t+5·sin(2·ππ·2·t))·2·t))
N=256 D=0.5 sN=256 D=0.5 s
-300 -200 -100 0 100 200 300
-1000
0
1000
2000
3000
4000
5000
6000
7000
Frecuencia (Hz)
FaseX[k]
Fase de los coeficientes espectrales X[k]
54
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT con MATLAB: fftej4.mFFT con MATLAB: fftej4.m →→ x(t)=sin(2·x(t)=sin(2·ππ·200·t+5·sin(2··200·t+5·sin(2·ππ·2·t))·2·t))
N=128 D=0.2 sN=128 D=0.2 s
0 0.05 0.1 0.15 0.2
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Tiempo (t)
x(t)
x(t)=sin(2·pi·200·t+5·sin(2·pi·2·t)
-400 -300 -200 -100 0 100 200 300 400
0
0.01
0.02
0.03
0.04
0.05
0.06
Frecuencia (Hz)
|X[k]|
Módulo de los coeficientes espectrales de x(t)
55
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT con MATLAB: fftej4.mFFT con MATLAB: fftej4.m →→ x(t)=sin(2·x(t)=sin(2·ππ·200·t+5·sin(2··200·t+5·sin(2·ππ·2·t))·2·t))
N=128 D=0.2 sN=128 D=0.2 s
-400 -300 -200 -100 0 100 200 300 400
0
100
200
300
400
500
600
700
Frecuencia (Hz)
FaseX[k]
Fase de los coeficientes espectrales X[k]
56
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT con MATLAB: fftej5.mFFT con MATLAB: fftej5.m →→ x(t)=sin(2·x(t)=sin(2·ππ·200·t-5··200·t-5·expexp(-2·t))(-2·t))
N=256 D=0.5 sN=256 D=0.5 s
0 0.1 0.2 0.3 0.4 0.5
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Tiempo (t)
x(t)
x(t)=sin(2·pi·200·t-5·exp(-2t))
-300 -200 -100 0 100 200 300
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
0.16
0.18
Frecuencia (Hz)
|X[k]|
Módulo de los coeficientes espectrales de x(t)
57
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT con MATLAB: fftej5.mFFT con MATLAB: fftej5.m →→ x(t)=sin(2·x(t)=sin(2·ππ·200·t-5··200·t-5·expexp(-2·t))(-2·t))
N=256 D=0.5 sN=256 D=0.5 s
-300 -200 -100 0 100 200 300
-150
-100
-50
0
50
100
150
Frecuencia (Hz)
FaseX[k]
Fase de los coeficientes espectrales X[k]
160 170 180 190 200 210 220 230 240
0
10
20
30
40
50
60
70
80
Comparación entre el espectro de señales moduladas
en amplitud (x) y moduladas en frecuencia (o)
58
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT con MATLAB: fftej7.mFFT con MATLAB: fftej7.m →→ x(t)=x(t)=expexp(-2·t)·sin(2·(-2·t)·sin(2·ππ·3·t)·3·t)
N=16 D=1 sN=16 D=1 s
0 0.2 0.4 0.6 0.8 1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Tiempo (s)
x(t)
Puntos de muestreo (--) y Reconstrucción a partir de X[k] (o)
-8 -6 -4 -2 0 2 4 6 8
0
0.05
0.1
0.15
0.2
0.25
Frecuencia (Hz)
|X[k]|
Módulo de los coeficientes espectrales de x(t)
59
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT con MATLAB: fftej7.mFFT con MATLAB: fftej7.m →→ x(t)=x(t)=expexp(-2·t)·sin(2·(-2·t)·sin(2·ππ·3·t)·3·t)
N=16 D=1 sN=16 D=1 s
-8 -6 -4 -2 0 2 4 6 8-200
-150
-100
-50
0
50
100
150
200
Frecuencia (Hz)
FaseX[k]
Fase de los coeficientes espectrales X[k]
0 0.5 1 1.5 2-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Tiempo (t)
x(t)
Comparación entre x(t) y su reconstrucción a partir de X[k]
60
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT con MATLAB: fftej7.mFFT con MATLAB: fftej7.m →→ x(t)= (1+tx(t)= (1+t22/2)·sin(2·/2)·sin(2·ππ·5·t)+ 0.2·chirp(20-60)·5·t)+ 0.2·chirp(20-60)
N=128 D=1 sN=128 D=1 s
-80 -60 -40 -20 0 20 40 60 800
0.1
0.2
0.3
0.4
0.5
0.6
Frecuencia (Hz)
|X[k]|
Módulo de los coeficientes espectrales de x(t) |X[k]|
-80 -60 -40 -20 0 20 40 60 80
-1500
-1000
-500
0
500
1000
1500
2000
Frecuencia (Hz)
FaseX[k]
Fase de los coeficientes espectrales X[k]
61
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT con MATLAB: fftej8.mFFT con MATLAB: fftej8.m →→ x(t)= (1+tx(t)= (1+t22/2)·sin(2·/2)·sin(2·ππ·5·t)+ 0.2·chirp(20-60)·5·t)+ 0.2·chirp(20-60)
N=128 D=1 sN=128 D=1 s
0 0.5 1 1.5
-2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
Tiempo (t)
x(t)
Comparación entre x(t) y su reconstrucción a partir de X[k]
62
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT con MATLAB: goodbye.mFFT con MATLAB: goodbye.m
N=4096 Fs=22050 HzN=4096 Fs=22050 Hz NhNh=1000=1000
-1.5 -1 -0.5 0 0.5 1 1.5
x 10
4
0
1
2
3
4
5
6
7
8
9 x 10
-4
Espectro de goodbye.au
|X[k]|
Frecuencia (Hz)
0 0.05 0.1 0.15 0.2-0.25
-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
0.2
0.25
goodbye.au
Tiempo (s)
63
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT con MATLAB: goodbye.mFFT con MATLAB: goodbye.m
N=4096 Fs=22050 HzN=4096 Fs=22050 Hz NhNh=1000=1000
-1.5 -1 -0.5 0 0.5 1 1.5
x 10
4
0
1
2
3
4
5
6
7
8
9
x 10
-4
Espectro de goodbye.au filtrado
|X[k]
64
5º Curso-Tratamiento Digital de Señal
Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99
FFT con MATLAB: good_FFT con MATLAB: good_wndwnd.m.m
NiNi=1245=1245 NwNw=128=128 NhNh=10 Fs=22050 Hz=10 Fs=22050 Hz
0.056 0.057 0.058 0.059 0.06 0.061 0.062 0.063-0.04
-0.03
-0.02
-0.01
0
0.01
0.02
0.03
Tiempo (s)
Amplitudy(t)
Señal (--) y Recontrucción con 10 armónicos (--)
-1.5 -1 -0.5 0 0.5 1 1.5
x 10
4
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Frecuencia (Hz)
|Y[k]|
Espectro de la señal (--) y filtrado (--)

147994600 transformada-de-fourier

  • 1.
    1 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 Transformada DiscretaTransformada Discreta de Fourierde Fourier (DFT)(DFT) ÌÌ Transformada DiscretaTransformada Discreta de Fourierde Fourier ÌÌ FFT (Fast Fourier Transform)FFT (Fast Fourier Transform)
  • 2.
    2 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 Transformada DiscretaTransformada Discreta de Fourierde Fourier Ì Antes de definir la DFT, analizaremos primero la Transforma- da de Fourier en tiempo discreto (DTFT). Ì La DTFT describe el espectro de señales discretas. Deducire- mos la DFT a partir de la convolución discreta explicada en el Capítulo 2. Ì Allí se definió la convolución discreta como x Si tenemos una señal de entrada armónica x[n]=exp(j2πnfts), la respuesta y[n] es x H(f) es la DTFT de la señal discreta h[n]. Nótese que la función H(f) es periódica, debido a que h[n] es una función discreta. [ ] [ ] [ ] [ ] [ ]y n x n h n x k h n ks s k = ∗ = − =−∞ ∞ ∑ [ ] [ ] [ ] [ ] [ ] ( ) y n j n k ft h k j nft j kft h k x n H f s k s s k = − ⋅ = − ⋅ = ⋅ =−∞ ∞ =−∞ ∞ ∑ ∑ exp ( ) exp( ) exp( ) 2 2 2 π π π
  • 3.
    3 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 Transformada DiscretaTransformada Discreta de Fourierde Fourier Ì Se define la DTFT de una señal discreta x[n] como Ì Dualidad entre las series de Fourier y la DTFT x Tenemos una señal periódica continua xp(t). Mediante las series de Fourier transformamos esa señal periódica continua en una función aperiódica y discreta (los coeficientes espectrales XS[k]). x De una manera dual, podemos intercambiar tiempo y frecuencia de forma donde SF=1/ts . Ahora tenemos una señal aperiódica discreta xs[k] y la transformamos en una señal periódica continua (Xp(f)) mediante la DTFT. ( ) [ ]X f x k j kfts k = − =−∞ ∞ ∑ exp( )2π [ ] ( ) ( ) ( ) [ ] ( )X k T x t j kf t dt x t X k j kf tS p T p S k = − =∫ ∑ =−∞ ∞ 1 2 20 0exp expπ π [ ] ( ) ( ) ( ) [ ] ( )∑∫ ∞ −∞= −== k sSP S sP F S kftjnxfXdfkftjfX S kx F ππ 2exp2exp 1
  • 4.
    4 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 Transformada DiscretaTransformada Discreta de Fourierde Fourier x El comportamiento dual entre las series de Fourier y la DTFT se manifiesta en lo siguiente : 3 En las series de Fourier parto de una señal x(t), temporal, continua y perió- dica (periodo T) y obtengo los coeficientes X[k], que es una función de la frecuencia, aperiódica y discreta con una distancia entre dos valores consecutivos de f0=1/T. 3 En la DTFT parto de una señal discreta en el tiempo x[n], con periodo de muestreo ts=1/fs y aperiódica y obtengo una función X(f), que es función continua de la frecuencia y periódica con periodo fs. x Todas las propiedades que se vieron para las series de Fourier tienen su correspondientes equivalencias en la DTFT. x Ejemplo : DTFT de la secuencia x[n]=δ[n] : Si tenemos una secuencia x[n]={1,0,3,-2}, a partir de la anterior ecuación y aplicando la propiedad del desplazamiento, [ ] ( )X f k j kfts k ( ) exp= − = =−∞ ∞ ∑δ π2 1 ( ) ( )X f j ft j fts s( ) exp exp= + − − −1 3 4 2 6π π
  • 5.
    5 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 Transformada DiscretaTransformada Discreta de Fourierde Fourier Ì Sin embargo, a la hora de realizar operaciones tenemos los mismos problemas que en las series de Fourier ya que seguimos tratanto con señales continuas o con series de datos de longitud infinita. La electrónica nos obliga a trabajar con un número finito de datos discretos que además tienen una precisión finita. Ì De lo que se trata es de conseguir discretizar las variables continuas y de limitar el números de muestras en los dos dominios (temporal y frecuencial). Ì Esto nos lleva a definir las series discretas de Fourier y la Transformada Discreta de Fourier (DFT).
  • 6.
    6 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 Transformada DiscretaTransformada Discreta de Fourierde Fourier Ì De las Series de Fourier a las Series Discretas de Fourier x Para las Series de Fourier se cumple (f0=1/T) x Para limitar xp(t), tomamos N muestras de xp(t) durante un periodo a intervalos ts, de forma que N·ts=T. Al calcular los coeficientes X[k] me queda, x La cantidad X[k] es la serie de Fourier Discreta de la señal periódica muestreada xP[n]. ( ) [ ] ( ) [ ] ( ) ( )∑ ∫ ∞ −∞= ⋅−⋅== k T PSSP dttkfjtx T kXtkfjkXtx 00 2exp 1 2exp ππ [ ] [ ] ( ) [ ] ( ) 1,2,1,0/2exp 1 2exp 1 1 0 1 0 0 −=−⋅= ⋅−⋅= ∑ ∑ − = − = NkNknjnx N tntkfjnx Nt kX N n P s N n sP s π π
  • 7.
    7 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 Transformada DiscretaTransformada Discreta de Fourierde Fourier Ì De la DTFT a la DFT x Tenemos una señal x[n] limitado a N muestras con un periodo de muestreo ts. x La DTFT se define como x XP(f) es periódica con periodo 1/ts. Muestreamos esta señal N veces sobre un periodo, por tanto XT[k] será sustituir f por k/(Nts) : x Esta última expresión resultante es la Transformada Discreta de Fourier de una señal x[n]. Excepto por el término 1/N es idéntica a la Serie Discreta de Fourier. ( ) [ ] ( )X f x n j nftP s n N = ⋅ − = − ∑ exp 2 0 1 π [ ] [ ] ( )[ ] [ ] [ ] X k x n j nkt Nt x n j nk N k N T s s n N n N = ⋅ − = ⋅ − = − = − = − ∑ ∑ exp / exp / , , , , 2 2 0 1 2 1 0 1 0 1 π π
  • 8.
    8 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 Transformada DiscretaTransformada Discreta de Fourierde Fourier Ì Transformada Discreta inversa (IDFT), Ì Convolución Circular o Cíclica x La convolución normal entre dos señales periódicas es cero o infinito. Para este tipo de señales se define la convolución circular de dos secuencias xp[n] y hp[n] con periodo N : x La convolución circular requiere que las dos secuencias sean del mismo tamaño. Si no fuera así habría que llenar de ceros la secuencia más corta. [ ] [ ] ( )x n N X k j nk N n NT k N = = − = − ∑ 1 2 0 1 2 1 0 1 exp / , , , ,π [ ] [ ] [ ] [ ] [ ]y n x n h n N x k h n kp p p p p k N = • = − = − ∑ 1 0 1
  • 9.
    9 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 Transformada DiscretaTransformada Discreta de Fourierde Fourier Ì Propiedades de la DFT [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] ( ) [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] Simetria Conjugada Linealidad Desplazamiento Modulacion Producto Simetria Conjugado Convolucion Circular Correlacion X k X k X N k x n y n X k Y k x n m X k j km N X k W W x n X k m x n y n N X k Y k x n X k X k x n X k x n y n X k Y k x n y n X k T T T T T T T N km N nm T T T T T T T T T − = = − + ↔ + − ↔ ⋅ − = ⋅ ⋅ ↔ − ↔ • − ↔ − = ↔ − • ↔ • − ↔ ∗ − ∗ ∗ ∗ ∗ α β α β πexp /2 1 [ ] [ ] [ ] Y k x n N X k T T ∗ =∑ ∑Ecuacion de Parseval 2 21
  • 10.
    10 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 Transformada DiscretaTransformada Discreta de Fourierde Fourier Ì Ejemplos x x[n]={1,2,1,0} por tanto la DFT de x[n] es XT[k]={4,-j2,0,j2} para k=0,1,2,3 [ ] [ ] [ ] [ ] ( ) ( ) ( ) [ ] [ ] ( ) ( ) ( ) [ ] [ ] ( ) ( ) ( ) k X x n k X x n j j j j k X x n j j j k X x n j j j j T T T T = = = + + + = = = − = + − + − = − = = − = + − + − = = = − = + − + − = ∑ ∑ ∑ ∑ 0 0 1 2 1 0 4 1 1 2 4 1 2 2 2 2 2 2 2 4 1 2 2 0 3 3 2 3 4 1 2 3 2 3 2 exp / exp / exp exp / exp exp exp / exp / exp π π π π π π π π π
  • 11.
    11 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 Transformada DiscretaTransformada Discreta de Fourierde Fourier Ì Podemos interpretar los resultados del DFT de una secuencia xs[n] desde dos puntos de vista: x Como los coeficientes espectrales (series de Fourier) de una señal periódica discreta cuyos muestreos coinciden con la secuencia xs[n]. x Como el espectro de una señal aperiódica discreta cuyos muestreos corresponden a la secuencia xs[n]. Ì EL DFT es una aproximación al espectro de la señal analógica original. Su magnitud se ve influenciada por el intervalo de muestreo, mientras que su fase depende de los instantes de muestreo.
  • 12.
    12 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 Transformada DiscretaTransformada Discreta de Fourierde Fourier Ì Como hacer la DFT a partir de una señal x(t), muestreada durante D segundos, con periodo de muestreo ts : x Elegir el intervalo de muestreo ts de forma que se cumpla el Teorema del muestreo. x Crear la expensión periodica (xp(t)) de x(t) con periodo D. x Tomar N muestras de xp(t) empezando en t=0. x Si hay discontinuidades, los valores de muestreo los tomaremos en el punto medio de la señal. TT x(t) 0-1 321-3 -2 0-1 321-3 -2 x p(t)
  • 13.
    13 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 Transformada DiscretaTransformada Discreta de Fourierde Fourier Ì DFT de señales periódicas x Siendo x(t)=sin(2πft), con f=1KHz, D=1ms y N=8 tenemos la siguien- te secuencia de muestreos : x[n]={0,0.7071,1,0.7071,0,-0.7071,-1,-0.7071} El resultado de hacer el DFT es XT[k]={0,-4j,0,0,0,0,0,4j}. XS[k]=1/8{0,-4j,0,0,0,0,0,4j}={0,-j/2,0,0,0,0,0,j/2} 0 0.2 0.4 0.6 0.8 1 x 10 -3 -1 -0.5 0 0.5 1 Sinusoide 1KHz, D=1ms, N=8 Tiempo (s) Amplitud
  • 14.
    14 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 Transformada DiscretaTransformada Discreta de Fourierde Fourier -4000 -2000 0 2000 0 1 2 3 4 5 DFT MagnitudDFT Frecuencia (Hz) MagnitudDFT 0 2 4 6 8 0 1 2 3 4 5 DFT Indice k x x(t)=sin(2πft), con f=1KHz, D=0.5ms y N=8, tenemos la secuencia de muestreos: x[n]={0,0.3827,0.7071,0.9239,1,0.9239,0.7071, 0.3827}. Los coeficientes del DFT son {5.0273,-1.7654,0.4142,-0.2346,-0.1989,-0.2346,-0.4142,-1.7654} Y los coeficientes del DFS son X[k]=1/8{5.0273,-1.7654,0.4142,-0.2346,-0.1989,-0.2346,-0.4142,-1.7654}
  • 15.
    15 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 Transformada DiscretaTransformada Discreta de Fourierde Fourier x En este nuevo ejemplo, la frecuencia de muestreo es 16KHz. Los X[k] son reales, por lo que la función tiene simetría par. Para la onda dada, los coeficientes exactos de Fourier son : 3 XS[0]=1/π XS[k]=2/π(1-4k2) 3 Comparando XS[0]≈X[0] XS[1]≈X[1] dentro del 5% de precisión 3 Para los términos con k=2,3..., X[k] se desvía bastante del término exacto debido a que la señal no tiene un espectro limitado, produciéndose aliasing. 0 1 2 3 4 5 x 10 -4 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Sinusoide 1KHz, D=1ms, N=8 Tiempo (s) Amplitud 0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8 DFT MagnitudDFT Indice k -8000 -6000 -4000 -2000 0 2000 4000 6000 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7
  • 16.
    16 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 Transformada DiscretaTransformada Discreta de Fourierde Fourier x x(t)=sin(2πft), con f=1KHz, D=1.5ms y N=24. 0 0.5 1 1.5 x 10 -3 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Sinusoide 1KHz, D=1ms, N=8 Tiempo (s) Amplitud 0 5 10 15 20 0 5 10 15 20 DFT MagnitudDFT Indice k -5000 0 5000 0 5 10 15 20 DFT MagnitudDFT Frecuencia (Hz)
  • 17.
    17 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 Transformada DiscretaTransformada Discreta de Fourierde Fourier 3 En este ejemplo se ha producido el denominado “leakage”, que consiste en que las componentes originales de la señal se derraman hacia las nuevas componentes de la señal. Para evitarlo, se debe muestrear un número entero de periodos, o bien utilizar alguna de las ventanas espectrales (ventana de Hamming, etc). x Podría ocurrir que no conocieramos el periodo de la señal de la cual queremos calcular el DFT. En ese caso se muestrea una señal de duración lo más larga posible. De esta forma, se reduce el “leakage” y el espacio entre frecuencias obteniéndose una buena estimación del espectro original. 0 0.001 0.002 0.003 0.004 0.005 0.006 0.007 0.008 0.009 0.01 -1 -0.5 0 0.5 1 Sinusoide 1KHz Tiempo (s) Amplitud
  • 18.
    18 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 Transformada DiscretaTransformada Discreta de Fourierde Fourier Ì DFT de señales aperiódicas x La señal aperiódica x(t) debe ser muestreada durante un tiempo D. El DFT produce los coeficientes espectrales correspondientes a la extensión periódica de x(t) con periodo D. El espacio entre frecuencias es f0=1/D. A f0 se le denomina resolución frecuencial. Esta depende sólo de la duración. Si la señal está limitada en el tiempo, la forma de aumentar la duración es añadir ceros. -4000 -3000 -2000 -1000 0 1000 2000 3000 0 20 40 60 80 DFT MagnitudDFT Frecuencia (Hz)
  • 19.
    19 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 Transformada DiscretaTransformada Discreta de Fourierde Fourier 0 0.5 1 1.5 2 0 0.5 1 1.5 Tiempo (s) Magnitud Señal x(t)=exp(-t) -4 -3 -2 -1 0 1 2 3 4 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Frecuencia (Hz) Magnitud Señal x(t)=exp(-t) 0 0.5 1 1.5 2 2.5 3 3.5 4 0 0.5 1 1.5 Tiempo (s) Magnitud Señal x(t)=exp(-t) -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0 0.5 1 1.5 2 2.5 Frecuencia (Hz) Magnitud Señal x(t)=exp(-t)
  • 20.
    20 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 Transformada DiscretaTransformada Discreta de Fourierde Fourier Ì Tal y como se observa en las figuras de la páginas anteriores hay varias formas de dibujar la gráfica de la DFT de una secuencia de datos. Ì Una de ellas es indicarlo directamente mediante el índice k. Se puede observar que |XT[k]| es simétrico respecto a N/2. Ì Otra forma es reordenando los datos en función de la frecuen- cia. De la definición de DFT sabemos que cada intervalo de la DFT es 1/(Nts). La DFT nos da la Transformada de Fourier para las frecuencias f -(N/2)/(Nts),...,-1/(Nts),0, 1/(Nts), 2/(Nts)...(N/2-1)/(Nts) k (N/2) ,..., N-1 ,0, 1 , 2 ... (N/2-1) Ì La máxima frecuencia detectable por la DFT es lógicamente fs/2, de acuerdo con el Teorema del Muestreo.
  • 21.
    21 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 Transformada DiscretaTransformada Discreta de Fourierde Fourier Ì En general, el DFT es una aproximación a las series o a la transformada de Fourier. Es muy importante elegir correctamente los parámetros del DFT (frecuencia de muestreo fs=1/ts, resolución de frecuencia f0=1/D). Ì La frecuencia de muestreo se determina a partir del teorema de muestreo. Si queremos detectar el espectro de una señal hasta una máxima frecuencia B , la frecuencia de muestreo deberá ser 2B. Ì La duración del muestreo se elige para una determinada resolución de frecuencia. Ì Una regla de diseño muy útil es: Si queremos los M primeros armónicos de una señal con un error máximo del 5%, el número de muestreos N=8M.
  • 22.
    22 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 Transformada DiscretaTransformada Discreta de Fourierde Fourier Ì Ejemplo: Queremos determinar mediante un algoritmo digital el espectro de la señal x(t)=exp(-t). La máxima frecuencia de la que pide su coeficiente es fB=1Hz. Además el armónico correspondiente a f=0.3Hz debe tener un error menor que el 5%. Calcular fs,D y N. x De acuerdo con el Teorema del Muestreo fs=2fB=2Hz. x Escogemos una resolución frecuencial de f0=0.1Hz, de forma que D=1/0.1=10s. x La frecuencia 0.3Hz se corresponde con el índice k=3, por lo que N=3·8=24 muestreos. Esto me indica que fs=N/D=24/10=2.4 2. x Si el objetivo es hacer que N sea lo menor posible (para facilitar los cálculos del DFT), se puede elegir f0=0.3Hz, D=1/0.3=3.33s, k=1 y N=1·8=8.
  • 23.
    23 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 Transformada DiscretaTransformada Discreta de Fourierde Fourier Tiempo (s) 0 2 4 6 8 10 0 0.5 1 1.5 Magnitud Señal x(t)=exp(-t) -1.5 -1 -0.5 0 0.5 1 1.5 0 0.2 0.4 0.6 0.8 1 1.2 Frecuencia (Hz) Magnitud Señal x(t)=exp(-t) 0 0.5 1 1.5 2 2.5 3 0 0.5 1 1.5 Tiempo (s) Magnitud Señal x(t)=exp(-t) -1.5 -1 -0.5 0 0.5 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Frecuencia (Hz) Magnitud Señal x(t)=exp(-t)
  • 24.
    24 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 Transformada DiscretaTransformada Discreta de Fourierde Fourier Ì Ventanas espectrales: Si tenemos señales truncadas, el espectro de la señal muestra unos picos que no decaen lo suficientemente rápido con la frecuencia. Para ello podemos utilizar ventanas en el dominio temporal para suavizar esas discontinuidades. Los picos serán menores aunque el ancho de banda de cada lóbulo aumentará.
  • 25.
    25 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 ResumenResumen de Series yde Series y TransformadasTransformadas de Fourierde Fourier Ì Series de Fourier x Señal Continua Periódica (periodo T), Espectro Discreto Aperiódico (intervalo de discretización 1/T) Ì Transformada de Fourier x Señal Continua Aperiódica, Espectro Continuo Aperiódico. Ì Transformada de Fourier Discreta en el Tiempo x Señal Discreta Aperiódica (intervalo de discretización ts), Espectro Continuo Periódico (periodo 1/ ts) Ì Transformada Discreta de Fourier x Señal Discreta Periódica (intervalo de discretización ts, periodo T), Espectro Discreto (intervalo de discretización 1/T)
  • 26.
    26 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT (Fast Fourier Transform)FFT (Fast Fourier Transform) Ì La importancia de DFT estriba en que es posible utilizar un algoritmo, llamado FFT, que lo realiza de forma eficiente y rápida. Ì El DFT de una secuencia x[n] es : Una primera aproximación al cálculo del DFT requeriría la suma compleja de N multiplicaciones complejas para cada uno de las salidas. En total, N2 multiplicaciones complejas y N2 sumas complejas para realizar un DFT de N puntos. Lo que consigue el algoritmo FFT es simplicar enormemente el cálculo del DFT introduciendo “atajos” matemáticos para reducir drasticamente el número de operaciones. [ ]X k x n W k N W e N nk n N N j N [ ] , , , / = = − = = − − ∑ 0 1 2 0 1 1 donde π
  • 27.
    27 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT (Fast Fourier Transform)FFT (Fast Fourier Transform) Ì La optimización del proceso de cálculo del DFT está basado en las siguientes ideas : x Simetría y Periodicidad de los términos WN. x Elegimos el valor de N de forma que N=rm. Al factor r se le denomina radix y su valor más habitual es 2, de forma que N=2m y algoritmo se denomina FFT radix-2. Ì Radix-2 FFT-Decimación en el Tiempo. x Dividimos la secuencia de datos de entrada x[n] en dos grupos, uno de índices par y el otro de índices impar. Con estas sub-secuencias se realiza el DFT de N/2 puntos y sus resultados se combinan para formar el DFT de N puntos. W W W W N n N N n N n N N n + + = = −/2 W W W N Nk N N = = 1 2 2/
  • 28.
    28 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT (Fast Fourier Transform)FFT (Fast Fourier Transform) [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] X k x n W x n W x n W W x n W Sustituimos x n x n x n x n W W X k x n W W x n W Y k W Z k k N nk n N N n k n N N nk n N N k N nk n N N nk N nk N nk n N N k N nk n N N k = + + = + + = = + = = + = + = = − + = − = − = − = − = − ∑ ∑ ∑ ∑ ∑ ∑ 2 2 1 2 2 1 2 2 1 0 1 2 2 0 2 1 2 1 0 2 1 2 0 2 1 2 0 2 1 1 2 2 2 1 2 0 2 1 2 2 0 2 1 / ( ) / / / / / / / / , , , , N −1 x Esta última ecuación muestra que el DFT de N puntos es la suma de dos DFTs de N/2 puntos (Y[k], Z[k]) realizadas con las secuencias par e impar de la secuencia original x[n]. Cada término Z[k] es multiplicado por un factor WN k, llamado “twiddle factor”. Ya que WN k+N/2=-WN k y debido a la periodicidad de Y[k] y Z[k] (periodo N/2) podemos poner X[k] como [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] X k Y k W k Z k X k N Y k W k Z k Para k N N k N k = + ⋅ + = − ⋅ = − / , , , / 2 0 1 2 1
  • 29.
    29 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT (Fast Fourier Transform)FFT (Fast Fourier Transform) x Los dos DFT de N/2 puntos se puede a su vez dividir para formar 4 DFTs de N/4 puntos, lo que produce las siguientes ecuaciones DFT N/2 Puntos x[0] x[2] x[N-2] Y[0] Y[1] Y[N/2-1] DFT N/2 Puntos x[1] x[3] x[N-1] Z[0] Z[1] Z[N/2-1] x W0 x W1 x WN/2-1 + + + + + + X[0] X[N-1] X[N/2+1] X[N/2] X[N/2-1] X[1] -1 -1 -1 [ ] [ ] [ ] [ ] [ ] [ ] Y k U k W V k Y k N U k W V k Para k N N k N k = + + = − = − 2 2 4 0 1 4 1 / , , , / [ ] [ ] [ ] [ ] [ ] [ ] Z k R k W S k Z k N R k W S k Para k N N k N k = + + = − = − 2 2 4 0 1 4 1 / , , , /
  • 30.
    30 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT (Fast Fourier Transform)FFT (Fast Fourier Transform) x El proceso puede repetirse sucesivamente hasta llegar a computar el DFT de dos valores x[n], en concreto x[k] y x[k+N/2], para k=0,1,...,N/2-1. Para una DFT de N=8 puntos tenemos el siguiente esquema x[0] x[4] x[2] x[6] x[1] x[5] x W 0 + + X[0] X[4]-1 x W 1 + + X[1] X[5]-1 x W 2 + + X[2] X[6]-1 x W 3 + + X[3] X[7]-1 + + + + x W 0 x W 2 -1 -1 + + + + x W 0 x W 2 -1 -1 + +x W 0 -1 + +x W 0 -1 + +x W 0 -1 + +x W 0 -1 x[7] x[3] Etapa 1 Etapa 2 Etapa 3 Butterfly
  • 31.
    31 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT (Fast Fourier Transform)FFT (Fast Fourier Transform) x Las características de una FFT de N puntos decimada en el tiempo se sumarizan en la siguiente tabla : x Por cada butterfly tenemos una multiplicación y dos sumas complejas. Hay N/2 butterflies por etapa y log2N etapas. 3 El número total de multiplicaciones es ½N·log2N . 3 El número total de sumas es N·log2N . Etapa 1 Etapa 2 Etapa 3 Etapa log2N Número de Grupos N/2 N/4 N/8 1 Butterflies por Grupo 1 2 4 N/2 Exponentes Twiddle Factors (N/2)k, k=0 (N/4)k, k=0,1 (N/8)k, k=0,1,2,3 k, k=0,1,...,N/2-1
  • 32.
    32 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT (Fast Fourier Transform)FFT (Fast Fourier Transform) x Para pequeños valores de N, la diferencia puede parecer pequeña, pero para valores grandes la diferencia es enorme. Para un DFT de 1024 puntos, el número de multiplicaciones en un FFT es aprox. 5000 mientras que para un DFT normal es de aprox. 106. Ì Radix-2 FFT-Decimación en Frecuencia x Expresaremos el FFT como suma de los FFT de dos secuencias, la primera con los N/2 primeros datos y la segunda con los N/2 últimos. [ ] [ ] [ ] [ ] [ ] [ ] [ ] ( ) [ ] [ ] ( ) [ ][ ] X k x n W x n W x n W x n W x n N W x n W x n N W x n x n N W k N N nk n N N nk n N N nk n N N N nk n N N n N k n N N nk n N k N nk n N k N nk n N = = + = + + = + − + = + − + = − = − = − = − = − + = − = − = − = − ∑ ∑ ∑ ∑ ∑ ∑ ∑ ∑ 0 1 0 2 1 2 1 0 2 1 2 0 2 1 0 2 1 0 2 1 0 2 1 2 1 2 1 2 0 1 2 1 / / / ( / ) / / / / / / / , , , ,
  • 33.
    33 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT (Fast Fourier Transform)FFT (Fast Fourier Transform) x La decimación en frecuencia se obtiene dividiendo la secuencia de salida (X[k]) en dos ecuaciones, una para los índices pares y otro para los impares. [ ] [ ] [ ][ ] [ ] [ ][ ] X k x n x n N W x n x n N W k N N nk n N N nk n N 2 2 2 0 1 2 1 2 0 2 1 2 0 2 1 = + + = + + = − = − = − ∑ ∑ / / , , , / / / / [ ] [ ] [ ][ ] [ ] [ ][ ][ ] X k x n x n N W x n x n N W W k N N n k n N N n N nk n N 2 1 2 2 0 1 2 1 2 1 0 2 1 2 0 2 1 + = − + = − + = − + = − = − ∑ ∑ / / , , , / ( ) / / / x X[2k] y X[2k+1] son los resultados del DFT de N/2 puntos realizado con las suma y la diferencia entre la primera y segunda mitades de la secuencia de entrada.
  • 34.
    34 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT (Fast Fourier Transform)FFT (Fast Fourier Transform) DFT N/2 Puntos x[0] x[1] x[N/2-1] DFT N/2 Puntos x W 0 + + + + + + X[0] X[N-1] X[N-2] X[2] X[3] X[1]-1 -1 -1 x W 1 x W N/2-1 x[N/2] x[N/2+1] x[N-1]
  • 35.
    35 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT (Fast Fourier Transform)FFT (Fast Fourier Transform) x[0] x[1] x[2] x W0 + + + + + + X[0] X[3] X[2] X[4] X[5] X[1]-1 -1 -1 x W1 x W2 x[3] + +-1 x W3 x[4] x[5] x[7] x[6] + + + + x W2 x W0 -1 -1 + + + + x W2 x W0 -1 -1 + + x W0 + + x W0 + + x W0 + + x W0 X[6] X[7] -1 -1 -1 -1 Etapa 1 Etapa 3Etapa 2 Butterfly
  • 36.
    36 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT (Fast Fourier Transform)FFT (Fast Fourier Transform) x Las característica del FFT decimado en frecuencia son Ì Se puede observar que en el caso de decimación en el tiempo, la secuencia de entrada debe ser reordenada mientras que la salida aparece en el orden correcto. Ì Para la decimación en frecuencia, la secuencia está en orden mientras que la salida habrá que reordenarla. Ì Se da la circunstancia que esa reordenación es simplemente invertir el índice en binario. Por ejemplo, en la misma posición que x[1] aparece X[4], y 001 invertido es 100. Etapa 1 Etapa 2 Etapa 3 Etapa log2N Número de Grupos 1 2 4 N/2 Butterflies por Grupo N/2 N/4 N/8 1 Exponentes Twiddle Factors n, n=0,...,N/2-1 2n, n=0,...,N/4-1 4n, k=0,...,N/8-1 (N/2)n, n=0
  • 37.
    37 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT (Fast Fourier Transform)FFT (Fast Fourier Transform) Ì DFT en 2 dimensiones x En aplicaciones como procesamiento de imagen, las señales dependen de dos variables n1 y n2 (el eje x y el eje y en una imagen bidimensio- nal). Por tanto necesitamos extender el concepto de DFT a dos dimen- siones. x Dada una secuencia x(n1,n2), se define la DFT como x La IDFT de X(k1,k2) se define como ( ) ( ) ( ) ( ) X k k x n n e e n N n N aso j N k n j N k n n N n N 1 2 1 2 2 2 0 1 0 1 1 1 2 2 1 1 1 2 2 2 2 2 1 1 0 1 0 1 0 , , , , = ≤ ≤ − ≤ ≤ −        − − = − = − ∑∑ π π en otro c ( ) ( ) ( ) ( ) x n n N N X k k e e n N n N aso j N k n j N k n k N k N 1 2 1 2 1 2 2 2 0 1 0 1 1 1 2 2 1 0 1 0 1 0 1 1 1 2 2 2 2 1 1 1 , , , , = ≤ ≤ − ≤ ≤ −        = − = − ∑∑ π π en otro c
  • 38.
    38 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT (Fast Fourier Transform)FFT (Fast Fourier Transform) Ì FFT-2D x Al igual que en el caso de señales unidimensionales, disponemos de un eficiente algoritmo para realizar el DFT. x Descomposición Fila-Columna 3 Reescribimos la ecuación anterior 3 Si consideramos n2 fijo (pe, n2 =0), f(k1,n2) es el DFT unidimensional de x(n1,n2)|n2=0 con respecto a la variable n1. De esta forma obtenemos una matriz f(k1,n2) para todos los posibles valores de n2 (Figura). 3 Ahora podemos calcular X(k1,k2) a partir de f(k1,n2), ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) X k k x n n e e f k n e k n x n n e j N k n j N k n n N n N n N j N k n j N k n n N 1 2 1 2 2 2 0 1 0 1 1 2 0 1 2 1 2 1 2 2 0 1 1 1 1 2 2 2 2 2 1 1 1 1 2 2 2 1 1 1 2 2 , , , , , , = = − − = − = − = − − − = − ∑∑ ∑ ∑ π π π π donde f = ( ) ( ) ( )X k k f k n e j N k n n N 1 2 1 2 2 0 1 2 2 2 2 2 , ,= − = − ∑ π
  • 39.
    39 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT (Fast Fourier Transform)FFT (Fast Fourier Transform) 3 Fijamos k1 (pe, k1=0), por lo que f(k1,n2)|k1=0 es una columna de f(k1,n2) y X(0,k2) es la DFT unidimensional de f(k1,n2)|k1=0 con respecto a la variable n2. Obtendremos X(k1,k2) haciendo N1 DFT 1D para cada valor de k1 (Figura). n2 n1 N1-1 N2-1 n2 k1 N1-1 N2-1 FFT 1D N1 puntos x(n1,n2) f(k1,n2)
  • 40.
    40 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT (Fast Fourier Transform)FFT (Fast Fourier Transform) n2 k1 N1 -1 N2 -1 k2 k1 N1 -1 N2 -1 FFT 1D N2 puntos X(k1 ,k2 )f(k1 ,n2 ) Número de Multiplicaciones Número de Sumas Calculo Directo N N1 2 2 2 N N1 2 2 2 Descomposición Fila-Columna con FFT 1D ( )N N N N1 2 2 1 2 2 log ( )N N N N1 2 2 1 2log
  • 41.
    41 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT con MATLABFFT con MATLAB X = fft(x) Hace la FFT del vector x. “X” es un vector de números complejos ordenados desde k=0...N-1. Se recomienda que la longitud del vector x sea una potencia de 2. Lo que no se recomienda es que la longitud de x sea un número primo. Otra opción del la FFT es especificar el número de puntos con el que se quiere hacer la FFT. X = fft(x,N) Si la longitud de x es menor que N, el vector se rellena con ceros. Si es mayor, el vector es truncado. x = ifft(X) Hace la FFT inversa del vector X. También se puede especificar el número de puntos N con el que quiero hacer la IFFT. x = ifft(X,N) X = fftshift(X) Reordena el vector X en orden creciente de frecuencia. Si “X” es el vector resultante de hacer una FFT, utilizando esta función reordenamos los puntos en función de la frecuencia. Ì A continuación tienen unos ejemplos del uso de las FFT. Los programas de MATLAB utilizados los pueden conseguir en el Web de la asignatura.
  • 42.
    42 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT con MATLAB: fftej1.mFFT con MATLAB: fftej1.m →→ x(t)=sin(2·x(t)=sin(2·ππ·20·t)+chirp(5-40)·20·t)+chirp(5-40) N=128 D=1 sN=128 D=1 s 0 0.2 0.4 0.6 0.8 1 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 Tiempo (s) x(t) x(t) -80 -60 -40 -20 0 20 40 60 800 0.1 0.2 0.3 0.4 0.5 0.6 Frecuencia (Hz) |X[k]| Módulo de Coeficientes Espectrales |X[k]|
  • 43.
    43 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT con MATLAB: fftej1.mFFT con MATLAB: fftej1.m →→ x(t)=sin(2·x(t)=sin(2·ππ·20·t)+chirp(5-40)·20·t)+chirp(5-40) N=128 D=1 sN=128 D=1 s -80 -60 -40 -20 0 20 40 60 80-1000 -500 0 500 1000 1500 2000 Frecuencia (Hz) Fase(º) Fase de Coeficientes Espectrales X[k] Comparación entre x(t) y su reconstrucción a partir de X[k] 0 0.2 0.4 0.6 0.8 1-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 Tiempo (t) x(t)
  • 44.
    44 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT con MATLAB: fftej1.mFFT con MATLAB: fftej1.m →→ x(t)=sin(2·x(t)=sin(2·ππ·20·t)+chirp(5-40)·20·t)+chirp(5-40) N=128 D=1 sN=128 D=1 s 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 -1.5 -1 -0.5 0 0.5 1 1.5 2 Tiempo (t) x(t) Comparación entre x(t) y su reconstrucción a partir de X[k]
  • 45.
    45 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT con MATLAB: fftej1.mFFT con MATLAB: fftej1.m →→ x(t)=sin(2·x(t)=sin(2·ππ·20·t)+chirp(5-40)·20·t)+chirp(5-40) N=32 D=1 sN=32 D=1 s 0 0.2 0.4 0.6 0.8 1-2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 Tiempo (t) x(t) Comparación entre x(t) y su reconstrucción a partir de X[k] Frecuencia (Hz) -20 -15 -10 -5 0 5 10 15 0 0.1 0.2 0.3 0.4 0.5 0.6 |X[k]| Módulo de Coeficientes Espectrales |X[k]| Aliasing 32-20=12 Hz
  • 46.
    46 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT con MATLAB: fftej2.mFFT con MATLAB: fftej2.m →→ x(t)=x(t)=expexp(-2·t)+0.2·chirp(60-100)(-2·t)+0.2·chirp(60-100) N=256 D=1 sN=256 D=1 s 0 0.2 0.4 0.6 0.8 1 -0.2 0 0.2 0.4 0.6 0.8 1 1.2 Tiempo (s) x(t) x(t)=exp(-2t)+0.2·chirp(60-100) -150 -100 -50 0 50 100 150 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 Frecuencia (Hz) |X[k]| Módulo de los coeficientes espectrales |X[k]|
  • 47.
    47 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT con MATLAB: fftej2.mFFT con MATLAB: fftej2.m →→ x(t)=x(t)=expexp(-2·t)+0.2·chirp(60-100)(-2·t)+0.2·chirp(60-100) N=256 D=1 sN=256 D=1 s -150 -100 -50 0 50 100 150 -1500 -1000 -500 0 500 1000 1500 Frecuencia (Hz) Fase(X[k])(º) Fase de los coeficientes espectrales X[k] 0 0.2 0.4 0.6 0.8 1-0.2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 Tiempo (t) x(t) Comparación entre x(t) y su reconstrucción a partir de X[k]
  • 48.
    48 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT con MATLAB: fftej2.mFFT con MATLAB: fftej2.m →→ x(t)=x(t)=expexp(-2·t)+0.2·chirp(60-100)(-2·t)+0.2·chirp(60-100) N=256 D=1 sN=256 D=1 s 0.96 0.97 0.98 0.99 1 0 0.2 0.4 0.6 0.8 1 Tiempo (t) x(t) Comparación entre x(t) y su reconstrucción a partir de X[k]
  • 49.
    49 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT con MATLAB: fftej2.mFFT con MATLAB: fftej2.m →→ x(t)=x(t)=expexp(-2·t)+0.2·chirp(60-100)(-2·t)+0.2·chirp(60-100) N=64 D=0.1 sN=64 D=0.1 s -400 -300 -200 -100 0 100 200 300 400 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 Frecuencia (Hz) |X[k]| Módulo de los coeficientes espectrales |X[k]| 0 0.02 0.04 0.06 0.08 0.1 0.6 0.7 0.8 0.9 1 1.1 1.2 Comparación entre x(t) y su reconstrucción a partir de X[k] Tiempo (t) x(t)
  • 50.
    50 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT con MATLAB: fftej3.mFFT con MATLAB: fftej3.m →→ x(t)=x(t)=expexp(-2·t)·sin(2·(-2·t)·sin(2·ππ·200·t)·200·t) N=128 D=0.2 sN=128 D=0.2 s 0 0.05 0.1 0.15 0.2 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Tiempo (t) x(t) x(t)=exp(-2t)·sin(2·p·200·t) -400 -300 -200 -100 0 100 200 300 400 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 Frecuencia (Hz) |X[k]| Módulo de los coeficientes espectrales de x(t)
  • 51.
    51 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT con MATLAB: fftej3.mFFT con MATLAB: fftej3.m →→ x(t)=x(t)=expexp(-2·t)·sin(2·(-2·t)·sin(2·ππ·200·t)·200·t) N=128 D=0.2 sN=128 D=0.2 s -400 -300 -200 -100 0 100 200 300 400 -200 -150 -100 -50 0 50 100 150 200 Frecuencia (Hz) FaseX[k] Fase de los coeficientes espectrales X[k]
  • 52.
    52 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT con MATLAB: fftej4.mFFT con MATLAB: fftej4.m →→ x(t)=sin(2·x(t)=sin(2·ππ·200·t+5·sin(2··200·t+5·sin(2·ππ·2·t))·2·t)) N=256 D=0.5 sN=256 D=0.5 s 0 0.1 0.2 0.3 0.4 0.5 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Tiempo (t) x(t) x(t)=sin(2·pi·200·t+5·sin(2·pi·2·t) Frecuencia (Hz) -300 -200 -100 0 100 200 300 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 |X[k]| Módulo de los coeficientes espectrales de x(t)
  • 53.
    53 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT con MATLAB: fftej4.mFFT con MATLAB: fftej4.m →→ x(t)=sin(2·x(t)=sin(2·ππ·200·t+5·sin(2··200·t+5·sin(2·ππ·2·t))·2·t)) N=256 D=0.5 sN=256 D=0.5 s -300 -200 -100 0 100 200 300 -1000 0 1000 2000 3000 4000 5000 6000 7000 Frecuencia (Hz) FaseX[k] Fase de los coeficientes espectrales X[k]
  • 54.
    54 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT con MATLAB: fftej4.mFFT con MATLAB: fftej4.m →→ x(t)=sin(2·x(t)=sin(2·ππ·200·t+5·sin(2··200·t+5·sin(2·ππ·2·t))·2·t)) N=128 D=0.2 sN=128 D=0.2 s 0 0.05 0.1 0.15 0.2 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Tiempo (t) x(t) x(t)=sin(2·pi·200·t+5·sin(2·pi·2·t) -400 -300 -200 -100 0 100 200 300 400 0 0.01 0.02 0.03 0.04 0.05 0.06 Frecuencia (Hz) |X[k]| Módulo de los coeficientes espectrales de x(t)
  • 55.
    55 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT con MATLAB: fftej4.mFFT con MATLAB: fftej4.m →→ x(t)=sin(2·x(t)=sin(2·ππ·200·t+5·sin(2··200·t+5·sin(2·ππ·2·t))·2·t)) N=128 D=0.2 sN=128 D=0.2 s -400 -300 -200 -100 0 100 200 300 400 0 100 200 300 400 500 600 700 Frecuencia (Hz) FaseX[k] Fase de los coeficientes espectrales X[k]
  • 56.
    56 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT con MATLAB: fftej5.mFFT con MATLAB: fftej5.m →→ x(t)=sin(2·x(t)=sin(2·ππ·200·t-5··200·t-5·expexp(-2·t))(-2·t)) N=256 D=0.5 sN=256 D=0.5 s 0 0.1 0.2 0.3 0.4 0.5 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Tiempo (t) x(t) x(t)=sin(2·pi·200·t-5·exp(-2t)) -300 -200 -100 0 100 200 300 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 Frecuencia (Hz) |X[k]| Módulo de los coeficientes espectrales de x(t)
  • 57.
    57 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT con MATLAB: fftej5.mFFT con MATLAB: fftej5.m →→ x(t)=sin(2·x(t)=sin(2·ππ·200·t-5··200·t-5·expexp(-2·t))(-2·t)) N=256 D=0.5 sN=256 D=0.5 s -300 -200 -100 0 100 200 300 -150 -100 -50 0 50 100 150 Frecuencia (Hz) FaseX[k] Fase de los coeficientes espectrales X[k] 160 170 180 190 200 210 220 230 240 0 10 20 30 40 50 60 70 80 Comparación entre el espectro de señales moduladas en amplitud (x) y moduladas en frecuencia (o)
  • 58.
    58 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT con MATLAB: fftej7.mFFT con MATLAB: fftej7.m →→ x(t)=x(t)=expexp(-2·t)·sin(2·(-2·t)·sin(2·ππ·3·t)·3·t) N=16 D=1 sN=16 D=1 s 0 0.2 0.4 0.6 0.8 1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Tiempo (s) x(t) Puntos de muestreo (--) y Reconstrucción a partir de X[k] (o) -8 -6 -4 -2 0 2 4 6 8 0 0.05 0.1 0.15 0.2 0.25 Frecuencia (Hz) |X[k]| Módulo de los coeficientes espectrales de x(t)
  • 59.
    59 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT con MATLAB: fftej7.mFFT con MATLAB: fftej7.m →→ x(t)=x(t)=expexp(-2·t)·sin(2·(-2·t)·sin(2·ππ·3·t)·3·t) N=16 D=1 sN=16 D=1 s -8 -6 -4 -2 0 2 4 6 8-200 -150 -100 -50 0 50 100 150 200 Frecuencia (Hz) FaseX[k] Fase de los coeficientes espectrales X[k] 0 0.5 1 1.5 2-0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Tiempo (t) x(t) Comparación entre x(t) y su reconstrucción a partir de X[k]
  • 60.
    60 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT con MATLAB: fftej7.mFFT con MATLAB: fftej7.m →→ x(t)= (1+tx(t)= (1+t22/2)·sin(2·/2)·sin(2·ππ·5·t)+ 0.2·chirp(20-60)·5·t)+ 0.2·chirp(20-60) N=128 D=1 sN=128 D=1 s -80 -60 -40 -20 0 20 40 60 800 0.1 0.2 0.3 0.4 0.5 0.6 Frecuencia (Hz) |X[k]| Módulo de los coeficientes espectrales de x(t) |X[k]| -80 -60 -40 -20 0 20 40 60 80 -1500 -1000 -500 0 500 1000 1500 2000 Frecuencia (Hz) FaseX[k] Fase de los coeficientes espectrales X[k]
  • 61.
    61 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT con MATLAB: fftej8.mFFT con MATLAB: fftej8.m →→ x(t)= (1+tx(t)= (1+t22/2)·sin(2·/2)·sin(2·ππ·5·t)+ 0.2·chirp(20-60)·5·t)+ 0.2·chirp(20-60) N=128 D=1 sN=128 D=1 s 0 0.5 1 1.5 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 Tiempo (t) x(t) Comparación entre x(t) y su reconstrucción a partir de X[k]
  • 62.
    62 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT con MATLAB: goodbye.mFFT con MATLAB: goodbye.m N=4096 Fs=22050 HzN=4096 Fs=22050 Hz NhNh=1000=1000 -1.5 -1 -0.5 0 0.5 1 1.5 x 10 4 0 1 2 3 4 5 6 7 8 9 x 10 -4 Espectro de goodbye.au |X[k]| Frecuencia (Hz) 0 0.05 0.1 0.15 0.2-0.25 -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 0.2 0.25 goodbye.au Tiempo (s)
  • 63.
    63 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT con MATLAB: goodbye.mFFT con MATLAB: goodbye.m N=4096 Fs=22050 HzN=4096 Fs=22050 Hz NhNh=1000=1000 -1.5 -1 -0.5 0 0.5 1 1.5 x 10 4 0 1 2 3 4 5 6 7 8 9 x 10 -4 Espectro de goodbye.au filtrado |X[k]
  • 64.
    64 5º Curso-Tratamiento Digitalde Señal Capítulo 6: Transformada Discreta de Fourier (DFT)17/11/99 FFT con MATLAB: good_FFT con MATLAB: good_wndwnd.m.m NiNi=1245=1245 NwNw=128=128 NhNh=10 Fs=22050 Hz=10 Fs=22050 Hz 0.056 0.057 0.058 0.059 0.06 0.061 0.062 0.063-0.04 -0.03 -0.02 -0.01 0 0.01 0.02 0.03 Tiempo (s) Amplitudy(t) Señal (--) y Recontrucción con 10 armónicos (--) -1.5 -1 -0.5 0 0.5 1 1.5 x 10 4 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 Frecuencia (Hz) |Y[k]| Espectro de la señal (--) y filtrado (--)