Ir al contenido

Propagación del sonido en exteriores

Normas aplicables: EUR 25379 ENISO 9613ISO 354Referencias: Salomons 2001Attenborough y Van Renterghem 2021Maekawa 1968

Predecir el ruido que una fuente lejana entrega a un receptor en exteriores es un ejercicio de contabilidad: se parte de la potencia acústica de la fuente y se resta, banda a banda, cada mecanismo que atenúa el sonido en su camino: la divergencia esférica, el propio aire, el suelo y cualquier barrera intermedia. Esta página cubre las dos partes de la ISO 9613 que proporcionan esos términos: la ISO 9613-1, el coeficiente de absorción atmosférica de tono puro , y la ISO 9613-2, el método general que combina con la divergencia, el suelo y el apantallamiento en una predicción por bandas de octava. El coeficiente atmosférico también cierra el ciclo con la acústica de salas, porque la ISO 354 remite por completo su coeficiente de atenuación de potencia del aire a .

El aire no es un medio sin pérdidas. Un tono en propagación cede energía a la viscosidad de cizalla y a la conducción de calor (las pérdidas clásicas y rotacionales, que crecen como ) y a la relajación vibracional de las moléculas de oxígeno y nitrógeno, cada una un depósito de energía que resuena cerca de una frecuencia de relajación dependiente de la humedad y la temperatura. La ISO 9613-1:1993, Ec. (5) reúne todo esto en el coeficiente de atenuación de tono puro , en decibelios por metro:

con las frecuencias de relajación del oxígeno y el nitrógeno , (Ec. (3)/(4)), las condiciones de referencia K y kPa (apartado 4.2), y la concentración molar de vapor de agua obtenida de la humedad relativa mediante la conversión psicrométrica del anexo B. Dominan la forma dos rasgos: a baja frecuencia , por lo que sube con fuerza; y cerca de cada frecuencia de relajación el término correspondiente alcanza un máximo y decae. Entre ambos, crece unas dos décadas de 50 Hz a 10 kHz y, al fijar la humedad la , barrer la humedad desplaza un pico de relajación por la banda, así que el aire más seco no siempre es el que menos absorbe.

Coeficiente de atenuación atmosférica de tono puro alfa de la ISO 9613-1 en dB/km frente a la frecuencia en ejes log-log, para cuatro combinaciones de temperatura y humedad, mostrando el crecimiento f-cuadrado en baja frecuencia y el decaimiento de relajación dependiente de la humedadCoeficiente de atenuación atmosférica de tono puro alfa de la ISO 9613-1 en dB/km frente a la frecuencia en ejes log-log, para cuatro combinaciones de temperatura y humedad, mostrando el crecimiento f-cuadrado en baja frecuencia y el decaimiento de relajación dependiente de la humedad

La curva seca de 20 °C / 10 % absorbe más a frecuencias medias, pero las curvas húmedas la superan por debajo de ~200 Hz: la firma de la relajación.

Mostrar el código de esta figura
import matplotlib.pyplot as plt
import numpy as np
from phonometry import environment
freqs = np.geomspace(50.0, 10000.0, 400)
fig, ax = plt.subplots()
for temp, rh in [(20.0, 50.0), (20.0, 10.0), (0.0, 70.0), (30.0, 80.0)]:
ax.loglog(freqs, environment.air_attenuation(freqs, temp, rh) * 1000.0,
label=f"{temp:g} °C, {rh:g} % HR")
ax.set_xlabel("Frecuencia [Hz]")
ax.set_ylabel("Coeficiente de atenuación alpha [dB/km]")
ax.legend()
plt.show()
import numpy as np
from phonometry import environment
bands = [63, 125, 250, 500, 1000, 2000, 4000, 8000] # centros de banda de octava [Hz]
# Coeficiente de atenuación de tono puro alpha [dB/m] a 20 °C, 50 % HR, una atmósfera
alpha = environment.air_attenuation(bands, temperature=20.0, relative_humidity=50.0)
print(np.round(alpha * 1000.0, 2)) # en dB/km, como tabula la Tabla 1
# [ 0.12 0.44 1.31 2.73 4.66 9.89 29.67 105.29]
# Reproduce exactamente una celda de la Tabla 1 de la ISO 9613-1 (10 °C, 70 %, 1 kHz)
cell = environment.air_attenuation(1000.0, 10.0, 70.0, exact_midband=True) * 1000.0
print(round(float(cell), 2)) # 3.66 (dB/km, Tabla 1)
# Alimenta condiciones reales al coeficiente de atenuación de potencia m [1/m] de la ISO 354
m = environment.air_attenuation_m([1000.0, 4000.0], temperature=20.0, relative_humidity=50.0)
print(np.round(m, 5)) # [0.00107 0.00683]

air_attenuation devuelve dB/m (la Tabla 1 imprime dB/km, es decir ); está totalmente vectorizada sobre frequencies, con temperatura, humedad y presión escalares. Pasar exact_midband=True ajusta cada frecuencia solicitada a la frecuencia central exacta de tercio de octava (Ec. (6), Nota 5) empleada para calcular la Tabla 1, de modo que la biblioteca reproduce cada punto tabulado con menos del 0,4 %, la propia precisión de tres cifras significativas de la norma, muy dentro de su exactitud declarada de % (apartado 7.1). Las entradas fuera de los rangos tabulados (−20…+50 °C, 10…100 % HR, 50…10 000 Hz, o por encima de la envolvente de validez de 200 kPa) siguen calculándose pero emiten una AtmosphericAbsorptionWarning; las entradas no físicas (frecuencia no positiva, humedad fuera de 0…100 %, temperatura bajo el cero absoluto) lanzan ValueError. air_attenuation_m compone con la conversión de la ISO 354 , de modo que quien use la ISO 354 puede alimentar condiciones atmosféricas reales directamente a absorption_area / absorption_coefficient en vez de introducir a mano.

Parámetros de air_attenuation() / air_attenuation_m()

Sección titulada «Parámetros de air_attenuation() / air_attenuation_m()»
ParámetroTipo / formaUnidadesRango / def.Notas
frequenciesescalar o array 1DHz> 0Vectorizado; 50–10 000 Hz tabulado
temperaturefloat°Cdef. 20.0−20…+50 tabulado; fuera avisa
relative_humidityfloat%def. 50.010…100 tabulado; se admite [0, 100]
pressurefloatkPadef. 101.325≤ 200 válido (apartado 7); por encima avisa
exact_midbandbooldef. FalseAjusta a (reproduce la Tabla 1)

air_attenuation devuelve en dB/m; air_attenuation_m devuelve en 1/m para la ISO 354.

Un resultado representable: atmospheric_attenuation()

Sección titulada «Un resultado representable: atmospheric_attenuation()»

