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.

Analog test interface for your computer

Wanting to test the response curves on some analog parts, [Don Sauer] devised a way of using simple tools to graph analog tests on a computer. Here you can see the results of testing NPN, PNP, NMOS and PMOS transistors, but modifying the input circuitry would let you test just about anything you want.

[Don] is using an Arduino as the hardware interface. He needed some additional parts, like an op-amp and some passives. Instead of building this on a breadboard, he printed the circuit out on a piece of cardboard, hot glued the components in place, then wired them up. This will let him reuse the interface in the future, but is quicker than designing and etching a PCB.

He uses a Processing sketch to capture the test data streaming in from the Arduino. Once recorded, he uses SciLab to create the graphs. He also covers a method of sifting through the data using Octave, another open source program that feels somewhat like MATLAB.