Grupo4 - FFT

De Física Computacional
Revisão de 23h46min de 22 de outubro de 2017 por Gabrgiov (discussão | contribs)
Ir para navegação Ir para pesquisar

A Transformada rápida de Fourier (em inglês Fast Fourier Transform, ou FFT) é um algoritmo que torna o cálculo da Transformada Discreta de Fourier (DFT) viável para a maior parte das aplicações.


Transformada Discreta de Fourier

Em muitas aplicações se tem informação sobre um conjunto de dados, ao invés de uma função contínua. A Transformada Discreta de Fourier transforma esse conjunto de dados em um conjunto de tamanho igual com informação sobre as frequências da função que satisfaz o conjunto de dados.

Para um conjunto de dados igualmente espaçados, pode-se, ao considerar os dados como um período de uma função periódica, cujo período normalmente é considerado entre [−π,π] para facilitar o cálculo (e que pode sempre ser transformada em uma função nesse interválo), mostrar que a transformada discreta de Fourier pode ser dada pela equação:

Fk=∑n=0N−1fne−i2πnk/N

A sua inversa é, em paralelo ao caso da transformada contínua,

fn=1N∑n=0N−1Fkei2πnk/N

A transformada também pode ser expressa em forma vetorial, como

F→=𝐀f→ onde 𝐀 é definido como

𝐀=[e−2πi0⋅0/Ne−2πi0⋅1/N⋯e−2πi0⋅k/Ne−2πi1⋅0/Ne−2πi1⋅1/N⋯e−2πi1⋅k/N⋮⋮⋱⋮e−2πin⋅0/Ne−2πin⋅1/N⋯e−2πin⋅k/N]

O cálculo dessa expressão leva em torno de N2 passos para o resultado. Uma amostra com 3,000 pontos precisa de 9,000,000 operações para a transformada ser obtida, tornando a DFT inviável para aplicações rápidas.


Transformada Rápida de Fourier

É possível calcular a transformada com NlogN passos. Para isso se dispõe de um algoritmo chamado Transformada Rápida de Fourier. Fk=∑n=0N−1fn⋅e−i2πN⋅k⋅nFk=∑n=0N/2−1f2n⋅e−i2πN/2⋅k⋅n+C(k)∑n=0N/2−1f2n+1⋅e−i2πN/2⋅k⋅n