Algoritmo de la transformada rápida de Fourier - … · De niciones Transformada r apida de...

23
Definiciones Transformada r´ apida de Fourier Algoritmo de la transformada r´ apida de Fourier Lecci´ on 07.2 Dr. Pablo Alvarado Moya CE5201 Procesamiento y An´ alisis de Im´ agenes Digitales ´ Area de Ingenier´ ıa en Computadores Tecnol´ogico de Costa Rica I Semestre, 2017 P. Alvarado — TEC — 2017 Dominio de la frecuencia 1 / 21

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