Build an Audio Spectrum Analyzer the Analog Way

bandpass

[Ryan] wanted a spectrum analyzer for his audio equipment. Rather than grab a micro, he did it the analog way. [Ryan] designed  a 10 band audio spectrum analyzer. This means that he needs 10 band-pass filters. As the name implies, a band-pass filter will only allow signals with frequency of a selected band to pass. Signals with frequency above or below the filter’s passband will be attenuated. The band-pass itself is constructed from a high pass and a low pass filter. [Ryan] used simple resistor capacitor (RC) filters to implement his design.

All those discrete components would quickly attenuate [Ryan's] input signal, so each stage uses two op-amps. The first stage is a buffer for each band. The second op-amp, located after the band-pass filters, is configured as a non-inverting amplifier. These amplifiers boost the individual band signals before they leave the board. [Ryan] even added an “energy filler” mode. In normal mode, the analyzer’s output will exactly follow the input signal. In “energy filler” (AKA peak detect) mode, the output will display the signal peaks,  with a slow decay down to the input signal. The energy filler mode is created by using an n-channel FET to store charge in an electrolytic capacitor.

Have we mentioned that for 10 bands, all this circuitry had to be built 10 times? Not to mention input buffering circuitry. With all this done, [Ryan] still has to build the output portion of the analyzer: 160 blue LEDs and their associated drive circuitry. Going “all analog” may seem crazy in this day and age of high-speed micro controllers and FFTs, but the simple fact is that these circuits work, and work well. The only thing to fear is perf board solder shorts. We think debugging those is half the fun.

An RTL-SDR Spectrum Analyzer

RTL

With the combination of small, powerful, and pocketable computers and cheap, off-the-shelf software defined radio receivers, it was only a matter of time before someone built a homebrew spectrum analyzer with these ingredients. This great build is the project of [Stephen Ong] and he’s even released all the softwares for you to build this on your own.

The two main components of this build are a BeagleBone Black and its 7″ Touchscreen cape. The BeagleBone is running Angstrom Linux, a blazingly fast Linux distro for small embedded devices. The radio hardware consists of only a USB TV tuner supported by RTL-SDR. In his demo video, [Stephen] shows off his project and by all accounts it is remarkable, with a UI better than most desktop-oriented SDR software suites.

You can grab the BeagleBone image [Stephen] is using over on his blog, but for more enterprising reader, he’s also put up the source of his ViewRF software up on GitHub.

Rigol WFM viewer ported for non-Windows users

rigol-wfm-parser-for-linux

[Matthias Blaicher] may think this isn’t a big deal when it comes to the amount of work he put into the hack. But for us, anything that extends the functionality of the versatile yet affordable Rigol DS1052E is a win. In this case he’s taken a previous hack and made it work for more people by extending the functionality of the WFM file format viewer.

[Dexter2048] pulled off the original hack which allows this oscilloscope to be used as a spectrum analyzer. [Matthias] didn’t want the tool to be limited to running only on Windows systems so he got to work. This isn’t quite as easy as sounds because the only part of the original code that was released is the parser itself. [Matthias] had to build everything up from that starting point. His software uses standard Python to parse the WFM file and reformat the data. The features included in the current version allow you to export data as a CSV file and even plot the waveform and FFT as seen above.

Stellaris Launchpad and booster packs used as frequency analyzer

stellaris-frequency-analyzer-using-booster-packs

[Jordan Wills] got tired of being limited to eight pixels of resolution and having jumper wires littering his work space. He set out to upgrade his Stellaris Launchpad frequency analyzer project using booster packs. You may remember the initial iteration of the project which used an 8×8 LED matrix to map audio spectrum. With this upgrade he’s really putting the power of that ARM chip to use.

His first improvement with this project was to spin his own audio input board. It has a standard headphone jack for input and a few passive components to shift the signals to rest nicely within the ADC measurement range. The shield has two double pin headers and a group of four stand offs to serve as legs. This way it plugs into the female headers on the bottom of the Launchpad and provides a stable base for the assembly.

The second portion of the setup is an LCD booster pack for the hardware. Kentec manufactures this 3.5″ 320×240 LCD (EB-LM4F120-L35) complete with a resistive overlay making it touch sensitive. The increase in resolution, and availability of different colors gave [Jordan] plenty to work on. Since this add-on is designed for the Launchpad and has a driver library already available he was able to focus on adapting the FFT output for display and adding in new features. Don’t miss seeing what he’s accomplished in the clip after the break.

[Read more...]

Building a spectrum analyzer with parallel processing

fft

It’s the end of the semester for [Bruce Land]‘s microcontroller design class at Cornell, and the projects coming off the workbench this semester look as awesome as any before. For their final project, [Alexander Wang] and [Bill Jo] designed an audio frequency spectrum analyzer using two microcontrollers in a parallel setup.

This spectrum analyzer takes an audio signal from an iPod, phone, or CD player through a 3.5 mm jack and displays the level for dozens of frequency bands much like an audio visualizer in iTunes or a nice car stereo display. To display these frequency bands, the spectrum analyzer first needs to perform a Fast Fourier Transform on the incoming audio signal. While FFT is extremely fast, the calculations are rather hardware intensive; calculating the frequencies and displaying them on a TV would be a bit much even for the ATMega1284 used in the project.

To graph the audio signal on their small display, [Alexander] and [Bill] broke the build up into two parts – one to do the math on the audio, and another to generate the NTSC video signal for the display.

As seen in the video after the break, the spectrum analyzer works wonderfully, and even though it only functions up to 4kHz, it’s more than enough to see what’s going on in most music.

[Read more...]

Giving the Rigol DS1052E ‘scope a spectrum analyzer

Like a lot of hardware tinkerers, [dexter2048] has a Rigol DS1052E oscilloscope sitting on his bench. One day when trying to coax some information out of the FFT setting, [dexter] threw his hands up in frustration and decided to write a file viewer with FFT spectrum analysis. The resulting viewer gives this very capable and inexpensive oscilloscope a spectrum analyzer.

[dexter2048]‘s app is able to capture signals from 0 Hz to 500 MHz and demonstrated this fact by sticking a piece of wire into one of the Rigol’s inputs. The resulting waveform is then sent to a computer where [dexter] got a nice picture of the radio spectrum between 82MHz and 114MHz. In his graph, you can clearly see the FM radio stations that can be picked up in [dexter]‘s lab.

This small modification to the Rigol DS1052E oscilloscope it the latest in a long line of hacks that give this wonderful, inexpensive scope double the bandwidth, data collection via Python, and even a homebrew version of Pong. Anything that provides new functionality for old gear is great news to us, and we look forward to many, many more 1052E hacks in the future.

Tip ‘o the hat to [Murlidhar] for sending this in.

Making an audio spectrum analyzer with a microcontroller

While [Vinod] says he’s not an expert in this sort of thing, we really like his audio spectrum analyzer build from a simple microcontroller and LCD display.

It is a well-studied fact that every audio waveform – a recording of your voice, for instance – is just the sum of many, many sine waves. These sine waves can be plucked out using Fourier analysis, using a Discrete Fourier transform. This is the principle that spectrum analyzers operate under; [Vinod] wrote a bit of code using DFT to take apart audio captured from a microphone and output their frequency on an LCD display.

To output the spectrum on his LCD, [Vinod] stacked horizontal bars up into 8 custom characters in his display. Like [Vinod]‘s previous audio on an ATMega32 experiment, an LM324 amplifier is connected to the ATMega through an analog pin. [Vinod] has a very clever build on his hands with his spectrum analyzer, and a great answer to the perennial ‘how do I build a guitar tuner’ questions we’re constantly asked.

After the break, you can see [Vinod]‘s spectrum analyzer in action. Be forewarned; you may want to turn down the volume.

[Read more...]