Para una figura o un vistazo rápido, atmospheric_attenuation() envuelve el mismo coeficiente en un pequeño resultado AtmosphericAttenuation. Lleva la rejilla de frecuencias, el coeficiente y las condiciones atmosféricas, y expone .plot() para la clásica curva de frente a la frecuencia (dibujada en dB/km, la unidad de la Tabla 1, con ordenada lineal sobre un eje de frecuencia logarítmico). Pasar una distance también registra la atenuación total , en decibelios, sobre ese trayecto como total_attenuation, el de la ISO 9613-2 (Ec. (8)).

from phonometry import environment
res = environment.atmospheric_attenuation(
[63, 125, 250, 500, 1000, 2000, 4000, 8000],
temperature=20.0, relative_humidity=50.0,
)
res.plot(language="es") # alpha en dB/km frente a la frecuencia (requiere matplotlib)
Coeficiente de atenuación atmosférica de tono puro alfa de la ISO 9613-1 en dB/km frente a la frecuencia, con ordenada lineal en decibelios sobre un eje de frecuencia logarítmico, para la atmósfera de referencia de 20 grados Celsius y 50 por ciento de humedad relativa, producido por el método plot del resultado AtmosphericAttenuationCoeficiente de atenuación atmosférica de tono puro alfa de la ISO 9613-1 en dB/km frente a la frecuencia, con ordenada lineal en decibelios sobre un eje de frecuencia logarítmico, para la atmósfera de referencia de 20 grados Celsius y 50 por ciento de humedad relativa, producido por el método plot del resultado AtmosphericAttenuation

En una ordenada lineal de decibelios el coeficiente permanece cerca de cero hasta alrededor de 1 kHz y luego sube con fuerza, superando 20 dB/km cerca de 3 kHz y alcanzando más de 150 dB/km a 10 kHz en la atmósfera de referencia de 20 °C / 50 % HR.

Mostrar el código de esta figura
import matplotlib.pyplot as plt
import numpy as np
from phonometry import environment
# Una línea: la curva del coeficiente directamente desde el resultado.
res = environment.atmospheric_attenuation(
np.geomspace(50.0, 10000.0, 400), temperature=20.0, relative_humidity=50.0,
)
res.plot(language="es")
plt.show()
# O a mano desde air_attenuation (dB/m, escala por 1000 para dB/km):
freqs = np.geomspace(50.0, 10000.0, 400)
fig, ax = plt.subplots()
ax.semilogx(freqs, environment.air_attenuation(freqs, 20.0, 50.0) * 1000.0)
ax.set_xlabel("Frecuencia [Hz]")
ax.set_ylabel("Coeficiente de atenuación alpha [dB/km]")
plt.show()

La ISO 9613-2:1996 predice el nivel por bandas de octava en un receptor situado a favor del viento respecto de una fuente puntual (o bajo la inversión térmica moderada equivalente, apartado 5). El nivel continuo equivalente a favor del viento es

(Ec. (3)/(4)) donde es el nivel de potencia acústica por bandas de octava, la corrección de directividad (índice de directividad más un índice de ángulo sólido ) y la atenuación total. La biblioteca implementa los cuatro términos generales del apartado 7; el informativo (vegetación, zonas industriales, edificación; anexo A) y las reflexiones en obstáculos verticales (apartado 7.5) no están implementados: la norma los trata como informativos y se dejan a criterio del usuario.

Convertir una fuente real en fuentes puntuales

Sección titulada «Convertir una fuente real en fuentes puntuales»

Todas las ecuaciones de abajo están escritas para una fuente puntual, así que el primer paso de modelado es convertir una instalación real en un conjunto de ellas (apartado 4). Una fuente extensa, una carretera, una línea ferroviaria, un recinto industrial, se divide en secciones, una fuente lineal en tramos de línea y una fuente superficial en tramos de superficie, cada uno con su propia potencia acústica y su directividad, y cada uno representado por una fuente puntual en su centro. Un grupo de fuentes puntuales puede después reducirse a una única fuente puntual equivalente en el centro del grupo, pero solo cuando se cumplen las tres condiciones de la norma a la vez: que las fuentes tengan aproximadamente la misma potencia y la misma altura sobre el plano local del suelo, que las condiciones de propagación desde cada una hasta el receptor sean las mismas, y que la distancia de la fuente equivalente al receptor supere el doble de la mayor dimensión del grupo (). Si , o si las condiciones de propagación difieren entre subfuentes (una apantallada por un edificio y otra no), el apartado 4 exige volver a descomponer el grupo en sus componentes.

Aplicado al caso que ejecuta esta sección: una nave de compresores cuyas superficies radiantes abarcan 30 m se reduce a una sola fuente puntual solo más allá de 60 m, así que el receptor a 200 m de abajo es legítimo y uno a 50 m en el mismo emplazamiento no lo es, y ahí la nave hay que modelarla cara por cara. La propia potencia acústica queda fuera del alcance: sale de una medición de la familia ISO 3740 o de la declaración del suministrador, en las ocho bandas de octava de 63 Hz a 8 kHz. Cuando solo se dispone de un ponderado A, el recurso que la propia norma prevé (apartado 1, Nota 1) es evaluar los términos de atenuación a 500 Hz y aplicarlos a ese único número, que es una estimación y no una predicción por bandas. Las dos guías de emisión de CNOSSOS-EU, carretera y ferrocarril, se detienen justo donde empieza esta regla: las dos entregan una potencia acústica por metro de línea fuente y las dos declaran la segmentación fuera de su alcance, así que elegir la longitud del tramo y sumar los tramos energéticamente es una decisión de ingeniería del usuario.

La geometría del término de apantallamiento fija el vocabulario: el borde de difracción divide la distancia fuente-receptor en y , y el exceso de recorrido sobre el borde es . Cuando la línea de visión pasa por encima del borde superior, la norma da a signo negativo (Barrier(line_of_sight_clear=True)) y la Ec. (14) sigue aplicándose con : cae de forma continua desde dB en incidencia rasante hasta cero al aumentar el margen libre, sin bajar nunca de cero.

