Está en la página 1de 64

5 Curso-Tratamiento Digital de Seal

Transformada Discreta de Fourier (DFT)


Transformada Discreta de Fourier FFT (Fast Fourier Transform)

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

5 Curso-Tratamiento Digital de Seal

Transformada Discreta de Fourier


Antes de definir la DFT, analizaremos primero la Transformada de Fourier en tiempo discreto (DTFT). La DTFT describe el espectro de seales discretas. Deduciremos la DFT a partir de la convolucin discreta explicada en el Captulo 2. All se defini la convolucin discreta como
y[n] = x[n] h[n] =
x

Si tenemos una seal de entrada armnica x[n]=exp(j2nfts), la respuesta y[n] es y[n] = exp[ j 2 (n k ) ft s ] h[k ]
k =

k =

x [k ]h [n k ]
s s

= exp( j 2nft s ) exp( j 2kft s ) h[k ] = x[n] H ( f )


k =
x

H(f) es la DTFT de la seal discreta h[n]. Ntese que la funcin H(f) es peridica, debido a que h[n] es una funcin discreta.
Captulo 6: Transformada Discreta de Fourier (DFT) 2

17/11/99

5 Curso-Tratamiento Digital de Seal

Transformada Discreta de Fourier

Se define la DTFT de una seal discreta x[n] como


X( f ) =
k =

x[k ]exp( j 2kfts )

Dualidad entre las series de Fourier y la DTFT


x

Tenemos una seal peridica continua xp(t). Mediante las series de Fourier transformamos esa seal peridica continua en una funcin XS[k]). aperidica y discreta (los coeficientes espectrales 1 X S [k ] = x p (t ) exp( j 2kf0 t )dt x p (t ) = X S [k ]exp( j 2kf0 t ) T
T

De una manera dual, podemos intercambiar tiempo y frecuencia de forma 1


xS [k] = SF

k =

SF

X P ( f )exp( j2kfts )df

XP ( f ) =

k =

x [n]exp( j2kft )
S s

donde SF=1/ts . Ahora tenemos una seal aperidica discreta xs[k] y la transformamos en una seal peridica continua (Xp(f)) mediante la DTFT.

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

5 Curso-Tratamiento Digital de Seal

Transformada Discreta de 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 seal x(t), temporal, continua y peridica (periodo T) y obtengo los coeficientes X[k], que es una funcin de la frecuencia, aperidica y discreta con una distancia entre dos valores consecutivos de f0=1/T. En la DTFT parto de una seal discreta en el tiempo x[n], con periodo de muestreo ts=1/fs y aperidica y obtengo una funcin X(f), que es funcin continua de la frecuencia y peridica con periodo fs.

Todas las propiedades que se vieron para las series de Fourier tienen su correspondientes equivalencias en la DTFT. Ejemplo : DTFT de la secuencia x[n]=[n] : X ( f ) = [k ] exp( j 2kft s ) = 1 k = Si tenemos una secuencia x[n]={1,0,3,-2}, a partir de la anterior ecuacin y aplicando la propiedad del desplazamiento,
X ( f ) = 1 + 3 exp( j 4ft s ) 2 exp( j 6ft s )
Captulo 6: Transformada Discreta de Fourier (DFT) 4

17/11/99

5 Curso-Tratamiento Digital de Seal

Transformada Discreta de Fourier

Sin embargo, a la hora de realizar operaciones tenemos los mismos problemas que en las series de Fourier ya que seguimos tratanto con seales continuas o con series de datos de longitud infinita. La electrnica nos obliga a trabajar con un nmero finito de datos discretos que adems tienen una precisin finita. De lo que se trata es de conseguir discretizar las variables continuas y de limitar el nmeros 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).

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

5 Curso-Tratamiento Digital de Seal

Transformada Discreta de Fourier

De las Series de Fourier a las Series Discretas de Fourier


x

Para las Series de Fourier se cumple (f0=1/T) 1 xP (t ) = X S [k ]exp( j 2kf0t ) X S [k ] = xP (t ) exp( j2kf0t ) dt T T k = Para limitar xp(t), tomamos N muestras de xp(t) durante un periodo a intervalos ts, de forma que Nts=T. Al calcular los coeficientes X[k] me queda, 1 N 1
X [k ] = Nt s

x [n] exp( j 2kf nt ) t


n =0 P 0 s P

1 = N
x

x [n] exp( j 2kn / N )


n =0

N 1

k = 0,1,2  , N 1

La cantidad X[k] es la serie de Fourier Discreta de la seal peridica muestreada xP[n].

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

5 Curso-Tratamiento Digital de Seal

Transformada Discreta de Fourier

De la DTFT a la DFT
x

x x

Tenemos una seal x[n] limitado a N muestras con un periodo de N 1 muestreo ts. x[ n ] exp( j 2nft s ) La DTFT se define como X P ( f ) = n=0 XP(f) es peridica con periodo 1/ts. Muestreamos esta seal N veces sobre un periodo, por tanto XT[k] ser sustituir f por k/(Nts) :
X T [ k ] = x[n] exp j 2nkt s / ( Nt s )
n=0 N 1

= x[n] exp[ j 2nk / N ]


n=0

N 1

k = 0,1,2, , N 1

Esta ltima expresin resultante es la Transformada Discreta de Fourier de una seal x[n]. Excepto por el trmino 1/N es idntica a la Serie Discreta de Fourier.

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

