Você está na página 1de 11

Fast Fourier Transform

Ello B. Guedes
Projeto em Computao

6 de julho de 2008

Ello B. Guedes (Projeto em Computao)

Fast Fourier Transform

6 de julho de 2008

1 / 11

Outline

Introduo

Fast Fourier Transform

Ello B. Guedes (Projeto em Computao)

Fast Fourier Transform

6 de julho de 2008

2 / 11

Introduo

A transformada rpida de Fourier (Fast Fourier Transform FFT) um algoritmo eciente para computar a Transformada Discreta de Fourier e a sua inversa. A FFT de grande importncia para uma variedade de aplicaes, a citar o processamento digital de imagens, a resoluo de equaes diferenciais parciais e tambm algoritmos para multiplicao rpida de nmeros inteiros muito grandes. Objetivo desta apresentao: conceituar a FFT e apresentar o algoritmo de Cooley-Tukey, que a implementa.

Ello B. Guedes (Projeto em Computao)

Fast Fourier Transform

6 de julho de 2008

3 / 11

Fast Fourier Transform

Com a utilizao da Transformada Rpida de Fourier (FFT), a qual tira proveitos de propriedades especiais das razes complexas de unidade1, possvel computar a DFT em tempo (n lgn), em oposio ao tempo (n2 ) utilizado pela DFT.

Complex roots of unity


Fast Fourier Transform 6 de julho de 2008 4 / 11

Ello B. Guedes (Projeto em Computao)

Fast Fourier Transform

Razes Complexas de Unidade

A n-sima raiz complexa da unidade um nmero complexo tal que: n = 1 (1)

isto signica que existem exatamente n complexos que so razes da 2 i k unidade: e n para k = 0, 1, . . . , n 1. Para interpretar esta frmula, basta utilizar a denio do expoente de um nmero complexo: ei u = cos(u ) + i sin(u ) (2)

Ello B. Guedes (Projeto em Computao)

Fast Fourier Transform

6 de julho de 2008

5 / 11

Fast Fourier Transform

0 1 7 Figura: Os valores de 8 , 8 , . . . , 8 no plano complexo, onde = e a principal 8 raiz da unidade.

2i 8

Ello B. Guedes (Projeto em Computao)

Fast Fourier Transform

6 de julho de 2008

6 / 11

Fast Fourier Transform

Algoritmo de Cooley-Tukey

O algoritmo mais popular para a Transformada Rpida de Fourier o algoritmo de Cooley-Tukey , que utiliza a idia de diviso e conquista. A origem deste algoritmo baseada no trabalho proposto Carl Friedrich Gauss por volta de 1805.

Ello B. Guedes (Projeto em Computao)

Fast Fourier Transform

6 de julho de 2008

7 / 11

Fast Fourier Transform

Algoritmo de Cooley-Tukey
Para valores mpares de n, o k -simo elemento da Transformada de Fourier :
n 1

F [a]k

=
x =0
n 1 2

ax z xk ax z xk +
n x= n 2

=
x =0
n 1 2

ax z xk

=
x =0
n 1 2

ax z

xk

+
x= n 2

ax + n z (x + 2 )k
2

=
x =0
Ello B. Guedes

ax

(left )

+ z 2 ax

kn

(right )

z xk
6 de julho de 2008

(3)
8 / 11

onde z = e

2 iem (Projeto n Computao)

Fourier Transform e = 1 oFast sinal da transformada e

Fast Fourier Transform

Algoritmo de Cooley-Tukey

Na prtica porm, preciso uma uma denio mais geral que seja abrangente para nmeros pares e mpares. Deste modo, possvel estender a denio acima. Para tanto, ao invs de considerar k 0, 1, . . . , n 1, necessrio utilizar a representao de k dada atravs da seguinte equao: k = 2j + (4)

em que j {0, 1, . . . , n 2 1} e {0, 1}. importante observar que apesar da representao ser diferenciada, a equivalncia com a denio anteriormente proposta mantida.

Ello B. Guedes (Projeto em Computao)

Fast Fourier Transform

6 de julho de 2008

9 / 11

Fast Fourier Transform

Algoritmo de Cooley-Tukey
Assim, a relao 3 pode ser expressa da seguinte forma:
n 1 x =0
n 1 2

a x z x ( 2 j + ) =

ax
x =0

(left )

+ z (2j +) 2 ax

(right )

z x (2j +) (5)

n 1 2 x =0 n 1 2 x =0

ax

(left )

+ ax

(right )

z 2x j Para = 0 z 2x j Para = 1

z x ax

(left )

+ ax

(right )

i igual a mais ou menos um para = 0 onde z = (2 j + ) n 2 =e ou = 1, correspondendo aos casos em que k mpar ou par.

Ello B. Guedes (Projeto em Computao)

Fast Fourier Transform

6 de julho de 2008

10 / 11

Fast Fourier Transform

Algoritmo de Cooley-Tukey
As duas equaes resultantes do desenvolvimento da equao 5 podem ser escritas de modo compacto, como mostram as equaes 6 e 7: F [a](pares) = 2 F [a(left ) + a(right ) ] F [a](mpares) = F S
n 2 1 2 n

(6) (7)

a(left ) + a(right )

O resultado do algoritmo de Cooley-Tukey idntico ao da aplicao da Transformada Discreta de Fourier, diferenciando-se deste apenas pelo modo de clculo para a obteno dos valores da transformada.

Ello B. Guedes (Projeto em Computao)

Fast Fourier Transform

6 de julho de 2008

11 / 11

Você também pode gostar