Geometría fuente-barrera-receptor de la ISO 9613-2: una fuente puntual a altura hs, una barrera cuyo borde superior divide el recorrido en dss y dsr, y un receptor a altura hr, con el rayo directo bloqueado y el rayo difractado sobre el borde, la diferencia de camino z y la fórmula de DzGeometría fuente-barrera-receptor de la ISO 9613-2: una fuente puntual a altura hs, una barrera cuyo borde superior divide el recorrido en dss y dsr, y un receptor a altura hr, con el rayo directo bloqueado y el rayo difractado sobre el borde, la diferencia de camino z y la fórmula de Dz
  • Divergencia geométrica dB, m (Ec. (7)): expansión esférica desde una fuente puntual. Exactamente 51 dB a 100 m, +6 dB por cada duplicación de la distancia. El () fija el nivel a la distancia de referencia de 1 m.
  • Absorción atmosférica (Ec. (8)) con el coeficiente de la ISO 9613-1, despreciable a baja frecuencia y dominante a 8 kHz en recorridos largos. se evalúa en la frecuencia central exacta en base 10 de cada banda nominal (7 943,3 Hz para «8 kHz»), la convención de los coeficientes de la Tabla 2 de la ISO 9613-2 (la evaluación en la frecuencia nominal queda ~1,3 % alta a 8 kHz). Las funciones de la ISO 9613-2 usan por defecto 20 °C y una humedad relativa del 70 % (una de las atmósferas de referencia que la norma tabula en su Tabla 2), mientras que air_attenuation usa por defecto el 50 % habitual de la ISO 9613-1.
  • Efecto del suelo (Ec. (9)) suma una región fuente, receptor y media, cada una a partir de las funciones de la Tabla 3 y su factor de suelo (0 = duro/reflectante, 1 = poroso/absorbente). Un negativo es una ganancia neta por la reflexión constructiva en el suelo.
  • Apantallamiento por una barrera es la pérdida por inserción debida a la difracción (Ec. (14)), limitada a 20 dB (un borde) o 25 dB (doble borde). Para una barrera de borde superior, el efecto del suelo del recorrido apantallado se integra en él, (Ec. (12), Nota 13); para una barrera lateral y se conserva el término del suelo (Ec. (13)).

, y no son una blandura difusa: cada uno es la fracción porosa de una región cuya extensión fija la norma (7.3.1, figura 1). Medida a lo largo de la distancia proyectada sobre el suelo, la región de la fuente ocupa desde la fuente hacia el receptor (recortada a ), la región del receptor ocupa hacia atrás desde el receptor, y la región media es lo que quede entre ambas. La cubierta dura (pavimento, agua, hielo, hormigón, tierra apisonada) es ; la cubierta porosa (hierba, arbolado, cultivos) es ; una región mixta toma la fracción de su longitud que sea porosa.

Sección a escala de un recorrido de 200 m con fuente y receptor a 1,5 m del suelo: la región de la fuente sombreada sobre los primeros 45 m como 30 por hs, la región del receptor sombreada sobre los últimos 45 m como 30 por hr, y la región media de 110 m entre ellas rayada en 70 m de hierba y 40 m de asfalto con Gm = 70/110 = 0,64; un recuadro de fórmula da q = 1 menos 30 por (hs más hr) partido por dp, y un recuadro secundario repite el mismo recorrido a 60 m, donde las regiones de fuente y receptor se solapan, q = 0 y la región media no existeSección a escala de un recorrido de 200 m con fuente y receptor a 1,5 m del suelo: la región de la fuente sombreada sobre los primeros 45 m como 30 por hs, la región del receptor sombreada sobre los últimos 45 m como 30 por hr, y la región media de 110 m entre ellas rayada en 70 m de hierba y 40 m de asfalto con Gm = 70/110 = 0,64; un recuadro de fórmula da q = 1 menos 30 por (hs más hr) partido por dp, y un recuadro secundario repite el mismo recorrido a 60 m, donde las regiones de fuente y receptor se solapan, q = 0 y la región media no existe

En el ejemplo de 200 m de esta sección ( m, así que ) eso son 45 m de región de fuente, 45 m de región de receptor y 110 m de región media: poner los tres factores a 1,0 afirma que los 200 m enteros son hierba. Un camino que sale de la planta cruzando una explanada de hormigón de 20 m toma , y una región media de 70 m de hierba y 40 m de asfalto toma .

La región media también puede desaparecer. La nota 2 de la Tabla 3 define cuando y por debajo, y es proporcional a : con estas dos alturas el umbral queda en m, así que en un recorrido de 60 m ground_middle se ignora por completo, y pasar 0.0 o 1.0 devuelve el mismo , en silencio. Ese mismo da la comprobación de coherencia de todo el término. Sobre suelo duro en todas partes, dB y en todas las bandas, así que el recorrido de 200 m tiene que devolver dB () y el de 60 m los dB conocidos de un plano perfectamente reflectante. Haz esa comprobación antes de fiarte de un factor de suelo: es el único caso con respuesta en forma cerrada. El agua y el hielo cuentan como suelo duro a efectos del ajuste, pero la ISO 9613-2 no pretende cubrir la propagación sobre agua en absoluto.

outdoor_propagation_attenuation ensambla los cuatro términos en un resultado OutdoorAttenuation cuyos arrays por banda suman, banda a banda, a a_total, de modo que las contribuciones de divergencia, atmosférica, suelo y barrera quedan separables. El desglose apilado hace evidente el carácter frecuencial: la barrera ayuda más a alta frecuencia (longitud de onda corta) hasta saturar en el límite, la absorción atmosférica solo muerde a 8 kHz y la caída del suelo vive en las bandas medias.

Desglose por bandas de octava de la atenuación ISO 9613-2 como barra apilada de Adiv, Aatm, Agr y Abar con el total A superpuesto, para un recorrido de 200 m sobre suelo poroso con una barrera de 4 mDesglose por bandas de octava de la atenuación ISO 9613-2 como barra apilada de Adiv, Aatm, Agr y Abar con el total A superpuesto, para un recorrido de 200 m sobre suelo poroso con una barrera de 4 m

Los cuatro términos llevan signo y suman el total: la divergencia son 57,0 dB planos a 200 m, la barrera satura en su tope de 20 dB desde 2 kHz, el aire solo muerde a 8 kHz (18,7 dB de los 95,8 dB del total) y el suelo es una ganancia de 4,65 dB a 63 Hz, razón por la que ahí la barrera tiene que gastarse el antes de comprar nada.