5 Curso-Tratamiento Digital de Seal

Transformada Discreta de Fourier

Transformada Discreta inversa (IDFT),


1 N 1 x[n] = X T [k ]exp( j 2nk / N ) N k =0 n = 0,1,2,, N 1

Convolucin Circular o Cclica


x

La convolucin normal entre dos seales peridicas es cero o infinito. Para este tipo de seales se define la convolucin circular de dos secuencias xp[n] y hp[n] con periodo N : 1 N 1 y p [n] = x p [n] h p [n] = x p [k ]h p [n k ] N k =0 La convolucin circular requiere que las dos secuencias sean del mismo tamao. Si no fuera as habra que llenar de ceros la secuencia ms corta.

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

5 Curso-Tratamiento Digital de Seal

Transformada Discreta de Fourier

Propiedades de la DFT
Simetria Conjugada Linealidad Desplazamiento Modulacion Producto Simetria Conjugado Correlacion Ecuacion de Parseval
X T [ k ] = X T [k ] = X T [ N k ]

x[n] + y[n] X T [k ] + YT [k ]
km x[n m ] X T [k ] exp( j 2km / N ) = X T [k ] WN nm WN x[n] X T [k m]

1 X T [k ] YT [k ] N x [ n ] X T [ k ] = X T [k ] x[n]y[n]
x [n] X T [ k ]

Convolucion Circular x[n] y[n] X T [k ]YT [k ] x[n] y [ n] X T [k ]YT [k ]

x[n] =
2

1 2 X k [ ] T N

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

5 Curso-Tratamiento Digital de Seal

Transformada Discreta de Fourier

Ejemplos
x

x[n]={1,2,1,0}
k=0 k=2 k=3 k = 1 X T [1] = x[n]exp( j 2 / 4) = 1 + 2 exp( j / 2 ) + exp( j ) = j 2 XT [3] = x[n]exp( j 2 3 / 4) = 1 + 2 exp( j 3 / 2) + exp( j 3 ) = j 2 X T [2] = x[n]exp( j 2 2 / 4) = 1 + 2 exp( j ) + exp( j 2 ) = 0 XT [0] = x[n] = 1 + 2 + 1 + 0 = 4

por tanto la DFT de x[n] es XT[k]={4,-j2,0,j2} para k=0,1,2,3

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

10

5 Curso-Tratamiento Digital de Seal

Transformada Discreta de 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 seal peridica discreta cuyos muestreos coinciden con la secuencia xs[n]. Como el espectro de una seal aperidica discreta cuyos muestreos corresponden a la secuencia xs[n].

EL DFT es una aproximacin al espectro de la seal analgica original. Su magnitud se ve influenciada por el intervalo de muestreo, mientras que su fase depende de los instantes de muestreo.

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

11

5 Curso-Tratamiento Digital de Seal

Transformada Discreta de Fourier

Como hacer la DFT a partir de una seal x(t), muestreada durante D segundos, con periodo de muestreo ts :
x

x x x

Elegir el intervalo de muestreo ts de forma que se cumpla el Teorema del muestreo. Crear la expensin periodica (xp(t)) de x(t) con periodo D. Tomar N muestras de xp(t) empezando en t=0. Si hay discontinuidades, los valores de muestreo los tomaremos en el punto medio de la seal.
x(t)
x p (t)

-3

-2

-1

-3

-2

-1

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

12

5 Curso-Tratamiento Digital de Seal

Transformada Discreta de Fourier

DFT de seales peridicas


x

Siendo x(t)=sin(2ft), con f=1KHz, D=1ms y N=8 tenemos la siguiente secuencia de muestreos : x[n]={0,0.7071,1,0.7071,0,-0.7071,-1,-0.7071}
Sinusoide 1KHz, D=1ms, N=8 1 0.5 Amplitud 0 -0.5 -1 0

0.2

0.4 0.6 Tiempo (s)

0.8

x 10

-3 1

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}

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

13

5 Curso-Tratamiento Digital de Seal

Transformada Discreta de Fourier


DFT 5 Magnitud DFT 4 Magnitud DFT 3 2 1 00 2 4 Indice k 6 8 DFT 5 4 3 2 1 0 -4000 -2000 0 Frecuencia (Hz) 2000

x(t)=sin(2ft), 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}

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

14

5 Curso-Tratamiento Digital de Seal

Transformada Discreta de Fourier


Sinusoide 1KHz, D=1ms, N=8 8 1 0.8 0.6 0.4 0.2 Amplitud 0 -0.2 -0.4 -0.6 -0.8 -1 0 1 2 3 Tiempo (s) 4 x 10 5
-4

DFT

0.7 0.6 0.5 0.4

7 6 Magnitud DFT 5 4

0.3 3 2 1 0 0 1 2 3 4 Indice k 5 6 7 8 0.2 0.1 0 -8000

-6000

-4000

-2000

2000

4000

6000

En este nuevo ejemplo, la frecuencia de muestreo es 16KHz. Los X[k] son reales, por lo que la funcin tiene simetra par. Para la onda dada, los coeficientes exactos de Fourier son :
3 3

XS[0]=1/ XS[k]=2/(1-4k2) Comparando XS[0]X[0] XS[1]X[1] dentro del 5% de precisin Para los trminos con k=2,3..., X[k] se desva bastante del trmino exacto debido a que la seal no tiene un espectro limitado, producindose aliasing.
Captulo 6: Transformada Discreta de Fourier (DFT) 15

