Porém, quando o tamanho do sinal
é uma potência de 2, pode-se aplicar um algoritmo chamado Transformada Rápida
de Fourier (``Fast Fourier
Transform'' - FFT), baseado em um método chamado
dobramentos sucessivos [Gonzalez and Woods, 1992]. A ordem de complexidade de execução desse algoritmo é
de O(
), sendo, portanto, altamente eficiente se comparado à transformada de
Fourier discreta comum.
Esse algoritmo torna possível a aplicação da transformada de Fourier para
imagens ou padrões de alta dimensionalidade.
Para se fazer uma comparação prática, foi realizado um teste utilizando o software
MatLab, que possui a FFT implementada. Foram criados dois sinais aleatórios
(ou seja, contendo apenas ruídos) e
. O sinal
possui tamanho
e
possui uma dimensão a menos
que
, ou seja, o tamanho de
é
. O tempo levado para obter-se a
transformada de Fourier de
foi de 10,8198 segundos. Já o tempo levado
para realizar a mesma tarefa em
(o qual é menor que
, mas cujo
tamanho não é uma potência de 2) foi de 128,8102 segundos.