Mostrar el código de esta figura
import matplotlib.pyplot as plt
import numpy as np
from phonometry import environment
bands = np.array([63.0, 125.0, 250.0, 500.0, 1000.0, 2000.0, 4000.0, 8000.0])
barrier = environment.Barrier(source_to_edge=101.0, edge_to_receiver=101.0)
att = environment.outdoor_propagation_attenuation(
200.0, 1.5, 1.5, bands, ground_source=1.0, ground_middle=1.0,
ground_receiver=1.0, barrier=barrier, temperature=15.0,
relative_humidity=70.0,
)
# En una línea — el mismo desglose apilado con el total superpuesto:
att.plot(language="es")
# A mano:
x = np.arange(len(bands))
fig, ax = plt.subplots()
# Líneas base positiva y negativa separadas: un término negativo (Agr es una
# ganancia neta en 63 Hz aquí) se apila bajo cero, y las alturas con signo
# suman a_total.
pos_bottom = np.zeros(len(bands))
neg_bottom = np.zeros(len(bands))
for term, label in [(att.a_div, "Adiv — divergencia"),
(att.a_atm, "Aatm — atmosférica"),
(att.a_gr, "Agr — suelo"),
(att.a_bar, "Abar — barrera")]:
ax.bar(x, term, bottom=np.where(term >= 0.0, pos_bottom, neg_bottom),
label=label)
pos_bottom += np.maximum(term, 0.0)
neg_bottom += np.minimum(term, 0.0)
ax.plot(x, att.a_total, "D-", color="black", label="A — total")
ax.set_xticks(x)
ax.set_xticklabels([f"{b:g}" for b in bands])
ax.set_xlabel("Frecuencia central de banda de octava [Hz]")
ax.set_ylabel("Atenuación A [dB]")
ax.legend()
plt.show()
import numpy as np
from phonometry import environment
bands = [63, 125, 250, 500, 1000, 2000, 4000, 8000] # centros de banda de octava [Hz]
# Fuente y receptor a 1.5 m de altura, separados 200 m sobre suelo poroso
# (G = 1), apantallados a media distancia por una barrera que eleva el recorrido
# sobre su borde superior (dss = dsr ~ 101 m). La geometría alimenta las
# ecuaciones de diferencia de recorrido.
barrier = environment.Barrier(source_to_edge=101.0, edge_to_receiver=101.0)
att = environment.outdoor_propagation_attenuation(
200.0, source_height=1.5, receiver_height=1.5, frequencies=bands,
ground_source=1.0, ground_middle=1.0, ground_receiver=1.0,
barrier=barrier, temperature=15.0, relative_humidity=70.0,
)
print(np.round(att.a_div, 1)) # [57. 57. 57. 57. 57. 57. 57. 57.] divergencia
print(np.round(att.a_gr, 2)) # [-4.65 2.34 13.79 9.76 1.3 -0. -0. -0. ]
print(np.round(att.a_bar, 2)) # [13.78 8.89 0. 6.69 18.01 20. 20. 20. ]
print(np.round(att.a_total, 1)) # [66.2 68.3 71. 73.9 77.1 78.8 82.3 95.8]
att.plot() # el desglose apilado de arriba (necesita matplotlib)
# Nivel predicho en el receptor a partir de una potencia acústica por bandas Lw = 95 dB
lw = np.full(len(bands), 95.0)
lp = environment.predicted_receiver_level(
lw,
environment.PropagationGeometry(200.0, 1.5, 1.5), # d, hs, hr
frequencies=bands,
ground=environment.GroundFactors(1.0, 1.0, 1.0), # Gs, Gm, Gr
barrier=barrier,
atmosphere=environment.AtmosphericConditions(
temperature=15.0, relative_humidity=70.0),
)
print(np.round(lp, 1)) # [28.8 26.7 24. 21.1 17.9 16.2 12.7 -0.8]
# Dz por sí solo: la pérdida por inserción debida a la difracción de la Ec. (14), antes de la Ec. (12)
dz = environment.barrier_attenuation(barrier, 200.0, bands)
print(np.round(dz, 2)) # [ 9.13 11.24 13.73 16.45 19.31 20. 20. 20. ]
print(np.allclose(att.a_bar, np.maximum(dz - att.a_gr, 0.0))) # True
Diagrama de cascada sobre las ocho bandas de octava desde un nivel de potencia acústica de fuente plano de 95 dB hasta el nivel predicho en el receptor a favor del viento, con un escalón descendente por cada término de atenuación: divergencia, absorción atmosférica, efecto del suelo y apantallamiento por barrera, con el escalón del suelo subiendo en lugar de bajar a 63 Hz, y el nivel final marcado en cada bandaDiagrama de cascada sobre las ocho bandas de octava desde un nivel de potencia acústica de fuente plano de 95 dB hasta el nivel predicho en el receptor a favor del viento, con un escalón descendente por cada término de atenuación: divergencia, absorción atmosférica, efecto del suelo y apantallamiento por barrera, con el escalón del suelo subiendo en lugar de bajar a 63 Hz, y el nivel final marcado en cada banda

Adónde van los 95 dB de potencia de la fuente, banda a banda: la divergencia gasta los mismos 57,0 dB en todas, la barrera no vale nada a 250 Hz y vale 20 dB por encima de 2 kHz, y a 8 kHz solo el aire quita 18,7 dB y lleva el nivel en el receptor por debajo de 0 dB. La columna de 63 Hz es la única donde un escalón sube: el suelo devuelve 4,65 dB antes de que la barrera se los vuelva a llevar.

Mostrar el código de esta figura
import matplotlib.pyplot as plt
import numpy as np
# `att`, `bands` y `lw` son los objetos que ya construyó el fragmento de arriba.
nivel = lw.copy()
fig, ax = plt.subplots()
for term, label in [(att.a_div, "-Adiv"), (att.a_atm, "-Aatm"),
(att.a_gr, "-Agr"), (att.a_bar, "-Abar")]:
ax.bar(np.arange(len(bands)), -term, bottom=nivel, label=label)
nivel = nivel - term
ax.plot(np.arange(len(bands)), nivel, "D-", color="black", label="LfT(DW)")
ax.set_xticks(np.arange(len(bands)))
ax.set_xticklabels([f"{b:g}" for b in bands])
ax.set_xlabel("Frecuencia central de banda de octava [Hz]")
ax.set_ylabel("Nivel [dB]")
ax.legend()
plt.show()

barrier_attenuation devuelve el propio , la pérdida por inserción en bruto debida a la difracción de la Ec. (14), que no es lo que declara el compuesto. Para una barrera de borde superior, a_bar es np.maximum(dz - a_gr, 0) (Ec. (12), Nota 13), y la igualdad impresa arriba es la forma más limpia de ver que el efecto del suelo se gasta en vez de conservarse: a 250 Hz el camino apantallado tenía 13,79 dB de atenuación por suelo y 13,73 dB de difracción, así que la barrera no aporta exactamente nada. es también donde muerden los topes de 20 dB de borde simple y 25 dB de doble borde, así que imprimirlo es la manera de que el lector sepa que la pared ha saturado y que más altura no compra nada (aquí, desde 2 kHz hacia arriba). Solo para una barrera lateral (lateral=True, Ec. (13)) a_bar es igual a .

predicted_receiver_level compone con el DirectivityCorrection (index d_omega). Pasa c0= para restar la corrección meteorológica (Ec. (21)/(22)) banda a banda y obtener una media a largo plazo; ten en cuenta que la norma aplica al nivel ponderado A, así que la forma por bandas aquí es una comodidad, no una lectura literal del apartado 8.

Cuando solo importa el nivel ponderado A en el receptor y el sonido viaja sobre suelo poroso o mayoritariamente poroso (y no es un tono puro), el 7.3.2 ofrece una forma cerrada más simple (Ec. (10), los resultados negativos se recortan a cero), acompañada del índice de ángulo sólido (Ec. (11)) que debe entonces sumarse a . Se exponen como ground_attenuation_alternative y directivity_omega, pero no se conectan automáticamente en outdoor_propagation_attenuation (que siempre usa el método general por regiones del 7.3.1); combínalos a mano cuando proceda el método alternativo.

