Predicción del aislamiento acústico (EN 12354)
Normas aplicables: EN 12354Referencias: Hopkins 2007
Un índice de laboratorio describe un elemento aislado; un edificio también transmite el sonido por cada camino de flancos. Esta página cubre la predicción EN 12354 del comportamiento in situ a partir de datos de elemento de laboratorio: los modelos de flancos aéreo y de impactos de EN 12354-1/2 con sus índices de reducción de vibraciones de unión, y el aislamiento de fachada y la radiación al exterior de EN 12354-3/4. Las magnitudes medidas con las que se comprueba el modelo están en Medición del aislamiento en campo e índices; los datos de laboratorio vienen de Medición del aislamiento en laboratorio.
¿Cómo predigo el aislamiento acústico con EN 12354 en Python?
Sección titulada «¿Cómo predigo el aislamiento acústico con EN 12354 en Python?»Construye los tres caminos de flanco de cada unión con
building.flanking_element() y combínalos con
building.predicted_airborne_insulation(r_direct=57.0, flanking_paths=paths).
Para el ejemplo del anexo H.3 de EN 12354-1 que se usa abajo devuelve
r_prime_w = 52,2 dB, es decir = 52 dB, y nombra el camino dominante.
El aislamiento a impactos pasa por predicted_impact_insulation().
Predicción del comportamiento (EN 12354)
Sección titulada «Predicción del comportamiento (EN 12354)»Un índice de laboratorio describe un elemento de forma aislada, pero el sonido que un edificio transmite realmente también viaja alrededor del cerramiento (por el suelo, por la fachada, a través de las paredes de flanco) y se vuelve a radiar en la sala receptora. Esta transmisión por flancos es toda la diferencia entre el de laboratorio y el de campo. EN 12354 predice el índice aparente in situ a partir de los índices de laboratorio de los elementos más la transmisión vibratoria de sus uniones.
Cada unión entre un elemento de flanco y el elemento separador lleva tres caminos, (flanco→flanco), (directo→flanco) y (flanco→directo), junto al único camino directo .
Los pulsos de energía salen de la sala emisora por el camino directo Dd y los caminos de flanco Ff, Fd y Df, encogiéndose en cada elemento y unión, y la etiqueta de cada camino se ilumina cuando su pulso vuelve a radiar en la sala receptora.
Los pulsos de energía salen de la sala emisora por el camino directo Dd y los caminos de flanco Ff, Fd y Df, encogiéndose en cada elemento y unión, y la etiqueta de cada camino se ilumina cuando su pulso vuelve a radiar en la sala receptora.
El modelo simplificado de un solo número los combina energéticamente (Fórmula 26):
con el camino directo (Fórmula 27) y cada camino de flanco (Fórmula 28a)
donde m es la longitud de acoplamiento de referencia, la longitud de acoplamiento de la unión y el índice de reducción de vibraciones de la unión (Anexo E, empírico en la relación de masas ).
import numpy as npfrom phonometry import building
# EN 12354-1 Anexo H.3: una pared separadora Rs,w = 57 dB, área Ss = 11.5 m², con# cuatro elementos de flanco. El modelo simplificado lee el Kij de cada unión a# 500 Hz a partir de la relación de masas m'perp / m' (Anexo E); aquí la unión# rígida en cruz del suelo (la relación de masas está redondeada, de ahí 12.5 vs Anexo 12.4):print(round(building.junction_vibration_reduction("rigid_cross", "through", 1.61), 1)) # 12.5 KFfprint(round(building.junction_vibration_reduction("rigid_cross", "corner", 1.61), 1)) # 8.9 KFd = KDf
# Construye los tres caminos de flanco (Ff, Df, Fd) de cada elemento a partir del# Kij tabulado del Anexo H, luego combina el camino directo Dd energéticamente (Fórmula 26).elements = [ # (nombre, Rw, KFf, KFd = KDf, longitud de acoplamiento lf) ("floor", 49, 12.4, 8.9, 4.50), ("ceiling", 46, 14.4, 9.2, 4.50), ("facade", 42, 12.6, 6.7, 2.55), ("int-wall", 33, 33.5, 15.7, 2.55),]paths = []for name, rw, k_ff, k_fd, lf in elements: paths += building.flanking_element(label=name, r_flanking=rw, r_separating=57, k_ff=k_ff, k_fd=k_fd, k_df=k_fd, separating_area=11.5, coupling_length=lf)
res = building.predicted_airborne_insulation(r_direct=57.0, flanking_paths=paths)print(round(res.r_prime_w, 1)) # 52.2 -> R'w = 52 dBprint(res.dominant.label, round(res.dominant.fraction, 2)) # Dd 0.33 (domina el directo)
res.plot() # fracción de energía transmitida por camino, de mayor a menor (requiere matplotlib)Ver el código de esta figura
import matplotlib.pyplot as pltfrom phonometry import building
# Construye los tres caminos de flanco (Ff, Df, Fd) de cada elemento a partir del# Kij tabulado del Anexo H, luego combina el camino directo Dd energéticamente (Fórmula 26).elements = [ # (nombre, Rw, KFf, KFd = KDf, longitud de acoplamiento lf) ("floor", 49, 12.4, 8.9, 4.50), ("ceiling", 46, 14.4, 9.2, 4.50), ("facade", 42, 12.6, 6.7, 2.55), ("int-wall", 33, 33.5, 15.7, 2.55),]paths = []for name, rw, k_ff, k_fd, lf in elements: paths += building.flanking_element(label=name, r_flanking=rw, r_separating=57, k_ff=k_ff, k_fd=k_fd, k_df=k_fd, separating_area=11.5, coupling_length=lf)res = building.predicted_airborne_insulation(r_direct=57.0, flanking_paths=paths)
# Índice de reducción acústica por camino y fracción de energía transmitida de cada# camino para el resultado del Anexo H.3 calculado arriba.labels = [p.label for p in res.paths]r_w = [p.r_w for p in res.paths]frac = [100.0 * p.fraction for p in res.paths]
fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(9, 6), sharex=True)ax1.bar(labels, r_w, color="tab:blue")ax1.axhline(res.r_prime_w, ls="--", color="k", label=f"R'w = {res.r_prime_w:.1f} dB")ax1.set_ylabel("Rij,w del camino [dB]"); ax1.legend()ax2.bar(labels, frac, color="tab:orange")ax2.set_ylabel("Fracción de energía [%]"); ax2.set_xlabel("Camino de transmisión")for ax in (ax1, ax2): ax.tick_params(axis="x", rotation=45)fig.suptitle("EN 12354-1 Anexo H.3 — transmisión por flancos")fig.tight_layout()plt.show()Cada camino de flanco añadido rebaja estrictamente por debajo del directo
; res.paths expone la fracción de energía transmitida de cada
camino, de modo que el camino dominante queda visible. flanking_element es una
función de conveniencia que construye de una vez los tres caminos de una unión; el constructor
de camino único que hay detrás, flanking_path, construye un camino Ff, Df
o Fd cada vez (Fórmula 28a). La Cláusula 4.4.2 también
impone un límite inferior a partir de la geometría de
la unión (Fórmula 29). Pasa el área del elemento de flanco a
flanking_element(..., flanking_area=...) y la saturación se aplica
automáticamente camino a camino; o calcula el límite con
junction_min_vibration_reduction y pásalo a
flanking_path(..., kij_min=...), que eleva un por debajo del límite
hasta el mínimo:
from phonometry import building# Kij,min = 10 lg[lf·l0·(1/Si + 1/Sj)]; los elementos grandes dan un límite bajo# (aquí negativo), así que un Kij tabulado realista rara vez se satura; pero# los elementos pequeños y ligeros pueden superarlo (p. ej. lf = 4 m,# S = 1.5 m² da 7.3 dB, por encima del suelo de 5 dB de las uniones ligeras).print(round(building.junction_min_vibration_reduction(coupling_length=4.5, s_i=11.5, s_j=11.5), 1)) # -1.1La contrapartida a impactos (EN 12354-2, Fórmula 21) es una resta directa: , con el nivel equivalente del suelo desnudo (Anexo B), la mejora del revestimiento (ISO 717-2) y la corrección por flancos de la Tabla 1.
from phonometry import building
# EN 12354-2 Anexo E.3: un forjado de hormigón de 0.14 m (m' = 322 kg/m²) con un# suelo flotante (ΔLw = 33 dB), salas una sobre otra, masa media de flanco 145 kg/m².ln_eq = building.equivalent_impact_level(322.0) # 164 - 35 lg(m')k = building.impact_flanking_correction(322.0, 145.0) # Tabla 1 (sep 322, flk 145)imp = building.predicted_impact_insulation(ln_w_eq=ln_eq, delta_l_w=33.0, k_correction=k)print(round(ln_eq, 1), k, round(imp.l_prime_n_w, 1)) # 76.2 2 45.2 -> L'n,w = 45 dB
# Fórmula (3) exacta: L'nT,w = L'n,w - 10 lg(0.032 V). El redondeo del propio# Anexo E.3 a 10 lg(V/30) queda 0.18 dB por debajo; ambos dan L'nT,w = 43 dB.print(round(building.standardized_impact_level(imp.l_prime_n_w, 50.0), 1)) # 43.2 L'nT,w
imp.plot() # los términos de la Fórmula (21) como barras: Ln,w,eq - dLw + K -> L'n,w (requiere matplotlib)Todo el modelo simplificado de EN 12354-2 es una resta: el forjado masivo desnudo parte de dB, el suelo flotante recupera 33 dB y la corrección de flancos devuelve 2 dB, quedando en dB.
Mostrar el código de esta figura
import matplotlib.pyplot as pltimport numpy as npfrom phonometry import building
# EN 12354-2 Anexo E.3: forjado de hormigón de 0,14 m (m' = 322 kg/m2),# suelo flotante con delta-Lw = 33 dB, masa media de flancos de 145 kg/m2.ln_eq = building.equivalent_impact_level(322.0)k = building.impact_flanking_correction(322.0, 145.0)imp = building.predicted_impact_insulation(ln_w_eq=ln_eq, delta_l_w=33.0, k_correction=k)
# Una línea: los términos de la Fórmula (21) como barras:imp.plot(language="es")plt.show()
# A mano, desde los campos del resultado:labels = ["Ln,w,eq", "-dLw", "+K", "L'n,w"]values = [imp.ln_w_eq, -imp.delta_l_w, imp.k_correction, imp.l_prime_n_w]fig, ax = plt.subplots()ax.bar(np.arange(4), values)ax.axhline(0.0, color="k", lw=0.8)ax.set_xticks(np.arange(4), labels)ax.set_ylabel("Nivel / corrección [dB]")ax.set_title(f"L'n,w = {imp.l_prime_n_w:.1f} dB (EN 12354-2 Anexo E.3)")plt.show()La contrapartida aérea de ese cierre es la Fórmula (5b),
, expuesta como
standardized_level_difference: cierra el ejemplo del Anexo H.3
(standardized_level_difference(52.2, 50.0, 11.5) da 53,6 dB, la cadena
impresa con 53,8 dB, y ambas redondean a dB).
Las tres guías de aislamiento cierran un bucle: el laboratorio mide y elemento a elemento y unión a unión, este modelo los ensambla en un predicho, y la medición en campo comprueba el resultado construido. Cuando el valor medido queda muy por debajo de la predicción, busca un defecto de ejecución en la vía dominante que informa el modelo: un puente rígido a través de una unión resiliente, un trasdosado ausente, una fuga alrededor del elemento separador.
Parámetros de junction_vibration_reduction() / flanking_element()
Sección titulada «Parámetros de junction_vibration_reduction() / flanking_element()»| Parámetro | Tipo | Unidades | Rango / valor por defecto | Notas |
|---|---|---|---|---|
junction_type | str | — | 'rigid_cross' / 'rigid_t' / 'flexible_t' / 'lightweight_facade' / 'lightweight_double_homogeneous' / 'lightweight_double_coupled' / 'corner' / 'thickness_change' | Geometría de la unión (Anexo E.3-E.9) |
path | str | — | 'through' (K13) / 'corner' (K12 = K23) / 'double_leaf' (K24) | Rama del camino |
mass_ratio | float | — | > 0 | m'⊥,i / m'i (Fórmula E.2) |
frequency | float | Hz | por defecto 500 | flexible_t y las uniones de doble hoja E.7/E.8 dependen de la frecuencia |
r_flanking / r_separating | float | dB | — | Índices ponderados del elemento de flanco / separador |
k_ff / k_fd / k_df | float | dB | — | Kij de la unión para los tres caminos |
separating_area | float | m² | > 0 | Superficie del elemento separador Ss |
coupling_length | float | m | > 0 | Longitud de acoplamiento de la unión lf |
delta_r_ff / delta_r_fd / delta_r_df | float | dB | por defecto 0 | Mejoras del trasdosado por camino |
flanking_area | float | m² | por defecto None | Área del elemento de flanco SF; activa la saturación automática a Kij,min (Cláusula 4.4.2 / Fórmula 29) |
Parámetros de flanking_path()
Sección titulada «Parámetros de flanking_path()»| Parámetro | Tipo | Unidades | Rango / defecto | Notas |
|---|---|---|---|---|
label | str | — | — | Nombre visible del camino |
kind | str | — | 'Ff' / 'Df' / 'Fd' | Rama de flanco del camino |
r_source / r_receive | float | dB | — | Índices ponderados de los elementos lado emisor / lado receptor |
k_ij | float | dB | — | Índice de reducción de vibraciones de la unión para este camino |
separating_area | float | m² | > 0 | Área del elemento separador Ss |
coupling_length | float | m | > 0 | Longitud de acoplamiento lf |
delta_r | float | dB | def.: 0 | Mejora por revestimiento en este camino |
kij_min | float | dB | def.: None | Si se da, k_ij se acota inferiormente a este mínimo de la Fórmula (29) |
predicted_airborne_insulation() devuelve un AirbornePredictionResult
(r_prime_w, r_direct_w, paths de PathContribution, dominant);
predicted_impact_insulation() un ImpactPredictionResult (l_prime_n_w,
ln_w_eq, delta_l_w, k_correction). El modelo simplificado lleva una
desviación típica declarada de unos 2 dB (Cláusula 5).
Informe de predicción EN 12354 (.report())
Sección titulada «Informe de predicción EN 12354 (.report())»Ambos resultados de predicción generan un informe de predicción de una
página mediante el método report(path). A diferencia de las fichas de
medición, el resultado informado es una estimación del comportamiento in situ
a partir de los datos de laboratorio de los elementos más la transmisión por
flancos de las uniones; la hoja lo indica de forma explícita y se rotula como
predicción, nunca como medición. AirbornePredictionResult.report() genera la
ficha del índice de reducción acústica aparente previsto (la tabla de vías de
transmisión junto al gráfico de fracción de energía por vía, con R'w en un
recuadro); ImpactPredictionResult.report() genera la ficha del nivel de
impactos aparente previsto (la tabla de términos de la fórmula (21) junto al
gráfico de términos, con L'n,w en un recuadro). Cada una nombra la
EN/ISO 12354-1/-2 y la parte de índice ISO 717 en su línea de base, imprime la
desviación típica del modelo (~2 dB) y, cuando se da un requirement, añade un
veredicto CUMPLE/NO CUMPLE (el índice aéreo cumple igualando o superándolo, y el
de impactos igualándolo o quedando por debajo).
verbose=True añade a la tabla aérea la fracción de energía transmitida de cada
vía. Los metadatos, language="es" y el extra phonometry[report] se comportan
igual que en las fichas de medición; los campos aplicables de ReportMetadata
son el elemento separador (specimen), la superficie del separador o el suelo
(area), la geometría de los recintos (source_volume, receiving_volume), la
masa del suelo desnudo (mass_per_area, impactos), el fabricante
(manufacturer), el recinto o la instalación de ensayo (test_room), la
identidad del calculista/laboratorio (client, laboratory, operator,
report_id, test_date) y un resumen en texto libre de la construcción de
flancos y las hipótesis del modelo (notes).
from phonometry import building, ReportMetadata
# Predicción aérea (EN 12354-1 Anexo H.3): un tabique separador Rs,w = 57 dB# flanqueado por cuatro elementos -> R'w = 52 dB.paths = []for label, rw, kff, kfd, lf in [ ("suelo", 49.0, 12.4, 8.9, 4.5), ("techo", 46.0, 14.4, 9.2, 4.5), ("fachada", 42.0, 12.6, 6.7, 2.55), ("tabique interior", 33.0, 33.5, 15.7, 2.55),]: ff, df, fd = building.flanking_element( label=label, r_flanking=rw, r_separating=57.0, k_ff=kff, k_fd=kfd, k_df=kfd, separating_area=11.5, coupling_length=lf) paths += [ff, df, fd]air = building.predicted_airborne_insulation(r_direct=57.0, flanking_paths=paths)air.report("Rpw_prediccion.pdf", language="es", metadata=ReportMetadata( specimen="Tabique separador, Rs,w = 57 dB", area=11.5, source_volume=53.0, receiving_volume=50.0, requirement=50.0, notes="Flancos: suelo/techo/fachada/tabique interior.")) # R'w = 52 dBair.report("Rpw_prediccion_vias.pdf", verbose=True, language="es")
# Predicción de impactos (EN 12354-2 Anexo E.3): un forjado de hormigón# (m' = 322 kg/m²) con suelo flotante (ΔLw = 33 dB) -> L'n,w = 45 dB.ln_eq = building.equivalent_impact_level(322.0)k = building.impact_flanking_correction(322.0, 145.0)imp = building.predicted_impact_insulation(ln_w_eq=ln_eq, delta_l_w=33.0, k_correction=k)imp.report("Lnw_prediccion.pdf", language="es", metadata=ReportMetadata(mass_per_area=322.0, requirement=53.0)) # L'n,w = 45 dBAmbas fichas de ejemplo se regeneran con make reports y se mantienen
renderizadas en el repositorio; haz clic en cualquier vista previa para abrir el
PDF.

Informe de predicción de aislamiento acústico a ruido aéreo entre recintos de una página (EN 12354-1 Anexo H.3): la cabecera de metadatos (elemento separador, superficie, volúmenes de los recintos), la tabla de vías de transmisión (la vía directa y el índice ponderado Rij,w de cada vía de flanco) junto al gráfico de barras de fracción de energía por vía, el R'w previsto = 52 dB en un recuadro, el enunciado de predicción con la desviación típica del modelo (~2 dB) y un veredicto CUMPLE frente al requisito de 50 dB.

Informe de predicción de aislamiento acústico a ruido de impactos de un suelo de una página (EN 12354-2 Anexo E.3): la cabecera de metadatos, la tabla de términos de la fórmula (21) (el nivel equivalente del suelo desnudo Ln,w,eq, la mejora del revestimiento ΔLw y la corrección por flancos K) junto al gráfico de barras de términos, el L'n,w previsto = 45 dB en un recuadro, el enunciado de predicción y un veredicto CUMPLE frente al requisito de 53 dB (un nivel de impactos menor es mejor).
Aislamiento de fachada y potencia radiada (EN 12354-3 / -4)
Sección titulada «Aislamiento de fachada y potencia radiada (EN 12354-3 / -4)»Las partes 3 y 4 predicen los dos sentidos a través del cerramiento del edificio, ambos a partir de la misma suma energética de los factores de transmisión de los elementos , ponderados por área según (un elemento pequeño o un paso de aire entra a través de su diferencia de nivel normalizada del elemento con el área de referencia ):
Parte 3: exterior → interior. A partir de (Fórmula 10) se derivan los índices referidos a altavoz y a tráfico y , y la salida principal, la diferencia de nivel estandarizada a 2 m (Fórmula 13)
con el término de forma de la fachada (Anexo C; 0 dB para una
fachada plana reflectante; facade_shape_level_difference lo consulta en la
tabla de la Figura C.2 para galerías, balcones y terrazas, interpolando sobre
la absorción del intradós ). Los índices de un solo número reutilizan
EN ISO 717-1 (weighted_rating).
from phonometry import building
# EN 12354-3 Anexo F: una fachada de 11.3 m² (V = 50 m³, plana con ΔLfs = 0) de una# doble hoja, una ventana, un pequeño tragaluz y una entrada de aire con# tratamiento acústico (un elemento Dn,e).elements = [ building.FacadeElement("wall", area=6.0, r=[41, 46, 52, 58, 64]), # octava 125-2000 building.FacadeElement("window", area=4.5, r=[23, 22, 30, 36, 37]), building.FacadeElement("skylight", area=0.5, r=[24, 27, 30, 33, 30]), building.FacadeElement("air inlet", dn_e=[28, 23, 25, 38, 44]), # elemento pequeño]fac = building.facade_sound_reduction(elements, area=11.3, volume=50.0, frequencies=[125, 250, 500, 1000, 2000], bands="octave")print(fac.r_tr_s_w, fac.c_tr, fac.d_2m_nt_w) # 31 -3 33 (R'tr,s,w / Ctr / D2m,nT,w)
fac.plot() # índices parciales por elemento con R' y D2m,nT superpuestos (requiere matplotlib)Ver el código de esta figura
import numpy as npimport matplotlib.pyplot as pltfrom phonometry import building
# EN 12354-3 Anexo F: una fachada de 11.3 m² (V = 50 m³, plana con ΔLfs = 0) de una# doble hoja, una ventana, un pequeño tragaluz y una entrada de aire con# tratamiento acústico (un elemento Dn,e).elements = [ building.FacadeElement("wall", area=6.0, r=[41, 46, 52, 58, 64]), # octava 125-2000 building.FacadeElement("window", area=4.5, r=[23, 22, 30, 36, 37]), building.FacadeElement("skylight", area=0.5, r=[24, 27, 30, 33, 30]), building.FacadeElement("air inlet", dn_e=[28, 23, 25, 38, 44]), # elemento pequeño]fac = building.facade_sound_reduction(elements, area=11.3, volume=50.0, frequencies=[125, 250, 500, 1000, 2000], bands="octave")
x = np.arange(5)fig, ax = plt.subplots(figsize=(9, 5.5))for name, rp in fac.element_r.items(): ax.plot(x, rp, "--", alpha=0.6, marker=".", label=f"Rp — {name}")ax.plot(x, fac.r_prime, "k-", lw=2.5, marker="o", label="R′ (fachada)")ax.plot(x, fac.d_2m_nt, lw=2, marker="s", label="D2m,nT")ax.set_xticks(x); ax.set_xticklabels([125, 250, 500, 1000, 2000])ax.set_xlabel("Frecuencia [Hz]"); ax.set_ylabel("Índice / diferencia de nivel [dB]")ax.set_title("Aislamiento acústico de fachada EN 12354-3 (Anexo F)")ax.legend(ncol=2); ax.grid(alpha=0.4)fig.tight_layout(); plt.show()La predicción de fachada también escribe un informe de predicción de una
página mediante un método report(path), con la misma maquetación que las
fichas de predicción a ruido aéreo y de impactos. FacadePredictionResult.report()
representa la tabla de elementos de la fachada (el índice parcial ponderado
Rp,w de cada elemento) junto a la gráfica por elemento / R' / D2m,nT, el
número único previsto D2m,nT,w en un recuadro (con R'tr,s,w y Ctr), la
declaración de predicción y, cuando se aporta un requirement, un veredicto
APTO/NO APTO (la diferencia de niveles cumple si es igual o mayor). verbose=True
añade la fracción de energía sonora transmitida por cada elemento, que señala el
elemento limitante (aquí la entrada de aire, no la pared). El informe necesita
los índices de número único de ISO 717-1, así que construye el resultado sobre
las 5 bandas de octava o las 16 de tercio de octava. Los campos aplicables de
ReportMetadata describen la situación prevista: specimen (el conjunto de
elementos de la fachada), area (la superficie expuesta de la fachada), el
volumen del recinto receptor receiving_volume, la situación exterior/de tráfico
en test_room, además de los campos de identidad del calculista / laboratorio
(client, manufacturer, measurement_standard, laboratory, operator,
report_id, test_date), un resumen libre de la forma de la fachada y del
modelo en notes y el objetivo D2m,nT,w en requirement. Los metadatos,
language="es" y el extra phonometry[report] se comportan como en las fichas
de medición.
from phonometry import building, ReportMetadata
# EN 12354-3 Anexo F, fachada -> D2m,nT,w = 33 dB (R'tr,s,w = 31, Ctr = -3).elements = [ building.FacadeElement("Masonry wall", area=6.0, r=[41, 46, 52, 58, 64]), building.FacadeElement("Glazing", area=4.5, r=[23, 22, 30, 36, 37]), building.FacadeElement("Roof light", area=0.5, r=[24, 27, 30, 33, 30]), building.FacadeElement("Air inlet", dn_e=[28, 23, 25, 38, 44]),]fac = building.facade_sound_reduction(elements, area=11.3, volume=50.0, frequencies=[125, 250, 500, 1000, 2000], bands="octave")fac.report("D2mnT_prediction.pdf", metadata=ReportMetadata( specimen="Masonry wall + window + roof light + air inlet", area=11.3, receiving_volume=50.0, requirement=30.0, notes="Fachada plana, ΔLfs = 0 dB (Anexo C).")) # D2m,nT,w = 33 dB
Informe de una página de aislamiento acústico de fachada previsto (EN 12354-3 Anexo F): la cabecera de metadatos (conjunto de elementos de la fachada, superficie expuesta, volumen del recinto receptor, situación de tráfico), la tabla de elementos de la fachada (el índice parcial ponderado Rp,w de cada elemento) junto a la gráfica por elemento y R' / D2m,nT, el número único previsto D2m,nT,w = 33 dB en un recuadro (con R'tr,s,w = 31 y Ctr = -3), la declaración de predicción indicando la desviación típica del modelo de unos 2 dB y un veredicto APTO frente al requisito de 30 dB.
Parte 4: interior → exterior. El nivel de potencia acústica radiada por un segmento (Fórmula 2) es con m² y el término de difusividad del campo interior (Anexo B; −6 dB difuso ideal, −5 dB industrial medio). Los huecos son elementos cuya «R» es la pérdida por inserción del silenciador (un hueco desnudo es 0 dB). El nivel exterior se obtiene de la atenuación simplificada del Anexo E de un lado radiante finito, .
from phonometry import building
# EN 12354-4 Anexo G, lado 1: un segmento de pared de hormigón de 10×20 m con una# puerta industrial de 6×4 m, nivel interior Lp,in, Cd = -5 dB. El tope de 40 dB# sobre R' es una nota al pie del ejemplo del Anexo G (fugas en obra), no parte# de la Fórmula (2)/(3): pásalo explícitamente para reproducir el Anexo G;# por defecto no se aplica ningún tope.bands = [63, 125, 250, 500, 1000, 2000, 4000, 8000]seg = building.radiated_sound_power( [building.FacadeElement("wall", area=176.0, r=[32, 36, 36, 33, 39, 49, 57, 63]), building.FacadeElement("door", area=24.0, r=[21, 23, 28, 30, 30, 30, 30, 30])], lp_in=[70, 74, 76, 72, 70, 67, 62, 57], area=200.0, c_d=-5.0, r_prime_cap=40.0, octave_bands=bands)print(round(seg.l_w[0], 1), round(seg.l_w[1], 1)) # 59.8 61.2 (LW a 63/125 Hz)
# Nivel exterior a 5 m frente al centro del lado de 60×10 m (LWA = 62.9 dB(A)).a_tot = building.outdoor_attenuation(width=60.0, height=10.0, distance=5.0)print(round(a_tot, 1), round(building.outdoor_level(62.9, a_tot), 1)) # 26.3 36.6
seg.plot() # LW radiada por octava con la línea de LWA ponderada A (requiere matplotlib)El segmento del lado 1 del Anexo G: el muro domina la superficie pero la más débil de la puerta gobierna la potencia radiada, así que el espectro de octavas se mantiene plano donde el muro solo caería. La línea discontinua es el valor único ponderado A formado a partir de las octavas.
Mostrar el código de esta figura
import matplotlib.pyplot as pltimport numpy as npfrom phonometry import building
# EN 12354-4 Anexo G, lado 1: un segmento de muro de hormigón de 10×20 m con# una puerta industrial de 6×4 m, nivel interior Lp,in y Cd = -5 dB.bands = [63, 125, 250, 500, 1000, 2000, 4000, 8000]seg = building.radiated_sound_power( [building.FacadeElement("muro", area=176.0, r=[32, 36, 36, 33, 39, 49, 57, 63]), building.FacadeElement("puerta", area=24.0, r=[21, 23, 28, 30, 30, 30, 30, 30])], lp_in=[70, 74, 76, 72, 70, 67, 62, 57], area=200.0, c_d=-5.0, r_prime_cap=40.0, octave_bands=bands)
# Una línea: LW por octava con la línea de LWA ponderada A:seg.plot(language="es")plt.show()
# A mano, desde los campos del resultado:x = np.arange(len(bands))fig, ax = plt.subplots()ax.bar(x, seg.l_w, label="LW radiada por octava")ax.axhline(seg.l_w_dba, ls="--", color="tab:red", label=f"LWA = {seg.l_w_dba:.1f} dB(A)")ax.set_xticks(x, [str(b) for b in bands])ax.set_xlabel("Frecuencia [Hz]")ax.set_ylabel("Nivel de potencia acústica radiada [dB re 1 pW]")ax.set_title("Potencia acústica radiada EN 12354-4 (Anexo G)")ax.legend()plt.show()Nota sobre los ejemplos resueltos. Los ejemplos resueltos de 2000 arrastran pequeñas inconsistencias internas de redondeo en las bandas de octava altas (el impreso de la Parte 3 no concuerda con sus propios índices parciales por elemento a 1 k/2 k; las filas de de la Parte 4 por encima de 500 Hz no concuerdan con sus entradas de la Tabla G.2). La implementación es fiel a las fórmulas: reproduce exactamente las bandas bajas, todos los índices de un solo número y toda la propagación del Anexo E.
Parámetros de FacadeElement / facade_sound_reduction() / radiated_sound_power()
Sección titulada «Parámetros de FacadeElement / facade_sound_reduction() / radiated_sound_power()»| Parámetro | Tipo | Unidades | Rango / valor por defecto | Notas |
|---|---|---|---|---|
FacadeElement.area | float | m² | > 0 para r / insertion_loss | Área del elemento (se ignora para dn_e) |
FacadeElement.r / dn_e / insertion_loss | float o secuencia | dB | dar exactamente uno | Elemento de área / elemento pequeño / pérdida por inserción del hueco |
facade_sound_reduction(area) | float | m² | > 0 | Área total de la fachada |
facade_sound_reduction(volume) | float | m³ | > 0 | Volumen de la sala receptora (Fórmula 13) |
facade_sound_reduction(delta_l_fs) | float | dB | por defecto 0 | Término de forma de la fachada (Anexo C; consúltalo con facade_shape_level_difference) |
radiated_sound_power(lp_in) | float o secuencia | dB | — | Nivel interior por banda |
radiated_sound_power(c_d) | float | dB | por defecto -6 | Término de difusividad (Anexo B) |
radiated_sound_power(r_prime_cap) | float | dB | por defecto None (sin tope) | Tope de campo opcional sobre , nota al pie del ejemplo del Anexo G (usa 40 dB), no parte de la Fórmula (2)/(3) |
radiated_sound_power(octave_bands) | sec. de int | Hz | por defecto None | Centros de octava que casan con las bandas; habilita el ponderado A |
facade_sound_reduction(frequencies) | secuencia | Hz | por defecto None; longitud = nº de bandas | Centros de banda que se conservan en el resultado para las gráficas |
outdoor_attenuation(width, height, distance) | float | m | > 0 | Lado radiante finito y distancia de recepción (Anexo E) |
outdoor_level(l_w, attenuation) | float o sec. | dB | compatibles por difusión | exterior de uno o varios lados (Fórmula E.1) |
facade_sound_reduction() devuelve un FacadePredictionResult (r_prime, r_45,
r_tr_s, d_2m_nt, element_r, y los números únicos r_tr_s_w / d_2m_nt_w /
c_tr); radiated_sound_power() un RadiatedPowerResult (l_w, r_prime,
l_w_dba). Ambos exponen .plot().
Véase también
Sección titulada «Véase también»- Medición del aislamiento en campo e índices: las magnitudes in situ medidas con las que se comprueba la predicción.
- Medición del aislamiento en laboratorio: los índices ISO 10140 y los datos de unión ISO 10848 que consume el modelo.
- Absorción acústica en recintos (EN 12354-6): el miembro de absorción de la misma familia EN 12354.
- Rigidez dinámica de materiales resilientes (EN 29052-1): la entrada s’ del término de suelo flotante de EN 12354-2.
- Referencia de la API:
building.building_predictionybuilding.facade_prediction.
Referencias
Sección titulada «Referencias»- European Committee for Standardization. (2000). Building acoustics — Estimation of acoustic performance of buildings from the performance of elements — Part 1: Airborne sound insulation between rooms (EN 12354-1:2000). La predicción simplificada de transmisión por flancos aérea (uniones del Anexo E, ejemplo resuelto H.3). La ficha de catálogo enlazada es la página de BSI Knowledge de BS EN 12354-1:2000.
- European Committee for Standardization. (2000). Building acoustics — Estimation of acoustic performance of buildings from the performance of elements — Part 2: Impact sound insulation between rooms (EN 12354-2:2000). La predicción simplificada de transmisión por flancos de impactos (ejemplo resuelto E.3). La ficha de catálogo enlazada es la página de BSI Knowledge de BS EN 12354-2:2000.
- European Committee for Standardization. (2000). Building acoustics — Estimation of acoustic performance of buildings from the performance of elements — Part 3: Airborne sound insulation against outdoor sound (EN 12354-3:2000). La predicción de aislamiento acústico de fachada (ejemplo resuelto del Anexo F). La ficha de catálogo enlazada es la página de BSI Knowledge de BS EN 12354-3:2000.
- European Committee for Standardization. (2000). Building acoustics — Estimation of acoustic performance of buildings from the performance of elements — Part 4: Transmission of indoor sound to the outside (EN 12354-4:2000). La predicción de radiación al exterior (ejemplo resuelto del Anexo G). La ficha de catálogo enlazada es la página de BSI Knowledge de BS EN 12354-4:2000.
- Hopkins, C. (2007). Sound insulation. Butterworth-Heinemann. https://doi.org/10.4324/9780080550473El tratamiento completo de la transmisión por flancos y del marco de predicción EN 12354, del índice de reducción de vibraciones a su base estadística. ISBN 978-0-7506-6526-1.