Algoritmo de la transformada rápida de Fourier - … · De niciones Transformada r apida de...
Transcript of Algoritmo de la transformada rápida de Fourier - … · De niciones Transformada r apida de...
DefinicionesTransformada rapida de Fourier
Algoritmo de la transformada rapida de FourierLeccion 07.2
Dr. Pablo Alvarado Moya
CE5201 Procesamiento y Analisis de Imagenes DigitalesArea de Ingenierıa en Computadores
Tecnologico de Costa Rica
I Semestre, 2017
P. Alvarado — TEC — 2017 Dominio de la frecuencia 1 / 21
DefinicionesTransformada rapida de Fourier
Contenido
1 DefinicionesDFT directa e inversaCambio a notacion con WN
2 Transformada rapida de FourierDiezmado en el tiempoDiezmado en la frecuencia
P. Alvarado — TEC — 2017 Dominio de la frecuencia 2 / 21
DefinicionesTransformada rapida de Fourier
Historia
FFT: Algoritmo para calculo eficiente de la DFT
Propuesto por Gauss (1805) y redescubierto varias veces
Ultimo redescubrimiento en 1965 por
James Cooley (IBM, Watson Research Center)John Tukey (Priceton U., AT&T Bell Labs)
Gilbert Strang (MIT): “el algoritmo numerico mas importantede nuestras vidas”
IEEE: uno de los top 10 algoritmos del Siglo XX
P. Alvarado — TEC — 2017 Dominio de la frecuencia 3 / 21
DefinicionesTransformada rapida de Fourier
DFT directa e inversaCambio a notacion con WN
Transformada Discreta de Fourier
La transformada discreta de Fourier DFT:
X (k) =N−1∑n=0
x(n)e−j2πkn/N , k = 0, 1, . . . ,N − 1
Para cada uno de los N posibles k :N productos complejos, N − 1 sumas complejas4N productos reales, 4N − 2 sumas reales
Orden de implementacion directa: O(N2)
N2 productos complejos, N2 − N sumas complejas4N2 productos reales, 4N2 − 2N sumas reales
La transformada discreta de Fourier inversa (IDFT):
x(n) =1
N
N−1∑k=0
X (k)e j2πkn/N , n = 0, 1, . . . ,N − 1
P. Alvarado — TEC — 2017 Dominio de la frecuencia 4 / 21
DefinicionesTransformada rapida de Fourier
DFT directa e inversaCambio a notacion con WN
Transformada Discreta de Fourier
La transformada discreta de Fourier DFT:
X (k) =N−1∑n=0
x(n)e−j2πkn/N , k = 0, 1, . . . ,N − 1
Para cada uno de los N posibles k :N productos complejos, N − 1 sumas complejas4N productos reales, 4N − 2 sumas reales
Orden de implementacion directa: O(N2)N2 productos complejos, N2 − N sumas complejas4N2 productos reales, 4N2 − 2N sumas reales
La transformada discreta de Fourier inversa (IDFT):
x(n) =1
N
N−1∑k=0
X (k)e j2πkn/N , n = 0, 1, . . . ,N − 1
P. Alvarado — TEC — 2017 Dominio de la frecuencia 4 / 21
DefinicionesTransformada rapida de Fourier
DFT directa e inversaCambio a notacion con WN
Transformada Discreta de Fourier
La transformada discreta de Fourier DFT:
X (k) =N−1∑n=0
x(n)e−j2πkn/N , k = 0, 1, . . . ,N − 1
Para cada uno de los N posibles k :N productos complejos, N − 1 sumas complejas4N productos reales, 4N − 2 sumas reales
Orden de implementacion directa: O(N2)N2 productos complejos, N2 − N sumas complejas4N2 productos reales, 4N2 − 2N sumas reales
La transformada discreta de Fourier inversa (IDFT):
x(n) =1
N
N−1∑k=0
X (k)e j2πkn/N , n = 0, 1, . . . ,N − 1
P. Alvarado — TEC — 2017 Dominio de la frecuencia 4 / 21
DefinicionesTransformada rapida de Fourier
DFT directa e inversaCambio a notacion con WN
Raız de la unidad
Defınase: WN = e−j2π/N
La DFT se reescribe:
X (k) =N−1∑n=0
x(n)e−j2πkn/N
=N−1∑n=0
x(n)W knN
Simetrıa conjugada:
Wk(N−n)N = W−kn
N =(W kn
N
)∗Periodicidad en n, k :
W knN = W
k(N+n)N = W
(k+N)nN
Diezmado: W 2kN = W k
N/2
Por ejemplo, con N = 16:
1
W16
W 016
W 216
W 316
W 416
W 516
W 616
W 716
W 816
W 916
W 1016
W 1116
W 1216 W 13
16
W 1416
W 1516
Re
Im
P. Alvarado — TEC — 2017 Dominio de la frecuencia 5 / 21
DefinicionesTransformada rapida de Fourier
DFT directa e inversaCambio a notacion con WN
Notacion de matriz (1)
Para la k-esima componente espectral X (k) se cumple
X (k) =N−1∑n=0
x(n)W knN
o en notacion vectorial:
X (k) =[1 W k
N W 2kN W 3k
N . . . W(N−1)kN
]
x(0)x(1)x(2)x(3)
...x(N−1)
P. Alvarado — TEC — 2017 Dominio de la frecuencia 6 / 21
DefinicionesTransformada rapida de Fourier
DFT directa e inversaCambio a notacion con WN
Notacion de matriz (2)
Para la DFT completa se usa notacion matricial:
X = WNxX (0)X (1)X (2)
...X (N−1)
=
1 1 1 . . . 1
1 WN W 2N . . . WN−1
N
1 W 2N W 4
N . . . W2(N−1)N
1 W 3N W 6
N . . . W3(N−1)N
......
.... . .
...
1 WN−1N W
2(N−1)N . . . W
(N−1)2
N
x(0)x(1)x(2)
...x(N−1)
Se cumple para la DFT inversa:
x =1
NWN
∗X
P. Alvarado — TEC — 2017 Dominio de la frecuencia 7 / 21
DefinicionesTransformada rapida de Fourier
DFT directa e inversaCambio a notacion con WN
DFT de dos puntos
El caso N = 2: W2 = e−jπ = −1
La matriz de transformacion en este caso:
W2 =
[1 11 −1
]La transformacion es entonces:
X (0) = x(0) + x(1)
X (1) = x(0)− x(1)
P. Alvarado — TEC — 2017 Dominio de la frecuencia 8 / 21
DefinicionesTransformada rapida de Fourier
Diezmado en el tiempoDiezmado en la frecuencia
Diezmado en el tiempo
Una posible estrategia: Dividir DFT en dos (asumiendo N par)
X (k) =N−1∑n=0
x(n)W knN
=
N2−1∑
r=0
x(2r)W k2rN +
N2−1∑
r=0
x(2r + 1)Wk(2r+1)N
=
N2−1∑
r=0
x(2r)W krN/2︸ ︷︷ ︸
Xe(k)
+ W kN
N2−1∑
r=0
x(2r + 1)W krN/2︸ ︷︷ ︸
Xo(k)
X (k) = Xe(k) + W kNXo(k)
Xe(k) es la DFT de N/2 para las muestras pares
Xo(k) es la DFT de N/2 para las muestras impares
P. Alvarado — TEC — 2017 Dominio de la frecuencia 9 / 21
DefinicionesTransformada rapida de Fourier
Diezmado en el tiempoDiezmado en la frecuencia
Diagrama de diezmado en el tiempoCaso N = 8
N/2
DFT
N/2
DFT
x(0)
x(2)
x(6)
x(8)
x(1)
x(3)
x(5)
x(7)
Xe(0)X (0)
Xe(1)X (1)
Xe(2)X (2)
Xe(3)X (3)
Xo(0)X (4)
Xo(1)X (5)
Xo(2)X (6)
Xo(3)X (7)
1
1
W 48
W 08
1
1
W 58
W 18
1
1
W 68
W 28
1
1
W 78
W 38
P. Alvarado — TEC — 2017 Dominio de la frecuencia 10 / 21
DefinicionesTransformada rapida de Fourier
Diezmado en el tiempoDiezmado en la frecuencia
Complejidad
DFT de N muestras: N2 productos complejos
Dos DFT de N/2 muestras: 2× (N/2)2 = N2/2
Faltan los N productos adicionales por W kN
¡N2/2 + N productos tienden a ¡N2/2 para N � 1!
Ganacia aproximada en un factor 2
Podemos dividir DFT de N/2 en dos DFT de N/4 y asırecursivamente hasta llegar a DFT de N = 2.
Recursion lleva a utilizar N + N log2 N productos
Orden es entonces O(N log2 N)
P. Alvarado — TEC — 2017 Dominio de la frecuencia 11 / 21
DefinicionesTransformada rapida de Fourier
Diezmado en el tiempoDiezmado en la frecuencia
Diagrama de flujo de datos: FFT DiTCaso N = 8
x(0)
x(4)
x(2)
x(6)
x(1)
x(5)
x(3)
x(7)
X (0)
X (1)
X (2)
X (3)
X (4)
X (5)
X (6)
X (7)
1
1
1
1
W 48
W 48
W 48
W 48
1
1
1
1
W 48
W 68
W 48
W 68
1
1
1
1
W 48
W 58
W 68
W 78
1
1
1
1
W 08
W 08
W 08
W 08
1
1
1
1
W 08
W 28
W 08
W 28
1
W 08
1
W 18
1
W 28
1
W 38
P. Alvarado — TEC — 2017 Dominio de la frecuencia 12 / 21
DefinicionesTransformada rapida de Fourier
Diezmado en el tiempoDiezmado en la frecuencia
Reversion de bits
Particion en x(2r) pone bit menos significativo de ındice en 0y para x(2r + 1) el bit menos significativo en 1
Recursion revierte los bits de los ındices de entrada:
0 000b→000b 01 001b→100b 42 010b→010b 23 011b→110b 64 100b→001b 15 101b→101b 56 110b→011b 37 111b→111b 7
P. Alvarado — TEC — 2017 Dominio de la frecuencia 13 / 21
DefinicionesTransformada rapida de Fourier
Diezmado en el tiempoDiezmado en la frecuencia
Operador de mariposa
Operacion basica de “mariposa” (butterfly):1
1
W rN
Wr+N/2N
Por etapa, se requieren N/2 mariposas
Hay log2 N etapas
Se cumple WN/2N = −1 y por tanto
Wr+N/2N = W r
NWN/2N = −W r
N
Se reduce ası en un factor 2 los productos complejos:1
W rN
1
1
−1
1
P. Alvarado — TEC — 2017 Dominio de la frecuencia 14 / 21
DefinicionesTransformada rapida de Fourier
Diezmado en el tiempoDiezmado en la frecuencia
FFT Diezmado en la frecuencia (1)
Resultado es el proceso inverso: inversion de bits en el espectro
Identica complejidad que DiT
Muestras pares de espectro son:
X (2r) =N−1∑n=0
x(n)Wn(2r)N
=
N2−1∑
n=0
x(n)W 2nrN +
N−1∑n=N
2
x(n)W 2nrN
=
N2−1∑
n=0
x(n)W 2nrN +
N2−1∑
n=0
x(n + N/2)W2(n+N/2)rN
P. Alvarado — TEC — 2017 Dominio de la frecuencia 15 / 21
DefinicionesTransformada rapida de Fourier
Diezmado en el tiempoDiezmado en la frecuencia
FFT Diezmado en la frecuencia (2)
Con W2(n+N/2)rN = W 2nr
N WNrN = W 2nr
N = W nrN/2 se tiene
X (2r) =
N2−1∑
n=0
[x(n) + x(n + N/2)]W nrN/2
que es una DFT de N/2 muestras, de la suma de la primera yultima mitad de la secuencia de entrada.
De forma similar se puede demostrar que
X (2r + 1) =
N2−1∑
n=0
[x(n)− x(n + N/2)]W nNW
nrN/2
que es la DFT de N/2 muestras de la resta de la primera ysegunda mitad de la secuencia de entrada, multiplicada porW n
N .
P. Alvarado — TEC — 2017 Dominio de la frecuencia 16 / 21
DefinicionesTransformada rapida de Fourier
Diezmado en el tiempoDiezmado en la frecuencia
Diezmado en la frecuenciaPrimera etapa
DFTN/2 puntos
DFTN/2 puntos
x[0]
x[1]
x[2]
x[3]
x[4]
x[5]
x[6]
x[7]
X[0]
X[2]
X[4]
X[6]
X[1]
X[3]
X[5]
X[7]
g[0]
g[1]
g[2]
g[3]
h[0]
h[1]
h[2]
h[3]
0NW
1NW
2NW
3NW
-1
-1
-1
-1
P. Alvarado — TEC — 2017 Dominio de la frecuencia 17 / 21
DefinicionesTransformada rapida de Fourier
Diezmado en el tiempoDiezmado en la frecuencia
Diezmado en la frecuenciaFlujo de datos
x[0]
x[1]
x[2]
x[3]
x[4]
x[5]
x[6]
x[7]
X[0]
X[4]
X[2]
X[6]
X[1]
X[5]
X[3]
X[7]
0NW
1NW
2NW
3NW
0NW
2NW
2NW
0NW
0NW
0NW
0NW
0NW
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
P. Alvarado — TEC — 2017 Dominio de la frecuencia 18 / 21
DefinicionesTransformada rapida de Fourier
Diezmado en el tiempoDiezmado en la frecuencia
Otros algoritmos
Existen diversidad de algoritmos para la FFT
Esquemas anteriores asumen que N = 2p (Radix-2)
Otros esquemas reducen multiplicaciones si N = 4p o N = 8p
(Radix-4, Radix-8)
Algoritmo de Factores Primos (Good-Thomas) y el de RadixMixto asumen N = N1N2, lo que permite optimizar casosdonde N 6= 2p.
P. Alvarado — TEC — 2017 Dominio de la frecuencia 19 / 21
DefinicionesTransformada rapida de Fourier
Diezmado en el tiempoDiezmado en la frecuencia
Resumen
1 DefinicionesDFT directa e inversaCambio a notacion con WN
2 Transformada rapida de FourierDiezmado en el tiempoDiezmado en la frecuencia
P. Alvarado — TEC — 2017 Dominio de la frecuencia 20 / 21
DefinicionesTransformada rapida de Fourier
Diezmado en el tiempoDiezmado en la frecuencia
Este documento ha sido elaborado con software libre incluyendo LATEX, Beamer, GNUPlot, GNU/Octave, XFig,Inkscape, LTI-Lib-2, GNU-Make y Subversion en GNU/Linux
Este trabajo se encuentra bajo una Licencia Creative Commons Atribucion-NoComercial-LicenciarIgual 3.0 Unpor-ted. Para ver una copia de esta Licencia, visite http://creativecommons.org/licenses/by-nc-sa/3.0/ o envıeuna carta a Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
© 2005-2017 Pablo Alvarado-Moya Area de Ingenierıa en Computadores Instituto Tecnologico de Costa Rica
P. Alvarado — TEC — 2017 Dominio de la frecuencia 21 / 21