no es el promedio de las dos alturas extremas. La Figura 3 la define como , con el área encerrada entre la recta fuente-receptor y el perfil del terreno: sobre suelo plano se reduce a , sobre un desmonte se derrumba hacia cero, y sobre un valle cruzado por un camino elevado crece muy por encima de cualquiera de las dos alturas extremas. Ese único término es la forma en que el método alternativo absorbe la forma del terreno, y leerlo como una altura es el error que embellece una predicción. Ojo a la dirección del recorte: está acotado por abajo en 0, así que un camino que va alto sobre el suelo no gana atenuación por suelo en absoluto (a m, m todavía da 3,32 dB, pero m a 50 m da 0,00 dB), mientras que un camino rasante gana los 4,8 dB completos. Las tres condiciones de validez viajan con la fórmula: solo el nivel ponderado A, suelo poroso o mayoritariamente poroso, y ningún tono puro. Cualquier otra cosa vuelve al método por regiones del 7.3.1.

from phonometry import environment
# Término de suelo alternativo (altura media del recorrido hm = F/d = 2 m, d = 200 m)
print(round(environment.ground_attenuation_alternative(200.0, 2.0), 2)) # 4.43 dB
# El recorte: un camino alto sobre una distancia corta no gana nada
print(round(environment.ground_attenuation_alternative(50.0, 8.0), 2)) # 0.0 dB
# Su índice de ángulo sólido asociado (súmalo a Dc al usar la Ec. (10))
print(round(environment.directivity_omega(1.5, 1.5, 200.0), 2)) # 3.01 dB
# Corrección meteorológica a largo plazo (C0 = 2 dB) a restar de LAT(DW)
print(round(environment.meteorological_correction(200.0, 1.5, 1.5, 2.0), 2)) # 1.7 dB

La fuente imagen que explica el efecto del suelo

Sección titulada «La fuente imagen que explica el efecto del suelo»

Cada entrada de la Tabla 3 es un ajuste de ingeniería a una única imagen física: el receptor oye dos copias de la fuente, el rayo directo y una reflexión que llega exactamente como si la radiara una fuente imagen reflejada bajo el plano del suelo. Las dos copias interfieren según la diferencia de camino (aproximadamente para un recorrido rasante en campo lejano): en fase suman hasta dB; con sobre un plano rígido se cancelan en un mínimo abrupto.

Una fuente puntual a altura hs y un micrófono receptor a altura hr sobre un plano de suelo rayado; un rayo directo r1 los conecta y un rayo reflejado rebota en el punto especular con ángulos rasantes iguales; la reflexión se despliega como un rayo recto discontinuo r2 desde una fuente imagen fantasma reflejada bajo el suelo, y las anotaciones dan la diferencia de camino delta = r2 menos r1, la fase de interferencia 2 pi delta entre lambda más la fase de la reflexión, la ganancia en fase de hasta +6 dB y el mínimo profundo a media longitud de onda sobre suelo duroUna fuente puntual a altura hs y un micrófono receptor a altura hr sobre un plano de suelo rayado; un rayo directo r1 los conecta y un rayo reflejado rebota en el punto especular con ángulos rasantes iguales; la reflexión se despliega como un rayo recto discontinuo r2 desde una fuente imagen fantasma reflejada bajo el suelo, y las anotaciones dan la diferencia de camino delta = r2 menos r1, la fase de interferencia 2 pi delta entre lambda más la fase de la reflexión, la ganancia en fase de hasta +6 dB y el mínimo profundo a media longitud de onda sobre suelo duro

Sobre suelo acústicamente duro () el coeficiente de reflexión se mantiene próximo a en todas las octavas, la suma a longitudes de onda largas es totalmente constructiva y el método general devuelve, como debe, dB en cada banda. El suelo poroso vuelve el coeficiente de reflexión complejo y dependiente del ángulo (para una fuente puntual en incidencia casi rasante, el coeficiente de onda esférica de la solución de Chien-Soroka, con un término de onda de suelo que ninguna imagen de onda plana captura): parte de la reflexión invierte su fase y el mínimo destructivo cae en las octavas de 250 a 1000 Hz. Ese mínimo es precisamente lo que parametrizan las funciones a de altura y distancia de la Tabla 3, con mezclando los comportamientos duro y poroso. La misma geometría de dos rayos reaparece en la atenuación lateral aeronáutica y en cualquier modelo exterior basado en rayos; Salomons y Attenborough & Van Renterghem desarrollan la teoría completa que el ajuste de ingeniería comprime.

Un negativo (una ganancia neta) es pura interferencia: la onda reflejada en el suelo se suma a la directa. Abajo, una fuente de 400 Hz a 1,5 m sobre suelo rígido construye el patrón de lóbulos de esa interferencia, y el nivel muestreado sobre un arco converge al modelo de fuente imagen de dos caminos, con sus mínimos incluidos.

Simulación FDTD 2D de una fuente puntual de 400 Hz a 1,5 metros sobre suelo rígido. Los frentes de onda directo y reflejado en el suelo interfieren y se forma un patrón de lóbulos, la fuente imagen fantasma bajo el suelo explica la geometría y el nivel muestreado sobre un arco de 8 metros converge al modelo de fuente imagen de dos caminos con sus mínimos previstos.

Descargar la animación (WebM)

Simulación FDTD 2D de una fuente puntual de 400 Hz a 1,5 metros sobre suelo rígido. Los frentes de onda directo y reflejado en el suelo interfieren y se forma un patrón de lóbulos, la fuente imagen fantasma bajo el suelo explica la geometría y el nivel muestreado sobre un arco de 8 metros converge al modelo de fuente imagen de dos caminos con sus mínimos previstos.

Descargar la animación (WebM)

La clase Barrier describe la geometría de difracción directamente, que es el ajuste más limpio a las Ec. (14)/(16)/(17). La difracción simple (una pantalla delgada) deja edge_separation=None (); dar la separación de bordes e selecciona la difracción doble (barrera gruesa) con el factor de la Ec. (15) y el límite de 25 dB. ground_reflections_by_image=True cambia de 20 a 40 (reflexiones tratadas por fuentes imagen) y lateral=True selecciona la difracción por borde vertical (Ec. (13), , se conserva el término del suelo).

La simulación siguiente muestra por qué crece con la frecuencia: frente a la misma pantalla de 2,5 m, un frente de onda de 100 Hz () se difracta sobre el borde y rellena la zona de sombra, mientras que a 500 Hz la sombra es profunda y nítida. Una barrera solo funciona cuando la longitud de onda es corta frente a la diferencia de camino.

