// WIKI

noise-barrier-calc

Noise-barrier attenuation calculator: ISO 9613-2 §7.4 + Maekawa selectable, per octave band. Live tool at /en/tools/barrier-calculator/.

Published on Updated on JavaScriptLeafletISO 9613-2MaekawaNoise barrierApache-2.0
Code on GitHub ↗

noise-barrier-calc is a demonstrative tool for verifying a noise barrier directly in the browser. Line/area/point source, barrier defined as a polyline with uniform height, a receiver grid plus up to 5 manual receivers: the tool computes the insertion loss per octave band applying ISO 9613-2:2024 §7.4 (current edition, implemented; 1996 available as comparison mode) or Maekawa diffraction, sharing its physics engine with the companion tool acmap. Current status: v0.9.3 working — functional tool available at /en/tools/barrier-calculator/. This page summarises the README and documents the method, assumptions and result interpretation; the authoritative code reference remains GitHub.

Status and roadmap

The tool is at v0.9.3 working (updated 25 August 2026): the standalone repo and the web tool now share the same engine, generated from the site’s TypeScript sources and guarded by a numerical check that freezes 64 reference values. Available as a runnable web tool at /en/tools/barrier-calculator/, as well as open-source code on GitHub.

Roadmap:

  • v0.9.1 — Engine updated to ISO 9613-2:2024 (Dz and Kmet §7.4.1); 1996 mode available as comparison option
  • v0.9.2 — Lateral diffraction §7.4.3 around the barrier’s vertical edges + combining §7.4.4 (formula 25), with the ISO 9613-2:2024 method
  • v0.9.3 — Four model corrections after a review: A_bar = D_z − A_gr (§7.4: the screen replaces the ground effect; both were previously summed and IL was overstated by A_gr, up to ~4.6 dB over absorbing ground at 500 m); K_met with the screen-to-receiver distance instead of the total; source discretisation that conserves power (line by tributary length, area on a grid covering the rectangle); source spectra normalised to 0 dB
  • Multi-barrier cascade support (C3 ≠ 1 ISO 9613-2)
  • Per-octave-band ground effect (currently frequency-independent — see Assumptions)
  • CSV-loadable source spectra (currently presets only)

Why a separate tool

Technically, barrier calculation is a particular case of the building diffraction already implemented in acmap. But the “Tecnico Competente in Acustica” use case is specific and frequent: “if I put a 3-metre barrier here, can I drop below the legal limit?”. A dedicated tool means cleaner UI, no mode switching, immediate output (insertion loss in dB).

What it does

Leaflet map with a placeable source (Lw, height, spectrum among 6 presets: urban road, extra-urban road, motorway, passenger train, freight train, industrial), a barrier drawable as a blue polyline with uniform height, a configurable receiver grid. Computes the insertion loss IL = Leq_no_barrier − Leq_with_barrier per octave band (8 bands, 63 Hz – 8 kHz) with three selectable diffraction methods: ISO 9613-2:2024 §7.4 (default, the edition in force), ISO 9613-2:1996 §7.4 (comparison mode, with K_met) or Maekawa 1968 (original). Moving the default from 1996 to 2024 shifts the values by 0.00-0.21 dB across the repo’s verification grid: below the uncertainty of any field measurement, but a real change — to reproduce pre-v0.9 results exactly, select 1996.

Professional visualisation with filled 5 dB bands overlaid on the OSM map, isolines, gradient legend with ticks, a cursor with live readout of values at the pointer. Spectrum tooltip on mouseover of each grid receiver — labelled “FFT” in the interface, but it is eight octave bands, not a transform: a mini octave-band spectrum chart for both scenarios (without / with barrier), so you see at which frequency the barrier attenuates. Interactive 2D vertical cross-section (click a receiver → SVG with source→barrier→receiver geometry, direct and diffracted paths, path-difference and IL values, plus the receiver’s without/with-barrier FFT spectrum). Receiver CSV export, PNG screen capture (Screen Capture API — captures the actually rendered pixels) and a dedicated print/PDF layout. The computation runs in a dedicated Web Worker (the UI does not freeze during the grid loop) with a progress spinner; zoom-adaptive metric grid overlay (5–25 m).

