Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

spectrum analyzer

Status
Not open for further replies.

amorag59

Automotive
Dec 2, 2012
2
0
0
US
hello, I am new to eng-tips, so I hope this isn't too much a shot in the dark, but I was wondering if there was any recommendation out there on the best means of creating a digital spectrum analyzer. Heres an example I contacted the user and he said he used a method of fast fourier transform in C++. Is there an easier way to accomplish this? I want to make a strobe lighting system that sets off light strobes and various frequencies.

Thanks!
Amorag
 
Replies continue below

Recommended for you

Twenty years ago, I programmed am SBC to do FFTs, in assembler and FORTH. Of course, on a 2MHz 8080, each calculation took a couple of seconds, so it was nowhere near real-time. My point is that the algorithms are out there.

But doing an FFT (and then a window discriminator) seems like a lot of work to make a frequency- sensitive strobe trigger to process what I'm assuming is an audio input. People have been making strobe boxes for decades, and I guarantee they weren't using FFTs explicitly. Search on frequency sensitive audio circuits, which are more commonly called filters. E.g., you would feed the same signal in parallel to multiple bandpass filters having different center frequencies, with the output of each filter set up to trigger a strobe when substantial energy appeared at that filter's center frequency.

You can learn a lot doing the job with analog components.
You can also probably find a single chip that will do most of the work, but you'll learn less from the experience of plugging it in.

I'm pretty sure you can also do this stuff with DSP chips. I have a sample board here somewhere; I should mess with it before it dies of old age, or I do.







Mike Halloran
Pembroke Pines, FL, USA
 
Here's a project making an audio spectrum analyzer that displays on a TV with an Arduino. This is probably the easiest and relatively inexpensive. Instead of the TV interface you could probably get it to control whatever you want...

A couple other routes:
Here's a chip that divides the audio spectrum into seven bands. 63Hz, 160Hz, 400Hz, 1kHz, 2.5kHz, 6.25kHz and 16kHz. The seven frequencies are peak detected and multiplexed to the output to provide a DC representation of the amplitude of each band. No external components are needed to select the filter responses. Only an off chip resistor and capacitor are needed to select the on chip clock oscillator frequency. The filter center frequencies track this frequency.

This chip has a sibling that realizes six 1/6 octave filters. With some cleverness you could make a spectrum analyzer spanning the audio range with 60 bands.
 
Any old win98 or XP puter with Cool Edit Pro 2 displays an exceppent FFT with Log/Linear display and wide dynamic range and selection of filter criteria.

Real time using Stereo Mixer as your Recording device will listen to playback music either recorded or playback.

Knowing how to choose the right driver to enable this is CRUCIAL in Windows from XP to Win7 and not relying on MS or OEM to provide these. They do exist for most.
 
Any old win98 or XP puter with Cool Edit Pro 2 displays an exceppent FFT with Log/Linear display and wide dynamic range and selection of filter criteria.

Real time using Stereo Mixer as your Recording device will listen to playback music either recorded or playback.

Knowing how to choose the right driver to enable this is CRUCIAL in Windows from XP to Win7 and not relying on MS or OEM to provide these. They do exist for most.

Audacity also has a Spectral Analyzer but I never tried it on Live, just recordings, It has a 90 dB range
 
Status
Not open for further replies.
Back
Top