Simulación FDTD 2D de una fuente puntual tras una barrera rígida delgada de 2,5 metros sobre suelo reflectante, a 100 Hz y 500 Hz lado a lado. La longitud de onda larga se difracta sobre el borde y rellena la zona de sombra con una pérdida por inserción de unos 8 dB, mientras que la corta produce una sombra profunda y limpia de unos 17 dB.

Descargar la animación (WebM)

Simulación FDTD 2D de una fuente puntual tras una barrera rígida delgada de 2,5 metros sobre suelo reflectante, a 100 Hz y 500 Hz lado a lado. La longitud de onda larga se difracta sobre el borde y rellena la zona de sombra con una pérdida por inserción de unos 8 dB, mientras que la corta produce una sombra profunda y limpia de unos 17 dB.

Descargar la animación (WebM)

Parámetros de outdoor_propagation_attenuation()

Sección titulada «Parámetros de outdoor_propagation_attenuation()»
ParámetroTipo / formaUnidadesRango / def.Notas
distancefloatm> 0Distancia fuente–receptor en línea recta
source_height / receiver_heightfloatm≥ 0, sobre el suelo
frequenciesarray 1DHzdef. 8 octavas 63–8000DEFAULT_FREQUENCIES
ground_source / ground_middle / ground_receiverfloat[0, 1], def. 0.0Factor de suelo (0 duro, 1 poroso)
barrierBarrier o Nonedef. NoneObstáculo de apantallamiento
temperature / relative_humidity / pressurefloat°C / % / kPa20 / 70 / 101.325Pasados a
projected_distancefloat o Nonemdef. proyectada sobre el suelo

Devuelve un OutdoorAttenuation con a_div, a_atm, a_gr, a_bar, a_total y d_omega, todos un valor por banda; su .plot() dibuja el desglose apilado por bandas con el total superpuesto (la figura anterior).

CampoTipoUnidadesDef.Notas
source_to_edgefloatm, fuente al primer borde
edge_to_receiverfloatm, (último) borde al receptor
parallel_distancefloatm0.0Componente paralela al borde
edge_separationfloat o NonemNone; si se da ⇒ difracción doble (límite 25 dB)
ground_reflections_by_imageboolFalseTrue
lateralboolFalseTrue ⇒ difracción por borde vertical (Ec. (13))
line_of_sight_clearboolFalseTrue ⇒ la línea de visión pasa por encima del borde superior: la diferencia de camino toma signo negativo y (texto tras la Ec. (16))

Qué significan las «condiciones favorables a la propagación»

Sección titulada «Qué significan las «condiciones favorables a la propagación»»

La ISO 9613-2 no predice el nivel con la meteorología del momento. Todas sus ecuaciones suponen condiciones favorables a la propagación (apartado 5): viento soplando de la fuente al receptor (dentro de unos 45° de la línea que los une, a entre 1 y 5 m/s medidos de 3 a 11 m sobre el suelo), o la inversión térmica moderada junto al suelo de una noche despejada y en calma, que curva los rayos sonoros hacia abajo de la misma manera. La refracción descendente cierra las zonas de sombra acústica que formarían las atmósferas neutras o con viento en contra, de modo que el predicho está cerca del nivel más alto que la geometría puede producir: a lo largo de un año el nivel real suele ser menor y rara vez es apreciablemente mayor. La elección es deliberada. Las quejas llegan en las noches tranquilas en las que una planta lejana se oye con claridad, no en las tardes ventosas en las que desaparece, y un método que predice el caso audible protege la evaluación. El promedio a largo plazo se recupera restando (Ec. (21)/(22)), cuyo codifica con qué frecuencia el viento favorece de verdad el camino (unos dB cuando la mitad del tiempo es favorable; valores por encima de 2 dB ya son excepcionales, Notas 20/22). La exactitud declarada de a dB (Tabla 5) vale en condiciones favorables, para fuentes de banda ancha y hasta 1000 m; más allá la norma no declara exactitud alguna.

Errores habituales con barreras, más allá de la animación

Sección titulada «Errores habituales con barreras, más allá de la animación»

El término de apantallamiento es el más fácil de sobrevalorar; cuatro detalles deciden si una barrera real entrega su calculado:

  • Los topes son físicos, no editoriales. se limita a 20 dB en difracción simple y 25 dB en difracción doble por alta que sea la pared, porque la turbulencia atmosférica dispersa sonido hacia la zona de sombra y fija un techo que la altura extra no puede compensar. Una pérdida por inserción por encima de unos 20 dB es territorio de cerramientos, no de pantallas. La propia Ec. (14) es una curva de ingeniería suavizada en la tradición del ábaco de pantallas de Maekawa, un ajuste empírico sobre tres décadas del número de Fresnel .
  • merma en silencio las barreras lejanas. El factor meteorológico (Ec. (18)) descuenta el apantallamiento porque los mismos rayos curvados hacia abajo que hacen favorables las condiciones también pasan por encima del borde superior. A menos de 100 m de distancia fuente-receptor (Nota 17), pero en un camino largo con poca diferencia de recorrido puede quitar varios decibelios a una barrera que parecía generosa en el alzado.
  • La difracción doble es una bonificación modesta. Un obstáculo grueso (dos bordes separados ) eleva de 1 hacia 3 (Ec. (15)), que vale como mucho unos dB extra más el tope superior de 25 dB. Un edificio modelado como doble borde solo gana esa bonificación si ambos bordes son realmente continuos y la cubierta entre ellos está cerrada.
  • El efecto del suelo se gasta, no se conserva. Para una barrera de borde superior la norma pliega el efecto del suelo del camino apantallado dentro de la difracción: (Ec. (12), Nota 13). Sobre suelo poroso que ya aportaba de 5 a 10 dB de en las bandas medias, la ganancia neta de construir la barrera es proporcionalmente menor que su nominal; los dos efectos no se apilan.
Dos paneles sobre el término de apantallamiento de ISO 9613-2. Izquierda: la pérdida por inserción debida a la difracción Dz a 500 Hz frente a la altura de barrera para un recorrido de 200 m, una curva para borde simple, otra para doble borde con una separación de bordes de 2 m y otra para el borde simple con el factor meteorológico Kmet, con los topes de 20 dB y 25 dB dibujados como techos horizontales contra los que chocan las curvas. Derecha: Dz frente a la frecuencia de banda de octava para una pantalla de 4 m junto a Abar = Dz menos Agr sobre suelo poroso, siendo la separación entre las dos curvas el efecto del suelo que la barrera tiene que gastarse antes de comprar nada, y con Abar recortado a cero en la banda de 250 HzDos paneles sobre el término de apantallamiento de ISO 9613-2. Izquierda: la pérdida por inserción debida a la difracción Dz a 500 Hz frente a la altura de barrera para un recorrido de 200 m, una curva para borde simple, otra para doble borde con una separación de bordes de 2 m y otra para el borde simple con el factor meteorológico Kmet, con los topes de 20 dB y 25 dB dibujados como techos horizontales contra los que chocan las curvas. Derecha: Dz frente a la frecuencia de banda de octava para una pantalla de 4 m junto a Abar = Dz menos Agr sobre suelo poroso, siendo la separación entre las dos curvas el efecto del suelo que la barrera tiene que gastarse antes de comprar nada, y con Abar recortado a cero en la banda de 250 Hz

