I am currently working on a project to see an audio spectrum on my VGA monitor by speaking into a microphone connected to the board or by playing an audio file from the computer.
I've been mostly working alone and had to document myself on all the details.
From my understanding, I have to save the audio samples in a RAM then send the samples to a module where the FFT calculations take place then save the FFT samples in another RAM and by using a VGA controller, display them on my monitor.
The questions I have:
- Is my understanding correct?
- Can I create a FFT module on my Cyclone II board? I have problems with implementing it. I tried using IP Cores but I saw that they are not available for this board model. (?)
- If I somehow get to the part where I need to display the spectrum, how do I make it look like a spectrum, I was wondering if I can be pointed in the right direction with an article or two.
Those are my questions for now.
Thanks in advance!
Yes, you may be correct. Thats the way to go with Audio/Video processing and using DSP functions.
As for your 2nd question, DSP blocks are only available for later and specific FPGAs aka, Cyclone IV, V, Arria, Stratix. It may not be available for lower / older devices. These DSP blocks are hardware MAC cells that let you do various DSP operations easily using FPGAs.
Since they are not available for your device, you will have to design/code them manually or get an IP from 3rd party vendor thats compatible with the FPGA on your board.