Tutorial on Signal Processing in Linux with Octave

If you’ve taken any digital signal processing classes at a college or university, you’ve probably been exposed to MATLAB. However, if you want to do your own work, you might think about Linux and one of the many scientific computing applications available for it.

[David Duarte] recently published a three-part tutorial on using Octave to do scientific audio processing. The first part covers basic reading, writing, and playing of audio files. Part two covers synthesis of signals, plotting, and some basic transformations.  Modulation is the topic of the third part. If you prefer your tutorials on video, you can check out the video below.

We’ve talked about MATLAB┬ábefore in the context of message cracking. Then again, some of the best signal processing is done by humans. If you don’t like Octave, you might try Scilab, another Linux package that is similar. There’s also Freemat,┬áSage, and Spyder. Of course, you can also run MATLAB under Linux.

10 thoughts on “Tutorial on Signal Processing in Linux with Octave

  1. Python users on Linux can look at SciPy and NumPy and work interactively in developing an algorithm or process using iPython Notebook. There are plenty of videos and blogs to choose from. (Use Python virtualization and set up a Python3.5 to use the cool newer features).

  2. Why do I get the impression from the write-up that the only easily-conceivable combinations would be Linux+Octave or Win+Matlab. The last 14 years I’ve been using professionally the combination Linux+Matlab (and the installation is nowadays identical to Win-version, so no magic there) and privately Win+Octave. Most of the things work in Octave just the way they work in Matlab. For me the benefit of Matlab/Octave over Python-based solutions is how easy debugging is, since during algorithmic development that’s what you do a lot. For real-world deployment etc. Python could be more suitable.

    1. I used Matlab in college and loved it until I got out of college and realized how much it costs. I switched to python and haven’t once thought it was missing something Matlab has. If you use a good IDE like PyCharm, the debugging just as good as Matlab.

  3. I use both and prefer python with the spicy package. Octave is great if there is something on the web that works in matlab and you don’t want to rewrite it (some minor tweaks may be required though as not all functions are available). I have found the spicy/numpy implementations to generally be faster when working with large datasets by 10x or more. YMMV.

    Developing in Spyder or iPython makes it as easy as getting the command figured out, making sure results are correct, then copy/paste over to your main program.

  4. Octave has a windows package that works very well. Also you can download many add in packages to expand Octave from the Octave Forge page. Scilab also works well although the documentation is not is well developed as it is translated from another language.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s