<!-- canonical: https://jmrplens.github.io/phonometry/es/devices/noise-control/room-to-room/ -->
Source: https://jmrplens.github.io/phonometry/es/devices/noise-control/room-to-room/

Una máquina funciona en un recinto, un muro separa ese recinto de otro
ocupado, y alguien quiere saber qué oye el ocupante. Es una cadena corta de
cuatro eslabones — el nivel reverberante que la máquina establece en el lado
emisor, la pérdida por transmisión del muro, la absorción del recinto receptor
y el criterio frente al que se juzga el resultado — y la unión entre el segundo
y el tercero es justo el punto donde la aritmética sorprende: **la reducción de
ruido no es la pérdida por transmisión del muro.**

`noise_control.room_to_room` es esa unión, y esta página recorre de principio
a fin los problemas resueltos de Norton y Karczub. La referencia en todo el
texto es Norton, M. P. y Karczub, D. G., *Fundamentals of Noise and Vibration
Analysis for Engineers* (2.ª ed., Cambridge University Press 2003),
capítulo 4: el apartado 4.6 para los modelos de potencia acústica, el 4.9
para el balance entre recintos y el 4.10 para el cerramiento. Sus problemas
4.16, 4.18 y 4.21 traen respuestas impresas por banda de octava, y los tres
están fijados en el [informe de conformidad](/phonometry/es/reference/conformance/).

Aquí está toda la página en un dibujo: el problema 4.18 de Norton en sección,
con cada símbolo del balance en el sitio que le corresponde físicamente.

De dónde sale *la partición misma* es otra pregunta, que responden
[Aislamiento acústico de
paneles](/phonometry/es/buildings/design/panel-sound-insulation/)
(ley de masas, coincidencia, dobles hojas, método de la meseta) o la medición.
Esta página toma la pérdida por transmisión como dato, igual que hace un
cálculo a mano.

## 1. Qué dice el balance

El apartado 4.9 de Norton plantea el balance de potencia en régimen
estacionario en el recinto receptor: lo que cruza la partición es igual a lo
que el recinto absorbe más lo que vuelve a filtrarse por la partición.
Sustituyendo intensidades por presiones cuadráticas medias y tomando
logaritmos se llega a la Ecuación (4.101),

$$
\text{NR} = \text{TL}
- 10\log_{10}\!\left[\frac{S_\mathrm{w}}{S_2 \alpha_2 + \tau S_\mathrm{w}}\right],
$$

con $\text{NR} = L_{p1} - L_{p2}$ la reducción de ruido entre los dos campos
reverberantes, $\text{TL} = 10\log_{10}(1/\tau)$ la **pérdida por transmisión**
de la partición — el nombre que Norton y Karczub, y la literatura
norteamericana, dan a la magnitud que mide ISO 10140-2 y que ISO 717-1 valora
como **índice de reducción acústica** $R$; son el mismo número, y su índice
global es el $R_\mathrm{w}$ que se usa más abajo, de modo que el $R$ y el $R_\mathrm{w}$ de un
informe de ensayo de laboratorio entran directamente en esta ecuación (véase
[Índices globales de aislamiento (ISO 717)](/phonometry/es/buildings/insulation/insulation-ratings/))
—, $S_\mathrm{w}$ el área de la partición y $S_2 \alpha_2$ el área de absorción sonora
equivalente del recinto receptor.

Leyendo el logaritmo se entiende toda la página. Una **partición grande hacia
un recinto duro** entrega *menos* que su pérdida por transmisión: mucha
superficie radiando hacia un recinto sin nada que lo absorba. Una **partición
pequeña hacia un recinto bien absorbente** entrega *más*. Los dos recintos y
el muro no son separables, y por eso citar el $R_\mathrm{w}$ de un muro y detenerse
ahí no es una respuesta.

El término $\tau S_\mathrm{w}$ es la potencia que la propia partición devuelve al
recinto emisor. Con cualquier pérdida por transmisión realista vale unas
centésimas de decibelio, así que está desactivado por omisión y
`include_partition_transmission=True` lo activa.

### Qué informa una medición de ese mismo par de recintos