The octave-band charts (source spectrum, receiver tooltips, cross-section) are dual-series: a linear (unweighted, physical character) bar next to an A-weighted one (the actual contribution to the dBA Leq). The comparison makes explicit how much A-weighting crushes low-frequency content.

Since v0.8: adaptive receiver grid sized as source-bbox + per-side buffer (was a fixed 300×300 m square) with radial expansion (receivers beyond the buffer from the nearest source point are discarded); up to 5 manual receivers at specific points (e.g. sensitive façades) with a dedicated results table and numbered draggable markers; receiver grid shown by default; automatic OSM building download when “buildings in calculation” is enabled; result-explainer notes + supplementary “diffracted only” statistics; auto-redraw on view-mode change (IL / Leq with / Leq without); defensive fallback for an empty barrier-height field (previously produced IL = ∞).

Since v0.9 (May 2026): corrected Insertion Loss — the no-barrier scenario now includes building diffraction (when buildings take part in the calculation), so IL isolates the barrier’s own effect, not the combined barrier + buildings shielding; screen capture via the Screen Capture API (PNG of the actually rendered pixels) and a dedicated print/PDF layout (map + parameters, A4 landscape, single page); dual-series FFT in tooltips and cross-section; barrier drawn in blue, Compute/Reset buttons moved below the map.

Calculation method

The engine is shared with acmap (@lib/physics/ module). For each octave band f ∈ {63, 125, 250, 500, 1000, 2000, 4000, 8000} Hz the sound pressure level at the receiver is:

where:

  • Lw(f) = Lw + ΔL_spectrum(f) — band sound power. Lw is the total power (for a line/area source derived from Lw′/Lw″ + 10·log₁₀ of length/area); ΔL_spectrum(f) is the relative shape of the selected preset.
  • A_div = 20·log₁₀(d) + 11 — geometric divergence (spherical spreading, ISO 9613-2; d in metres from the point source or sub-source).
  • A_atm(f) = α(f, T, RH)·d — atmospheric absorption. The coefficient α follows ISO 9613-1 and depends on frequency, temperature and humidity: it grows steeply with frequency (high frequencies attenuate fast, low ones travel far).
  • A_gr — ground effect, G-factor model (G = 0 reflecting/hard ground … G = 1 soft/absorbing). In this engine it is frequency-independent (a simplification vs the per-band Agr of full ISO 9613-2).
  • A_bar(f) — barrier/obstacle diffraction attenuation; 0 if the line of sight is free.

The total level is the energetic sum over bands, with the frequency weighting w(f):

The barrier tool uses A-weighting (w(f) = A curve, IEC 61672) → results in dB(A).

Diffraction

The barrier intercepts the line of sight when its top edge rises above the direct source→receiver ray. The path difference is δ = (d_SB + d_BR) − d_SR: the extra path the diffracted wave travels over the edge versus the straight line.

  • Maekawa (1968): D = 10·log₁₀(3 + 20·N), Fresnel number N = 2δ/λ, wavelength λ = c/f. Single screen, infinitely long, no meteo correction. Capped at 25 dB.
  • ISO 9613-2:1996 §7.4: Dz = 10·log₁₀(3 + (C₂/λ)·C₃·z·K_met), with C₂ = 20, C₃ = 1 (single barrier), z the path difference, K_met the downwind meteorological correction. Capped at 20 dB (single).
  • ISO 9613-2:2024 §7.4.1 — the default method: same structure, with the Dz and K_met of the edition in force. It is also the only method that computes lateral diffraction around the vertical edges (§7.4.3) and combines it with the top edge (§7.4.4). How much it differs from 1996 is quantified below: not much.

The λ = c/f dependence is the core of the behaviour: at low frequency λ is large, N is small, attenuation is modest — sound “wraps around” the barrier; at high frequency the opposite holds.

Sources and grid

  • Point → a single point. Line → discretised into point sub-sources along the polyline. Area → discretised into a grid of points over the footprint.
  • Each receiver sums the contributions of all sub-sources energetically.
  • With a barrier and buildings, every source–receiver pair follows the worst-screen-wins model (see below): only the obstacle with the largest δ contributes.
  • Insertion Loss and buildings (v0.9): the no-barrier scenario still includes building diffraction when buildings take part in the calculation. Buildings are present in both scenarios → IL = Leq_no − Leq_w isolates the barrier’s own contribution, not the combined barrier + buildings shielding. Without buildings in the calculation, no-barrier remains free-field.

