In the Bad Old Days, a spectrum analyser was a big piece of expensive machinery that you’d have on your bench next to your oscilloscope. And while good ones still cost a ton of money, [rheslip] shows you how to turn your VISA-compatible scope into a decent spectrum analyser for the low, low price of nothing. Watch it in action in the video below the break.
If your scope is relatively recent, like this side of the late 1990s, it might support National Instrument’s VISA: virtual instrument software architecture. [rheslip]’s Rigol scope does, and he uses PyVisa, a Python wrapper for the NI-VISA libraries to download the raw samples from the ‘scope and then crunches the FFTs out on his laptop.
There are definitely drawbacks to this method. The sampling depth of the scope is eight bits, which limits his maximum signal-to-noise ratio, and the number-crunching and data transfer are slow, resulting in a 2 Hz refresh rate. But once the data has made it across to his laptop, [rheslip] can run the FFTs at whatever sample length he wants, resulting in very high frequency resolution.
Indeed, we’re thinking that there’s all sorts of custom filters and analysis that one could do with raw access to the oscilloscope’s data. Why haven’t we been doing this all along? Any of you out there have cool VISA tricks that you’d like to share?
Continue reading “No Spectrum Analyser? No Problem!”
One of [Dooievriend]’s friends recently pressed him into service to write software for a 3d spectrum analyzer/VU that he made. The VU is a fairly complex build: it’s made up of 1280 LEDs in a 16x16x5 matrix controlled by a PIC32 clocked at 80MHz. [Dooievriend] wrote some firmware for the PIC that uses a variation on a discrete Fourier transform to create a 3D VU effect.
When [Dooievriend] set out to design the audio analyzing portion of the firmware, his mind jumped to the discrete Fourier transform. This transform calculates the amplitude in a series of frequency bins in the audio—seemingly perfect for a VU. However, after some more research, [Dooievriend] decided to implement a constant Q transform. This transform is very similar to a Fourier transform, but it takes into account the logarithmic way that the human ear interprets sound.
[Dooievriend] started implementing the constant Q transform using an interrupt-based sampler, but he quickly ran into issues with slow floating-point math on his PIC32 (which doesn’t have a hardware floating-point unit). Thankfully he rewrote his code using fixed-point math, and the transform runs nearly real-time. Check out the video after the break to see the VU in action, and a second video that gives some details on the hardware build.
Continue reading “3D Spectrum Analyzer uses 1280 LEDs”
[Manekinen] built a very responsive spectrum analyzer. The components at the party are what you’d expect, an ATmega8 does the hard work interpreting data from the LM324 op-amp. This build stands out because it is fast and configurable. In fact, the explanation of the calibration process is where this project shines.
Instead of using water, an HD44780 module displays the spectrum data. The device currently supports several different character displays including 16×2, 20×2, 24×2, and 20×2. We’ve embedded a video of a 20×4 VFD in action after the break. As the video progresses, watch for the Polish words that pop up. This corresponds to the brightness and sensitivity being adjusted with the 5-button keyboard.
Continue reading “ATmega8 Spectrum Analyzer”