La $\text{NR}$ de esta ecuación es la **diferencia de niveles** $D$ en bruto que
devuelve una medición en campo de los dos recintos. Las normas de medición no
informan $D$ en bruto, y por la razón que este apartado acaba de explicar: $D$
depende del recinto receptor. La normalizan, o bien a un tiempo de
reverberación de referencia, $D_\mathrm{nT} = D + 10\log_{10}(T/T_0)$ con
$T_0 = 0{,}5$ s — la magnitud en la que está escrita la mayoría de la
reglamentación residencial —, o bien a un área de absorción de referencia de
10 m², $D_\mathrm{n} = D - 10\log_{10}(A/10)$. La magnitud propia del muro es $R$, y su
versión en campo, $R' = D + 10\log_{10}(S/A)$, incluye los flancos y por eso
queda siempre por debajo del $R$ de laboratorio que supone este cálculo.

La consecuencia merece decirse sin rodeos: una $\text{NR}$ calculada y un
$D_\mathrm{nT,w}$ certificado del mismo muro son números distintos por construcción, y
compararlos sin renormalizar es la forma más habitual de concluir que el modelo
está mal cuando no lo está. El tiempo de reverberación del recinto receptor hay
que medirlo en la misma sesión, porque es lo que lleva la normalización.
[Medición del aislamiento en campo (ISO 16283)](/phonometry/es/buildings/insulation/insulation-field/)
tiene las posiciones de fuente y de micrófono, las separaciones mínimas y la
corrección por ruido de fondo;
[Medición del aislamiento en laboratorio](/phonometry/es/buildings/insulation/insulation-lab/)
tiene de dónde sale un $R$ declarado.

## 2. Tres particiones, un mismo recinto receptor

El problema 4.21 (pp. impresas 586-587) es la comparación para la que se hizo
la ecuación: dos placas de yeso de 13 mm con cámara de aire de 64 mm, un muro
de ladrillo enfoscado de 125 mm y un muro de doble hoja de ladrillo con
cámara de 50 mm, los tres hablando al mismo recinto receptor de
8 m x 9 m x 3 m por la misma abertura de 8 m x 3 m.

```python

from phonometry import (
    SourceRoom, equivalent_absorption_area, room_to_room_transmission,
)

bands = [125.0, 250.0, 500.0, 1000.0, 2000.0, 4000.0]

# Recinto receptor 8 x 9 x 3 m: paredes 102 m2, suelo y techo 72 m2 cada uno.
receiving = equivalent_absorption_area([
    (102.0, [0.04, 0.04, 0.09, 0.15, 0.17, 0.23]),   # paredes
    (72.0,  [0.02, 0.06, 0.14, 0.37, 0.60, 0.66]),   # suelo
    (72.0,  [0.30, 0.20, 0.15, 0.05, 0.05, 0.05]),   # techo
])
print(np.round(receiving, 1))
# [27.1 22.8 30.1 45.5 64.1 74.6]   m2, banda a banda

partitions = {
    "Dos placas de yeso de 13 mm, cámara de 64 mm": [18, 27, 37, 45, 43, 39],
    "Ladrillo enfoscado de 125 mm":                 [36, 36, 40, 46, 54, 57],
    "Doble hoja de ladrillo, cámara de 50 mm":      [37, 41, 48, 60, 61, 61],
}
for name, tl in partitions.items():
    res = room_to_room_transmission(
        bands, tl, 8.0 * 3.0, receiving,
        source=SourceRoom(level=90.0), label=name,
    )
    print(f"{name:44s} {np.round(res.noise_reduction, 1)}")
# Dos placas de yeso de 13 mm, cámara de 64 mm  [18.5 26.8 38.  47.8 47.3 43.9]
# Ladrillo enfoscado de 125 mm                  [36.5 35.8 41.  48.8 58.3 61.9]
# Doble hoja de ladrillo, cámara de 50 mm       [37.5 40.8 49.  62.8 65.3 65.9]
```

Esas son las respuestas impresas de Norton con precisión de una décima de
decibelio. Fíjate en lo que les hizo el recinto receptor. A 125 Hz el recinto
absorbe 27,1 m² frente a una partición de 24 m², así que cada muro entrega
medio decibelio *más* que su pérdida por transmisión. A 250 Hz el techo ha
dejado de absorber y el suelo no ha empezado, el recinto baja a 22,8 m², y
ahora cada muro entrega 0,2 dB *menos*. A 4 kHz la moqueta y las paredes
juntas dan 74,6 m² y ese mismo muro de ladrillo vale 4,9 dB más que su
pérdida por transmisión. Los mismos tres muros, ordenados igual, pero las
cifras que citaría una especificación se mueven más de 5 dB según un recinto
que el muro nunca toca.