Izquierda: más altura deja de pagar en cuanto toca su tope; más allá de unos 7 m de pantalla en este recorrido, la curva de borde simple es plana en 20 dB, y ya le ha quitado de 1 a 2 dB a 200 m. Derecha: las dos curvas son la misma barrera; la separación entre ellas es , y donde el suelo ya valía más que la difracción (la octava de 250 Hz) el neto es cero.

Mostrar el código de esta figura
import matplotlib.pyplot as plt
import numpy as np
# `environment` es el módulo que importa el fragmento de la sección 1.
alturas = np.linspace(1.6, 12.0, 60)
simple, doble = [], []
for h in alturas:
# Una pantalla a media distancia en un recorrido de 200 m; dss = dsr por la geometría.
tramo = float(np.hypot(100.0, h - 1.5))
simple.append(float(environment.barrier_attenuation(
environment.Barrier(source_to_edge=tramo, edge_to_receiver=tramo),
200.0, [500.0])[0]))
doble.append(float(environment.barrier_attenuation(
environment.Barrier(source_to_edge=tramo, edge_to_receiver=tramo,
edge_separation=2.0), 200.0, [500.0])[0]))
fig, ax = plt.subplots()
ax.plot(alturas, simple, label="Borde simple")
ax.plot(alturas, doble, label="Doble borde, e = 2 m")
ax.axhline(20.0, linestyle=":", label="Tope de 20 dB")
ax.axhline(25.0, linestyle=":", label="Tope de 25 dB")
ax.set_xlabel("Altura de barrera [m]")
ax.set_ylabel("Dz a 500 Hz [dB]")
ax.legend()
plt.show()

El caso de línea de visión libre que describe el párrafo del vocabulario está a una llamada de distancia, y merece la pena ejecutarlo una vez: no cae a cero en cuanto la línea de visión libra el borde, sino que decae desde dB a lo largo de los primeros centímetros de diferencia de recorrido.

for extra in (0.0, 0.001, 0.010, 0.050): # diferencia de recorrido sobre el borde [m]
libre = environment.Barrier(source_to_edge=100.0 + extra / 2,
edge_to_receiver=100.0 + extra / 2,
line_of_sight_clear=True)
print(round(float(environment.barrier_attenuation(libre, 200.0, [500.0])[0]), 3))
# 4,771, 4,728, 4,323, 1,845 dB a 500 Hz

Además, un obstáculo tiene que cumplir los requisitos para considerarse barrera (apartado 7.4): masa por unidad de superficie de al menos 10 kg/m², superficie cerrada sin huecos grandes y una extensión horizontal normal al camino mayor que la longitud de onda. Una valla de lamas o un contenedor corto apantallan bastante menos de lo que promete la Ec. (14).

Dos marcos dominan la predicción del ruido exterior en Europa, y responden a preguntas distintas:

  • ISO 9613-2 es un método general de atenuación de ingeniería: dada la potencia acústica por octavas de cualquier fuente que puedas descomponer en fuentes puntuales, devuelve el nivel en el receptor en condiciones favorables. La emisión queda fuera de su alcance; la potencia acústica viene de la medición (la familia ISO 3740) o del fabricante del equipo. Es la herramienta principal de las predicciones de plantas industriales y de impacto ambiental evaluadas con la ISO 1996-2.
  • CNOSSOS-EU (métodos comunes de evaluación del ruido en Europa) es el marco común obligatorio para los mapas estratégicos de ruido de la Directiva 2002/49/CE sobre ruido ambiental, adoptado como su anexo II por la Directiva (UE) 2015/996 de la Comisión. Agrupa modelos de emisión para fuentes viarias, ferroviarias e industriales (y delega las aeronaves en el Doc 29 de la CEAC) con su propia parte de propagación derivada del método francés NMPB 2008, produciendo los indicadores / que la Directiva exige. Esta biblioteca implementa la mitad de emisión de CNOSSOS-EU en Emisión de la fuente de tráfico viario CNOSSOS-EU y Emisión de la fuente ferroviaria CNOSSOS-EU; el método de propagación de CNOSSOS-EU del apartado 2.5 no está implementado, así que llevar una potencia de línea de CNOSSOS por la cadena de la ISO 9613-2 de esta página es una estimación de ingeniería y no la cadena normativa que prescribe la Directiva.

Las partes de propagación discrepan por diseño, no por accidente. CNOSSOS-EU evalúa cada camino dos veces, una con atmósfera homogénea y otra en condiciones favorables (refracción descendente), y las combina a largo plazo con la probabilidad local de condiciones favorables por dirección de camino; la ISO 9613-2 calcula solo el caso favorable y resta un escalar. El efecto del suelo en CNOSSOS-EU se construye con un factor de suelo promediado sobre un plano medio ajustado, con expresiones que cambian entre las dos atmósferas, mientras que la ISO 9613-2 usa la Tabla 3 fija de tres regiones. La difracción también sigue una formulación distinta que acopla el efecto del suelo a cada lado del borde. Ejecuta ambos sobre la misma geometría y los resultados por octavas pueden diferir varios decibelios, cada uno internamente consistente. La regla práctica: los mapas estratégicos END y todo lo que deba ser comparable entre Estados miembros usan CNOSSOS-EU; la autorización de una instalación, una predicción de conformidad frente a una potencia acústica medida o el trabajo bajo normativas que citan la ISO 9613 usan este módulo. (ISO publicó una revisión de la ISO 9613-2 en 2024; esta biblioteca implementa la edición de 1996, la que la mayoría de reglamentos nacionales y la literatura de validación siguen citando.)

Consulta la página de Teoría para la derivación completa, la guía de Acústica de salas para cómo alimenta la ISO 354, y la guía de exposición al ruido en el trabajo para la exposición ocupacional (ISO 9612) que consume niveles ponderados A.

Ambos resultados de propagación al aire libre generan una ficha PDF de una página de predicción. Se etiquetan claramente como predicciones, no como mediciones: la hoja indica las hipótesis meteorológicas y de suelo y, para la barrera, nombra el modelo de difracción real que hay detrás del número.

