maad.spl.pressure_at_r0

maad.spl.pressure_at_r0(f, r, p, r0=1, t=20, rh=60, pa=101325, a0=0.02)[source]

Estimate the pressure p0 at distance r0 from pressure p measured at distance r. This function takes into account the geometric, atmospheric and habitat attenuations.

Parameters:
f: scalar or array-like

frequency in Hz

r: scalar or array-like

distance in m at which p in Pa was measured

pscalar or array-like

pressure in Pa

r0scalar

distance at which p0 needs to be estimated (generally @1m)

t: scalar, optional, default is 20

temperature in °C

rh: scalar, optional, default is 60

relative humidity in %

pa: scalar, optional, default is 101325

atmospheric pressure in Pa

a0scalar, optional, default is 0.02

attenuation coefficient of the habitat in dB/kHz/m

Returns:
p0scalar or array-like

estimated pressure at distance r0. This is a scalar if p is a scalar or a vector if p and r are vectors or a matrix if p and r are matrix

Examples

Estimation of L0, knowing L=50dB SPL @60m @100Hz

>>> p = maad.spl.dBSPL2pressure(50)
>>> p0 = maad.spl.pressure_at_r0(100,60,p)
>>> L0 = maad.spl.pressure2dBSPL(p0)
>>> L0
85.68036510289447

Estimation of L0, knowing L=50dB SPL @60m @10000Hz

>>> p0 = maad.spl.pressure_at_r0(10000,100,p)
>>> L0 = maad.spl.pressure2dBSPL(p0)
>>> L0
120.53306313162624

Estimation of L0, knowing L=50dB SPL @10m @100Hz

>>> p = maad.spl.dBSPL2pressure(50)
>>> p0 = maad.spl.pressure_at_r0(100,10,p)
>>> L0 = maad.spl.pressure2dBSPL(p0)
>>> L0
70.01789933655922