17/11/99

5 Curso-Tratamiento Digital de Seal

Transformada Discreta de Fourier


x

x(t)=sin(2ft), con f=1KHz, D=1.5ms y N=24.


Sinusoide 1KHz, D=1ms, N=8 1 0.8 0.6 0.4 0.2 Amplitud 0 -0.2 -0.4 -0.6 -0.8 -1 0 0.5 Tiempo (s) 1 1.5 x 10
-3

DFT

20

Magnitud DFT

15

10

10 Indice k

15

20

DFT 20 Magnitud DFT 15 10 5 0 -5000 0 Frecuencia (Hz) 5000

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

16

5 Curso-Tratamiento Digital de Seal

Transformada Discreta de Fourier


3

En este ejemplo se ha producido el denominado leakage, que consiste en que las componentes originales de la seal se derraman hacia las nuevas componentes de la seal. Para evitarlo, se debe muestrear un nmero entero de periodos, o bien utilizar alguna de las ventanas espectrales (ventana de Hamming, etc).

Podra ocurrir que no conocieramos el periodo de la seal de la cual queremos calcular el DFT. En ese caso se muestrea una seal de duracin lo ms larga posible. De esta forma, se reduce el leakage y el espacio entre frecuencias obtenindose una buena estimacin del Sinusoide 1KHz espectro original.
1 0.5 Amplitud 0 -0.5 -1 0

0.001

0.002

0.003

0.004

0.005 0.006 Tiempo (s)

0.007

0.008

0.009

0.01

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

17

5 Curso-Tratamiento Digital de Seal

Transformada Discreta de Fourier


DFT 80 Magnitud DFT 60 40 20 0 -4000 -3000 -2000 -1000 0 1000 Frecuencia (Hz)

2000

3000

DFT de seales aperidicas


x

La seal aperidica x(t) debe ser muestreada durante un tiempo D. El DFT produce los coeficientes espectrales correspondientes a la extensin peridica de x(t) con periodo D. El espacio entre frecuencias es f0=1/D. A f0 se le denomina resolucin frecuencial. Esta depende slo de la duracin. Si la seal est limitada en el tiempo, la forma de aumentar la duracin es aadir ceros.
Captulo 6: Transformada Discreta de Fourier (DFT) 18

17/11/99

5 Curso-Tratamiento Digital de Seal

Transformada Discreta de Fourier


Seal x(t)=exp(-t) 1.5 5 4.5 4 1 Magnitud Magnitud 3.5 3 2.5 2 1.5 1 0.5 0 0 0.5 1 Tiempo (s) 1.5 2 0 -4 -3 -2 -1 0 1 Frecuencia (Hz) 2 3 4 Seal x(t)=exp(-t)

0.5

Seal x(t)=exp(-t) 1.5 2.5

Seal x(t)=exp(-t)

2 1 1.5 Magnitud Magnitud

0.5 0.5

0.5

1.5

2 Tiempo (s)

2.5

3.5

0 -2

-1.5

-1

-0.5 0 0.5 Frecuencia (Hz)

1.5

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

19

5 Curso-Tratamiento Digital de Seal

Transformada Discreta de Fourier

Tal y como se observa en las figuras de la pginas anteriores hay varias formas de dibujar la grfica 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 simtrico respecto a N/2. Otra forma es reordenando los datos en funcin de la frecuencia. De la definicin de DFT sabemos que cada intervalo de la DFT es 1/(Nts). La DFT nos da la Transformada de Fourier para las frecuencias -(N/2)/(Nts),...,-1/(Nts),0, 1/(Nts), 2/(Nts)...(N/2-1)/(Nts) f
k (N/2) ,..., N-1 ,0, 1 , 2 ... (N/2-1)

La mxima frecuencia detectable por la DFT es lgicamente fs/2, de acuerdo con el Teorema del Muestreo.
Captulo 6: Transformada Discreta de Fourier (DFT) 20

17/11/99

5 Curso-Tratamiento Digital de Seal

Transformada Discreta de Fourier

En general, el DFT es una aproximacin a las series o a la transformada de Fourier. Es muy importante elegir correctamente los parmetros del DFT (frecuencia de muestreo fs=1/ts, resolucin de frecuencia f0=1/D). La frecuencia de muestreo se determina a partir del teorema de muestreo. Si queremos detectar el espectro de una seal hasta una mxima frecuencia B , la frecuencia de muestreo deber ser 2B. La duracin del muestreo se elige para una determinada resolucin de frecuencia. Una regla de diseo muy til es: Si queremos los M primeros armnicos de una seal con un error mximo del 5%, el nmero de muestreos N=8M.
Captulo 6: Transformada Discreta de Fourier (DFT) 21

17/11/99

5 Curso-Tratamiento Digital de Seal

Transformada Discreta de Fourier

Ejemplo: Queremos determinar mediante un algoritmo digital el espectro de la seal x(t)=exp(-t). La mxima frecuencia de la que pide su coeficiente es fB=1Hz. Adems el armnico correspondiente a f=0.3Hz debe tener un error menor que el 5%. Calcular fs,D y N.
x x

