1
$\begingroup$

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?

$\endgroup$
  • $\begingroup$ A couple basic questions: are you sure your FFT isn't integrating over long history? Are you sure you're removing 30 bins centered around zero Hz (as opposed to removing one 'wing' or the other)? Since presumably your analog sensor and your FFT don't "know" how long the system was running before you started processing, any shift is highly unlikely to be related to actual changes in the noise bandwidth. $\endgroup$ – Carl Witthoft Sep 21 '16 at 13:12
  • $\begingroup$ FYI, Looks like ADMP401 is obsolete part. $\endgroup$ – Mahendra Gunawardena Sep 22 '16 at 9:56
1
$\begingroup$

I figured out something strange while testing this. We tested the units in a reverberation chamber which is almost completely sound insulated for almost close to 24 hours and the base range never shifted to lower level. Also, the values were very stable. Took it back again to our deployment place and the shift happened after around 2 hours. The values are unstable too; it's moving up and down in small levels. (All the test done with no noise, may be the air conditioner and a PC humming noise was there in the background). Does that mean that the noise sensor is behaving differently in different environments; may be picking up some frequencies ? Clueless.

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.