2

MATLAB is an expensive and vey elaborate software out there. Is there any free, preferably open source, software near MATLAB; at least offering some features of MATLAB in FFT, and other frequency analysis tools?

closed as unclear what you're asking by Fractaliste, Olli, Flyk, 3ventic, Nick Wilde Mar 5 '14 at 13:34

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

5

There are two free alternatives to MATLAB with Fast Fourier Transform (FFT) that I'd like to recommend based on my own usage:

  • R
  • Python's Scipy package

R Statistics

R is a statistical analysis software. It is very very good at statistics and data visualization.

Here's some discussion on Stackoverflow of various packages that allow FFT in R.

Python

Python is a general purpose programming language, and it's Scipy package has grown functionality that is nearly comparable to R. Stackoverflow has a great example of FFT frequency analysis in Python's Scipy.

A third option, Octave

Octave is an interpreted language environment that is quite similar to Matlab. I have not used it, but I did a full feature analysis when I decided on using R, and Octave came in second.

Here's Octave's FFT functionality: http://www.gnu.org/software/octave/doc/interpreter/Signal-Processing.html

Pick the one that best represents the direction you're heading. R is great for statistics, Octave is more pure math. Good luck!

  • 1
    Can you add any personal experiences with this software? – Kelly Thomas Mar 3 '14 at 23:20
  • I have used R and been to many presentations on it and using it. Octave, not so much, but it was second to R when I was doing a package analysis for my own needs. – Aaron Hall Mar 3 '14 at 23:22
  • Welcome to Software Recommendations! To join in to what Kelly was referring to: Could you please read our discussion on what makes an answer high quality to see if you can incorporate some of these improvements into your answer? A.o., please include essentials from behind off-site links – as if the linked pages disappear, this information would be lost. – Izzy Mar 4 '14 at 10:34
1

If you are open to playing with relatively new languages, have a look at Julia.

As a Matlab user, you might find it familiar.

Its FFT function is documented here; cosine transforms, filters and convolutions are also part of its standard library. Interestingly, there is also a paper describing how to make use of Julia's parallelism to implement a parallel FFT.

In particular, it implements most of the Matlab functions for Fourier Analysis, and also gives you control of whether to perform the transform in-place or not.

It is built on top of the FFTW C library, so its performance is predictable and state of the art. (Note you can also interface FFTW from Matlab.

1

There are many good alternatives for MATLAB:

Octave Octave has a syntax that is virtually the same as MATLAB's and it is therefore very easy to get started with. It allows the implementation of functions in the C language, which greatly outperforms all script implementations.

SciPy Use python as a language to MATLAB and, for plotting at least, the syntax is close enough to MATLAB's to be simple to get you started.

matplotlib The graph plotting quality of matplotlib is among the best I've come across and I've found nothing that compares to its tools for scrolling and zooming around data plotted on a graph.

Sage is a free open-source mathematics software system licensed under the GPL. It combines the power of many existing open-source packages into a common Python-based interface.

Not the answer you're looking for? Browse other questions tagged or ask your own question.