Skip to content

Sound Intensity (p-p)

Sound pressure tells you how loud a point is; sound intensity tells you where the energy is going. It is the acoustic power flux (W/m²), a signed vector quantity — which is why intensity probes can localize sources, separate them from background noise and measure sound power in situ (ISO 9614) where a pressure measurement alone cannot.

A p-p probe holds two matched microphones a small distance Δr apart. The pressure at the probe center is their mean, and the particle velocity comes from the pressure gradient (Euler’s equation, finite-difference form):

p=p1+p22,u=1ρ0Δr(p2p1) dt,I=pup = \frac{p_1 + p_2}{2}, \qquad u = -\frac{1}{\rho_0\,\Delta r}\int (p_2 - p_1)\ dt, \qquad I = \overline{p\,u}

In practice the estimator works in the frequency domain through the cross-spectrum of the two channels (the standard’s equivalent form):

I(f)=Im{G12(f)}2πfρ0ΔrI(f) = -\,\frac{\mathrm{Im}\{G_{12}(f)\}}{2\pi f\,\rho_0\,\Delta r}

Two-microphone p-p intensity probe with the spacer distance and the measurement axisTwo-microphone p-p intensity probe with the spacer distance and the measurement axis

from phonometry import sound_intensity
res = sound_intensity(p1, p2, fs, spacing=0.012, fraction=3,
limits=[100, 2500])
print(res.total_intensity_level, res.total_direction) # LI [dB], ±1
print(res.frequency, res.intensity_level) # per band

Third-octave pressure and intensity levels for a plane progressive wave versus a standing waveThird-octave pressure and intensity levels for a plane progressive wave versus a standing wave

Left: in a plane progressive wave all pressure is transported — L_I ≈ L_p. Right: a standing wave carries (almost) no net energy — the pressure is high but the intensity collapses. The gap L_p − L_I is the pressure-intensity index, the fundamental quality indicator of every intensity measurement.

Two physical limits bound every p-p measurement, and the result object carries both:

  • High frequency: the finite-difference gradient underestimates I by sin(kΔr)/(kΔr)\sin(k\Delta r)/(k\Delta r) — verified in CI against IEC 61043 Table 3. IntensityResult.bias_correction provides the factor and max_valid_frequency (≈ 0.1·c/Δr; 2.9 kHz for a 12 mm spacer) the practical ceiling. Larger spacers reach lower frequencies, smaller ones higher.
  • Reactive fields: when pressure_intensity_index (F2 in ISO 9614-1) approaches the probe’s residual index δ_pI0, phase errors dominate. The ISO 9614-1 Annex A field indicators and the dynamic-capability criterion are available directly:
from phonometry import field_indicators, dynamic_capability_index
fi = field_indicators(pressure_levels, normal_intensity) # F2, F3, F4
ld = dynamic_capability_index(18.0) # δpI0 = 18 dB → Ld = δpI0 − K
ok = ld > fi.f2 # criterion 1
ParameterTypeUnitsRange / defaultNotes
p1, p21D arraysPaequal lengthMicrophone closer to the source first; reversing them flips the sign
fsintHz> 0
spacingfloatm> 0Microphone separation Δr (typ. 6/12/50 mm)
rhofloatkg/m³default 1.204Air density
cfloatm/sdefault 343.0Speed of sound (bias/validity estimates)
fractionint, optional1, 3 or None (default)Octave/third-octave band integration
limitslist, optionalHzdefault library band rangeBand analysis limits

See Theory for the derivations and Calibration for absolute scaling of the two channels.

Created and maintained by· GitHub· PyPI