fft analysis with microphone electret + amplification

Hello there,

I am trying to make a system with arduino due that be capable to acquire sound between 20 Hz - 20KHz
and make the FFT analysis to send to my computer via wifi.

I bought a microphone electret and i think, i'll buy a chip to amplify the signal and connect it to ADC arduino for make FFT Analysis.

Do you guys know about some chip that can make this work?? i thought about max9814 but i don't know is compatible with the arduino.

The other question is about ADC included in arduino. This ADC with 12 bits, it is suficient to make a FFT analysis ?

I am trying to make a system with arduino due that be capable to acquire sound between 20 Hz - 20KHz...

...The other question is about ADC included in arduino. This ADC with 12 bits, it is suficient to make a FFT analysis ?

Which Arduino? The Arduino Due has a 12-bit ADC, but the Uno is only 10-bits.

The Uno looses bit-accuracy above a sample rate of 15kHz which means audio only to 7.5kHz.

How much resolution do you need? Required bit-depth depends on your required amplitude resolution. People make Spectrum Analyzer effects with the 10-bit Uno all the time but you can't make a "real" spectrum analyzer with it.

Note that the audio should be low-pass filtered to block any frequencies above the Nyquist limit (half the sample rate). Any signals above the Nyquist limit will result in aliasing (false frequencies). Of course this has to be an "analog" filter in-front of the ADC because the aliasing appears during sampling.

If you are making a non-critical lighting effect or something like that, sometimes you can get-away without filtering because the highest frequencies in normal audio are low-level so the aliases are low-level.

and make the FFT analysis to send to my computer via wifi.

You could run into speed limitations depending on how often the FFT data is updated.

Do you guys know about some chip that can make this work?? i thought about max9814 but i don't know is compatible with the arduino.

That could work. Any preamp that can put-out a couple of volts, biased so the signal doesn't go negative, will work. If you're running it from 5V, use a "rail-to-rail" chip to use the maximum ADC range.

The MAX chip has AGC which could be an advantage or disadvantage. If you want relative frequency levels, or you're making a lighting effect or a guitar tuner AGC is an advantage. However, it makes it impossible to get accurate absolute (amplitude) measurements.

Usually I recommend the [u]SparkFun Microphone Breakout Board[/u] (or copy the schematic which is published) or buy something similar. The one negative about that particular board is that it has fixed gain so you can't adjust the sensitivity..