OutdoorAttenuation.report(path) destaca por sí solo el intervalo de la atenuación total por bandas de octava; pasa un SourceEmission (la potencia acústica de la fuente y su directividad) para añadir la potencia de la fuente y el nivel a favor del viento a la tabla y destacar en su lugar el nivel a favor del viento con ponderación A en el receptor. Un nivel límite indicado mediante el requirement de los metadatos añade entonces un veredicto CUMPLE/NO CUMPLE (un nivel más bajo es mejor). Usa language="es" para la ficha en español.

import numpy as np
from phonometry import (
Barrier,
ReportMetadata,
SourceEmission,
outdoor_propagation_attenuation,
)
freqs = np.array([63, 125, 250, 500, 1000, 2000, 4000, 8000], dtype=float)
lw = np.array([95, 100, 103, 105, 104, 101, 95, 88], dtype=float)
result = outdoor_propagation_attenuation(
200.0, 4.0, 2.0, freqs, 1.0, 1.0, 1.0,
barrier=Barrier(source_to_edge=105.0, edge_to_receiver=105.0),
temperature=10.0, relative_humidity=70.0,
)
result.report(
"outdoor_attenuation.pdf",
metadata=ReportMetadata(
specimen="Ventilador industrial (fuente puntual)",
test_room="Fachada de la vivienda más próxima",
requirement=50.0, # nivel máximo aceptable a favor del viento
),
source_emission=SourceEmission(sound_power_level=lw),
language="es",
)
Informe de ejemplo de propagación ISO 9613-2 (PDF)

Ficha de predicción ISO 9613-2 de una página: un encabezado de metadatos con la distancia de propagación, una tabla por banda del nivel de potencia acústica Lw y de los términos de atenuación por divergencia, atmósfera, suelo y barrera con el total A y el nivel a favor del viento LfT(DW), el gráfico del desglose de la atenuación y el nivel a favor del viento con ponderación A destacado LAT(DW) = 29,9 dB con veredicto CUMPLE frente a un límite de 50 dB.

Descargar el informe (PDF)

Ficha de propagación al aire libre (OutdoorAttenuation.report), el nivel a favor del viento con ponderación A en el receptor.

Antes de emitir la ficha, result.plot() dibuja de forma interactiva el mismo desglose de atenuación por banda (la figura apilada de la sección 2).

BarrierInsertionLoss.report(path) destaca la pérdida por inserción media sobre las bandas de octava; una pérdida por inserción mínima requerida indicada mediante requirement añade un veredicto CUMPLE/NO CUMPLE (una pérdida por inserción más alta es mejor).

import numpy as np
from phonometry import ReportMetadata, barrier_insertion_loss
freqs = np.array([63, 125, 250, 500, 1000, 2000, 4000, 8000], dtype=float)
# hs = 1 m, barrera de 4 m de alto a 50 m, receptor a 1,5 m de altura y a 100 m
# *de la fuente*; method="exact" es el semiplano rígido ondulatorio que nombra la ficha.
result = barrier_insertion_loss(freqs, 1.0, 50.0, 4.0, 100.0, 1.5, method="exact")
result.report(
"barrier_insertion_loss.pdf",
metadata=ReportMetadata(
specimen="Barrera acústica junto a la carretera, 4 m de altura",
requirement=8.0, # pérdida por inserción media mínima requerida
),
language="es",
)
Informe de ejemplo de pérdida por inserción de barrera (PDF)

Ficha de predicción de pérdida por inserción de barrera de una página: un encabezado de metadatos con el modelo de suelo, una tabla por banda de la pérdida por inserción, el gráfico del espectro de pérdida por inserción y la pérdida por inserción media destacada IL = 12,9 dB con veredicto CUMPLE frente a un mínimo de 8 dB. La línea de base nombra el modelo ondulatorio de difracción en pantalla rígida, un complemento del término de apantallamiento de la ISO 9613-2.

Descargar el informe (PDF)

Ficha de pérdida por inserción de barrera (BarrierInsertionLoss.report), la pérdida por inserción media sobre las bandas de octava.

También aquí result.plot() previsualiza el espectro de pérdida por inserción de la ficha; la guía de suelo y barreras dibuja el mismo resultado frente a los modelos de semiplano exacto y suelo coherente.

  • Attenborough, K. y Van Renterghem, T. (2021). Predicting outdoor sound (2.ª ed.). CRC Press. https://doi.org/10.1201/9780429470806Los modelos de impedancia del suelo, el coeficiente de reflexión de onda esférica que explica el mínimo del suelo de la sección 2 y los efectos meteorológicos sobre las barreras.
  • International Organization for Standardization. (1993). Acoustics — Attenuation of sound during propagation outdoors — Part 1: Calculation of the absorption of sound by the atmosphere (ISO 9613-1:1993). El coeficiente de atenuación de tono puro implementado en la sección 1: alfa (Ec. (5)) con las frecuencias de relajación del oxígeno y el nitrógeno (Ec. (3)/(4)), la conversión de humedad del anexo B y las frecuencias centrales exactas de la Tabla 1 (Ec. (6), Nota 5).
  • International Organization for Standardization. (1996). Acoustics — Attenuation of sound during propagation outdoors — Part 2: General method of calculation (ISO 9613-2:1996). La cadena de atenuación implementada en la sección 2: el nivel en el receptor a favor del viento (Ec. (3)/(4)) compuesto por la divergencia geométrica (Ec. (7)), la absorción atmosférica (Ec. (8)), el efecto del suelo (Ec. (9), Tabla 3) con su alternativa ponderada A (Ec. (10)/(11)), el apantallamiento por barreras (Ecs. (12)-(17)) y la corrección meteorológica (Ec. (21)/(22)). En 2024 se publicó una edición revisada; este módulo implementa el método de 1996.
  • International Organization for Standardization. (2003). Acoustics — Measurement of sound absorption in a reverberation room (ISO 354:2003). Solo la conversión m = alfa/(10 lg e) del apartado 8.1.2.1 en que se basa air_attenuation_m; el método en cámara reverberante se trata en la guía de Acústica de salas.
  • Kephalopoulos, S., Paviotti, M. y Anfosso-Lédée, F. (2012). Common noise assessment methods in Europe (CNOSSOS-EU) (EUR 25379 EN). Oficina de Publicaciones de la Unión Europea. https://doi.org/10.2788/31776El marco común de la UE contrastado con la ISO 9613-2 en la sección 3.
  • Maekawa, Z. (1968). Noise reduction by screens. Applied Acoustics, 1(3), 157-173. https://doi.org/10.1016/0003-682X(68)90020-0El ábaco de atenuación de pantallas frente al número de Fresnel del que desciende el término de difracción de la Ec. (14).
  • Salomons, E. M. (2001). Computational atmospheric acoustics. Kluwer Academic Publishers. https://doi.org/10.1007/978-94-010-0660-6ISBN 978-1-4020-0390-5. La teoría ondulatoria (ecuación parabólica, fast field program, refracción y turbulencia) que cuantifica lo que aproximan la hipótesis de condiciones favorables y el factor K_met.