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 |
ISO 9613-2:2024 Corrections:
The 2024 revision adds Kgeo geometric correction (§7.3) to scale Agr down at short distances where source and receiver regions overlap, and barrier ground cancellation (§7.4) to zero positive Agr for barrier-blocked paths. See the ISO 9613-2:2024 revisions section below.
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.
Note: The grid engine uses a simplified asymptotic approximation (valid for |w| ≥ 4). The full Weideman N=32 computation is used in the probe engine only.
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.
ISO 9613-2:2024 Alternative:
The 2024 revision replaces the Maekawa formula with Dz = −10·log₁₀(1 + 2 + C₂/λ·C₃·δ·Kmet), which includes explicit meteorological correction for wind/temperature gradient effects on barrier effectiveness. See the ISO 9613-2:2024 revisions section below.
The 2024 revision (ISO 9613-2:2024 — "Engineering method") supersedes ISO 9613-2:1996 with three corrections to the ground effect and barrier diffraction models. All three are optional in GeoNoise — select the ISO 9613-2:2024 calculation profile or enable individually.
1. Kgeo Geometric Correction (§7.3)
At short source–receiver distances, the three-region ground model (As + Ar + Am) becomes geometrically invalid because source and receiver regions overlap. Kgeo reduces Agr in this regime:
where dp = horizontal distance [m], hs = source height [m], hr = receiver height [m]. Applied as: Agr,2024 = Kgeo × Agr.
Behavior: Kgeo → 1.0 for dp >> hs + hr (1996 and 2024 agree at distance). Significant only below ~20 m. Dimensionless: [m²]/[m²].
| dp | hs | hr | Kgeo | Effect |
|---|---|---|---|---|
| 100 m | 1 m | 1.5 m | 0.999 | <0.1% — negligible |
| 20 m | 1 m | 1.5 m | 0.985 | ~2% reduction |
| 5 m | 1 m | 1.5 m | 0.808 | ~19% reduction |
2. Barrier Ground-Effect Cancellation (§7.4)
When a barrier blocks the direct path, the ground reflection geometry is disrupted. The 2024 revision cancels positive ground attenuation for blocked paths:
This is the conservative choice — it predicts higher noise levels at the receiver. Ground boosts (Agr < 0 from constructive interference) are preserved.
Algebraically: the standard writes Abar = Dz − Agr. In the total sum Adiv + Aatm + Agr + Abar, the Agr terms cancel. GeoNoise implements this equivalently by setting Agr = 0.
3. Revised Barrier Dz + Kmet (§7.4)
Replaces the 1996 Maekawa formula with a revised insertion loss that includes explicit meteorological correction:
Condition: δ > zmin. If δ ≤ zmin, Dz = 0.
where C2 = 20 (thin/single-edge) or 40 (thick/building), C3 = 1 (single diffraction), λ = c/f [m], δ = path difference [m].
Meteorological correction:
where dss, dsr = source/receiver to diffraction edge [m], e = edge separation [m] (0 for thin barriers), d = total distance [m]. For lateral (horizontal) diffraction: Kmet = 1.
Why revised: The 1996 Kmet over-corrected at large distances with low barriers, predicting near-zero barrier attenuation that contradicted field measurements. The 2024 formula uses (δ − zmin) in the denominator and max/min ordering to prevent this.
Dz produces ~2–3 dB less attenuation than 1996 Maekawa for the same geometry, consistent with the revision intent. Caps: 20 dB (thin), 25 dB (thick).
Dimensional Verification:
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):
GeoNoise includes a library of 40 pre-defined noise source templates based on standardized emission data from ASHRAE Handbook, BS 5228, and FHWA RCNM.
Categories:
Data sourced from ASHRAE Handbook, BS 5228, and FHWA RCNM.
Known Limitations:
ISO 9613-2:2024 Support:
Numerical Guards:
Map Integration:
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 | Physical Impedance or ISO 9613-2 |
| 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