# acmap 0.6.1 e noise-barrier-calc 0.9.3: sette correzioni che cambiano i numeri

> Sette correzioni nel motore dei due strumenti, da una revisione del codice: A_bar sommato all'effetto suolo, K_met con la distanza sbagliata, discretizzazione delle sorgenti non conservativa, spettri non normalizzati.

Pubblicato: 2026-08-26
Categoria: acustica
Tag: acmap, noise-barrier-calc, iso-9613-2, rilasci, diffrazione, openstreetmap, open-source

Pagina: <https://www.stline.it/blog/aggiornamento-motore-acustico-agosto-2026/>

---

Una revisione del codice da parte di un tecnico competente in acustica ha esaminato il motore di [acmap](https://github.com/stefanofante/acmap) e [noise-barrier-calc](https://github.com/stefanofante/noise-barrier-calc) proprietà per proprietà, non solo l'interfaccia. Ne sono uscite sette correzioni, e non sono di robustezza: **cambiano i risultati**. Se hai eseguito uno dei due strumenti prima di questi rilasci, i numeri di allora non sono quelli di oggi.

Versioni: **acmap v0.6.1**, **noise-barrier-calc v0.9.3**. Entrambe pubbliche con licenza Apache 2.0.

## La correzione che pesa di più: A_bar non è D_z

Entrambi i motori calcolavano il livello al ricevitore sottraendo *sia* l'attenuazione del suolo A<sub>gr</sub> *sia* la perdita per diffrazione D<sub>z</sub>. È sbagliato, e la ragione è fisica prima che normativa: uno schermo che interrompe la linea di vista interrompe **anche** il cammino riflesso dal suolo. Sommare i due effetti conta due volte un'attenuazione che si verifica una sola volta.

La ISO 9613-2 §7.4 pone A<sub>bar</sub> = D<sub>z</sub> − A<sub>gr</sub> per la diffrazione sopra il bordo quando A<sub>gr</sub> > 0, così che il netto sia D<sub>z</sub>: lo schermo **sostituisce** l'effetto suolo, non si aggiunge.

Quanto pesa. Nel calcolo barriere l'insertion loss di uno schermo era sovrastimato esattamente di A<sub>gr</sub>, fino a circa **4,6 dB** su terreno assorbente a 500 m di distanza. In acmap l'effetto si vedeva sulle ombre acustiche degli edifici, che risultavano più profonde del dovuto della stessa quantità. Su un calcolo di verifica sono decibel che spostano una conclusione.

I cammini laterali mantengono A<sub>bar</sub> = D<sub>z</sub>, e la combinazione dei tre cammini del §7.4.4 lavora ora sugli A<sub>bar</sub> e non sui D<sub>z</sub> grezzi.

## K_met con la distanza sbagliata

Nella correzione meteorologica, `d_sr` è documentata come distanza **schermo-ricevitore**. L'applicazione passava invece la distanza totale sorgente-ricevitore, e lo faceva in tutti e tre i punti in cui il calcolo avviene: edifici sulla griglia, barriera sulla griglia, ricevitori manuali. La distanza corretta, `d_br`, era già calcolata poco sopra e veniva scartata.

## Discretizzazione delle sorgenti non conservativa

Una sorgente lineare o areale viene discretizzata in punti, e la potenza va ripartita fra i punti in modo che la somma torni. Non tornava.

**Sorgente lineare**: ogni punto riceveva il passo di campionamento, la cui somma eccede la lunghezza reale della sorgente. L'errore è piccolo su tratti lunghi — circa **+0,11 dB su 200 m** — e grosso su tratti corti, **+3 dB su 5 m**, cioè il caso di una sorgente breve modellata come lineare. Ora il peso è lunghezza reale diviso numero di punti.

**Sorgente areale**: ogni cella riceveva passo², mentre il campionamento a passo fisso lasciava fuori la fascia di bordo. Un'area di 15×15 m con passo 10 m produceva un punto da 100 m² invece di 225, cioè **−3,5 dB**; e un rettangolo più piccolo del passo non produceva **alcun** punto — la sorgente non c'era. La funzione di discretizzazione genera ora nx·ny celle uniformi che coprono esattamente il rettangolo, e il peso è area reale diviso numero di celle.

## Spettri sorgente normalizzati

I preset di spettro (traffico urbano, autostrada, impianto, e simili) sono definiti come offset per banda rispetto al livello complessivo. Quegli offset non sommavano a 0 dB in energia, quindi il livello totale si discostava dal L<sub>w</sub> impostato — fino a **+1,36 dB** sul preset autostrada nel calcolo barriere, circa **+1,2 dB** in acmap — e, conseguenza peggiore, cambiare preset a parità di L<sub>w</sub> cambiava anche la potenza totale della sorgente. Un confronto fra due scenari con la stessa potenza dichiarata non confrontava la stessa potenza.

Le forme spettrali restano invariate: vengono normalizzate prima dell'uso sottraendo a ogni banda il totale della forma, quindi le differenze relative fra bande sono identiche a prima. In acmap è stata corretta anche l'etichetta di banda nei commenti del codice, che non corrispondeva alla risoluzione realmente usata.

## Attribuzioni normative rimesse a posto

Tre voci di documentazione dicevano cose non vere, e su uno strumento tecnico questo è un difetto come gli altri.

- README e nota tecnica descrivevano ancora la **ISO 9613-2:1996 come metodo predefinito**, mentre il codice implementa la 2024 con diffrazione laterale. La terza modalità è ora dichiarata «legacy 1996» e **non canonica**, perché omette un termine di K<sub>met</sub>.
- La formula di **Maekawa** era accostata al §7.4 della ISO 9613-2: sono due cose diverse. Quella implementata è l'approssimazione analitica (parametrizzazione di Tatge) della curva sperimentale del 1968, non il metodo di screening della norma.
- L'**effetto suolo** era dato come «formula generale con fattore G (§7.3.2)». È invece un modello a banda larga semplificato nostro; il metodo semplificato della norma è definito per livelli ponderati A.

## Cosa resta a presidio

I 64 valori numerici congelati nel repo continuano a passare identici, perché testano la funzione di diffrazione, che non è stata toccata: le correzioni stanno a monte e a valle di quella. I 23 simboli dell'API usati dall'applicazione sono tutti presenti. Le quattro proprietà corrette hanno un presidio dedicato di dieci test nel repository del sito, dove vive l'implementazione con i test unitari.

Sul lato acquisizione dati, la v0.6.0 di acmap del 24 agosto aveva già sistemato due difetti che toccano gli stessi calcoli: gli edifici mappati come **multipoligoni** venivano scaricati e scartati in silenzio — 129 relazioni su 1365 elementi su una risposta reale per il centro di Treviso, quasi un edificio su dieci — e la catena delle altezze era troppo corta, con un default piatto di 9 m che su quello stesso riquadro veniva applicato al 99,4 % degli edifici, comprese 112 chiese e 38 capannoni.

## Se hai risultati precedenti

Vanno rieseguiti. Le correzioni 1 e 2 abbassano l'attenuazione calcolata dietro uno schermo, la 3 e la 4 spostano il livello della sorgente: nessuna delle quattro è un aggiustamento sotto la soglia di rilevanza. Restano strumenti dimostrativi, con il perimetro dichiarato nelle rispettive wiki — [acmap](/wiki/acmap/), [noise-barrier-calc](/wiki/noise-barrier-calc/) — e per un elaborato che porta una firma servono geometria rilevata, un modello adeguato alla metodologia richiesta e la responsabilità di un tecnico competente.

Gli strumenti girano nel browser: [mappa acustica](/tools/mappa-acustica/) e [calcolo barriere](/tools/calcolo-barriere/).
