I am using a noise sensor (ADMP401) along with Arduino Mega. I use FFT to convert the noise sensor analog output to frequency domain, then remove the first 30 bins (to remove some board noise), then calculate the rms value of the remaining bins. So, during a period of 10 seconds (which is my polling period), I have a set of 12 rms values from which I take the median value to get the ambient noise equivalent.
Its working fine and I can see the output value responding to noises. I usually get an output of around 7 to 10 for silent conditions. The problem is, for some units, this base value of 7 to 10 shifts to around 2 to 3 after running for some time and then will remain at that lower level. Still the sensor will respond to noises. But since this shifting is happening, I am unable to correlate the output to dB levels.
I am using openmusiclabs FFT algorithm for arduino. Has anyone experienced this kind of behavior while working with noise sensors and FFT?