Noise detection data logger - wireless

Yep, use an omnidirectional electret with a flat frequency response into the ADC of a microcontroller.

To measure subjective loudness (which I believe is also what you want to measure for hearing protection), you should probably use A-weighting, or at least filter out very low or very high frequencies. You wouldn't want false positives from ultra low frequencies that encourage them to ignore the warnings, for instance. ("In almost all countries, the use of A-frequency-weighting is mandated to be used for the protection of workers against noise-induced deafness.")

Then do an RMS measurement of the samples over a period of time to get the perceived loudness.

Digital:

Here's a high-level implementation of A-weighting in MATLAB and Python for reference.

I suppose micro ADCs don't have any anti-aliasing built-in, so you'd have to add an anti-aliasing filter. Sampling frequency would have to be pretty high.

Analog:

You could also do the filtering and RMS measurement in hardware, and just sample the output of that at a much slower rate with the micro. Here's a hardware A-weighting filter or you could do a simpler band-pass filter for a rough estimate. It's possible to do true RMS measurements in hardware, but I don't know the circuits. You can get a similar "VU meter" result by full-wave rectifying and filtering, which is probably good enough for your task. That's all mixing boards use for their meters.

"so maybe decibel samples"

If you're just using a threshold on the RMS measurement then you don't need to convert to dB or anything.

"need to send samples at least every second"

I'd do the RMS processing in the micro in the sensor, and then just send a single measurement of loudness each second. You don't need to send the actual audio samples.

Tags:

Audio

Sensor