[R] FFT - (STATS) - is this correct?

Rolf Turner r.turner at auckland.ac.nz
Wed Jul 30 23:15:19 CEST 2008


On 30/07/2008, at 11:14 PM, <renata.camargo05 at ntlworld.com> wrote:

> Hello,
>
> I have calculated the fourier transform of the series enclosed at  
> the end of this message, by doing:
>
> library(stats)
> x <- readLines("file1.txt")
> x.num <- as.numeric(x)
> ft.x.num <- fft(x.num)
>
> My question is: why is the first value (Real) of ft.x.num that big?  
> (954.833870) all the other values are much smaller. Am I doing  
> something wrong?
>
> Could you please help me to understand that?

Just look at the definition of the discrete Fourier transform:

                     n
	X(omega) = SUM x_t * exp(i*omega*t)
                    t=1

(The mailer will probably mess up that expression and put everything  
out of alignment;
if only these <expletive deleted> mailers would leave well enough  
alone and simply
transmit plain ascii files and display the results in a fixed width  
font .....
Anyway, I hope you can read it.)

The point is that the fast Fourier transform calculates the discrete  
Fourier transform
at each of the ``Fourier'' frequencies omega_j = 2*pi*j/n, j =  
0, ..., n-1.  The result is,
as you noted in your follow-up email ``palindromic'' --- X(omega_{n- 
j}) = X(omega_j)^*
where ``*'' indicates complex conjugate.

At omega_0 = 0 you obviously get X(omega_0) = sum(x) --- that's where  
the value 954.833870
comes from.  Just execute sum(x) to check this.

If you want to understand the discrete Fourier transform, I suggest  
you read Peter Bloomfield's
book ``Fourier Analysis of Time Series --- An Introduction'' (2nd  
ed.), Wiley Series in
Probability and Statistics, 2000.

	cheers,

		Rolf Turner

P.S. BTW doing ``library(stats)'' is silly; the stats library is  
loaded automatically
when R is started.

		R. T.

######################################################################
Attention:\ This e-mail message is privileged and confid...{{dropped:9}}



More information about the R-help mailing list