Converting an analog value (measured with a sound sensor) into a sound power level (in watts)

Hi,
For a project, I need to measure a sound power level (in watts). Therefore, I'm going to use a sound sensor (GT1146 likely) but it will return a value between 0 and 255. And I'm wondering if it's possible to convert this value into a sound power level, and if so how to do it.
Thanks in advance

It won't return a value between 0 and 255 as you read the analog output. So on a UNO you'll get something between 0 and 1023 for example from your ADC.

If you have a good calibration device that can effectively measure the power level (whatever that is), you could use that to built the transfer function between your [0, 1023] value from the ADC and the power.

But I don't think the quality of the electret in your GT1146 is going the be a very good sensor that board is more meant to be use with the digital out and detect a sound that is higher than the threshold you set with the potentiometer.

Thanks for your response. I will think about getting a better sound sensor. In fact, it's finding the transfer function that I have a problem with. Perhaps I should rather try converting my value into a value in decibel, it might be simpler.
I'll keep looking. Thanks again!

Can you be more specific? Elaborate. Once you establish a single point gain calibration, the relationship between the calibration devices and your device readings is likely to be almost linear, as microphones are essentially linear devices. Conversion between voltage, power, and decibels is just math.

Do you have access to a true Sound Power meter ?

The decibel is not an absolute measurement, but indicates the relationship or ratio between two signal levels

You'll find discussion about SPL (sound pressure level) which can be measured in dB: 0 dB represents the threshold of normal human hearing, 130 dB represents the threshold for pain

Yes, SPL is specified as sound intensity relative to an arbitrarily determined reference sound intensity.

My goal is to carry out several measures : I'll put the sound sensor between earphones, and I want my program to return the volume level (W/m²), the sound pressure level (dB) and the sound power level (W) (With one of these, i can calculate the others with formulas, the issue, here, is that I don't know how to convert the value between 0 and 1023 into a value I'll be able to use).
Then, I will vary the distance between the sound sensor and earphones, and the volume of the music coming out of the earphones. So, I wil have a lot of values to draw some interpretations about the dangerousness of sound (it is the goal of my study).
I'll check the discussion about SPL, thanks for the advice.

And about this observation :

I have access to one but the aim in using Arduino is to automate to some extent the taking of measurements and make summary tables at the end.

so use it to built the transfer function.

basically you have a small code that just prints an analogRead() and you make a "constant noise" and compare the value you see (0 to 1023) with what the watt reading is.

you do that for a number of points and see if the curve you get is linear or not. if it is, a simple map() would do. if it is not, you need to either approximate the curve with a number of lines (affine functions) or find a polynomial expression fitting the curve best. If this is too difficult, a look up table could also be an option...

I will try that. Thanks !

If the output v is an amplitude, which is likely, the formula is 20 log10 (v) + k,
where k you'd determine by comparison to a reference measurement microphone.

Precision sound sources are very expensive, note, but cheap, fairly good, measurement microphones are available these days, some come with individual calibration curves.

Note that you have to be aware of the effect of the room, acoustics is messy outside of an anechoic chamber.

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.