De acuerdo con el Teorema del Muestreo fs=2fB=2Hz. Escogemos una resolucin frecuencial de f0=0.1Hz, de forma que D=1/0.1=10s. 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. Si el objetivo es hacer que N sea lo menor posible (para facilitar los clculos del DFT), se puede elegir f0=0.3Hz, D=1/0.3=3.33s, k=1 y N=1 8=8.

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

22

5 Curso-Tratamiento Digital de Seal

Transformada Discreta de Fourier


Seal x(t)=exp(-t) 1.5 1.2 Seal x(t)=exp(-t) 1 1 Magnitud Magnitud 0.5 0 0.8

0.6

0.4

0.2

6 Tiempo (s)

10

0 -1.5

-1

-0.5

0 Frecuencia (Hz)

0.5

1.5

Seal x(t)=exp(-t) 1.5 1 0.9 0.8 1 Magnitud Magnitud 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.5 1 1.5 2 Tiempo (s) 2.5 3 0 -1.5 -1

Seal x(t)=exp(-t)

0.5

-0.5 0 Frecuencia (Hz)

0.5

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

23

5 Curso-Tratamiento Digital de Seal

Transformada Discreta de Fourier

Ventanas espectrales: Si tenemos seales truncadas, el espectro de la seal muestra unos picos que no decaen lo suficientemente rpido con la frecuencia. Para ello podemos utilizar ventanas en el dominio temporal para suavizar esas discontinuidades. Los picos sern menores aunque el ancho de banda de cada lbulo aumentar.

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

24

5 Curso-Tratamiento Digital de Seal

Resumen de Series y Transformadas de Fourier

Series de Fourier
x

Seal Continua Peridica (periodo T), Espectro Discreto Aperidico (intervalo de discretizacin 1/T) Seal Continua Aperidica, Espectro Continuo Aperidico. Seal Discreta Aperidica (intervalo de discretizacin ts), Espectro Continuo Peridico (periodo 1/ ts) Seal Discreta Peridica (intervalo de discretizacin ts, periodo T), Espectro Discreto (intervalo de discretizacin 1/T)

Transformada de Fourier
x

Transformada de Fourier Discreta en el Tiempo


x

Transformada Discreta de Fourier


x

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

25

5 Curso-Tratamiento Digital de Seal

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 rpida. El DFT de una secuencia x[n] es : N 1
X[ k ] =

x[n]WNnk
n=0

k = 0,1, , N 1

donde

WN = e j 2 / N

Una primera aproximacin al clculo del DFT requerira 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 clculo del DFT introduciendo atajos matemticos para reducir drasticamente el nmero de operaciones.
17/11/99 Captulo 6: Transformada Discreta de Fourier (DFT) 26

5 Curso-Tratamiento Digital de Seal

FFT (Fast Fourier Transform)

La optimizacin del proceso de clculo del DFT est basado en las siguientes ideas :
x

Simetra y Periodicidad de los trminos WN.


n+ N n WN = WN n+ N / 2 n WN = WN

WNNk = 1
2 WN = WN / 2

Elegimos el valor de N de forma que N=rm. Al factor r se le denomina radix y su valor ms habitual es 2, de forma que N=2m y algoritmo se denomina FFT radix-2. 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.

Radix-2 FFT-Decimacin en el Tiempo.


x

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

27

5 Curso-Tratamiento Digital de Seal

FFT (Fast Fourier Transform)


X[k ] =
N / 2 1 n=0

x[2n]W

2 nk N

N / 2 1 n=0

x[2n + 1]W

( 2 n +1) k N

N / 2 1 n=0

x[2n]W

2 nk N

+W

N / 2 1 n=0

k N

x[2n + 1]WN2 nk

Sustituimos

x1 [n] = x[2 n] x 2 [n] = x[2 n + 1]


nk 2 nk WN = WN /2

X[k ] =
x

N / 2 1 n=0

x1 [n]W

nk N /2

+W

N / 2 1 n=0

k N

x 2 [n]WNnk/ 2 = Y[k ] + WNk Z[k ]

k = 0,1,2,, N 1

Esta ltima ecuacin 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 trmino Z[k] es multiplicado por un factor WNk, llamado twiddle factor. Ya que WNk+N/2=-WNk y debido a la periodicidad de Y[k] y Z[k] (periodo N/2) podemos poner X[k] como
k [ k ] Z[ k ] X [ k ] = Y [ k ] + WN k [ k ] Z[ k ] X [ k + N / 2] = Y [ k ] WN

Para
17/11/99

k = 0,1, , N / 2 1
Captulo 6: Transformada Discreta de Fourier (DFT) 28

5 Curso-Tratamiento Digital de Seal

FFT (Fast Fourier Transform)


Y[0] x[0]

+ +

X[0]

Y[1] x[2]

X[1]

DFT N/2 Puntos


Y[N/2-1] x[N-2]

X[N/2-1]

W0
Z[0] x[1]

-1 -1

+ +

X[N/2]

W1
Z[1] x[3]

X[N/2+1]

DFT N/2 Puntos


WN / 2 - 1
Z[N/2-1] x[N-1]

-1

X[N-1]

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 2k 2k Y [k ] = U[k ] + WN V [k ] Z[k ] = R[k ] + WN S[k ]
2k Y [k + N / 4] = U[k ] WN V [k ] 2k Z[k + N / 4] = R[k ] WN S[k ]

Para
17/11/99

