<!-- canonical: https://jmrplens.github.io/phonometry/es/guides/panel-sound-insulation/ -->
Source: https://jmrplens.github.io/phonometry/es/guides/panel-sound-insulation/

Un ensayo de laboratorio mide el índice de reducción acústica $R$ de un elemento
acabado; esta página, en cambio, **predice** $R(f)$ a partir de las propiedades
físicas de la construcción, de modo que un cerramiento se puede diseñar antes de
construirlo. Cubre el aislamiento aéreo de un panel simple (la ley de masas y el
valle de coincidencia), la pared doble (su resonancia masa-muelle-masa), la
transmisión por rendijas y aberturas que limita cualquier construcción real, la
eficiencia de radiación de una placa en flexión y las movilidades puntuales que
fijan la potencia vibratoria que una estructura absorbe. Las magnitudes medidas
que estas predicciones alimentan están en
[Predicción del aislamiento (EN 12354)](/phonometry/es/guides/insulation-prediction/)
y [Medición del aislamiento en campo e índices](/phonometry/es/guides/insulation-field/).

## Panel simple: ley de masas y coincidencia (Bies 7.2)

Un panel flexible y poco rígido transmite el sonido al ser movido en bloque por
la presión incidente; cuanto más pesado y mayor la frecuencia, más se resiste.
La **ley de masas a incidencia normal** (Bies Ec. 7.40) y su forma de campo
difuso (Ec. 7.42) son

$$
TL_0 = 10 \log_{10}\!\left[ 1 + \left(\frac{\pi f\, m''}{\rho_0 c_0}\right)^2 \right],
\qquad TL = TL_0 - \Delta_{\text{banda}},
$$

con $m''$ la masa por unidad de superficie y $\Delta_{\text{banda}} = 5{,}5$ dB
(tercio de octava) o $4{,}0$ dB (octava). Por encima del codo del argumento la
ley de masas sube **6 dB por octava y 6 dB por duplicar la masa**: los dos
hechos sobre los que descansa todo cálculo de aislamiento.

Un panel real también es rígido, así que en la **frecuencia de coincidencia
(crítica)** (Bies Ec. 7.3)