*Resta a la reducción de ruido que entrega cada muro su propia pérdida por
transmisión y las tres particiones se derrumban sobre una única curva, porque la
diferencia, $-10\log_{10}[S_\mathrm{w}/(S_2\alpha_2)]$, no contiene ninguna propiedad del
muro. Es el panel inferior: la separación cambia de signo justo donde el área de
absorción del recinto receptor cruza los 24 m² de la partición. Ordenar tres
muros es seguro; citar los decibelios que «da» uno de ellos, no.*

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

```python

# `bands`, `receiving` y `partitions`, tal como se construyeron arriba.

# Una línea por muro: el RoomToRoomResult dibuja los dos espectros, la curva
# de criterio y la reducción de ruido frente a la pérdida por transmisión.
room_to_room_transmission(
    bands, partitions["Ladrillo enfoscado de 125 mm"], 8.0 * 3.0, receiving,
    source=SourceRoom(level=90.0),
).plot(language="es")
plt.show()

# A mano: la separación que muestra cada muro, y el recinto que hay detrás.
fig, (top, bottom) = plt.subplots(2, 1, sharex=True)
for name, tl in partitions.items():
    res = room_to_room_transmission(bands, tl, 8.0 * 3.0, receiving,
                                    source=SourceRoom(level=90.0))
    top.semilogx(bands, res.noise_reduction - np.asarray(tl, float),
                 "o-", label=name)
top.axhline(0.0)
bottom.semilogx(bands, receiving, "o-", label="Absorción del recinto receptor")
bottom.axhline(8.0 * 3.0, ls="--", label="Área de la partición")
bottom.set_xlabel("Frecuencia [Hz]")
plt.show()
```

</details>

## 3. La cadena, de principio a fin

El problema 4.18 (pp. impresas 585-586) es el cálculo completo, y arranca un
paso antes: el nivel del recinto emisor no se da, solo el nivel de potencia
acústica en campo libre del ventilador. Dos decisiones convierten eso en
$L_{p1}$, y las dos son de Norton.

**El campo reverberante es lo que excita la partición.** El receptor que
importa es el muro, no un punto junto a la máquina, así que el nivel
relevante es $L_{p1} = L_W + 10\log_{10}(4/R_1)$. Eso es `steady_state_spl` con
`distance=None`, el límite $r \to \infty$ de la misma Ecuación (6.43) de
Bies que la biblioteca ha usado siempre para un receptor a una distancia.

**El problema pide una estimación conservadora, y conservadora significa algo
concreto.** El ventilador se apoya en el suelo, a media pared, en la
intersección de dos superficies planas grandes, así que $Q = 4$. La Tabla 4.5
del apartado 4.6 de Norton lista tres modelos de potencia acústica: una
fuente de *potencia constante* radia la misma $\Pi_0$ donde quiera que esté,
una fuente de *volumen constante* queda cargada por las superficies próximas
y radia $\Pi_0 Q$, y una fuente de *presión constante*, un suelo teórico,
radia $\Pi_0 / Q$. Las máquinas reales están entre las dos primeras siempre
que estén más cerca del contorno que una longitud de onda, y el modelo de
volumen constante es la cota superior. Aquí vale
$10\log_{10} 4 = 6{,}02\ \text{dB}$, y sin él las respuestas impresas salen 6 dB
por debajo.