Where to put the barrier

At the same height and the same cost, position along the span changes the result more than one would guess. The engine shows it on a fixed geometry: a 4 m barrier, source and receptor 130 m apart, and the barrier sliding between them.

In the commonest case — low source (1 m, a carriageway) and elevated receptor (4 m, a first floor) — the curve is monotonic:

Barrier at δ Dz at 500 Hz Dz at 1 kHz
10 m from the source 0.406 m 11.7 dB 14.3 dB
25 m 0.145 m 8.6 dB 10.6 dB
40 m 0.078 m 7.2 dB 8.8 dB
65 m (mid-span) 0.035 m 6.0 dB 7.0 dB
90 m 0.015 m 5.4 dB 5.9 dB
120 m from the source 0.003 m 4.9 dB 5.0 dB

Between the best and the worst placement there are 6.8 dB at 500 Hz, with the same barrier. The reason is geometric: the line of sight climbs from 1 to 4 m, so near the source it runs low and a 4 m edge clears it by almost three metres, while near the receptor the line of sight is already at edge height and the useful excess vanishes.

With source and receptor at the same height the picture changes shape, and becomes the rule of thumb found in the handbooks:

Barrier at δ Dz at 500 Hz
10 m 0.215 m 9.7 dB
25 m 0.099 m 7.7 dB
40 m 0.072 m 7.1 dB
65 m (mid-span) 0.062 m 6.8 dB
90 m 0.072 m 7.1 dB
105 m 0.099 m 7.7 dB
120 m 0.215 m 9.7 dB

The curve is symmetric and has its minimum at mid-span: 2.9 dB worse than at the ends. That is not chance, it is arithmetic: with the excess over the line of sight held constant, the sum of the two oblique paths is smallest when the two legs are equal. The rule that follows — put the barrier as close as possible to the source or to the receptor, never halfway — holds in both cases shown. Its perimeter should be stated, though: it is the conclusion of the ideal two-dimensional geometry used here, with a point source, a single receptor, flat ground, a fixed barrier height, no lateral paths and no reflections. On a real road the source is extended, the receptors are many and at different heights, lateral diffraction matters, the ground varies and there are accesses: the preferable side has to be checked, not assumed. And “the source side wins” depends on this example’s height asymmetry, and can reverse if that reverses.

4681012025506590130source 1 m, receptor 4 mboth at 2 mmid-spanbarrier distance from the source [m]Dz @ 500 Hz [dB]
Attenuation at 500 Hz against barrier position, at constant height (4 m) and constant source–receptor distance (130 m). With unequal heights, moving towards the source always wins; with equal heights the curve is symmetric and the worst place is mid-span. ISO 9613-2:2024 values from the tool's engine.

Lateral diffraction, and why it takes attenuation away

A real barrier has a finite length, hence two vertical edges. Besides the path over the top edge, sound finds two more around the sides. ISO 9613-2 treats them in §7.4.3 and combines them with the top path in §7.4.4, formula 25, which is an energy sum of the three paths:

The sign matters: adding paths reduces the total attenuation, because it adds routes for the energy. A calculation that considers only the top edge overestimates the barrier, and does so the more the closer the receptor is to an end.

The engine shows it on a 60 m barrier, source 20 m before and receptor 40 m after, moving the receptor sideways from the centre:

Lateral offset Dz top edge only Dz combined Loss at 500 Hz Loss at 8 kHz
0–30 m 8.7 dB 8.7 dB 0.0 dB 0.0 dB
40 m 8.7 dB 8.3 dB −0.4 dB −2.4 dB
50 m 8.7 dB 8.3 dB −0.4 dB −2.4 dB
60 m 8.7 dB 7.9 dB −0.8 dB −2.4 dB
80 m 8.7 dB 5.0 dB −3.7 dB −4.3 dB

Inside the barrier’s geometric shadow the lateral paths are so long that their energy contribution is negligible, and the engine prunes them: the first rows are identical. As soon as the receptor moves past the end, the path around the near side shortens and the sum changes — up to 3.7 dB at 500 Hz and 4.3 dB at 8 kHz lost against the single-edge calculation. The loss is larger at high frequencies, because that is where the top edge was earning most, and so has most to lose.

