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?
There are two free alternatives to MATLAB with Fast Fourier Transform (FFT) that I'd like to recommend based on my own usage:
- Python's Scipy package
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!
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.
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.