$$
f_c = \frac{c_0^2}{2\pi}\sqrt{\frac{m''}{B'}}
    = \frac{0{,}55\, c_0^2}{c_L\, h},
$$

la longitud de onda de flexión libre iguala la longitud de onda de traza del
sonido incidente y el panel se vuelve transparente: el **valle de coincidencia**.
El método de Sharp mantiene la ley de masas de campo hasta $f_c/2$, cae con una
recta en $\log f$ y desde $f_c$ sigue (Ec. 7.44)
$TL = 10\lg[1 + (\pi f m''/\rho_0 c_0)^2] + 10\lg(2\eta f/\pi f_c)$ con el factor
de pérdidas $\eta$. El valle se sitúa en el punto B de la carta de diseño de
Bies, $TL = 20\lg(f_c m'') + 10\lg\eta - 44$.

```python

from phonometry import (
    coincidence_frequency, plate_bending_stiffness,
    single_panel_transmission_loss,
)

# Vidrio flotado de 6 mm: E = 62 GPa, rho = 2500 kg/m3, nu = 0.24, eta = 0.024.
bands = np.array([100, 125, 160, 200, 250, 315, 400, 500, 630, 800,
                  1000, 1250, 1600, 2000, 2500, 3150], dtype=float)
mass = 2500.0 * 0.006                                 # 15 kg/m2
bp = plate_bending_stiffness(6.2e10, 0.006, 0.24)     # B' [N.m]
fc = coincidence_frequency(mass, bp)
print(round(fc))                                      # 2107 Hz (Hopkins declara ~2079)

res = single_panel_transmission_loss(bands, mass, critical_frequency=fc,
                                     loss_factor=0.024)
print(round(res.rating().rating))                     # 32  ->  Rw = 32 dB (vidrio 6 mm de catálogo)

res.plot()   # R(f) previsto con la frecuencia crítica marcada (requiere matplotlib)
```

El espectro predicho entra directamente en el índice ISO 717-1 mediante
`res.rating()`, y en EN 12354 como el $R$ de elemento "predicho" allí donde la
norma exigiría una medida de laboratorio.

*El espectro de Sharp previsto se evalúa exactamente como una medición: el
valle de coincidencia en $f_c \approx 2{,}1$ kHz concentra la mayor parte
de las desviaciones desfavorables, y la referencia desplazada leída a
500 Hz da el $R_w = 32$ dB de catálogo del vidrio de 6 mm.*

<details>
<summary>Mostrar el código de esta figura</summary>

```python

from phonometry import (
    coincidence_frequency, plate_bending_stiffness,
    single_panel_transmission_loss,
)

# Vidrio flotado de 6 mm: E = 62 GPa, rho = 2500 kg/m3, nu = 0,24, eta = 0,024.
bands = np.array([100, 125, 160, 200, 250, 315, 400, 500, 630, 800,
                  1000, 1250, 1600, 2000, 2500, 3150], dtype=float)
mass = 2500.0 * 0.006
bp = plate_bending_stiffness(6.2e10, 0.006, 0.24)
fc = coincidence_frequency(mass, bp)
res = single_panel_transmission_loss(bands, mass, critical_frequency=fc,
                                     loss_factor=0.024)
w = res.rating()

# Una línea cada una: el R(f) previsto, o la curva evaluada frente a la referencia:
res.plot(language="es")
w.plot(language="es")
plt.show()

# A mano, combinando ambas en unos mismos ejes:
fig, ax = plt.subplots()
ax.semilogx(bands, res.transmission_loss, "o-", label="R previsto (Sharp)")
ax.semilogx(w.band_centers, w.shifted_reference, "s--",
            label="referencia desplazada")
ax.fill_between(w.band_centers, w.measured, w.shifted_reference,
                where=w.measured < w.shifted_reference, interpolate=True,
                alpha=0.3, label="desviaciones desfavorables")
ax.axvline(fc, ls=":", color="tab:green", label=f"fc = {fc:.0f} Hz")
ax.set_xlabel("Frecuencia [Hz]")
ax.set_ylabel("Índice de reducción acústica R [dB]")
ax.set_title(f"Rw = {w.rating} dB  (C={w.c:+d}; Ctr={w.ctr:+d})")
ax.legend()
plt.show()
```

</details>

## Pared doble: la resonancia masa-muelle-masa (Bies 7.2.6)

Dos hojas separadas por una cámara se comportan como un sistema
masa-muelle-masa, siendo el aire de la cámara (o el relleno) el muelle. Por
debajo de su **resonancia** (Bies Ec. 7.62, Hopkins Ec. 4.73)

$$
f_0 = \frac{1}{2\pi}\sqrt{\frac{s''\,(m_1 + m_2)}{m_1\, m_2}}
    = 60\sqrt{\frac{m_1 + m_2}{m_1\, m_2\, d}}\quad\text{(cámara de aire vacía)},
$$

el conjunto se mueve como uno y sigue la ley de masas de la masa *combinada*;
por encima, las dos leyes de masas se suman, reforzadas por la cámara, hasta la
frecuencia límite $f_l = c_0/(2\pi d)$ donde el refuerzo satura en 6 dB
(Ec. 7.64). Un relleno poroso (cualquier
[`PorousMediumResult`](/phonometry/es/guides/porous-absorbers/)) ablanda la
cámara y baja $f_0$.

```python
from phonometry import double_wall_transmission_loss, mass_spring_mass_resonance
from phonometry import mass_law_transmission_loss, miki

# Dos hojas de 12 kg/m2, cámara de aire de 75 mm.
f0 = mass_spring_mass_resonance(12.0, 12.0, 0.075)
print(round(f0))                                          # 89 Hz

# Por debajo de f0 la pared doble iguala la ley de masas de la masa total 24 kg/m2:
dw = double_wall_transmission_loss(bands, 12.0, 12.0, 0.075)
print(round(float(dw.transmission_loss[0]), 1),
      round(float(mass_law_transmission_loss(bands[0], 24.0)), 1))   # iguales

# Un relleno de lana mineral (un modelo poroso de materials) baja la resonancia:
fill = miki([f0], 7000.0)
print(round(mass_spring_mass_resonance(12.0, 12.0, 0.075, cavity_medium=fill)))  # < 89 Hz

dw.plot()   # R(f) de pared doble con la resonancia masa-muelle-masa marcada (requiere matplotlib)
```

## Rendijas, orificios y aberturas (Hopkins 4.3.10)

Un pequeño camino de aire es el límite real de cualquier construcción pesada. El
coeficiente de transmisión de una rendija recta (Gomperts, Hopkins Ec. 4.99) y
de un orificio circular (Wilson y Soroka, Ec. 4.102) se predicen directamente,
con las resonancias de la rendija en $d + 2e = z\lambda/2$ (Ec. 4.101). Se
combinan con la pared en la suma energética ponderada por área (Ec. 4.92)

$$
R = -10\log_{10}\!\left( \frac{1}{\sum_n S_n} \sum_n S_n\, 10^{-R_n/10} \right),
$$

de modo que una abertura desnuda de área relativa $S_a/S$ limita la composición
a $10\lg(S/S_a)$: una abertura del 1 % nunca puede superar los 20 dB, sea cual
sea la pared.

```python
from phonometry import (
    composite_transmission_loss, slit_transmission_coefficient,
    slit_resonance_frequencies,
)

# Una rendija de 2 mm x 100 mm de fondo: su transmisión tiene máximos en las
# resonancias de media longitud de onda del fondo de la rendija.
print(slit_resonance_frequencies(0.1, 0.002, orders=2).round().tolist())   # [~1500, ~3100]

# Una pared de Rw = 50 dB con el 1 % de su área abierta como rendija queda limitada:
print(round(float(composite_transmission_loss([0.99, 0.01], [50.0, 0.0])), 1))   # 20.0
```

## Eficiencia de radiación de una placa en flexión (Hopkins 2.9)

Cuánta potencia aérea radia realmente una placa vibrante por unidad de velocidad
cuadrática media es su **eficiencia de radiación** $\sigma$: el factor de
radiación $\varepsilon$ que
[Potencia acústica a partir de la vibración](/phonometry/es/guides/vibration-sound-power/)
(ISO 7849) toma en otro caso como entrada medida. Por debajo de la frecuencia
crítica la placa radia poco (modos de borde y de esquina); por encima
$\sigma \to 1$ (Leppington/Maidanik, Hopkins Ec. 2.227-2.230):

$$
\sigma = \frac{1}{\sqrt{1 - f_c/f}} \quad (f > f_c), \qquad \sigma \to 1 .
$$

```python
from phonometry import radiation_efficiency, sound_power_from_vibration

# El panel de vidrio de 6 mm (1.5 x 1.25 m) del ejemplo de panel simple anterior.
sig = radiation_efficiency(bands, 1.5, 1.25, fc)
print(sig.radiation_efficiency[bands == 2000].round(2))    # ~2.5 (pico en coincidencia)

# Alimenta la predicción directamente a ISO 7849 como el factor de radiación:
lw = sound_power_from_vibration(velocity_level=80.0, area=1.875,
                                radiation_factor=sig.radiation_efficiency,
                                frequencies=bands)

sig.plot()   # sigma(f) con el pico de coincidencia (requiere matplotlib)
```

## Movilidades puntuales de estructuras infinitas (Cremer Tabla 5.1)

La potencia vibratoria que inyecta una fuerza puntual es
$W = \tfrac12 |F|^2\,\mathrm{Re}\{Y\}$ (Cremer Ec. 5.23), así que la **movilidad**
puntual $Y$ (la inversa de la impedancia) fija cuánta energía absorbe una
estructura. Para estructuras infinitas son formas cerradas: una placa delgada
infinita es una resistencia pura $Z = 8\sqrt{B'\,m''}$ (real, independiente de
la frecuencia), mientras que una viga infinita tiene
$Y = (1-\mathrm{j})/(4 m' c_B)$ (45 grados, decayendo como $\omega^{-1/2}$).
Aportan la movilidad de receptor que EN 12354-5 necesita cuando no hay medida, y
se empaquetan como un [`MobilityResult`](/phonometry/es/guides/mechanical-mobility/)
de ISO 7626.

```python
from phonometry import infinite_plate_impedance, infinite_beam_mobility, injected_power

z_plate = infinite_plate_impedance(bp, mass)          # Z = 8 sqrt(B' m'') [N.s/m]
print(round(z_plate))                                 # real, independiente de la frecuencia
w = injected_power(force=10.0, mobility=1.0 / z_plate)
print(round(float(w) * 1e3, 3), "mW")                 # W = |F|^2 / (16 sqrt(B' m''))
```

<details>
<summary>Ver el código de la figura conceptual</summary>

```python

from phonometry import (
    coincidence_frequency, composite_transmission_loss,
    double_wall_transmission_loss, mass_law_transmission_loss,
    mass_spring_mass_resonance, plate_bending_stiffness,
    radiation_efficiency, single_panel_transmission_loss,
)

bands = np.array([50, 63, 80, 100, 125, 160, 200, 250, 315, 400, 500, 630, 800,
                  1000, 1250, 1600, 2000, 2500, 3150, 4000, 5000], dtype=float)
fig, ax = plt.subplots(2, 2, figsize=(12, 9))

bp = plate_bending_stiffness(6.2e10, 0.006, 0.24)
fc = coincidence_frequency(15.0, bp)
ml = mass_law_transmission_loss(bands, 15.0, incidence="field")
sp = single_panel_transmission_loss(bands, 15.0, critical_frequency=fc, loss_factor=0.024)
ax[0, 0].semilogx(bands, ml, "--", label="ley de masas de campo")
ax[0, 0].semilogx(bands, sp.transmission_loss, "-o", ms=3, label="R de panel simple (Sharp)")
ax[0, 0].axvline(fc, ls=":", color="r"); ax[0, 0].set_title("Panel simple")

dw = double_wall_transmission_loss(bands, 12.0, 12.0, 0.075)
ax[0, 1].semilogx(bands, mass_law_transmission_loss(bands, 24.0), "--", label="hoja simple")
ax[0, 1].semilogx(bands, dw.transmission_loss, "-o", ms=3, label="pared doble")
ax[0, 1].axvline(mass_spring_mass_resonance(12.0, 12.0, 0.075), ls=":", color="r")
ax[0, 1].set_title("Pared doble")

sig = radiation_efficiency(bands, 1.5, 1.25, fc)
ax[1, 0].loglog(bands, sig.radiation_efficiency, "-o", ms=3, label=r"$\sigma(f)$")
ax[1, 0].axhline(1.0, ls=":"); ax[1, 0].set_title("Eficiencia de radiación")

wall = sp.transmission_loss
comp = [float(composite_transmission_loss([0.99, 0.01], [w, 0.0])) for w in wall]
ax[1, 1].semilogx(bands, wall, "-o", ms=3, label="pared maciza")
ax[1, 1].semilogx(bands, comp, "-s", ms=3, label="pared + rendija 1 %")
ax[1, 1].axhline(20.0, ls=":"); ax[1, 1].set_title("Compuesta con abertura")

for a in ax.flat:
    a.set_xlabel("Frecuencia [Hz]"); a.legend(fontsize=8); a.grid(alpha=0.3)
fig.suptitle("Aislamiento acústico teórico de paneles")
fig.tight_layout(); plt.show()
```

</details>

### Parámetros de las funciones

| Parámetro | Tipo | Unidades | Rango / defecto | Notas |
| :--- | :--- | :--- | :--- | :--- |
| `mass_per_area` | float | kg/m² | > 0 | Densidad superficial $m''$ |
| `critical_frequency` / `bending_stiffness` | float | Hz / N·m | dar uno | Coincidencia $f_c$, o $B'$ para calcularla |
| `loss_factor` | float | — | > 0, defecto `0.01` | Factor de pérdidas total $\eta$ |
| `band` | str | — | `'third'` (−5,5 dB) / `'octave'` (−4,0 dB) | Ancho de la corrección de campo |
| `mass1` / `mass2` | float | kg/m² | > 0 | Densidades superficiales de las hojas |
| `gap` | float | m | > 0 | Profundidad de cámara $d$ |
| `cavity_medium` | `PorousMediumResult` | — | defecto `None` | Relleno poroso; baja $f_0$ |
| `width` / `depth` (rendija) | float | m | > 0 | Anchura $w$ / fondo $d$ de la rendija |
| `field` / `position` (rendija) | str | — | `'diffuse'`/`'normal'`, `'mid'`/`'edge'` | Campo incidente y posición |
| `radius` / `depth` (orificio) | float | m | > 0 | Radio $a$ / fondo $d$ del orificio |
| `areas` / `reduction_indices` | seq | m² / dB | longitud $N$ | Elementos de la composición (1-D o (N, bandas)) |
| `length_x` / `length_y` | float | m | > 0 | Dimensiones de la placa (radiación) |
| `boundary` / `baffle` | str | — | `'simply_supported'`/`'clamped'`, `'infinite'`/`'perpendicular'` | Constantes de borde y bafle |

`single_panel_transmission_loss` y `double_wall_transmission_loss` devuelven un
`SoundReductionResult` (`transmission_loss`, `transmission_coefficient`,
`critical_frequency` / `resonance_frequency`, `.rating()`, `.plot()`); las
funciones de rendija y orificio devuelven un `ApertureTransmissionResult`
(`transmission_coefficient`, `transmission_loss`, `.plot()`);
`radiation_efficiency` un `RadiationEfficiencyResult` (`radiation_efficiency`,
`radiation_index`, `.plot()`). Las predicciones arrastran las salvedades de sus
fuentes (el método de Sharp por encima de $1{,}5\times$ la primera resonancia del
panel; la rendija sin viscosidad de Gomperts válida para $w < 0{,}3\lambda$;
"método n.º 1" de Leppington).

## Qué cubre esta guía

**Cubierto.** Las propias fórmulas fuente: la ley de masas del apartado
7.2 de Bies y el método de coincidencia de Sharp (Ec. 7.40/7.42/7.44) para
un panel simple, la resonancia masa-muelle-masa de la pared doble y su
aumento de cámara que satura (Ec. 7.62-7.64), los coeficientes de
transmisión de rendija de Gomperts y de orificio circular de Wilson y
Soroka de Hopkins con la suma compuesta ponderada por área (Ec. 4.92), la
eficiencia de radiación de placa de Leppington/Maidanik
(Ec. 2.227-2.230), y las impedancias y movilidades puntuales de placas y
vigas infinitas de la Tabla 5.1 de Cremer con la relación de potencia
inyectada, mediante `single_panel_transmission_loss`,
`double_wall_transmission_loss`, `slit_transmission_coefficient`,
`composite_transmission_loss`, `radiation_efficiency`,
`infinite_plate_impedance`, `infinite_beam_mobility` e `injected_power`.

**No cubierto.** Cada predicción se mantiene dentro del rango de validez
que declara su fuente, que la guía señala pero no extiende: el método de
Sharp (y por tanto `single_panel_transmission_loss`) no es válido por
debajo de aproximadamente $1{,}5\times$ la primera resonancia del panel,
donde manda el propio comportamiento modal de baja frecuencia del panel,
no la ley de masas; el modelo de rendija de Gomperts solo es válido para
una rendija estrecha, $w < 0{,}3\lambda$, así que una abertura ancha queda
fuera de él; y solo está implementado el "método n.º 1" de Leppington
para la eficiencia de radiación, no sus otras formulaciones publicadas.

## Véase también

- [Predicción del aislamiento (EN 12354)](/phonometry/es/guides/insulation-prediction/):
  ensambla el $R$ de elemento predicho o medido en el $R'_w$ in situ.
- [Potencia acústica a partir de la vibración (ISO 7849)](/phonometry/es/guides/vibration-sound-power/):
  consume la eficiencia de radiación predicha como su factor de radiación.
- [Movilidad mecánica y la familia de FRF (ISO 7626-1)](/phonometry/es/guides/mechanical-mobility/):
  la contraparte medida de las movilidades puntuales teóricas.
- [Absorbentes porosos y multicapa](/phonometry/es/guides/porous-absorbers/): los
  modelos de relleno de cámara que consume una pared doble.
- Referencia de API: [`building.panel_transmission`](/phonometry/reference/api/building/panel-transmission/), [`building.aperture_transmission`](/phonometry/reference/api/building/aperture-transmission/), [`vibration.radiation_efficiency`](/phonometry/reference/api/vibration/radiation-efficiency/) y [`vibration.point_mobility`](/phonometry/reference/api/vibration/point-mobility/).
