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

Todo lo que calcula un modelo de silenciador sale de la geometría. La cifra
que publica un fabricante, no. Es una **pérdida por inserción medida por
sustitución**: el mismo banco recorrido dos veces, una con un conducto liso
donde irá el silenciador y otra con el silenciador puesto, y la diferencia
entre los dos niveles del lado receptor, banda a banda. Leer un catálogo sin
saber eso es como acaban en la misma frase unos 8,9 dB calculados y unos
«25 dB» publicados.

Dos normas describen la medida, y se diferencian tanto en alcance como en lo
que le exigen al laboratorio. La **ISO 7235:2003** es el procedimiento
completo, con un filtro modal que desacopla la fuente, un lado receptor
cualificado y una incertidumbre de medida declarada, y cubre silenciadores,
unidades terminales de aire y otros elementos de conducto, con flujo y sin él.
La **ISO 11691:1995** son seis páginas impresas con dos ecuaciones, y mide
silenciadores y nada más, sin flujo y sin nada de flujo en la respuesta, hasta
una velocidad de diseño de 15 m/s. Una medida que necesite flujo, o un objeto
que no sea un silenciador, queda fuera de la ISO 11691 y pertenece a la
ISO 7235.

*Las tres cosas que lleva un informe de medida más allá de las cifras mismas:
cómo se plegaron sus octavas, qué retenía la boca de su conducto, y hasta
dónde se puede confiar en todo ello.*

## 1. Una resta, dos numeraciones

*Las dos series son todo el método: cuanto queda en ambas normas va de
asegurar que entre una y otra no cambió nada más que el objeto de ensayo.*

La medida es la misma en las dos:

$$
D_\mathrm{i} = L_{W\mathrm{II}} - L_{W\mathrm{I}}
$$

con $\mathrm{I}$ la serie que llevaba el objeto de ensayo y $\mathrm{II}$ la
que llevaba el conducto de sustitución. La ISO 11691 escribe exactamente lo
mismo como $D = L_{p1} - L_{p2}$, y numera las dos series **al revés**: su 1
es el conducto de sustitución. Dos normas para una medida, con los subíndices
cambiados, es justo lo que se acaba metiendo del revés, así que aquí los
argumentos se llaman por lo que había en el conducto y no por ninguna de las
dos numeraciones.

```python
from phonometry import noise_control

substitution = [88.0, 90.0, 91.0, 92.0, 92.0, 91.0]   # dB, conducto vacío
with_silencer = [84.0, 83.0, 79.0, 72.0, 66.0, 63.0]  # dB, con silenciador

d_i = noise_control.substitution_insertion_loss(substitution, with_silencer)
print(d_i)                        # [ 4.  7. 12. 20. 26. 28.] dB
```

Si la absorción de la sala receptora cambió entre las dos series, esa
diferencia todavía no es la pérdida por inserción. El apartado 6.3 lo
corrige con $10\lg(T_2/T_1)$, donde $T_2$ es el tiempo de reverberación
medido con el objeto de ensayo instalado. Una sala que se volvió **más
sorda** mientras el silenciador estaba puesto lo estaba favoreciendo, y la
corrección se lo quita:

```python
corrected = noise_control.substitution_insertion_loss(
    substitution, with_silencer, reverberation_times=(2.1, 1.8),
)
print(corrected.round(2))         # [ 3.33  6.33 11.33 19.33 25.33 27.33] dB
```

El 6.3 admite además $T_2 = T_1$ sin más cuando el objeto de ensayo queda
fuera de la sala, y entonces el par se puede omitir.

## 2. Lo que esa cifra no es

No es una pérdida por transmisión. Está medida contra un conducto de
sustitución concreto en un banco concreto, y se lleva ese banco consigo de dos
maneras que conviene nombrar.

La primera es la **pérdida por inserción límite**: el sonido flanquea por las
paredes del conducto en vez de atravesar el silenciador, y ningún montaje
puede medir más allá de lo que su propio flanqueo deja pasar por el lado. La
ISO 7235 hace que el laboratorio mida ese techo con el conducto de sustitución
bloqueado acústicamente y lo registre en función de la frecuencia (7.4). Una
cifra de catálogo muy grande afirma tanto sobre el montaje de ensayo como
sobre el aparato.

