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.
[youtube=http://www.youtube.com/watch?v=qaiK_UoDqJw&w=470]
[youtube=http://www.youtube.com/watch?&v=9dBX1sY3pYI&w=470]
very nice project!
i need a MHZ to GHZ spectrum analyzer but being short of 10 grand i hoped to build one XD BUT i dont think thats really possible without eating a ton of noise XDD
If you use an FPGA you may be able to get your build cost down to near nothing
Have you seen the RF Explorer?
http://micro.arocholl.com/index.php?option=com_content&view=article&id=48:introducing-rf-explorer&catid=40:article&Itemid=64
Really cool project! Now I am inspired to finish up my analyzer…
Why use an FFT? Why not a notch filter with an ADC? I think Maxtor™ as a one chip solution for this.
because taking the easy way out is no fun.
I don’t think the final project requirements for the class would allow that. After all, it is a microcontroller design class.
Neat project, (& not to nit-pick) but the HaD headline says ‘Building a spectrum analyzer with *parallel processing*’, but the writeup details a serial process involving one MCU doing the FFT, then passing the results onto the second to handle the display – = ‘Parallel’?
Agreed. Parallel would be 2 ATmegas working on same algorithm somehow. This is just 2 micros doing 2 different jobs, that’s all.
It’s considered parallel because one processor is gathering data at the same time another is managing video … parallel doesn’t always mean ‘identical tasks at the same time.’
Not parallel processing. By this logic, every freakin system out there is multi parallel processing. Using a basic stamp to drive an LCD is then parallel processing because of the processor on the LCD glass! Two processors to blink an led, one to read the switch, the other to control segments on the glass.
Plain and simple, duel microcontrollers. Not parallel processing, the tasks aren’t even related, one micro is a video processing. Now if two chips were working together to compute everything then yes.
This is why I don’t stop here so much any more, the bar has been lowered so much, and titles are now done by the marketing department.
Whenever I see people complain about lack of computrons I think back to things achieved on (now) retro systems back in the day.
I used to have a realtime-FFT program (demo) on my Amiga, 16-bit/16MHz, one version captured (stereo) from parallel port ADC, one version played back ProTracker modules and plotted the FT. Search Aminet for “Infect Scope-PT”