DSPRelated.com
Forums

RMS -> SPL

Started by Emanuele October 16, 2003
Hi to everyone,
I've to calculate the SPL value of the waveform from the digital values of
audio samples incoming from the audiocard (Echo Layla24). I get the audio
sample buffer using Asio protocol. I can calculate the RMS value of buffer,
but how can i calculate the SPL value?? Is there a way to obtain the SPL
from RMS??

Thanks in advance!


"Emanuele" <eman1975@libero.it> wrote in
news:ivFjb.42076$vO5.1531943@twister1.libero.it: 

> Hi to everyone, > I've to calculate the SPL value of the waveform from the digital > values of audio samples incoming from the audiocard (Echo Layla24). I > get the audio sample buffer using Asio protocol. I can calculate the > RMS value of buffer, but how can i calculate the SPL value?? Is there > a way to obtain the SPL from RMS?? > > Thanks in advance! > > >
To calculate the SPL (sound pressure level), you need to know the sensitivity of the transducer (mic?) and the gain structure of the soundcard. With a typical sound card this is sometimes more difficult than you think. The easiest way is to measure the output of a acoustical calibrator and compare. Often a weighting network is applied (A weighting is most common). The value is usually expressed in dB re 20uPa. -- Al Clark Danville Signal Processing, Inc. -------------------------------------------------------------------- Purveyors of Fine DSP Hardware and other Cool Stuff Available at http://www.danvillesignal.com
"Al Clark" <dsp@danvillesignal.com> wrote in message
news:Xns9416BBF1D4432aclarkdanvillesignal@66.133.130.30...
> "Emanuele" <eman1975@libero.it> wrote in > news:ivFjb.42076$vO5.1531943@twister1.libero.it: > > > Hi to everyone, > > I've to calculate the SPL value of the waveform from the digital > > values of audio samples incoming from the audiocard (Echo Layla24). I > > get the audio sample buffer using Asio protocol. I can calculate the > > RMS value of buffer, but how can i calculate the SPL value?? Is there > > a way to obtain the SPL from RMS?? > > > > Thanks in advance! > > > > > > > > To calculate the SPL (sound pressure level), you need to know the > sensitivity of the transducer (mic?) and the gain structure of the > soundcard. With a typical sound card this is sometimes more difficult > than you think. The easiest way is to measure the output of a acoustical > calibrator and compare. > > Often a weighting network is applied (A weighting is most common). The > value is usually expressed in dB re 20uPa.
The exact formula is SPL = 20*log10( RMS/(20e-6) ) where, RMS = SQRT(SUM( S1^2 + S2^2 + S3^2 + ... + Sn^2 )/N), where Si is the i-th sample of N samples. where Si are the values scaled according the the calibration factor you determine from above. This basically means you will need to decide on a time period (number of samples) to applied the RMS calculation to.
"J" <j@n.c> wrote in message news:QbOdne-cGNZwyxKiRVn-sA@comcast.com...
> > "Al Clark" <dsp@danvillesignal.com> wrote in message > news:Xns9416BBF1D4432aclarkdanvillesignal@66.133.130.30... > > > > Often a weighting network is applied (A weighting is most common). The > > value is usually expressed in dB re 20uPa. >
I should add that it is preferred to A-weight a signal to make it relate better to perceived loudness (although there are more accurate weighting scheme A-weighting is a common standard in North America).
"Al Clark" <dsp@danvillesignal.com> a &#4294967295;crit >
| To calculate the SPL (sound pressure level), you need to know the
| sensitivity of the transducer (mic?) and the gain structure of the
| soundcard. With a typical sound card this is sometimes more
difficult
| than you think. The easiest way is to measure the output of a
acoustical
| calibrator and compare.
| Often a weighting network is applied (A weighting is most common).
The
| value is usually expressed in dB re 20uPa.

I agree.

Computing A-weighting curve coefficients (for fixed point DSP) was not
an easy task ! (but i succed with 4 biquads).
I first compute RMS on a small time period then compute LEQ
(mean(RMS)) on 1 second.
I compute log(LEQ) value and add a calibration constant (depending on
the pre-amplifiers)

If you want to calculate SPL you should use a time-constant too when
computing RMS (sound level meter usually displays fast or slow SPL)
Am I wrong ?

Bonne Chance ! :o)
Curl


"Curl" <Mr.Bilou@microsoft.fr> wrote in news:3f8fa6a2$0$27605
$626a54ce@news.free.fr:

> > "Al Clark" <dsp@danvillesignal.com> a &#4294967295;crit > >| To calculate the SPL (sound pressure level), you need to know the >| sensitivity of the transducer (mic?) and the gain structure of the >| soundcard. With a typical sound card this is sometimes more > difficult >| than you think. The easiest way is to measure the output of a > acoustical >| calibrator and compare. >| Often a weighting network is applied (A weighting is most common). > The >| value is usually expressed in dB re 20uPa. > > I agree. > > Computing A-weighting curve coefficients (for fixed point DSP) was not > an easy task ! (but i succed with 4 biquads). > I first compute RMS on a small time period then compute LEQ > (mean(RMS)) on 1 second. > I compute log(LEQ) value and add a calibration constant (depending on > the pre-amplifiers) > > If you want to calculate SPL you should use a time-constant too when > computing RMS (sound level meter usually displays fast or slow SPL) > Am I wrong ? > > Bonne Chance ! :o) > Curl > > >
Leq is a linear average and Fast (125ms) and Slow (1s) time constants refer to exponential averaging. Both are routinely used in acoustics measurements. I would be interested in your A Weight filter solution and approach. -- Al Clark Danville Signal Processing, Inc. -------------------------------------------------------------------- Purveyors of Fine DSP Hardware and other Cool Stuff Available at http://www.danvillesignal.com