La segunda es el lado receptor, que decide cuánto del sonido llegan a ver los
micrófonos. La ISO 7235 admite tres (5.2.4): una sala reverberante conforme a
la ISO 3741 y cualificada al menos hasta el tercio de octava de 125 Hz, que es
la preferida; un conducto de ensayo con terminación anecoica cuyo coeficiente
de reflexión no supere 0,3; o condiciones esencialmente de campo libre en la
boca. La ISO 11691 se queda sólo con la sala reverberante y las alternativas
de campo libre, y pide 3,5 m de conducto a cada lado del silenciador.

Nada de eso es aritmética, y por eso el resto de esta página es corto. La
aritmética que queda es la parte que un lector puede equivocar sobre el papel.

## 3. Las octavas se promedian sobre la energía, no sobre los decibelios

La medida se hace en tercios de octava y a menudo se informa en octavas. La
Ecuación (2) de la ISO 11691 dice cómo, y no es un promedio de los tres
números:

$$
D_\mathrm{oct} = -10 \lg\left[\frac{1}{3}\left(
   10^{-D_1/10} + 10^{-D_2/10} + 10^{-D_3/10}
\right)\right]\ \text{dB}
$$

El promedio se hace sobre lo que el silenciador **deja pasar**. Eso importa
porque un silenciador rara vez es plano a lo largo de una octava, y la banda
que fuga decide la respuesta:

```python
thirds = [4.0, 7.0, 12.0, 20.0, 26.0, 28.0]
print(noise_control.octave_insertion_loss(thirds).round(2))
#                                 # [ 6.57 23.28] dB
```

Las medias aritméticas simples de esos dos grupos son 7,67 y 24,67 dB, así que
leer los decibelios en vez de la energía habría exagerado ambas octavas en
cerca de un decibelio. Con un silenciador más abrupto la diferencia es mayor:
tres tercios de 30, 30 y 5 dB dan **9,7 dB** en la octava, no 21,7. Casi todo
el sonido transmitido está entrando por la única banda que no funciona, y la
Ecuación (2) va escrita en vez de descrita precisamente para que esto no se
pueda equivocar.

La ISO 11691 declara el supuesto en el que se apoya: se toman iguales los
niveles de presión sonora de los tres tercios de octava en la serie recorrida
con el conducto de sustitución, que es lo que permite pesar sus energías por
igual.

## 4. Tres posiciones de micrófono, o cinco

En un conducto de ensayo el promedio espacial sale de al menos tres
posiciones de micrófono repartidas por igual sobre una línea que cruza el
conducto, abarcando al menos un cuarto de longitud de onda de la banda, hacia
la mitad del conducto. Tres bastan sólo si las tres concuerdan. La Tabla 6 de
la ISO 7235 dice cuánto, y si la mayor y la menor difieren más que eso hay
que usar cinco posiciones:

```python
levels = [70.0, 74.0, 79.0]       # dB en las tres posiciones clave
print(noise_control.microphone_spread_limit(125.0))     # 7.0 dB
print(noise_control.microphone_positions_required(levels, 50.0))    # 3
print(noise_control.microphone_positions_required(levels, 125.0))   # 5
```

Los mismos tres niveles valen a 50 Hz, donde el límite es de 10 dB, y no a
125 Hz, donde es de 7. El límite baja con la frecuencia porque un conducto a
baja frecuencia tiene un patrón de onda estacionaria que tres puntos muestrean
mal, y a alta frecuencia no.

