Transformada Rápida de Fourier

Os algoritmos que implementam a transformada rápida de Fourier assumem que a função a transformar [Graphics:../Images/Aula14_gr_157.gif] está definida e amostrada num intervalo [Graphics:../Images/Aula14_gr_158.gif], com valores [Graphics:../Images/Aula14_gr_159.gif] onde [Graphics:../Images/Aula14_gr_160.gif] para [Graphics:../Images/Aula14_gr_161.gif]. Daí que, para amostrar e transformar uma função [Graphics:../Images/Aula14_gr_162.gif] numa janela [Graphics:../Images/Aula14_gr_163.gif] de largura [Graphics:../Images/Aula14_gr_164.gif] seja necessário transladar toda a função por [Graphics:../Images/Aula14_gr_165.gif], e efectivamente definir uma nova função [Graphics:../Images/Aula14_gr_166.gif]

No Mathematica, a Transformada de Fourier discreta de uma lista [Graphics:../Images/Aula14_gr_167.gif] de [Graphics:../Images/Aula14_gr_168.gif]  pontos é a lista  [Graphics:../Images/Aula14_gr_169.gif] onde

                                                                     [Graphics:../Images/Aula14_gr_170.gif]
                                                                     
Se pusemos [Graphics:../Images/Aula14_gr_171.gif],  [Graphics:../Images/Aula14_gr_172.gif], [Graphics:../Images/Aula14_gr_173.gif] então  

                                                        [Graphics:../Images/Aula14_gr_174.gif]

                     [Graphics:../Images/Aula14_gr_175.gif]

Designando por [Graphics:../Images/Aula14_gr_176.gif] os pontos no intervalo ÷x, podemos  reescrever

[Graphics:../Images/Aula14_gr_177.gif]

Assim conclui-se que

                     [Graphics:../Images/Aula14_gr_178.gif]
                     
Estes coeficientes [Graphics:../Images/Aula14_gr_179.gif] diferem em sinal alterno dos provenientes de implementações C de FFT, onde o primeiro elemento duma lista tem índice 0.  

Convém ainda indicar que, de acordo com as normas da FFT,

-- o primeiro coeficiente [Graphics:../Images/Aula14_gr_180.gif] corresponde á frequência  ('número de onda')  [Graphics:../Images/Aula14_gr_181.gif]  .
-- os primeiros coeficientes [Graphics:../Images/Aula14_gr_182.gif]  [Graphics:../Images/Aula14_gr_183.gif] correspondem às frequências positivas  [Graphics:../Images/Aula14_gr_184.gif],
-- o coeficiente [Graphics:../Images/Aula14_gr_185.gif] corresponde ao ponto de 'aliasing' [Graphics:../Images/Aula14_gr_186.gif]
-- e os últimos [Graphics:../Images/Aula14_gr_187.gif]  [Graphics:../Images/Aula14_gr_188.gif]  vão das frequências mais negativas para as menos negativas [Graphics:../Images/Aula14_gr_189.gif].
  

É assim desejável definir um operador [Graphics:../Images/Aula14_gr_190.gif] que produza uma lista [Graphics:../Images/Aula14_gr_191.gif] ordenada crescentemente com a frequência:  o índice [Graphics:../Images/Aula14_gr_192.gif] aqui corresponde portanto a uma frequência [Graphics:../Images/Aula14_gr_193.gif]. Note-se ainda que [Graphics:../Images/Aula14_gr_194.gif] é uma frequência, e não uma frequência angular [Graphics:../Images/Aula14_gr_195.gif].

Assim, o resultado de [Graphics:../Images/Aula14_gr_196.gif] não é directamente a transformada de Fourier da discretização, é necessário inverter o sinal dos coeficientes  de dois em dois para obter [Graphics:../Images/Aula14_gr_197.gif] e depois rearranjar com [Graphics:../Images/Aula14_gr_198.gif] para obter os verdadeiros coeficientes! Contudo, para inverter com [Graphics:../Images/Aula14_gr_199.gif] deve-se usar o formato de  [Graphics:../Images/Aula14_gr_200.gif].


Converted by Mathematica      May 16, 2001