```python
from phonometry import (
    DesignCriterion, SourceRoom, equivalent_absorption_area, mean_absorption,
    room_constant, room_to_room_transmission,
)

bands = [125.0, 250.0, 500.0, 1000.0, 2000.0, 4000.0]
ceiling = [0.07, 0.20, 0.40, 0.52, 0.60, 0.67]      # techo absorbente
walls = [0.03, 0.03, 0.03, 0.04, 0.05, 0.07]        # ambos recintos

# Sala de máquinas 8 x 10 x 3 m: suelo desnudo, techo absorbente, 108 m2 de pared.
plant = [(80.0, [0.01, 0.01, 0.015, 0.02, 0.02, 0.02]),
         (80.0, ceiling), (108.0, walls)]

# Sala de control 5 x 5 x 3 m: moqueta, mismo techo y paredes.
operator = [(25.0, [0.08, 0.24, 0.57, 0.69, 0.71, 0.73]),
            (25.0, ceiling), (60.0, walls)]

chain = room_to_room_transmission(
    bands,
    [39.0, 42.0, 50.0, 58.0, 63.0, 67.0],       # TL del muro separador
    5.0 * 3.0,                                  # el muro mide 5 m x 3 m
    equivalent_absorption_area(operator),
    source=SourceRoom(
        power_level=[105.0, 103.0, 98.0, 108.0, 107.0, 109.0],
        room_constant=room_constant(268.0, mean_absorption(plant)),
        directivity=4.0,                        # intersección suelo-pared
        model="constant_volume",                # la cota conservadora
    ),
    criterion=DesignCriterion(target=45.0),
    label="Plant room to operator room",
)

for row in chain.table():
    print(f"{row['label']:<28} "
          f"{[round(float(v), 1) for v in row['values']]}")
```

Dos funciones de nombre parecido hacen dos trabajos distintos en ese fragmento,
y confundirlas es silencioso. $A = S\alpha$, `equivalent_absorption_area`, es la
potencia que el recinto retira por unidad de presión cuadrática media, y es lo
que aparece en el balance del recinto receptor de la Ecuación (4.101).
$R = S\alpha/(1-\alpha)$, `room_constant`, es la constante de recinto de la
relación de régimen estacionario, que además tiene en cuenta la energía que
sobrevive a su primera reflexión y sigue alimentando el campo reverberante, y es
lo que necesita $L_{p1} = L_W + 10\log_{10}(4/R)$ en el lado emisor. Las dos
coinciden en un recinto muy reflectante y divergen a medida que $\alpha$ crece
— se separan en $10\log_{10}[1/(1-\alpha)]$, 0,5 dB con $\alpha = 0{,}1$ y
3,0 dB con $\alpha = 0{,}5$ — y usar el área de absorción donde va la constante
de recinto sesga la respuesta hacia predecir *demasiada* reducción de ruido.
`equivalent_absorption_area` admite además objetos discretos y un término de
absorción del aire, que es por donde entran el mobiliario, las personas y, en un
recinto grande, el propio aire en el lado receptor.

```text
Source sound power level     [105.0, 103.0, 98.0, 108.0, 107.0, 109.0]
Source room level            [107.0, 101.7, 93.8, 102.4, 100.6, 101.9]
Partition transmission loss  [39.0, 42.0, 50.0, 58.0, 63.0, 67.0]
Receiving-room absorption    [5.5, 12.8, 26.1, 32.6, 35.8, 39.2]
Noise reduction              [34.7, 41.3, 52.4, 61.4, 66.8, 71.2]
Receiving room level         [72.4, 60.4, 41.4, 41.0, 33.9, 30.7]
NC 45                        [60.0, 54.0, 49.0, 46.0, 44.0, 43.0]
Required transmission loss   [51.4, 48.4, 42.4, 53.0, 52.9, 54.7]
```

La respuesta impresa de Norton es 72,3 / 60,4 / 41,4 / 41,0 / 33,8 / 30,7 dB,
que esto reproduce con precisión de una décima. Merece la pena mirar dos
filas. La **reducción de ruido sube de 34,7 dB a 71,2 dB** mientras la
pérdida por transmisión solo sube de 39 a 67, porque la absorción de la sala
de control se multiplica por siete a lo largo del rango mientras el muro se
queda fijo en 15 m²; el recinto pequeño hace la mitad del trabajo en alta
frecuencia y ninguno a 125 Hz. Y la fila de **pérdida por transmisión
necesaria no es monótona**: el muro necesita 51,4 dB a 125 Hz donde tiene 39,
y 42,4 dB a 500 Hz donde ya tiene 50. Un problema de baja frecuencia, en un
muro sobredimensionado en la zona media.

*La cadena del problema 4.18. El espectro del recinto receptor cruza la curva
NC 45 entre 250 y 500 Hz, así que las dos bandas bajas son todo el problema.
El eje derecho es el sentido de la Ecuación (4.101): la reducción de ruido
que entrega el muro empieza 4 dB por debajo de su pérdida por transmisión y
acaba 4 dB por encima, y el cruce está donde la absorción de la sala de
control supera los 15 m² del muro.*

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

