Re: FFT example. Help! [message #19886 is a reply to message #19879] |
Tue, 02 May 2000 00:00   |
Julio Maranhao
Messages: 2 Registered: April 2000
|
Junior Member |
|
|
If you want to use the IDL FFT functions in continuous mathematical
equations, and have it "make sense", I am really sorry cause it�s not
straight. You must understand how real signals are discretized and
processed. A classical book is "Discrete-Time Signal Processing" of
Oppenheim&Schafer. I suggest you to talk to a professor or a person that
understand Discrete Fourier Transform for a fast study. All I can advance is
that the "key" of DFT is : if the signal is periodic and discrete (a vector
in IDL could be a "window" of this infinite signal, for instance) than the
Transform is periodic and discrete.
For example, try these:
IDL> a=[1.0, 1, 1, 1, 0, 0, 0, 0]
IDL> window,0 & plot,abs(fft(a,-1))
IDL> b=fltarr(500) & b[0:7]=a
IDL> window,1 & plot,abs(fft(b,-1))
In the second plot it seems more like a sinc, because I added more zero
points in the vector. The other fft is undersampled. This is one of the
innumerous properties of discrete periodic signals. And this is only part of
the iceberg. :-). Good luck.
Peter Brooker <ra5589@email.sps.mot.com> escreveu nas not�cias de
mensagem:390DA60B.B8F5CEBA@email.sps.mot.com...
> I am trying to understand the FFT routine IDL uses. Part of my problem
> is that though I am familiar with Fourier transforms, I am somewhat
> unfamiliar with the fast Fourier transform.
>
> Has anybody written a program that works through a known transform using
> the FFT procedure? In particular, I want to be able to plot out F(u) vs
> u and have it "make sense".
>
> An example of a known transform is
>
> For
> f(x) = 1 for -1/2<x<1/2
> = 0 else
>
> the Fourier transform F(u) is given by
>
> F(u)=int(f(x)*exp(-j*2*pi*ux)*dx
> =[sin(pi*u)]/pi*u
>
>
> thanks-Peter Brooker
>
|
|
|