The design consequence is the reason real barriers extend past the area they protect: the last few metres of barrier are not there for the receptor in front of them, they are there to move the vertical edge away from the receptors to the side. In the tool this shows on the map as a fringe of reduced IL around the ends.

1996, 2024 and Maekawa: how much actually changes

The engine implements three methods, and the choice among them carries weight. Between 2024 and the legacy 1996 mode the largest gap I measured is 0.38 dB, over a grid reaching down to δ = 0.05 m; over the narrower grid of the repo’s numerical guard (δ from 0.2 to 6 m) it stays at 0.21 dB. In both cases always in the direction of slightly more attenuation for 2024, and always less than the uncertainty of any input.

Two caveats on how to read that comparison. First: the engine’s 1996 mode is not canonical ISO 9613-2:1996 — the code declares that it omits a term of K_met and keeps it unchanged to preserve comparability with the tool’s historic results. It therefore compares versions of the tool, not the two editions of the standard. Second: the guard’s 64 frozen values are a regression test, not a validation — they say the code has not changed, not that it agrees with the standard. The reason to prefer 2024 is not the number: it is that it is the edition in force.

Between ISO and Maekawa, on the other hand:

δ 500 Hz (1996) 500 Hz (2024) 500 Hz (Maekawa)
0.2 m 9.3 dB 9.5 dB 11.7 dB
1 m 15.0 dB 15.1 dB 17.9 dB
3 m 19.5 dB 19.6 dB 22.5 dB

Two or three decibels of systematic difference, and five at saturation, where Maekawa stops at 25 dB and ISO at 20 for a single edge. The choice of method is worth ten times the choice of edition: declaring it matters more than declaring which ISO. The detail of the formulas and constants is in the Maekawa diffraction wiki.

One thing bears on the comparison between editions: a draft amendment — ISO 9613-2:2024/DAmd 1, out for DIS ballot — restores the 2024 D_z and K_met to their 1996 form, and the canonical 1996 K_met becomes the one in force again. The engine stays as it is until the amendment is published; the formulas side by side and the per-geometry gap are in ISO 9613-2:2024/DAmd 1: diffraction back to 1996.

Model assumptions

Knowing what the model assumes is the prerequisite for reading its results:

  • 8 octave bands, 63 Hz – 8 kHz. Not third-octaves; out-of-band content is not modelled.
  • Sources as points (or sets of sub-points for line/area) with spherical radiation. No directivity.
  • Homogeneous atmosphere, T and RH constant across the whole domain. No temperature/wind gradients, no turbulence, no refraction.
  • Diffraction: over the top edge with every method; lateral around the barrier’s vertical end edges (§7.4.3, combined via §7.4.4) only with the ISO 9613-2:2024 method. No lateral diffraction around buildings.
  • Acoustically opaque barrier: no transmission through the panel, no acoustic bridges or gaps. The tool asks only for a polyline, a height and a base elevation: it knows nothing of material, surface mass, joints, doors or sealing at the foot, and treats any drawn barrier as a perfect screen. ISO, by contrast, sets requirements for an object to screen (sufficient surface mass, a closed surface, extent adequate to the wavelength), and the real performance of a road device is characterised by the EN 1793 series — not by R_w, a quantity for building elements. A 3 m geometric barrier and a real 3 m barrier are not the same thing.
  • No reflections (neither off buildings, nor the source side, nor an explicit specular ground ray).
  • Frequency-independent ground effect — a simplification vs the standard’s per-band Agr.
  • “Worst-screen wins” multi-obstacle: NOT the rigorous ISO 9613-2 multi-screen calculation.
  • Receivers with a negligible physical level (below the numerical display cutoff, about 25 dB(A)) are discarded from the grid. It is not an audibility threshold, which depends on spectrum, background noise and listener: it is an interface threshold, and discarding points also alters the global statistics.

