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

Algoritmo de la transformada rápida de Fourier - … · De niciones Transformada r apida de Fourier DFT directa e inversa Cambio a notaci on con WN Transformada Discreta de Fourier

Embed Size (px)

Citation preview

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