k = 0,1,, N / 4 1

Para

k = 0,1,, N / 4 1
29

Captulo 6: Transformada Discreta de Fourier (DFT)

5 Curso-Tratamiento Digital de Seal

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 Butterfly
x[0]
0 W

+ x
-1

+ +
0 W

+ + + +

X[0] X[1] X[2] X[3]

x[4] x[2]

+ + x
2 W -1

+ +

0 W

x[6]

-1

-1

0 W

x[1]
0 W

+ x
-1

+ +
0 W

x
1 W

-1

+ + + +

X[4] X[5] X[6] X[7]

x[5] x[3]

+ + x
2 W -1

x
2 W

-1

+ +

x
3 W

-1

0 W

x[7]

-1

-1

-1

Etapa 1

Etapa 2

Etapa 3

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

30

5 Curso-Tratamiento Digital de Seal

FFT (Fast Fourier Transform)


x

Las caractersticas de una FFT de N puntos decimada en el tiempo se sumarizan en la siguiente tabla :

Etapa 1 Nmero de Grupos Butterflies por Grupo Exponentes Twiddle Factors


x

Etapa 2 N/4 2 (N/4)k, k=0,1

Etapa 3 N/8 4

Etapa log2N 1 N/2

N/2 1 (N/2)k, k=0

(N/8)k, k, k=0,1,2,3 k=0,1,...,N/2-1

Por cada butterfly tenemos una multiplicacin y dos sumas complejas. Hay N/2 butterflies por etapa y log2N etapas.
3 3

El nmero total de multiplicaciones es Nlog2N . El nmero total de sumas es Nlog2N .

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

31

5 Curso-Tratamiento Digital de Seal

FFT (Fast Fourier Transform)


x

Para pequeos valores de N, la diferencia puede parecer pequea, pero para valores grandes la diferencia es enorme. Para un DFT de 1024 puntos, el nmero de multiplicaciones en un FFT es aprox. 5000 mientras que para un DFT normal es de aprox. 106. 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 ] = = = =

Radix-2 FFT-Decimacin en Frecuencia


x

x[n]W
n=0 N / 2 1 n=0

N 1

nk N

= +

N / 2 1 n=0

x[n]W
n=0

nk N

n= N / 2

x[n]WNnk

N 1

x[n]W x[n]W
n=0 n=0

N / 2 1

nk N

x[n + N / 2]WN( n+ N / 2 )k
k N / 2 1 n=0

N / 2 1

nk N

+ (1)

x[n + N / 2]WNnk
k = 0,1,2, , N 1
32

N / 2 1

[x[n] + (1)k x[n + N / 2]]WNnk

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

5 Curso-Tratamiento Digital de Seal

FFT (Fast Fourier Transform)


x

La decimacin 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[2 k ] = =
N / 2 1 n=0 2 nk x n x n N W / 2 + + [ ] [ ] [ ] N

N / 2 1 n=0

[ x[n] + x[n + N / 2]]WNnk/ 2


N / 2 1 n=0

k = 0,1, , N / 2 1

X[2 k + 1] = =

[ x[n] x[n + N / 2]]WNn(2 k +1) [[ x[n] x[n + N / 2]]WNn ]WNnk/ 2


n=0

N / 2 1

k = 0,1, , N / 2 1

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.
Captulo 6: Transformada Discreta de Fourier (DFT) 33

17/11/99

5 Curso-Tratamiento Digital de Seal

FFT (Fast Fourier Transform)


x[0] x[1]
+ +

X[0] X[2]

DFT N/2 Puntos


x[N/2-1]
+

X[N-2]
0 W

x[N/2] x[N/2+1]

-1

+
-1

x
1 W

X[1] X[3]

DFT N/2 Puntos


N/2-1 W

x[N-1]

-1

X[N-1]

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

34

5 Curso-Tratamiento Digital de Seal

FFT (Fast Fourier Transform)


Butterfly

x[0] x[1] x[2] x[3]

+ + + + -1 -1

+ + W0 + + x W2 x

X[0]
W0 x

-1

+ +

X[4] X[2]

-1

W0 + x

X[6]

x[4] x[5] x[6] x[7]

-1 -1 -1
-1

+ + + +

W0 x W1 x W2 x W3 x -1 -1

+ + + + W0 x W2 x

X[1]
W0 x

-1

+ +

X[5] X[3]

-1

W0 + x

X[7]

Etapa 1
17/11/99

Etapa 2

Etapa 3
35

Captulo 6: Transformada Discreta de Fourier (DFT)

5 Curso-Tratamiento Digital de Seal

FFT (Fast Fourier Transform)


x

Las caracterstica del FFT decimado en frecuencia son


Etapa 1 Etapa 2 Etapa 3 Etapa log2N N/2 1 (N/2)n, n=0

Nmero de 1 2 4 Grupos Butterflies por N/2 N/4 N/8 Grupo n, 2n, 4n, Exponentes Twiddle Factors n=0,...,N/2-1 n=0,...,N/4-1 k=0,...,N/8-1

Se puede observar que en el caso de decimacin en el tiempo, la secuencia de entrada debe ser reordenada mientras que la salida aparece en el orden correcto. Para la decimacin en frecuencia, la secuencia est en orden mientras que la salida habr que reordenarla. Se da la circunstancia que esa reordenacin es simplemente invertir el ndice en binario. Por ejemplo, en la misma posicin que x[1] aparece X[4], y 001 invertido es 100.
Captulo 6: Transformada Discreta de Fourier (DFT) 36