How to read the results

  • IL (Insertion Loss) is the difference Leq_no − Leq_with at a point. For realistic barriers expect values from a few dB up to ~10–20 dB; the diffraction term is capped (20 dB for ISO at a single edge, 25 dB the implementation’s Maekawa clamp): an IL near those values signals a very favourable geometry, not necessarily a realistic one. Do not conflate the three quantities: D_z is the diffraction term; A_bar is the barrier attenuation, which for over-the-edge diffraction with A_gr > 0 equals D_z − A_gr (§7.4); IL is the difference between the levels with and without the barrier and includes the ground effect, the lateral paths combined under §7.4.4 and the energetic sum over the spectrum. The cap limits the first, not the last.
  • IL depends on frequency. It is high at high frequencies (short λ → strong diffraction) and low at low frequencies (sound wraps around). The FFT tooltip and the cross-section spectrum show this directly: compare the without/with-barrier bars band by band.
  • Linear vs A-weighted. In the dual-series charts the linear bar is the source’s physical character, the A-weighted one its dB(A) contribution. A low-frequency source looks tall in linear and crushed in weighted: that is the A-curve effect, not an error.
  • General vs “diffracted-only” statistics. Whole-grid statistics include receivers in zones where the barrier does not interfere (IL ≈ 0): the global mean IL is therefore diluted. The “diffracted-only” statistics measure the barrier’s real effectiveness where it counts.
  • A bias, but not a guarantee. With buildings in the calculation, the worst-screen-wins model tends to underestimate the attenuation of multiple obstacles, hence to overestimate residual noise: in most cases the prudent direction. It cannot, however, be shown a priori to be a conservative bias: ISO treats multiple diffraction with a specific geometry of the relevant edges, not with max(δᵢ), and with lateral paths, reflections, ground-barrier interaction and partial obstacles the sign of the error is not guaranteed. The numbers are not forensic-grade.
  • Cells in deep shadow or far away appear faded or absent: they are below the model’s audibility floor, not a bug.

How to use it

Basic flow — receiver grid

  1. Section 1 — Source type: pick Line (road/rail), Area (industrial zone) or Point (machinery). Set Lw, source height hs, and pick a spectrum from the 6 presets (the ⓘ button opens a popover with description, formula and a mini spectrum chart).
  2. Section 2 — Draw source: Draw on map → click vertices (line/area) or a single click (point); double-click to finish a line.
  3. Section 3 — Barrier: set height h and base elevation (m); Draw on map → blue polyline with uniform height. If h is left empty, the tool enters “no barrier” mode with a clear status warning.
  4. Section 3b — Method: ISO 9613-2 §7.4 (default, conservative, with K_met) or Maekawa 1968 (original).
  5. Section 4 — Receiver grid: height hr, buffer around source (m), grid step, ground G.
  6. Section 5 — Atmosphere: T (°C), RH (%).
  7. Section 6 — Regulatory limit: DPCM 14/11/1997 class (I–VI) for the “below limit” statistic.
  8. Section 7 — OSM buildings (optional): Download buildings in the visible area; the Buildings participate in calculation toggle, if enabled with no buildings loaded yet, starts the download itself.
  9. Section 8 — Display: choose what to show (bands, isolines, grid points — on by default, metric grid, OSM map) and the view-mode (IL / Leq with / Leq without).
  10. Section 9 — Manual receivers (optional, max 5): Add receiver button → click on the map to place it (ESC to cancel). Numbered markers R1..R5, draggable, editable label.
  11. Compute: the Compute button (and Reset all) are in the action bar below the map. The computation runs in a Web Worker with a progress spinner. When done: map with bands/isolines, general stats + “diffracted-only” stats, and the Manual receivers results table.

After computing

  • View-mode change from the dropdown (IL / Leq with / Leq without) → the map redraws automatically without re-clicking Compute.
  • FFT tooltip: hover a grid point → Leq without/with, IL and the two mini octave-band spectra.
  • Vertical cross-section: click a (manual) receiver → SVG with source→barrier→receiver geometry, direct and diffracted paths, δ and IL values, and the receiver’s without/with-barrier FFT spectrum.
  • CSV receivers export: downloads all receivers (grid + manual) with header label,lat,lon,distance_m,leq_no_barrier_dBA,leq_with_barrier_dBA,insertion_loss_dB,diffracted,manual + a # header with UTC timestamp, URL and demo disclaimer.
  • Screenshot (📷): generates a composite PNG of map + legend + results, with the map rendered and all overlays.
  • Reset all: clears source, barrier, results and manual receivers (other clear buttons preserve the manual ones).