```python

# `chain` es el RoomToRoomResult construido arriba.

# Una línea: los dos espectros reverberantes, la curva de criterio y la
# reducción de ruido frente a la pérdida por transmisión en el eje gemelo.
chain.plot(language="es")
plt.show()

# A mano, a partir de los campos por banda que lleva el resultado:
fig, ax = plt.subplots()
ax.semilogx(chain.frequencies, chain.source_level, "s--", label="Recinto emisor")
ax.semilogx(chain.frequencies, chain.received_level, "o-", label="Recinto receptor")
ax.semilogx(chain.frequencies, chain.criterion_curve, ":", label="NC 45")
twin = ax.twinx()
twin.plot(chain.frequencies, chain.transmission_loss, "--", label="TL")
twin.plot(chain.frequencies, chain.noise_reduction, "-.", label="NR")
plt.show()
```

</details>

## 4. El veredicto, y la cifra que se especifica

El resultado se valora a sí mismo. `.rating` es la valoración según
ANSI/ASA S12.2-2019 del espectro recibido, `.criterion_curve` es la curva de
diseño muestreada en las bandas de análisis, `.exceedance` es el exceso banda
a banda y `.meets_target` es el veredicto llano que anota una hoja de diseño.
`.required_transmission_loss` es la Ecuación (4.101) resuelta para
$\text{TL}$, que es la cifra que va a una especificación.

```python
print(chain.meets_target)                       # False
print(round(chain.rating.rating, 1))            # 61.7, gobernado por 125 Hz
print([round(float(v), 1) for v in chain.exceedance])
# [12.4, 6.4, -7.6, -5.0, -10.1, -12.3]

deficit = chain.required_transmission_loss - chain.transmission_loss
print([round(float(v), 1) for v in deficit])
# [12.4, 6.4, -7.6, -5.0, -10.1, -12.3]
```

El déficit y el exceso son las mismas seis cifras, y en eso consiste toda la
cadena: un decibelio de más en el recinto es un decibelio de menos en el
muro. Si ese déficit en baja frecuencia merece perseguirse con masa, cámara o
una segunda hoja es lo que trata
[Aislamiento acústico de paneles](/phonometry/es/buildings/design/panel-sound-insulation/).

El veredicto es deliberadamente la comprobación banda a banda, no la
valoración. Un espectro puede valorarse NC-38 y aun así asomar por encima de
la curva NC 45 en una banda, porque el procedimiento de designación en dos
pasos de la norma y el criterio de hoja de diseño de que «ninguna banda esté
por encima de la curva» son preguntas distintas.

## 5. Un cerramiento frente a un criterio

El problema 4.16 (pp. impresas 584-585) plantea la misma pregunta con un
cerramiento en lugar de una partición: un compresor de refrigeración produce
un nivel reverberante en su recinto, el técnico necesita bajar ese nivel a
una curva NC-45, y las paredes del cerramiento tienen que cubrir la
diferencia. Norton deduce la ecuación del cerramiento del mismo balance de
potencia del apartado 4.9 y obtiene la Ecuación (4.115),

$$
\text{IL} = \text{TL} - 10\log_{10}(S_\mathrm{E} / R_\mathrm{i}),
$$

con $S_\mathrm{E}$ el área radiante exterior y $R_\mathrm{i}$ la constante de recinto del
interior del cerramiento, superficie de la máquina incluida. Resuelta para
los paneles, $\text{TL} = \text{IL} + 10\log_{10}(S_\mathrm{E} / R_\mathrm{i})$, que es
`enclosure_required_transmission_loss`.