17/11/99

5 Curso-Tratamiento Digital de Seal

FFT (Fast Fourier Transform)

DFT en 2 dimensiones
x

En aplicaciones como procesamiento de imagen, las seales dependen de dos variables n1 y n2 (el eje x y el eje y en una imagen bidimensional). Por tanto necesitamos extender el concepto de DFT a dos dimensiones. Dada una secuencia x(n1,n2), se define la DFT como

X k1 , k 2

N1 1N 2 1 j (2 x n1 , n2 e = = = n1 0 n2 0 0 , en otro caso

N1 k1 n1

j 2 N 2 k 2 n2

0 n1 N 1 1, 0 n2 N 2 1

La IDFT de X(k1,k2) se define como

x n1 , n2

1 N1 1N1 1 j (2 X k , k e 1 2 N 1 N 2 k1 = 0 k2 = 0 = 0 , en otro caso

N1 k1 n1

j 2 N 2 k2 n2

0 n1 N 1 1, 0 n2 N 2 1

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

37

5 Curso-Tratamiento Digital de Seal

FFT (Fast Fourier Transform)

FFT-2D
x

Al igual que en el caso de seales unidimensionales, disponemos de un eficiente algoritmo para realizar el DFT. Descomposicin Fila-Columna
3

Reescribimos la ecuacin anterior N 1N 1 j ( 2 N ) k n j (2 N )k n X k ,k = x n ,n e e

) (
1 2

n1 = 0 n2 = 0

1 1

2 2

( = f (k1 , n2 )e
n1 = 0

N1 1

j 2 N 2 k 2 n2

, donde f k1 , n2 =

) x (n
n2 = 0

N 2 1

1 , n2 e

j 2 N1 k1 n1

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). Ahora podemos calcular X(k1,k2) a partir de f(k1,n2),
X k1 , k 2 =

) f (k
n2 = 0

N 2 1

, n2 e

j 2 N 2 k2 n2

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

38

5 Curso-Tratamiento Digital de Seal

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 N 2-1

n2 N 2-1

x(n 1,n 2)

f(k 1,n 2)

FFT 1D N 1 puntos

n1 N 1-1 N 1-1

k1

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

39

5 Curso-Tratamiento Digital de Seal

FFT (Fast Fourier Transform)


n2 N 2 -1 f(k 1 ,n 2 ) N 2 -1 k2 X(k 1 ,k 2 )

FFT 1D N 2 puntos

k1 N 1 -1 N 1 -1

k1

Nmero de Multiplicaciones Calculo Directo Descomposicin Fila-Columna con FFT 1D


17/11/99
2 N12 N 2

Nmero de Sumas
2 N12 N 2

N1 N 2 log2 N1 N 2 2

N1 N 2 log2 N1 N 2

Captulo 6: Transformada Discreta de Fourier (DFT)

40

5 Curso-Tratamiento Digital de Seal

FFT con MATLAB


>> X = fft(x) Hace la FFT del vector x. X es un vector de nmeros 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 nmero primo. Otra opcin del la FFT es especificar el nmero 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. Tambin se puede especificar el nmero 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 funcin reordenamos los puntos en funcin de la frecuencia.

A continuacin tienen unos ejemplos del uso de las FFT. Los programas de MATLAB utilizados los pueden conseguir en el Web de la asignatura.
Captulo 6: Transformada Discreta de Fourier (DFT) 41

17/11/99

5 Curso-Tratamiento Digital de Seal

FFT con MATLAB: fftej1.m x(t)=sin(2 20t)+chirp(5-40) N=128 D=1 s


x(t)
2 1.5 1 0.5 x(t) 0 -0.5 -1 -1.5 -2 0 0.2 0.4 0.6 Tiempo (s) 0.8 1

Mdulo de Coeficientes Espectrales |X[k]| 0.6 0.5 0.4 |X[k]| 0.3 0.2 0.1 0 -80 -60 -40 -20 0 20 Frecuencia (Hz) 40 60 80

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

42

5 Curso-Tratamiento Digital de Seal

FFT con MATLAB: fftej1.m x(t)=sin(2 20t)+chirp(5-40)


N=128 D=1 s
Fase de Coeficientes Espectrales X[k] 2000 1500 1000 Fase () 500 0 -500 -1000-80 -60 -40 -20 0 20 Frecuencia (Hz) 40 60 80

Comparacin entre x(t) y su reconstruccin a partir de X[k] 2.5 2 1.5 1 0.5 0 -0.5 -1 -1.5 -2 0

x(t)

0.2

0.4

Tiempo (t)

0.6

0.8

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

43

5 Curso-Tratamiento Digital de Seal

FFT con MATLAB: fftej1.m x(t)=sin(2 20t)+chirp(5-40)


N=128 D=1 s
Comparacin entre x(t) y su reconstruccin a partir de X[k] 2 1.5 1 0.5 x(t) 0 -0.5 -1 -1.5 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99

Tiempo (t)

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

44

5 Curso-Tratamiento Digital de Seal

FFT con MATLAB: fftej1.m x(t)=sin(2 20t)+chirp(5-40)


N=32 D=1 s
Mdulo de Coeficientes Espectrales |X[k]| 0.6 0.5 0.4 |X[k]| 0.3 0.2 0.1 0 -20 -15 -10 -5 0 Frecuencia (Hz) 5 10 15

Aliasing 32-20=12 Hz

Comparacin entre x(t) y su reconstruccin a partir de X[k] 2.5 2 1.5 1 0.5 0 -0.5 -1 -1.5 -2 -2.5 0

x(t)

0.2

0.4 0.6 Tiempo (t)

0.8

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

45

5 Curso-Tratamiento Digital de Seal

FFT con MATLAB: fftej2.m x(t)=exp(-2t)+0.2chirp(60-100)


N=256 D=1 s
1.2 1 0.8 x(t) 0.6 0.4 0.2 0 -0.2 0 0.2 0.4 0.6 Tiempo (s) 0.8 1 x(t)=exp(-2t)+0.2chirp(60-100)

0.45 0.4 0.35 0.3 0.25 0.2 0.15 0.1 0.05 0 -150

Mdulo de los coeficientes espectrales |X[k]|

|X[k]|

-100

-50

0 Frecuencia (Hz)

50

100

150

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

46

5 Curso-Tratamiento Digital de Seal

FFT con MATLAB: fftej2.m x(t)=exp(-2t)+0.2chirp(60-100)


N=256 D=1 s
1500 1000 Fase(X[k]) () 500 0 -500 Fase de los coeficientes espectrales X[k]

-1000 -1500 -150 -100 -50 0 Frecuencia (Hz) 50 100 150

1.4 1.2 1 0.8 x(t) 0.6 0.4 0.2 0 -0.2 0

Comparacin entre x(t) y su reconstruccin a partir de X[k]

0.2

0.4

Tiempo (t)

0.6

0.8

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

47

5 Curso-Tratamiento Digital de Seal

FFT con MATLAB: fftej2.m x(t)=exp(-2t)+0.2chirp(60-100)


N=256 D=1 s

Comparacin entre x(t) y su reconstruccin a partir de X[k] 1 0.8 0.6 x(t) 0.4 0.2 0 0.96 0.97 0.98 Tiempo (t) 0.99 1

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

48

5 Curso-Tratamiento Digital de Seal

FFT con MATLAB: fftej2.m x(t)=exp(-2t)+0.2chirp(60-100)


N=64 D=0.1 s
0.1 0.09 0.08 0.07 0.06 0.05 0.04 0.03 0.02 0.01 0 -400 1.2 1.1 1 x(t) 0.9 0.8 0.7 0.6 0 0.02 0.04 0.06 Tiempo (t) 0.08 0.1 Mdulo de los coeficientes espectrales |X[k]|

|X[k]|

-300

-200

-100 0 100 Frecuencia (Hz)

200

300

400

Comparacin entre x(t) y su reconstruccin a partir de X[k]

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

49

5 Curso-Tratamiento Digital de Seal

FFT con MATLAB: fftej3.m x(t)=exp(-2t)sin(2 200t)


N=128 D=0.2 s
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 x(t)=exp(-2t)sin(2 p200 t)

x(t)

0.05

0.1 Tiempo (t)

0.15

0.2

0.09 0.08 0.07 0.06 0.05 0.04 0.03 0.02 0.01 0 -400

Mdulo de los coeficientes espectrales de x(t)

|X[k]|

-300

-200

-100 0 100 Frecuencia (Hz)

200

300

400

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

50

5 Curso-Tratamiento Digital de Seal

FFT con MATLAB: fftej3.m x(t)=exp(-2t)sin(2 200t)


N=128 D=0.2 s

200 150 100 50 Fase X[k] 0 -50 -100 -150 -200 -400 -300

Fase de los coeficientes espectrales X[k]

-200

-100 0 100 Frecuencia (Hz)

200

300

400

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

51

5 Curso-Tratamiento Digital de Seal

FFT con MATLAB: fftej4.m x(t)=sin(2 200t+5sin(2 2 t))


N=256 D=0.5 s
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 x(t)=sin(2pi200t+5sin(2 pi2 t)

x(t)

0.1

0.2

Tiempo (t)

0.3

0.4

0.5

0.1 0.09 0.08 0.07 0.06 0.05 0.04 0.03 0.02 0.01 0 -300

Mdulo de los coeficientes espectrales de x(t)

|X[k]|

-200

-100

0 Frecuencia (Hz)

100

200

300

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

52

5 Curso-Tratamiento Digital de Seal

FFT con MATLAB: fftej4.m x(t)=sin(2 200t+5sin(2 2 t))


N=256 D=0.5 s

7000 6000 5000 4000 Fase X[k] 3000 2000 1000 0 -1000 -300

Fase de los coeficientes espectrales X[k]

-200

-100

0 Frecuencia (Hz)

100

200

300

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

53

5 Curso-Tratamiento Digital de Seal

FFT con MATLAB: fftej4.m x(t)=sin(2 200t+5sin(2 2 t))


N=128 D=0.2 s
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 x(t)=sin(2pi200t+5sin(2 pi2 t)

x(t)

0.05

0.1 Tiempo (t)

0.15

0.2

Mdulo de los coeficientes espectrales de x(t) 0.06 0.05 0.04 |X[k]| 0.03 0.02 0.01 0 -400 -300 -200 -100 0 100 Frecuencia (Hz) 200 300 400

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

54

5 Curso-Tratamiento Digital de Seal

FFT con MATLAB: fftej4.m x(t)=sin(2 200t+5sin(2 2 t))


N=128 D=0.2 s
Fase de los coeficientes espectrales X[k]

700 600 500 Fase X[k] 400 300 200 100 0 -400 -300

-200

-100 0 100 Frecuencia (Hz)

200

300

400

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

55

5 Curso-Tratamiento Digital de Seal

FFT con MATLAB: fftej5.m x(t)=sin(2 200t-5 exp(-2t))


N=256 D=0.5 s
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 x(t)=sin(2pi200t-5exp(-2t))

x(t)

0.1

0.2

Tiempo (t)

0.3

0.4

0.5

0.18 0.16 0.14 |X[k]| 0.12 0.1 0.08 0.06 0.04 0.02 0 -300

Mdulo de los coeficientes espectrales de x(t)

-200

-100

0 Frecuencia (Hz)

100

200

300

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

56

5 Curso-Tratamiento Digital de Seal

FFT con MATLAB: fftej5.m x(t)=sin(2 200t-5 exp(-2t))


N=256 D=0.5 s
150 100 50 Fase X[k] 0 -50 Fase de los coeficientes espectrales X[k]

-100 -150 -300 -200 -100 0 Frecuencia (Hz) 100 200 300

Comparacin entre el espectro de seales moduladas en amplitud (x) y moduladas en frecuencia (o) 80 70 60 50 40 30 20 10 0 160 170 180 190 200 210 220 230 240

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

57

5 Curso-Tratamiento Digital de Seal

FFT con MATLAB: fftej7.m x(t)=exp(-2t)sin(2 3t)


N=16 D=1 s
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 0 Puntos de muestreo (--) y Reconstruccin a partir de X[k] (o)

x(t)

0.2

0.4 0.6 Tiempo (s)

0.8

0.25 0.2 |X[k]| 0.15 0.1 0.05 0 -8 -6

Mdulo de los coeficientes espectrales de x(t)

-4

-2 0 2 Frecuencia (Hz)

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

58

5 Curso-Tratamiento Digital de Seal

FFT con MATLAB: fftej7.m x(t)=exp(-2t)sin(2 3t)


N=16 D=1 s
200 150 100 Fase X[k] 50 0 -50 Fase de los coeficientes espectrales X[k]

-100 -150 -200-8 -6 -4 -2 0 2 Frecuencia (Hz) 4 6 8

1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 0

Comparacin entre x(t) y su reconstruccin a partir de X[k]

x(t)

0.5

1 Tiempo (t)

1.5

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

59

5 Curso-Tratamiento Digital de Seal

FFT con MATLAB: fftej7.m x(t)= (1+t2/2)sin(2 5t)+ 0.2chirp(20-60)


N=128 D=1 s
0.6 0.5 0.4 |X[k]| 0.3 0.2 0.1 0 -80 -60 -40 -20 0 20 Frecuencia (Hz) 40 60 80 Mdulo de los coeficientes espectrales de x(t) |X[k]|

2000 1500 1000 Fase X[k] 500 0 -500 -1000 -1500 -80 -60

Fase de los coeficientes espectrales X[k]

-40

-20 0 20 Frecuencia (Hz)

40

60

80

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

60

5 Curso-Tratamiento Digital de Seal

FFT con MATLAB: fftej8.m x(t)= (1+t2/2)sin(2 5t)+ 0.2chirp(20-60)


N=128 D=1 s
Comparacin entre x(t) y su reconstruccin a partir de X[k]

2.5 2 1.5 1 0.5 x(t) 0 -0.5 -1 -1.5 -2 -2.5 0

0.5

Tiempo (t)

1.5

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

61

5 Curso-Tratamiento Digital de Seal

FFT con MATLAB: goodbye.m


N=4096 Fs=22050 Hz Nh=1000
0.25 0.2 0.15 0.1 0.05 0 -0.05 -0.1 -0.15 -0.2 -0.25 0
-4

goodbye.au

0.05

Tiempo (s) Espectro de goodbye.au

0.1

0.15

0.2

9 x 10 8 7 6 5 4 3 2 1 0 -1.5

|X[k]|

-1

-0.5

Frecuencia (Hz)

0.5

1.5 4 x 10

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

62

5 Curso-Tratamiento Digital de Seal

FFT con MATLAB: goodbye.m


N=4096 Fs=22050 Hz Nh=1000
9 8 7 6 x 10
-4

Espectro de goodbye.au filtrado

|X[k]

5 4 3 2 1 0 -1.5 -1 -0.5 0 0.5 1 x 10 1.5


4

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

63

5 Curso-Tratamiento Digital de Seal

FFT con MATLAB: good_wnd.m


Ni=1245 Nw=128 Nh=10 Fs=22050 Hz
0.03 0.02 Amplitud y(t) 0.01 0 -0.01 -0.02 -0.03 -0.04 0.056 0.057 0.058 0.059 0.06 Tiempo (s) 0.061 0.062 0.063 Seal (--) y Recontruccin con 10 armnicos (--)

0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 -1.5

Espectro de la seal (--) y filtrado (--)

|Y[k]|

-1

-0.5

0 Frecuencia (Hz)

0.5

1.5 4 x 10

17/11/99

Captulo 6: Transformada Discreta de Fourier (DFT)

64

También podría gustarte