Real-time 2.5 dimension outdoor acoustic simulation
GeoNoise implements ISO 9613-based outdoor sound propagation with coherent phasor summation for multi-path interference modeling. All calculations are performed per octave band (63 Hz – 16 kHz).
Point source spherical spreading models how sound energy spreads over an expanding sphere.
where d = 3D distance (m), 10·log₁₀(4π) ≈ 10.99 dB for full spherical radiation.
Derivation: Power flux Φ = W/(4πr²), therefore Lp = LW - 10·log₁₀(4πr²)
Cylindrical spreading (line sources): Uses 2π instead of 4π, as energy spreads over a cylinder's circumference rather than a sphere's surface area. Formula: Adiv = 10·log₁₀(d) + 10·log₁₀(2π), where 10·log₁₀(2π) ≈ 7.98 dB.
Air absorbs sound energy through viscous, thermal, and molecular relaxation processes.
ISO 9613-1: Calculates α from temperature, humidity, and pressure.
The coefficient $\alpha$ combines classical losses with N₂ and O₂ molecular relaxation.
Simple: Uses the lookup table below at standard conditions (20°C, 70% RH).
| 63 Hz | 125 Hz | 250 Hz | 500 Hz | 1 kHz | 2 kHz | 4 kHz | 8 kHz | 16 kHz |
|---|---|---|---|---|---|---|---|---|
| 0.1 | 0.4 | 1.0 | 1.9 | 3.7 | 9.7 | 33 | 117 | 392 |
Values in dB/km
Ground effect accounts for sound interaction with the ground surface. GeoNoise offers two models:
ISO 9613-2 Table 3 (Standard Compliant):
Divides the path into source, middle, and receiver regions. Each region uses height-dependent exponential functions per octave band.
S ──────────────────────────────────────── R │←── As ──→│←────── Am ────────→│←── Ar ──→│ │ source │ middle │ receiver │ └──────────┴────────────────────┴──────────┘
As, Ar per band (use h=hs or hr, dp=min(30h, d)):
| Band | Formula |
|---|---|
| 63 Hz | $A = -1.5$ (fixed) |
| 125 Hz | $A = -1.5 + G \cdot a'(h, d_p)$ |
| 250 Hz | $A = -1.5 + G \cdot b'(h, d_p)$ |
| 500 Hz | $A = -1.5 + G \cdot c'(h, d_p)$ |
| 1 kHz | $A = -1.5 + G \cdot d'(h, d_p)$ |
| 2–8 kHz | $A = -1.5(1-G)$ |
where the Table 3 functions are:
Am: 63 Hz → $-3q$ · 125–8 kHz → $-3q(1-G_m)$ · where $q = \max(0, 1 - 30(h_s+h_r)/d_p)$
Two-Ray Phasor Model (Physically Accurate):
Models coherent interference between direct and ground-reflected paths:
Γ via Delany-Bazley impedance: Zn = 1 + 9.08(f/σ)-0.75 − j·11.9(f/σ)-0.73. Captures constructive/destructive interference (ground dip).
Model Comparison:
| Aspect | ISO 9613-2 | Two-Ray Phasor |
|---|---|---|
| Standards | Compliant | Physics-based |
| Frequency | Exponential h/d functions | Wavelength-based phase |
| Interference | Empirical (Table 3) | Full wave interference |
| Ground dip | Not modeled | Naturally captured |
Corrects the plane-wave Fresnel coefficient for spherical wave spreading near the ground. Transitions from Q → 1 (near-field) to Q → Γplane (far-field).
Numerical distance (complex):
Boundary loss factor via Faddeeva function:
wofz computed via Weideman (1994) N=32 rational approximation — O(1), stable across the entire complex plane. No Taylor series or region switching.
Limits: ν → 0 ⇒ F → 1 ⇒ Q → 1 (total reflection) · |ν| → ∞ ⇒ F → 0 ⇒ Q → Γplane · Passive surfaces: |Q| ≤ 1 enforced.
Sound diffracts over and around barriers. Attenuation depends on the path difference δ.
Over-Top Diffraction (vertical):
S R
\ /
\ δ = A+B-d /
A ──→ ● ←── B
│
═══════╧══════ Barrier
Insertion loss:
Side Diffraction (horizontal):
Sound can also bend around the ends of finite-length barriers:
════════════════ Barrier (top view)
● ●
Left Right
Edge Edge
↑ ↑
S ─┘ └─ R
(around left) (around right)
Path difference for side: $\delta = |S \to Edge| + |Edge \to R| - |S \to R|$
The path with minimum δ (over-top or around sides) determines the effective attenuation.
Side Diffraction Toggle:
| Mode | Behavior |
|---|---|
| Off | ISO 9613-2 infinite barrier assumption. Only over-top diffraction. |
| Auto | Enable side diffraction for barriers < 50m (recommended default). |
| On | Always compute side diffraction for all barriers. |
Low frequencies diffract easily → less attenuation. High frequencies are blocked effectively.
Reflections from building walls computed using virtual image sources:
Wall
│
S ──────●────── R
\ │ /
\ │ /
S' │ (S' = mirror of S across wall)
Reflections are validated for line-of-sight and checked against other buildings.
Multiple paths from the same source are summed with phase (capturing interference):
This captures:
Multiple sources are summed energetically (incoherent):
Known Limitations:
Numerical Guards:
GeoNoise uses two calculation engines optimized for different use cases. Understanding when each is applied helps interpret results correctly.
┌─────────────────────────────────────────────────────────────────┐ │ GeoNoise Calculation Flow │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ ┌──────────────┐ ┌──────────────┐ │ │ │ Sources │ │ Receivers │ │ │ │ (with Lw/f) │ │ Grids │ │ │ └──────┬───────┘ │ Probes │ │ │ │ └──────┬───────┘ │ │ ▼ │ │ │ ┌──────────────────────────────────────────────────────────────┤ │ │ PATH FINDING │ │ ├──────────────────────────────────────────────────────────────┤ │ │ │ │ │ ┌─────────────────────┐ ┌─────────────────────────────┐ │ │ │ │ GRID ENGINE │ │ PROBE ENGINE │ │ │ │ │ │ │ │ │ │ │ │ • Single path │ │ • Ray tracing (multi-path) │ │ │ │ │ • Direct + best │ │ • Ground reflection rays │ │ │ │ │ diffraction │ │ • Wall reflection rays │ │ │ │ │ • A_gr handles │ │ • Side diffraction paths │ │ │ │ │ ground effect │ │ • Used for: Probes only │ │ │ │ └─────────┬───────────┘ └─────────────┬───────────────┘ │ │ │ │ │ │ │ └─────────────┼──────────────────────────────┼─────────────────┤ │ ▼ ▼ │ │ ┌──────────────────────────────────────────────────────────────┤ │ │ ATTENUATION (ISO 9613-2) │ │ ├──────────────────────────────────────────────────────────────┤ │ │ For each path, apply per-band: │ │ │ • A_div (geometric spreading) │ │ │ • A_atm (atmospheric absorption) │ │ │ • A_gr (ground effect — ISO or Two-Ray phasor) │ │ │ • A_bar (barrier diffraction if blocked) │ │ └──────────────────────────────────────────────────────────────┤ │ │ │ │ ▼ │ │ ┌──────────────────────────────────────────────────────────────┤ │ │ SUMMATION │ │ ├──────────────────────────────────────────────────────────────┤ │ │ │ │ │ ┌─────────────────────┐ ┌─────────────────────────────┐ │ │ │ │ INCOHERENT │ │ COHERENT (Phasor) │ │ │ │ │ │ │ │ │ │ │ │ L = 10·log₁₀(Σ10^ │ │ p = Σ pᵢ·e^(jφᵢ) │ │ │ │ │ (Lᵢ/10)) │ │ L = 20·log₁₀|p| │ │ │ │ │ │ │ │ │ │ │ │ • Power summation │ │ • Phase-aware interference │ │ │ │ │ • Fast, stable │ │ • Captures nulls & peaks │ │ │ │ │ • Used by: Grids │ │ • Used by: Probes │ │ │ │ └─────────────────────┘ └─────────────────────────────┘ │ │ │ │ │ └──────────────────────────────────────────────────────────────┘ └─────────────────────────────────────────────────────────────────┘
| Aspect | Grid Engine | Probe Engine |
|---|---|---|
| Path count | 1 per source | Multiple (ray traced) |
| Ground effect | ISO or Two-Ray phasor | Two-ray phasor |
| Wall reflections | No | Yes (first-order) |
| Summation | Incoherent (power) | Coherent (phasor) |
| Ground interference | With Two-Ray only | Always (if enabled) |
| Multi-path interference | No (walls, etc.) | Yes (walls, diffraction) |
| Ground dip | With Two-Ray enabled | Naturally emerges |
| Performance | Fast (grid-parallel) | Slower (per-probe) |
| Output | Heatmap, single dB value | Frequency response curve |
Grids/Receivers need to compute thousands of points quickly for heat maps. Using multi-path ray tracing everywhere would be prohibitively slow. The ISO 9613-2 single-path approach is designed for this: it's an engineering standard optimized for outdoor prediction across large areas with acceptable accuracy.
Probes are point measurements where you want detailed frequency response. Ray tracing + coherent summation reveals interference effects invisible to incoherent methods: the ground dip phenomenon, wall reflection comb filtering, and barrier edge diffraction patterns.
Both engines share the same ISO 9613-2 attenuation functions for Adiv, Aatm, Agr, and Abar. The difference is in how many paths are traced and how they're combined at the receiver.
Enter your Mapbox access token to enable map overlays