```python

from phonometry import enclosure_required_transmission_loss, mean_absorption

bands = [63.0, 125.0, 250.0, 500.0, 1000.0, 2000.0, 4000.0, 8000.0]
wool = [0.10, 0.20, 0.45, 0.65, 0.75, 0.80, 0.80, 0.80]   # manta de 50 mm
concrete = [0.01, 0.01, 0.01, 0.02, 0.02, 0.02, 0.03, 0.03]

lp1 = np.array([72.0, 79.0, 81.0, 84.0, 83.0, 81.0, 80.0, 75.0])   # sin encapsular
nc45 = np.array([67.0, 60.0, 54.0, 49.0, 46.0, 44.0, 43.0, 41.0])  # objetivo

# Cerramiento de 2,5 x 3,5 x 2,5 m sobre el suelo de hormigón: las paredes y
# la cubierta radian (38,75 m2) y sus caras interiores llevan el revestimiento.
# El resto del interior es el suelo no cubierto más las cinco caras expuestas
# de la máquina de 1,5 x 2,5 x 1,5 m, ambos con la absorción del hormigón.
radiating = 2 * (2.5 * 2.5) + 2 * (3.5 * 2.5) + 2.5 * 3.5
machine = 2 * (1.5 * 1.5) + 2 * (2.5 * 1.5) + 1.5 * 2.5
bare_floor = 2.5 * 3.5 - 1.5 * 2.5

required = enclosure_required_transmission_loss(
    lp1 - nc45,
    radiating,
    radiating + bare_floor + machine,
    mean_absorption([(radiating, wool), (bare_floor + machine, concrete)]),
    frequencies=bands,
    model="norton",
)
print(np.round(required.panel_transmission_loss, 1))
# [14.5 25.3 28.9 34.4 35.2 34.7 34.6 31.6]
```

La respuesta impresa de Norton es 14,4 / 25,2 / 28,9 / 34,4 / 35,2 / 34,7 /
34,7 / 31,6 dB, ajustada a 0,11 dB, que es la resolución de su propio
redondeo a una décima. Lo útil es la forma: **la exigencia hace pico a 1 kHz
y decae en los dos extremos**, porque a 63 Hz la lana mineral casi no absorbe
y el nivel que hay que perder es solo 5 dB, mientras que a 8 kHz el compresor
ya se ha callado. Un panel elegido por su comportamiento entre 500 Hz y 2 kHz
es el panel correcto aquí.

`enclosure_required_transmission_loss` devuelve un `EnclosureResult`, así que
`required.plot()` dibuja esa forma y sus dos causas en una línea:

*La exigencia es la suma de las dos familias de barras, y sus máximos caen en
sitios distintos: la pérdida por inserción objetivo sigue subiendo hasta 1 kHz
mientras la corrección interior baja desde +9,5 dB a 63 Hz, donde una manta de
50 mm es acústicamente delgada, hasta −2,4 dB por encima de 2 kHz, donde el
revestimiento ha llevado la constante de recinto interior por encima del área
radiante. La curva discontinua de Bies lleva el suelo de 0,3 del que se habla
abajo y queda hasta 1,8 dB por encima del modelo de Norton en cuanto domina el
revestimiento.*

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

```python

# `required` es el EnclosureResult construido arriba.

# Una línea: la IL objetivo, la corrección interior y la R de panel necesaria.
required.plot(language="es")
plt.show()

# A mano, a partir de los campos por banda que lleva el resultado:
fig, ax = plt.subplots()
ax.semilogx(required.frequencies, required.insertion_loss, "s--",
            label="IL objetivo")
ax.semilogx(required.frequencies, required.correction, "^:",
            label="Corrección interior")
ax.semilogx(required.frequencies, required.panel_transmission_loss, "o-",
            label="R de panel necesaria")
ax.set_xlabel("Frecuencia [Hz]"); ax.set_ylabel("Nivel [dB]")
ax.legend()
plt.show()
```

</details>

Dos notas al pie sobre ese fragmento, las dos acerca de ser fiel a la fuente.
`model="norton"` importa: el modelo de cerramiento por omisión de la
biblioteca es la Ecuación (7.111) de Bies, Hansen y Howard, que lleva un
$0{,}3$ dentro del logaritmo y por tanto limita la pérdida por inserción de
un cerramiento totalmente revestido a $\text{TL} + 5{,}2\ \text{dB}$. La
Ecuación (4.115) de
Norton no tiene ese límite. Las dos coinciden en unas décimas mientras el
interior es duro y divergen cuando el revestimiento domina, y reproducir una
respuesta publicada exige usar el modelo que usó su autor.
`ENCLOSURE_MODELS` lista los dos.

