Fourier transform software

3

3

After spending a lot of time searching for this, I thought that some Super User gurus might know the answer. I'm searching for an open source application to compute a FFT, that could:

  • Import a list of points from a text file (in any format; I could write conversion scripts if needed), for example 0,1; 1,2; 4,5
  • Compute the associated discrete transform, and output the list of coefficients

Ideally, it would also display the plot and the associated fourier decomposition on the same graph, to allow comparison, but this is not absolutely needed.

It can be either on Windows or on Linux/UNIX.
Can you think of a solution?

Clément

Posted 2010-05-02T15:48:02.267

Reputation: 740

Question was closed 2012-07-11T19:54:51.317

Answers

4

::pokes around the internet a little::

  • In Octave its called fft.
  • In R its called fft
  • In ROOT it's supported in the MathMore module which calls GSL. You access it from the TH1::FFT (and daughters) or through the interfaces in TVirtualFFT (though this claims to call FFTW, so I'm a little confused).

and I believe that all those tools support plotting as well.

dmckee --- ex-moderator kitten

Posted 2010-05-02T15:48:02.267

Reputation: 7 311

Thanks! Do you know how I can load curves from files into Octave? – Clément – 2010-05-02T16:09:46.073

I don't use octave. In my business the all-singing-all-dancing tool of choice is root. – dmckee --- ex-moderator kitten – 2010-05-02T16:15:26.200

Using the "load" command, see e.g. http://www.gnu.org/software/octave/doc/interpreter/Simple-File-I_002fO.html

– akid – 2010-05-02T17:10:10.123

Tanks! That seems to work :) – Clément – 2010-05-02T17:38:42.753

1

Python has some libraries for this, e.g. try scipy's fft module. You could then use the matplotlib module for plotting. To get the data from the input you could use either plain Python or numpy's loadtxt which opens up potential for a whole lot of other processing capabilities.

Benjamin Bannier

Posted 2010-05-02T15:48:02.267

Reputation: 13 999

0

Also check out SciLab. I used that in my Control Systems class to take the place of MatLab since I didn't have a university laptop. I'm not sure if it does exactly what you're asking, but check it out, it pretty full-featured and open source/ free! Lol

Thomas

Posted 2010-05-02T15:48:02.267

Reputation: 247