[Noisebridge-discuss] Loudspeaker SPL calculation

Michael Shiloh michaelshiloh1010 at gmail.com
Mon Aug 2 23:41:37 UTC 2010


Still fighting with this. I think I understand, but my stubborn brain 
refuses to admit it until I beat it into submission by proof upon proof.

Tell me if I'm right here:

SPL1 = sound pressure level at distance r1
SPL2 = sound pressure level at distance r2

p1 = pressure  at distance r1
p2 = pressure  at distance r2

SPL1 = 20log(p1/p0) (definition)

thus

SPL2 - SPL1 = 20log(p2/p0) - 20log(p1/p0) (substitution)
             = 20 log p2 - 20 log p0 - ( 20 log p1 - 20 log p0 )
             = 20 log p2 - 20 log p1  (since 20 log p0 terms cancel out)
             = 20 log (p2/p1)
or

SPL2 = SPL1 + 20 log (p2/p1)


now if r2 > r1 then  p2 < p1 (pressure decreases with distance)

so p2/p1 < 1

so log (p2/p1) is negative

this makes SPL2 < SPL1 and I'm happy

Seem right?


On 07/29/2010 06:22 PM, Josh Myer wrote:
> On Thu, Jul 29, 2010 at 5:46 PM, Michael Shiloh
> <michaelshiloh1010 at gmail.com>  wrote:
>> By the way, I think the 1 Watt is a red herring and has nothing to do
>> with the calculation. There is a part B that changes the wattage, but
>> I'm not even sure it was needed there.
>>
>
> You're totally right.  And the answer to how to do this more
> efficiently is: correct one gotcha, then the wonder of log identities.
>
> Pressure is power over area.  The area of a 1m sphere is 4*pi*1^2, the
> area at 6.1m is 4*pi*6.1^2.  The ratio of the power-per-unit area at
> 1m vs 6.1m is thus
>
> 4*pi*1^2/(4*pi*6.1^2) = (1/6.1)^2
>
> If you solve for p_rms at 1m, then scale it down by the above factor
> to get p_rms at 6.1m, and solve for SPL at 6.1m, you'll find the right
> answer.
>
> Then, ask yourself: what's the difference between the two pressures?
> It's effectively division by 6.1^2, right?
>
> BUT FIRST!  A quick review of some handy log identities:
>
> log (a/b) = log(a) - log(b)
> log(a^b) = b*log(a)
>
> And let's apply those to a simple pattern, so we can see how they'll
> be applicable here.
>
> log(x*(1/6.1)^2) =  log(x) + log( (1/6.1)^2) = log(x) + 2*log(1/6.1) =
> log(x) - 2*log(6.1/1)
>
>
>
> AND WE'RE BACK: So, back to the question, can we be lazier in the
> computation here?
>
> Our original equation:
>
> 115 = 20 log(p_rms/p_ref)
>
> And our pressure at 6.1m is going to be p_rms*(1/6.1)^2, so we jump to
> that equation, with our new SPL an unknown:
>
> L = 20 log(p_rms_at_6.1m/p_ref) = 20 log(p_rms/p_ref*(1/6.1)^2)
>
> And now we bring it home with the log identities:
>
> L = 20 log (p_rms/p_ref) - 2*log(6.1/1)
>
> But!  115 = 20 log(p_rms/p_ref), so we can substitute that in and...
>
> L = 115 - 2*log(6.1/1)
>
> et voila.  Email is crap for formatting maths, so you may want to copy
> the above down to something more legible.
> --
> /jbm
>



More information about the Noisebridge-discuss mailing list