Y la columna NC-45 es la propia de Norton, tomada de su enunciado. Marca
41 dB en la banda de 8 kHz donde la Tabla 1 de ANSI/ASA S12.2-2019 (que
implementa `nc_curve`) marca 42 dB; coinciden en todas las demás bandas.
Usar la columna impresa mantiene el oráculo en lo publicado.

Hay una salvedad que viene del apartado 6 y que aquí muerde más fuerte. La
pérdida por transmisión de panel necesaria es una cota superior exactamente
igual que lo es la de la partición, y por razones más marcadas: un cerramiento
es pequeño, así que la proporción entre sus aberturas inevitables — puerta de
acceso, pasos de cables y tuberías, aberturas de refrigeración, ranuras de
transportador — y su área total es mucho mayor que la de un muro, y una fracción
abierta del uno por ciento limita la pérdida por inserción alcanzada a unos
20 dB por muy de 35 dB que sea el panel que pide este cálculo. La máquina
tampoco debe tocar el cerramiento ni compartir su base: un contacto atornillado
radia la vibración de la máquina desde la piel exterior y sortea los paneles por
completo. Mete las aberturas en el cálculo en vez de confiar en la suerte — la
vía del compuesto y la construcción dibujada están en
[Control de ruido industrial, apartado 2.1](/phonometry/es/devices/noise-control/noise-control/#21-lo-que-el-cerramiento-entrega-de-verdad-fugas-puertas-y-aberturas)
— y usa el mismo `flanking_penalty` de abajo como el sitio honrado donde anotar
lo que quede sin modelar.

## 6. Lo que la predicción no sabe

La respuesta de Norton al problema 4.21 termina con la advertencia que
importa más que toda la aritmética anterior: la reducción de ruido medida
queda por debajo de la predicha por la **transmisión por flancos a través de
conexiones mecánicas y fugas de aire**. Un falso techo continuo por encima de
la partición, un paso de instalaciones, el hueco bajo una puerta, o
simplemente el muro que no llega al forjado, y la respuesta de la ecuación
pasa a ser una cota superior.

El clip de abajo dibuja lo que la ecuación deja fuera. La cadena del
apartado 3 solo pone precio a la trayectoria directa, la vía **Dd** a través
de la partición; los otros tres pulsos salen del recinto emisor por los muros,
el suelo o el techo de flanco — **Ff** de flanco a flanco, **Fd** de flanco a
partición, **Df** de partición a flanco — y vuelven a radiar al otro lado sin
haber pasado nunca por la pérdida por transmisión que usó el cálculo. Cada
camino mengua en cada elemento y en cada unión que atraviesa, y por eso
ninguno tiene que ser grande por sí solo para que la suma de los tres domine
sobre una buena partición.

`DesignCriterion.flanking_penalty` es el cargo explícito por eso, en
decibelios restados a la
reducción de ruido predicha. No es un modelo, es un sitio donde registrar la
provisión y hacer que aparezca en `.table()` y en la pérdida por transmisión
necesaria en lugar de perderse:

```python
# Otra vez la cadena del apartado 3, con 3 dB de provisión por flancos y fugas.
honest = room_to_room_transmission(
    bands, [39.0, 42.0, 50.0, 58.0, 63.0, 67.0], 15.0,
    equivalent_absorption_area(operator),
    source=SourceRoom(level=chain.source_level),
    criterion=DesignCriterion(target=45.0, flanking_penalty=3.0),
)
print(np.round(honest.received_level, 1))
# [75.4 63.4 44.4 44.  36.9 33.7]      cada banda 3 dB peor
```

Cuando las trayectorias por flancos *sí* se modelan en lugar de cubrirse con
una provisión, las herramientas correctas son los modelos de predicción de la
EN 12354, y esos viven en
[Predicción del aislamiento acústico en
edificios](/phonometry/es/buildings/design/insulation-prediction/)
y en [Transmisión por flancos](/phonometry/es/buildings/insulation/flanking-lab/).

La otra hipótesis es la difusividad, y falla en dos direcciones. En frecuencia:
la Ecuación (4.101) es un balance de campo difuso en los dos recintos, así que
no tiene nada que decir por debajo de la frecuencia de Schroeder de cada uno
(`schroeder_frequency`), donde mandan los modos discretos. La sala de control de
5 m × 5 m × 3 m de arriba, 75 m³, tiene una frecuencia de Schroeder de 163 Hz
para un tiempo de reverberación de medio segundo, que es justo por lo que la
banda de 125 Hz del problema 4.18 — la banda que gobierna toda la respuesta —
hay que leerla como una estimación y no como una cifra. La llamada es
`schroeder_frequency(0.5, 75.0)`, primero el tiempo de reverberación y después
el volumen, y devuelve 163,3 Hz para ese recinto.

En espacio: los dos niveles son **promedios espaciales del campo reverberante**.
$L_{p2}$ es lo que informaría un micrófono paseado por el recinto receptor, no
el nivel en la mesa arrimada a la medianera, donde el campo directo de la
superficie radiante suma unos decibelios dentro de aproximadamente una longitud
de onda. Lo mismo vale al revés en el lado emisor: $L_{p1}$ es el nivel
reverberante que excita toda la partición, y una persona de pie junto a la
máquina está en su campo directo y oye más, así que un nivel *medido* en el
recinto emisor hay que tomarlo lejos tanto de la máquina como del muro para que
sea la entrada correcta. Es la razón de que las normas de campo mantengan sus
posiciones de micrófono a media longitud de onda de toda superficie, y la razón
de que este cálculo no pueda responder dónde colocar el puesto de trabajo dentro
del recinto receptor; cuando esa es la pregunta, la herramienta son los métodos
de fuentes imagen y de rayos de
[Fuentes imagen y campo estacionario](/phonometry/es/buildings/rooms/room-image-sources/).

## Qué cubre esta guía

El balance de potencia del apartado 4.9 de Norton y Karczub (Ec. 4.101) como
`room_to_room_transmission`, con `SourceRoom`, `equivalent_absorption_area`,
`mean_absorption` y `room_constant`; el nivel del recinto emisor a partir de
un nivel de potencia acústica mediante los modelos de fuente de la Tabla 4.5
del apartado 4.6 (potencia constante, volumen constante, presión constante) y
la directividad de la posición de la máquina; `DesignCriterion` con su
objetivo, su provisión por flancos y su valoración según ANSI/ASA S12.2-2019,
en la familia NC por omisión y en la familia RC Mark II con
`DesignCriterion(family="RC")`; `.required_transmission_loss`, `.exceedance`,
`.meets_target` y `.table()`; y la ecuación del cerramiento del apartado 4.10
(Ec. 4.115) mediante `enclosure_required_transmission_loss`, en los dos
modelos de interior, el de Norton y el de Bies, que lista `ENCLOSURE_MODELS`.

La pérdida por transmisión de la propia partición, que se mide o se predice en
otra parte; los flancos como trayectoria modelada en lugar de como provisión a
tanto alzado; las fugas y aberturas de un cerramiento, que necesitan el
compuesto de la guía de control de ruido industrial; y todo lo que quede por
debajo de la frecuencia de Schroeder de cada recinto, o más cerca de una
superficie que media longitud de onda.

## Véase también

- [Aislamiento acústico de paneles](/phonometry/es/buildings/design/panel-sound-insulation/):
  de dónde sale la pérdida por transmisión que consume esta página.
- [Predicción del aislamiento acústico en edificios](/phonometry/es/buildings/design/insulation-prediction/)
  y [Transmisión por flancos](/phonometry/es/buildings/insulation/flanking-lab/):
  los modelos de la EN 12354 para las trayectorias por flancos que esta página
  se limita a cargar en cuenta.
- [Medición del aislamiento en campo (ISO 16283)](/phonometry/es/buildings/insulation/insulation-field/):
  cómo se mide ese mismo par de recintos, y el $D_\mathrm{nT}$ y el $R'$ que devuelve
  un informe de ensayo.
- [Criterios de ruido en recintos](/phonometry/es/buildings/rooms/room-noise/): las
  familias NC y RC Mark II en las que se escribe el veredicto.
- [Control de ruido industrial](/phonometry/es/devices/noise-control/noise-control/):
  el cerramiento del apartado 5 como construcción, con sus fugas y sus normas de
  medición.
- [Potencia acústica](/phonometry/es/devices/emission/sound-power/): la $L_W$ de
  la máquina con la que arranca toda la cadena.
- Referencia de la API:
  [`noise_control.room_to_room`](/phonometry/es/reference/api/noise_control/room-to-room/).
