Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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?

share|improve this question

closed as off topic by KronoS, Journeyman Geek, Canadian Luke, Mokubai, Ƭᴇcʜιᴇ007 Jul 11 '12 at 19:54

Questions on Super User are expected to relate to computer software or computer hardware within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

up vote 4 down vote accepted

::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.

share|improve this answer
Thanks! Do you know how I can load curves from files into Octave? – CFP May 2 '10 at 16:09
I don't use octave. In my business the all-singing-all-dancing tool of choice is root. – dmckee May 2 '10 at 16:15
Using the "load" command, see e.g.… – akid May 2 '10 at 17:10
Tanks! That seems to work :) – CFP May 2 '10 at 17:38

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.

share|improve this answer

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

share|improve this answer

Not the answer you're looking for? Browse other questions tagged .