Una cosa que hay que saber de la Tabla 6: sus filas dicen 50, 63, 80, 100, 125
y luego `> 160` Hz, así que el **tercio de octava de 160 Hz no pertenece a
ninguna fila** y se queda sin límite alguno. Todas las demás filas nombran una
sola banda, y 160 Hz es un centro de tercio de octava como los demás, así que
aquí se lee como perteneciente a la última fila. El hueco está en el
[registro de erratas](https://github.com/jmrplens/phonometry/blob/main/docs/ERRATA.es.md).

## 5. Cuán repetible es todo esto

Ambas normas responden, y ninguna respuesta es halagüeña.

La ISO 11691 dice sin rodeos que no se puede dar información exacta sobre la
precisión de su método, que harían falta ensayos interlaboratorio para una
desviación típica de reproducibilidad de verdad, y que eso es lo que la
convierte en una norma de clase de precisión 3. Su Tabla 1 ofrece sólo una
estimación: 2 dB hasta el tercio de octava de 1,25 kHz y 3 dB por encima.

La Tabla 7 de la ISO 7235 tiene tres columnas, y lo útil es que no coincidan:

```python
for band in (50.0, 250.0, 1000.0, 4000.0):
    print(band, [
        noise_control.measurement_reproducibility(band, quantity=q)
        for q in ("insertion_loss", "transmission_loss", "intensity")
    ])
# 50.0   [1.5, 3.0, 3.0]
# 250.0  [1.0, 3.0, 1.5]
# 1000.0 [2.0, 3.0, 1.0]
# 4000.0 [3.0, 3.0, 1.0]
```

La pérdida por inserción se mide mejor en la mitad del intervalo y peor
arriba; la vía por intensidad va al revés; la pérdida por transmisión es 3 dB
planos en todas partes. El 7.9 explica por qué: sólo la columna de pérdida por
inserción salió de ensayos, sobre silenciadores de láminas paralelas de 1 m de longitud,
y las otras dos se apoyan en la experiencia. Una columna que no se mueve con
la frecuencia tiene la forma de una estimación, no de una medida.

Lo que va al informe es el doble del valor de tabla, para una probabilidad de
cobertura del 95 %:

```python
print(noise_control.measurement_expanded_uncertainty(250.0))    # 2.0 dB
print(noise_control.measurement_expanded_uncertainty(4000.0))   # 6.0 dB
```

Un silenciador declarado con 25 dB en la banda de 4 kHz se está declarando con
un margen de 6 dB.

## 6. El alcance que la ISO 11691 se dibuja

El método de clase de precisión 3 es deliberadamente estrecho, y sus límites
están publicados en vez de sobreentendidos. La velocidad de diseño no puede
pasar de 15 m/s, porque el método recorre el banco sin flujo alguno y por
tanto no incluye nada del ruido autogenerado. Está escrito para silenciadores
circulares de 80 mm a 2 m de diámetro, o rectangulares de área comparable. Y
los conductos de ensayo tienen que estar cerca en sección de aquello que
alimentan, entre 0,6 y 1,7 veces el área del silenciador o del conducto de
sustitución (4.5). Fuera de ahí las uniones reflejan más de lo que el método
contempla, y la biblioteca lo dice:

```python
print(noise_control.substitution_area_ratio(0.0962, 0.0962))    # 1.0
print(noise_control.SURVEY_MAX_VELOCITY_M_S)                    # 15.0
print(noise_control.SURVEY_AREA_RATIO_RANGE)                    # (0.6, 1.7)
```

## 7. La boca del conducto, y las dos magnitudes que la necesitan

Un conducto que radia a una sala no le entrega a la sala todo lo que llega a
su boca. Bastante por debajo de la frecuencia a la que la boca mide una
longitud de onda es un radiador pobre, y casi toda la energía se da la vuelta
y vuelve por el conducto. El anexo B.3 le pone número:

$$
D_\mathrm{td} = 10 \lg\left[1 +
   \frac{\Omega}{\left(\dfrac{4\pi f \sqrt{S}}{c}\right)^{2}}\right]\ \text{dB}
$$

El grupo $4\pi f \sqrt{S} / c$ es la boca medida en longitudes de onda, y
$\Omega$ es el ángulo sólido al que radia. Un conducto de 350 mm enrasado en
una pared retiene 11 dB a 63 Hz y 0,05 dB a 2 kHz, que es nada:

```python

bands = np.array([63.0, 125.0, 250.0, 500.0, 1000.0, 2000.0])
area = 0.0962                     # m2, un conducto circular de 350 mm

d_td = noise_control.open_end_transmission_loss(bands, area)
print(d_td.round(2))              # [11.23  6.14  2.5   0.77  0.21  0.05] dB
```

*El ángulo sólido es el único término de la Ecuación (B.3) que un laboratorio
elige en vez de medir, y las cinco opciones son las mismas en ambas normas.*

El ángulo sólido es la Tabla B.1, y esos mismos cinco valores son la Tabla 1
de la ISO 5135. Funciona al revés de lo que uno esperaría: $\Omega$ está en el
numerador, así que un conducto que acaba en mitad de la sala retiene **más**
sonido que uno enrasado en la pared, no menos. Lo que hace buena radiadora a
una abertura es la pantalla, porque impide que la presión se alivie por el
borde de la boca, y una boca sin pantalla del mismo tamaño devuelve más sonido
por el conducto:

```python
free = noise_control.open_end_transmission_loss(
    bands, area, solid_angle_sr=noise_control.RADIATION_SOLID_ANGLES["C"],
)
print(free.round(2))              # [14.07  8.59  4.08  1.43  0.4   0.1 ] dB
```

Tres decibelios más a 63 Hz, y el coeficiente de reflexión sube con ellos.

*Ambas portadoras están por debajo de la frecuencia de corte de 857 Hz de un
conducto de ese ancho, así que el campo dentro de él es la onda plana que
supone toda la aritmética de conductos de la ISO 7235. Los coeficientes de
reflexión leídos de la onda estacionaria son los de la geometría simulada, y
no los de la Ecuación (B.4): esa forma cerrada es una aproximación de pistón
para una boca circular, y esto es una rendija en una pantalla. Lo que
comparten es el mecanismo, y es el mecanismo el que decide si un nivel medido
en una sala es el nivel del conducto que hay detrás.*

La Ecuación (B.4) dice lo mismo del revés, como coeficiente de reflexión de
presión, y ambas cierran exactamente sobre la energía:
$D_\mathrm{td} = -10\lg(1 - r^2)$ a cualquier frecuencia, área y ángulo
sólido. Esa identidad es el anclaje de conformidad de las dos, porque ninguna
viene impresa con un valor resuelto. Y tiene un uso propio: el 5.2.4 sólo
cualifica un conducto de ensayo como anecoico por debajo de $r = 0{,}3$, que
esta boca desnuda alcanza entre 500 Hz y 1 kHz.

```python
r = noise_control.open_end_reflection_coefficient(bands, area)
print(r.round(3))                 # [0.962 0.87  0.662 0.404 0.215 0.11 ]
```

La biblioteca lleva una segunda forma cerrada para la misma física, la de
Reynolds tal como la da Long, en
[`end_reflection_loss_closed_form`](/phonometry/es/devices/noise-control/noise-control/).
Eleva el mismo argumento a 1,88 en vez de a 2, y para un conducto circular en
campo libre las dos quedan $10\lg[1 + (c/\pi f d)^2]$ frente a
$10\lg[1 + (c/\pi f d)^{1,88}]$. Concuerdan de cerca donde el argumento anda
por 1 y se separan en los extremos del intervalo.

Dos magnitudes la necesitan. La Ecuación (6) convierte la pérdida por
inserción medida de una unidad terminal de aire en su pérdida por
transmisión devolviéndole lo que la boca retenía de todos modos, así que las
dos son el mismo número arriba del intervalo y difieren en once decibelios
abajo:

```python
d_i = np.array([4.0, 7.0, 12.0, 20.0, 26.0, 28.0])
print(noise_control.measured_transmission_loss(d_i, d_td).round(2))
#                                 # [15.23 13.14 14.5  20.77 26.21 28.05] dB
```

Y la Ecuación (7) convierte el ruido de flujo en potencia sonora,
$L_W = \overline{L_p} + D_\mathrm{td} + C$, donde $C$ es la diferencia de
nivel de la ISO 3741 entre la potencia radiada a la sala y la presión media
en ella. El 6.4 es explícito en que $\overline{L_p}$ entra **sin** corrección
por ruido de fondo: las dos series se informan por separado y es el lector
quien las resta.

## 8. Dónde empiezan los modos de orden superior

El filtro modal entre la fuente y el objeto de ensayo existe para que los
modos de orden superior no lleguen al silenciador, y su exigencia cambia de
escalón en la frecuencia a la que esos modos pueden propagarse por los
conductos conectados: al menos 3 dB de atenuación longitudinal del modo
fundamental en el extremo de baja frecuencia, y al menos 5 dB por encima de
esa frecuencia (5.2.2.3). La NOTA 2 imprime dónde está:

```python
print(round(noise_control.modal_filter_cut_on(diameter_m=0.4), 1))          # 505.9 Hz
print(round(noise_control.modal_filter_cut_on(larger_dimension=0.5), 1))  # 343.0 Hz
```

La forma rectangular, $0{,}5\,c/H$, es exacta: el primer modo de un conducto
rectangular rígido es media longitud de onda a lo ancho de la dimensión
mayor. La circular, $0{,}59\,c/d$, va redondeada. El coeficiente exacto es el
primer cero de $J_1'$ entre $\pi$, que vale 0,58607, así que la Ecuación (4)
queda un 0,67 % alta: en el conducto de 0,4 m de la fuente sonora de la
ISO 11691 eso son 505,9 Hz donde
[`circular_duct_cut_on`](/phonometry/es/devices/noise-control/duct-path/) da
502,6 Hz. Tres hertzios y medio no cambian la elección de un filtro modal, y
merece la pena saber cuál de los dos números es la física.

## 9. Lo que cuesta empujar aire a través del objeto

Lo tercero que mide la ISO 7235 no tiene nada que ver con el sonido. Un
silenciador que funciona y le cuesta a un ventilador la mitad de su presión no
es un buen silenciador, así que el 6.5 mide el **coeficiente de pérdida de
presión total**, y toda la gracia de dar el coeficiente y no la pérdida es que
una pérdida no significa nada sin el caudal al que se midió.

Se empieza por el aire. La Ecuación (10) es la ley de los gases ideales con
las constantes de la propia norma, y la presión estática que toma es una
presión manométrica frente a la ambiente, así que las dos se suman:

```python
rho = noise_control.normal_air_density(200.0, 101325.0, 20.0)
print(round(rho, 4))              # 1.2073 kg/m3

q_v = noise_control.volume_flow_rate(1.2, rho)
print(round(q_v, 4))              # 0.9939 m3/s
```

La ISO 7235 imprime $R = 287$ y escribe la temperatura absoluta como
$\theta + 273\ ^\circ\text{C}$, y ninguna de las dos es la cifra exacta. El
desfase por sí solo deja la densidad un 0,051 % alta a 20 °C, y la constante
de los gases le añade otro 0,017 %, para un 0,069 % en total. No se cancela:
la misma densidad está en la presión dinámica de las dos series de ensayo, así
que el coeficiente queda **escalado** por ese único factor en vez de
desplazado, y sale un 0,069 % bajo. Eso queda muy por debajo de la
incertidumbre de un ensayo de pérdida de presión, y usar las constantes
impresas es lo que reproduce un resultado calculado según la norma, así que la
biblioteca conserva ambas. Queda registrado en el [registro de
erratas](https://github.com/jmrplens/phonometry/blob/main/docs/ERRATA.es.md)
como propiedad de la fuente y no como defecto.

Se usa la Ecuación (9) en vez de la (8) cuando el caudalímetro y el objeto de
ensayo están lo bastante separados en temperatura o presión como para que su
cociente de densidades salga de 0,98 a 1,02: fuera de esa ventana el
caudalímetro no está midiendo el caudal que ve el objeto de ensayo.

La altura de velocidad es la Ecuación (13), y el coeficiente es la pérdida
dividida por ella:

```python
p_d1 = noise_control.dynamic_pressure(q_v, 0.0962, rho)
print(round(p_d1, 2))             # 64.44 Pa

delta_p_t = noise_control.total_pressure_loss(45.0, p_d1, 0.0962, 0.0962)
print(round(noise_control.pressure_loss_coefficient(delta_p_t, p_d1), 3))
#                                 # 0.698
```

Ese número pertenece al objeto y no al punto de ensayo, al menos en la medida
en que el flujo sea dinámicamente semejante: una pérdida crece con el cuadrado
de la velocidad y la altura por la que se divide también, así que el álgebra
devuelve el mismo coeficiente al doble de caudal. El flujo real no es
exactamente semejante, porque doblar el caudal dobla también el número de
Reynolds, y esa es la razón de que el 6.5.2 mida a cinco caudales y promedie
en vez de fiarse de uno. La deriva a lo largo de un intervalo de ensayo es
pequeña, y no es nula.

La Ecuación (12) es la parte que conviene leer dos veces. Medir presiones
estáticas a los dos lados no basta cuando los dos lados tienen tamaños
distintos, porque un objeto que ensancha el conducto convierte altura de
velocidad de nuevo en presión estática y una diferencia estática a secas le
abonaría una recuperación que es sólo contabilidad. El paréntesis
$1 - (S_1/S_2)^2$ lo devuelve, y la NOTA a la Ecuación (14) dice lo que suele
pasarle: por regla general $S_1 = S_2$, y desaparece. Cuando no, no es
pequeño:

```python
widening = noise_control.total_pressure_loss(45.0, p_d1, 0.0962, 2 * 0.0962)
print(round(noise_control.pressure_loss_coefficient(widening, p_d1), 3))
#                                 # 1.448, con los mismos 45 Pa de pérdida estática
```

## 10. El truco de la sustitución, otra vez

El método fundamental del 6.5.2.2 mide el coeficiente igual que la mitad
acústica mide la pérdida por inserción: se recorre el banco con el objeto de
ensayo, se recorre otra vez con el conducto de sustitución, y la diferencia
pertenece al objeto. La vía computacional del 6.5.2.2.3 hace la resta sobre
los coeficientes y no sobre las presiones, lo que significa que las dos series
no tienen que compartir ni sus caudales ni siquiera su número de puntos:

```python

heads = np.array([20.0, 40.0, 60.0, 80.0, 100.0])   # Pa, cinco caudales
with_object = 2.5 * heads
without = 0.6 * heads

zeta = noise_control.average_pressure_loss_coefficient(
    with_object, heads, without, heads,
)
print(round(zeta, 3))             # 1.9
```

Cinco caudales por serie, repartidos por igual sobre el intervalo, y el más
bajo tiene que producir más de 10 Pa para que el número más pequeño del
promedio siga siendo una medida y no la resolución del manómetro. La
biblioteca lo dice por partida doble: `average_pressure_loss_coefficient` avisa
por debajo de cinco puntos, y `pressure_loss_coefficient` avisa con una pérdida
de 10 Pa o menos, el propio límite incluido, porque la cláusula dice *mayor
que*.

Lo que tiene que ser el flujo antes de que nada de eso cuente es cuestión de
geometría. El conducto aguas arriba va recto cinco diámetros equivalentes o
dos metros, lo que sea mayor, para que el perfil de velocidad se haya
asentado; tiene que ser uniforme al ±10 % de la media sobre la sección,
excluidos los 15 mm más cercanos a las paredes, recorrido en diez puntos sobre
cada uno de dos ejes perpendiculares a unos $1{,}5\,d_e$ aguas arriba. Las dos
reglas de longitud se cruzan en un diámetro equivalente de 0,4 m:

```python
print(round(noise_control.upstream_straight_length(0.0962), 2))   # 2.0 m
print(round(noise_control.upstream_straight_length(0.5), 2))      # 3.99 m
```

## 11. La tercera norma, y la fórmula que comparte

La ISO 5135:1999 mide otra cosa distinta: la potencia sonora que radia un
dispositivo terminal de aire, una unidad terminal, una compuerta o una
válvula, determinada en sala reverberante conforme a la ISO 3741. Lo que
necesita un proyectista no es eso sino lo que el aparato mete en el conducto
que tiene detrás, y la Ecuación (1) es el paso entre ambas:

$$
L_{W\mathrm{duct}} = L_W + \Delta L_\mathrm{r}
$$

La corrección $\Delta L_\mathrm{r}$ es la Ecuación (2) de la ISO 5135, y
merece la pena escribir las dos impresiones una al lado de la otra:

$$
\Delta L_\mathrm{r} = 10\lg\left[1 +
   \left(\frac{c}{4\pi f}\right)^{2}\frac{\Omega}{S}\right]
\qquad
D_\mathrm{td} = 10\lg\left[1 +
   \frac{\Omega}{\left(\dfrac{4\pi f\sqrt{S}}{c}\right)^{2}}\right]
$$

Desarrolla cualquiera de las dos y ambas quedan en
$10\lg[1 + \Omega c^2 / (16\pi^2 f^2 S)]$. Son una sola fórmula, sus dos
tablas de ángulo sólido coinciden entrada por entrada, y
`open_end_transmission_loss` es las dos. Por eso aquí no aparece nada nuevo
para la corrección en sí:

```python
d_lr = noise_control.open_end_transmission_loss(bands, area)
lw_room = np.array([58.0, 60.0, 61.0, 59.0, 55.0, 50.0])
print(noise_control.duct_sound_power_level(lw_room, d_lr).round(2))
#                                 # [69.23 66.14 63.5  59.77 55.21 50.05] dB
```

Un aparato medido en sala queda infravalorado en el conducto en once
decibelios abajo del intervalo y en nada arriba. La NOTA a la Tabla 1 ofrece
una salida a la corrección en vez de una segunda fórmula para ella: se monta
un elemento de transmisión conforme a la ISO 7235 y no se aplica corrección
alguna.

## 12. Leer un nivel a un régimen que nadie midió

Un aparato no se ensaya en el único punto de servicio al que lo va a usar un
proyectista. El 5.5.2 de la ISO 5135 ajusta por mínimos cuadrados una recta a
través de los niveles frente a $\lg q_V$ cuando los ensayos se hicieron a
coeficiente de pérdida de presión constante, o frente a
$\lg \Delta p_\mathrm{t}$ cuando se hicieron a caudal constante. El mismo
ajuste sirve para los niveles de banda y para el ponderado A:

```python
duty = np.array([0.05, 0.1, 0.2, 0.4, 0.8])          # m3/s
levels = np.array([38.0, 44.5, 50.0, 56.5, 62.0])    # dB(A)

line = noise_control.fit_operating_line(duty, levels)
print(round(line.slope, 2))               # 19.93 dB por década
print(round(line.maximum_deviation, 2))   # 0.3 dB
print(round(line.level_at(0.3), 1))       # 53.7 dB(A)
```

Dos reglas mantienen eso honesto, y la biblioteca avisa de las dos en vez de
negarse: un ajuste que no sea una recta sigue siendo un ajuste, y un nivel
leído fuera del intervalo sigue siendo un número, y lo que pide la norma es
que el informe sea honesto sobre ellos. Los puntos medidos tienen que caer a
menos de 3 dB de la recta, porque más allá de eso los niveles no son una recta
en esa variable y leer la recta no significa nada. Y la recta se puede
prolongar hasta la mitad del régimen más pequeño medido y hasta el doble del
mayor, y no más, que para estos cinco puntos son de 0,025 a 1,6 m³/s.
Cualquiera de las dos fuera de rango levanta un
`SilencerMeasurementWarning`:

```python
print(line.valid_range)           # (0.025, 1.6)
```

El 8 k) cierra el círculo: un informe da los niveles totalmente corregidos al
medio decibelio más próximo y tiene que declarar cuáles de ellos son
extrapolados y no medidos directamente. El `.plot()` dibuja esa distinción,
sombreando los dos extremos del intervalo que son extrapolación.

## Qué cubre esta guía

La aritmética de la medida por sustitución: la Ecuación (1) de ambas normas
mediante `substitution_insertion_loss`, con la corrección por tiempo de
reverberación del 6.3 de la ISO 7235; el promedio en octavas de la Ecuación
(2) de la ISO 11691 mediante `octave_insertion_loss`; la Tabla 6 de la
ISO 7235 y la regla de tres o cinco del 6.2.1 mediante
`microphone_spread_limit` y `microphone_positions_required`; la
reproducibilidad de la Tabla 1 de la ISO 11691 y de las tres columnas de la
Tabla 7 de la ISO 7235, con la incertidumbre expandida del 7.9; y el alcance
que la ISO 11691 fija en 1.1 y 4.5, incluida la comprobación de cociente de
áreas que avisa fuera de él. La boca del conducto: las Ecuaciones (B.3) y
(B.4) mediante `open_end_transmission_loss` y
`open_end_reflection_coefficient`, con los cinco ángulos sólidos de la
Tabla B.1; la pérdida por transmisión de la Ecuación (6) y la potencia sonora
del ruido de flujo de la Ecuación (7); y las frecuencias de corte de las
Ecuaciones (4) y (5) en las que escalona la exigencia del filtro modal del
5.2.2.3. Y la mitad con flujo del 6.5: la ley de los gases de las Ecuaciones
(10), (21) y (22), el caudal volumétrico de la (8) y la (9), la altura de
velocidad de la (13), (16), (19) y (20), la presión total de la (11), la
corrección por cambio de área de la (12), el coeficiente de pérdida de presión
de la (14) y la (17), el promedio por sustitución de la (18), y la longitud de
asentamiento del 6.5.2.2.1. De la ISO 5135: el nivel de potencia sonora en el
conducto de la Ecuación (1); la Ecuación (2), que es la (B.3) de la ISO 7235
escrita otra vez y la sirve la misma función; y la recta de servicio por
mínimos cuadrados del 5.5.2 mediante `fit_operating_line`, con el límite de
3 dB del ajuste, el intervalo de la mitad al doble en que se puede leer, y un
`.plot()` que sombrea la parte de ese intervalo que es extrapolación.

Aquí no se construye ni se comprueba ningún banco de ensayo: la atenuación
del filtro modal, el coeficiente de reflexión de la terminación anecoica, la
tolerancia dimensional del conducto de sustitución y la pérdida por inserción
límite se describen pero no se calculan, y a la Ecuación (7) se le da la
corrección de sala en vez de deducirla. La medida de caudal en sí no se
modela: los dispositivos de presión diferencial de la ISO 5167-1, el recorrido
de velocidades y el anillo piezométrico son procedimiento y no aritmética.
Aquí tampoco se construye ni se cualifica ninguna sala reverberante: la
determinación de la ISO 3741 a la que ambas normas remiten su lado receptor
es página aparte, y las correcciones por ruido de fondo, la comprobación de
componentes tonales y la cualificación de la sala le pertenecen. La
ISO 11820, que mide un silenciador in situ donde el truco de la sustitución
no suele ser posible, no está implementada en absoluto. Tampoco está la ISO 11820, que mide un
silenciador in situ, donde el truco de la sustitución no suele ser posible.

## Véase también

- [Silenciadores](/phonometry/es/devices/noise-control/silencers/): los
  modelos reactivos de cuatro polos de los que esta medida es la contraparte,
  y el banco sobre el que se hace, descrito por completo.
- [Ruido en conductos: del ventilador a la sala](/phonometry/es/devices/noise-control/duct-path/):
  a dónde va una pérdida por inserción medida una vez comprada.
- [Ruido de climatización a la alemana (VDI 2081)](/phonometry/es/devices/noise-control/vdi2081-air-systems/):
  la pérdida por inserción de un silenciador de láminas paralelas predicha desde la
  geometría, para comparar con lo que mediría un laboratorio.
- [Control de ruido industrial](/phonometry/es/devices/noise-control/noise-control/):
  la forma cerrada rival para la reflexión en la boca, y las correcciones de
  terminal de aire con las que se elige un difusor.
