Hackaday Prize Entry: Open Source FFT Spectrum Analyzer

Every machine has its own way of communicating with its operator. Some send status emails, some illuminate, but most of them vibrate and make noise. If it hums happily, that’s usually a good sign, but if it complains loudly, maintenance is overdue. [Ariel Quezada] wants to make sense of machine vibrations and draw conclusions about their overall mechanical condition from them. With his project, a 3-axis Open Source FFT Spectrum Analyzer he is not only entering the Hackaday Prize 2016 but also the highly contested field of acoustic defect recognition.

open_fft_machineFor the hardware side of the spectrum analyzer, [Ariel] equipped an Arduino Nano with an ADXL335 accelerometer, which is able to pick up vibrations within a frequency range of 0 to 1600 Hz on the X and Y axis. A film container, equipped with a strong magnet for easy installation, serves as an enclosure for the sensor. The firmware [Ariel] wrote is an efficient piece of code that samples the analog signals from the accelerometer in a free running loop at about 5000 Hz. It streams the digitized waveforms to a host computer over the serial port, where they are captured and stored by a Python script for further processing.

From there, another Python script filters the captured waveform, applies a window function, calculates the Fourier transform and plots the spectrum into a graph. With the analyzer up and running, [Ariel] went on testing the device on a large bearing of an arbitrary rotating machine he had access to. A series of tests that involved adding eccentric weights to the rotating shaft shows that the analyzer already makes it possible to discriminate between different grades of imbalance.

The HackadayPrize2016 is Sponsored by:

Musical Shades

There are only so many blinking light patterns you can create with a microcontroller before you get bored. [Garrett] apparently felt that way and decided to build a music-driven LED display on some LED shades. The system has three main elements: a microphone, a preamp, and a 7-band spectrum analyzer chip. You can see the results in the video below.

Continue reading “Musical Shades”

A Better Spectrum Analyzer for your Rigol Scope

The Rigol DS1000 series of oscilloscopes are popular with hobbyists for good reason: they provide decent specs at a low price. However, their spectrum analysis abilities are lacking. While these scopes do have a Fast Fourier Transform (FFT) function, it’s limited and nearly useless for RF.

A FFT plotted by the PyDSA tool and a Rigol oscilloscope[Rich] wanted a spectrum analyzer for amateur radio purposes, but didn’t want to build his own sampling hardware for it. Instead, he wrote PyDSA, a software spectrum analyzer for Rigol DS1000 oscilloscopes. This tool uses the USB connection on the scope to fetch samples, and does the number crunching on a far more powerful PC. It’s able to plot a 16,000 point FFT at two sweeps per second when run on a decent computer.

PyDSA is a Python script that makes use of the Virtual Instrument Software Architecture (VISA) interface to control the scope and fetch the sample data. Fortunately there’s some Python libraries that take care of the protocol.

[Rich] is now able to use his scope to measure amateur radio signals, which makes a nice companion to his existing Teensy based SDR project. If you have a Rigol, you can grab the source on Github and try it out.

Hackaday Links: March 22, 2015

[Liam Kennedy] built a wearable space station notifier it’s on Kickstarter, and now the campaign is in its final hours. It’s very cool; doubly so if you don’t have to talk to a crazy lady who doubts the existence of NASA.

[countkillalot] lost a Raspberry Pi. It was in his apartment, and responded to ping, but he couldn’t find it. Turning the Pi into an FM transmitter revealed its location. Relevant bash.org.

If you don’t listen to the Amp Hour podcast, oh man are you in for a treat. This time it’s [Chuck Peddle], father of the 6502, designer of the KIM-1, and someone with at least three hours’ worth of interesting stories.

MakeIt Labs, the Nashua, New Hampshire hackerspace, has done everything right – they have their 501(c)(3), and they’ve been talking to the city about getting a new space. They have the option of moving into a space three times the size as their current one, and it’s cheaper than the current space. They have an indiegogo to raise the renovation funds for the new space. Oh, hackaday.io supports pages for hackerspaces. Just pointing that out.

Speaking of hackerspaces, yours needs this sign.

