fft

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

fft

Heber Farnsworth-3
This may not be an octave question so much as a question about how the FFT
library works.  I've never used it before but when I try it on simple
functions for which I know the fourier transform (heaviside, gaussian,
triangle, etc) I don't get anything like what I get analytically.  For
instance try a gaussian

exp(-t.^2)/sqrt(2*pi)

Since this function is even you should get a real transform and, in fact,
it should be another gaussian.  Instead you get something who's real and
imaginary parts both oscillate very fast and which look a lot different at
the ends than in the middle.  What do I not understand here?
 _____________________________________________________
Heber K. Farnsworth       phone: (614) 292-3092          
Assistant Professor of Finance    FAX: (614) 292-2418
Fisher College of Business
the Ohio State University
_____________________________________________________


Reply | Threaded
Open this post in threaded view
|

Re: fft

johan19
On Sat, May 16, 1998 at 09:45:06PM -0400, Heber Farnsworth wrote:

> This may not be an octave question so much as a question about how the FFT
> library works.  I've never used it before but when I try it on simple
> functions for which I know the fourier transform (heaviside, gaussian,
> triangle, etc) I don't get anything like what I get analytically.  For
> instance try a gaussian
>
> exp(-t.^2)/sqrt(2*pi)
>
> Since this function is even you should get a real transform and, in fact,
> it should be another gaussian.  Instead you get something who's real and
> imaginary parts both oscillate very fast and which look a lot different at
> the ends than in the middle.  What do I not understand here?

well the fft is an algorithm for performing the discrete fourier
transform (DFT).  (why it's not called dft in the program, i don't
know.)  anyhow the fft is a mapping from complex valued functions of
the group Z_n to itself (where n is the length of the vector).  this
isn't what is generally meant by fourier transform in most textsbooks.

for one, the function is even if it is even over Z_n,
i.e. f(i) = f(-i) = f(n-i) for all i in Z_n.

the discrete time fourier transform DTFT maps complex valued functions
of the integers to complex valued function an the interval usually
[-0.5,0.5], [-pi,pi], [0,1] or [0,2pi] depending on the particular
definition of the intregral.

by padding a vector with zeros, you can enlist the DFT to give you a
sampled DTFT for a finite length sequence which is generally what you
want.

hope this helps.

--
Johan Kullstam [[hidden email]]