OpenStreetMap buildings as obstacles

The tool can download real buildings within the visible map area via Overpass API, querying way["building"] in the current bounding box. For each building it extracts the polygon footprint and height:

  • building:height tag if present (meters, explicit)
  • building:levels × 3 m/level as fallback
  • user-defined default value (“Default height” field) if both tags are missing

Once fetched, buildings appear on the map as semi-transparent polygons. They can optionally participate in the calculation as passive obstacles (dedicated toggle, which starts the download if needed).

“Worst-screen wins” model

For each source–receiver pair, the algorithm finds all obstacles intersecting the line-of-sight (OSM buildings + drawn barrier if any) and applies diffraction attenuation only from the obstacle with the largest path-difference. Other obstacles are ignored.

This approach is not rigorous ISO 9613-2 multi-screen: the standard defines specific formulas for cascaded obstacles (composition of effective path-differences, not a simple max). In reality, multiple cascaded obstacles produce greater attenuation than estimated here — the tool is therefore conservative in the right direction for preliminary assessment (it overestimates residual noise), but does not replace certified calculations.

OSM data limitations

  • OSM footprint completeness varies by area (well covered in European city centers, less so in peripheral industrial zones)
  • Heights: few buildings tagged with building:height, many without building:levels → fallback to user default, which may be inaccurate
  • OSM represents the current state: historical surveys or planned developments must be modeled manually as barriers

What it does not do

Multi-barrier in cascade (rigorous multi-screen calculation), lateral diffraction around buildings, transmission through the barrier (assumed acoustically opaque), reflections on the source side, meteorological profiles (temperature/wind gradients, turbulence), CSV-loadable source spectra (only the 6 presets today). Lateral diffraction around the barrier’s own vertical edges, by contrast, is computed (§7.4.3, 2024 method).

Caveats and disclaimer

  • Demonstrative tool, not for forensic use. noise-barrier-calc is not certified for forensic/peritial use, regulatory-limit validation, or use as evidence in legal proceedings. Those uses require two distinct things, which do not substitute for one another: a calculation model adequate to the required methodology — CadnaA, SoundPLAN and NoiseModelling are common examples, but Italian regulation establishes no category of “certified software”: DM 29/11/2000 sets functional requirements on the model — and a competent acoustic technician on the ENTECA register, who is the responsible professional. Software is a tool, not an alternative to the professional.
  • “Worst-screen wins” model — NOT rigorous ISO 9613-2 multi-screen. When OSM buildings participate, only the obstacle with the largest path-difference per source–receiver pair contributes. The standard prescribes different formulas for cascaded obstacles; in reality the attenuation is usually larger → the tool overestimates residual noise.
  • Ideal opaque barrier. Acoustic transmission through the barrier is not modelled. Absorbing panels, constructive gaps, acoustic bridges are NOT covered.
  • Lateral diffraction only with the 2024 method. Diffraction around the barrier’s vertical end edges (§7.4.3) is computed only with ISO 9613-2:2024; with 1996 and Maekawa the calculation stays on the top edge only. Lateral diffraction around buildings is not modelled.
  • Simplified ground effect. Frequency-independent G-factor model, not the per-octave-band Agr of full ISO 9613-2.
  • Preset source spectra. 6 presets; CSV loading is on the roadmap.
  • OSM data and estimated heights. See OSM data limitations. With mostly estimated heights (default 9 m), the result is indicative only.
  • No backend, no backend. Overpass queries go from your browser to public OSM mirrors (third parties); CSV and screenshot are generated client-side.

Tech stack

Same stack as acmap: Leaflet 1.9.4 + d3-contour 4.0.2 (vendored locally in vendor/). ISO 9613-2 physics engine shared between the two site tools (@lib/physics/ module). The grid propagation loop runs in a dedicated Web Worker. Vanilla JavaScript, single HTML file in the standalone repo; on the site Astro emits the bundle to /_assets/.

License

Apache-2.0 with patent grant. Authorship Stefano Fante personally, part of the Open Lab activities of ST-LINE (STLINE S.r.l.)

Last updated: · Spotted an error or stale figure? Let us know

← Back to the Wiki index

A similar project?

Acoustics, embedded, calculation tools: if you have a related use case, let’s talk.