A 3-DAY DESERT CAMPING AND TECH-FEST WITH BEER. That’s all you need to know about Arduino Day, an event being held next weekend in the Mojave.

Want to hide from the NSA, or whatever governments or corporate interests are listening in on your phone? Stick it in a microwave. [WhiskeyTangoHotel] tested out a Tek RSA306 spectrum analyzer in a microwave, once with the door open, once with the door closed. If you’re exceptionally clever or have access to Wikipedia, you can figure out what frequencies will leak out of a microwave given the size of the holes in the metal mesh.

Here’s a Flintstones toilet paper holder. It would have been a phonograph, but no one could find a cooperative turtle and bird.

It has been brought to our attention that everyone should be aware ucapps.de still exists. If you want something that does everything with MIDI and SID chips, there you go.

Spectrum Analyzer on the Cheap

Provided you have an NTSC-compatible TV you can build yourself a really inexpensive spectrum analyzer. From there you just need one trivial piece of hardware to complete this build. [Bruce Land] has come up with a spectrum analyzer that shouldn’t cost any more than $5, if that’s what’s been keeping you from adding this tool to your workbench!

The spectrum analyzer is based on a PIC32 microcontroller which was previously proven in his Oscilloscope project. [Bruce] has managed to squeeze quite a bit out of this robust chip; the spectrum analyzer has 450 kHz bandwidth and runs a 256 Hz TV display and can output over 30 updates per second. The microcontroller runs the Fast Fourier Transform (FFT) to do calculations, with great results.

[Bruce] notes that the project was based on TV framework from another project, and that the FFT was added on top of that. Be sure to check out the source code on the project site if you’ve been on the hunt for an inexpensive spectrum analyzer, and if you need something with more processing power but only slightly more money, check out the FFT that runs on the Raspberry Pi’s GPU.

RTL SDR As A Spectrum Analyzer

RTL-SDR, the USB TV tuner turned software-defined radio is an amazing device, capable of listening to nearly anything from 25MHz to 1750MHz, fits in your pocket, and costs about $20. Even more astonishing is that it’s also a kinda-okay spectrum analyzer. [Kerry D. Wong] tested out one of these USB TV tuner, and the results are exactly what you would expect: it lacks a little precision, and sampling bandwidth is only a tiny bit terrible, but it does work.

A stock USB TV tuner doesn’t come with a connector that would normally be used for spectrum analysis. A BNC connector can be easily attached, as can a terminator to match the 75Ω impedance of the SDR. This isn’t really necessary; the frequencies being measured are low enough that you can get away without one.

As far as software goes, [Kerry] first pulled out the usual suspects of the SDR world; rtlsdr-scanner distorted the measured spectrum, as did a lot of other SDR receivers. Gqrx SDR was the first one that worked well, but the king of this repurposing of USB TV tuners was OSMOCOM. There’s a huge number of tools for spectrum analysis right out of the box with this package.

How did the RTL SDR fare as a spectrum analyzer? Feeding some stuff in from a signal generator, [Kerry] discovered the LO in the RTL SDR was off by a hair. Also, OSMOCOM only measures amplitude in dB, not the dBm found in every other spectrum analyzer ever made. By measuring a 0 dBm signal whatever value displayed can be shifted up or down.

So, does it work? Yes, it does. If, for some reason, you need a spectrum analyzer now, can you use this? Yep. Pretty cool.

Sine Waves, Squares Waves, and the Occasional FFT

I became aware of harmonics and the sound of different shaped waveforms early in my electronics career (mid 1970’s) as I was an avid fan of [Emerson Lake and Palmer], [Pink Floyd], [Yes], and the list goes on. I knew every note of [Karn Evil 9] and could hear the sweeping filters and the fundamental wave shapes underneath it.

bil1

I remember coming to the understanding that a square wave, which is a collection of fundamental and (odd) harmonics frequencies, could then be used to give an indication of frequency response. If the high frequencies were missing the sharp edges of the square wave would round off. The opposite was then true, if the low frequencies were missing the square wave couldn’t “hold” its value and the top plateau would start to sag.

Continue reading “Sine Waves, Squares Waves, and the Occasional FFT”