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

Un silenciador se gana el sueldo dentro de un conducto: entre un motor y su
escape, entre un ventilador y la sala a la que sirve. Dos principios de
funcionamiento reparten el campo. Un silenciador **reactivo** atenúa
*reflejando* el sonido con discontinuidades de impedancia (cámaras, ramas
laterales) y domina en baja frecuencia, donde puede sintonizarse con precisión
al tono de encendido de un motor o al paso de álabes de un ventilador; un
silenciador **disipativo** *absorbe* el sonido en un revestimiento poroso y
domina en banda ancha, en media y alta frecuencia. Esta guía cubre la familia
reactiva que implementa phonometry con la teoría de ingeniería de Bies,
Hansen y Howard y la formulación por matrices de transferencia de Munjal: el
método de cuatro polos, la cámara de expansión en forma cerrada, los
resonadores de Helmholtz, de cuarto de onda y de tubo extendido, el contraste
independiente con FDTD y los compromisos de diseño frente a los
revestimientos disipativos. El resto de la instalación, la atenuación en
conductos HVAC, el ruido de flujo y los cerramientos de máquina, vive en
[Control de ruido industrial](/phonometry/es/devices/noise-control/noise-control/).

## 1. Silenciadores reactivos (método de cuatro polos)

La reflexión se calcula elemento a elemento. Cada elemento acústico es una
matriz de transferencia 2x2 que relaciona la presión $p$ y la velocidad de
volumen $Su$ en sus dos extremos, y un silenciador compuesto es el producto
ordenado de las matrices de sus elementos (Bies §8.9). Un conducto recto de
longitud $L$ y área $S$ es

$$
\begin{bmatrix} \cos kL & j\,\tfrac{\rho c}{S}\sin kL \\[2pt]
j\,\tfrac{S}{\rho c}\sin kL & \cos kL \end{bmatrix},
\qquad k = \omega/c,
$$

y una rama lateral de impedancia $Z_\mathrm{b}$ es la derivación
$\left[\begin{smallmatrix} 1 & 0 \\ 1/Z_\mathrm{b} & 1 \end{smallmatrix}\right]$. La
**pérdida de transmisión** se obtiene de la matriz compuesta $T$ con las
impedancias de los puertos $Z_1 = \rho c/S_\text{in}$ y $Z_n = \rho c/S_\text{out}$
(Munjal Ec. (3.27); Bies Ec. (8.141) imprime invertidos los pesos de impedancia
de `T11` y `T22` de esta fórmula y no cumple el límite de expansión
brusca, véase el
[registro de erratas](https://github.com/jmrplens/phonometry/blob/main/docs/ERRATA.md))

$$
\mathrm{TL} = 10\log_{10}\!\left[\frac{Z_n}{Z_1}\,\tfrac{1}{4}\left|\,T_{11}
+ \tfrac{T_{12}}{Z_n} + Z_1\,T_{21} + \tfrac{Z_1}{Z_n}\,T_{22}\right|^2\right],
$$

que para áreas de entrada y salida iguales $S$ se reduce a (Bies Ec. (8.148))

$$
\mathrm{TL} = 20\log_{10}\!\left(\tfrac{1}{2}\left|\,T_{11}
+ \tfrac{T_{12}}{Z_\mathrm{c}} + Z_\mathrm{c}\,T_{21} + T_{22}\right|\right),
\qquad Z_\mathrm{c} = \frac{\rho c}{S},
$$

y la **pérdida por inserción** para una impedancia de fuente $Z_\mathrm{s}$ y una de
radiación $Z_\mathrm{r}$ es la atenuación adicional frente a una conexión directa.

### Cámara de expansión

El silenciador más simple, una cámara de área $S_\text{exp}$ y longitud $L$ entre
tubos de área $S_\text{duct}$, tiene la pérdida de transmisión en forma cerrada
(Bies Ec. (8.111)) con la relación de áreas $m = S_\text{exp}/S_\text{duct}$

$$
\mathrm{TL} = 10\log_{10}\!\left[1 + \tfrac{1}{4}\left(m - \tfrac{1}{m}\right)^2
\sin^2 kL\right],
$$

con máximos en $10\log_{10}[1 + \tfrac14(m-1/m)^2]$ cuando $kL = \pi/2, 3\pi/2, \dots$
y caídas a $0$ en $kL = n\pi$, donde la cámara mide media longitud de onda y es
transparente. El producto de cuatro polos lo reproduce exactamente.

```python

from phonometry import expansion_chamber

freqs = np.linspace(20.0, 2000.0, 2000)
res = expansion_chamber(freqs, length=0.3, chamber_area=0.04, pipe_area=0.01)
print(round(res.transmission_loss.max(), 2))   # máximo 6.55 dB (m = 4)
# Las caídas en f = n c / 2L son exactamente 0 dB (sin disipación).
print(round(float(res.transmission_loss[np.argmin(res.transmission_loss)]), 6))
```

Una sola línea, `res.plot()`, dibuja la pérdida de transmisión de la cámara (y
su pérdida por inserción cuando se dan las impedancias de fuente y radiación).
La figura de abajo barre en cambio la relación de áreas: un desajuste $m$ mayor
eleva todos los máximos, pero las caídas permanecen en 0 dB y los máximos
permanecen en las mismas frecuencias, fijadas solo por la longitud de la
cámara.

*Dos palancas de diseño, y solo una es barata. El máximo,
$10\log_{10}[1 + \tfrac14(m - 1/m)^2]$, crece solo con el logaritmo de la
relación de áreas — $m = 2$ da 1,9 dB y $m = 16$ da 18,1 dB, así que
cuadruplicar la sección de la cámara vale unos 6 dB —, mientras que las
frecuencias de las caídas, $n\,c/2L$, no se mueven en absoluto, porque dependen
solo de la longitud. Una cámara se alarga para mover la muesca y se ensancha
para profundizar el máximo.*

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

```python

from phonometry import expansion_chamber

freqs = np.linspace(20.0, 2000.0, 2000)

# Una línea para una cámara: TL vs frecuencia, más la pérdida por inserción
# cuando se dan las dos impedancias acústicas (Pa.s/m3; de dónde salen, en el
# subapartado siguiente). Con las dos puestas a rho c / S = 4.14e4 para este
# tubo de 0.01 m2 las dos curvas coinciden, que es lo que significa «puertos
# anecoicos».
expansion_chamber(freqs, 0.3, 0.04, 0.01,
                  source_impedance=4.14e4,
                  radiation_impedance=4.14e4).plot(language="es")
plt.show()

# A mano: la familia de relaciones de áreas de la figura de concepto.
fig, ax = plt.subplots()
for m in (2.0, 4.0, 8.0, 16.0):
    res = expansion_chamber(freqs, 0.3, m * 0.01, 0.01)
    ax.plot(freqs, res.transmission_loss, label=f"m = {int(m)}")
ax.set_xlabel("Frecuencia [Hz]"); ax.set_ylabel("Pérdida de transmisión [dB]")
ax.legend()
plt.show()
```

</details>

Los números que se pasan a `expansion_chamber` describen un dispositivo real,
y `.plot_geometry()` lo dibuja: la misma cámara de 0,3 m con su relación de
áreas 4:1, a escala y acotada.

*La cámara detrás de las curvas de arriba, a escala: las áreas entran en el
método de cuatro polos solo a través de la relación $m$, y el dibujo usa los
diámetros circulares equivalentes $d = 2\sqrt{S/\pi}$ de las secciones de 0,04 y
0,01 m².*

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

```python

from phonometry import expansion_chamber, plot_silencer_geometry

freqs = np.linspace(20.0, 2000.0, 2000)
res = expansion_chamber(freqs, length=0.3, chamber_area=0.04, pipe_area=0.01)

# Una línea: la sección acotada de la cámara recién calculada.
res.plot_geometry(language="es")
plt.show()

# El mismo dibujo sin resultado, con la función libre:
plot_silencer_geometry("expansion chamber", length=0.3,
                       chamber_area=0.04, pipe_area=0.01, language="es")
plt.show()
```

</details>

### Pérdida de transmisión, pérdida por inserción y cuál cita una hoja de características

Circulan tres magnitudes y no son intercambiables. La **pérdida de transmisión**
compara la potencia incidente que entra en el elemento con la que sale de él
hacia una terminación sin reflexiones, así que es una propiedad del elemento
por sí solo, que es justo lo que permite calcularla a partir de la geometría y la razón
de que la fórmula de arriba fije $Z_1 = \rho c/S_\text{in}$ y
$Z_n = \rho c/S_\text{out}$ sin preguntar a qué está conectado el silenciador. La
**pérdida por inserción** compara el nivel en un punto fijo con y sin el elemento
puesto, así que depende de la fuente y de aquello a lo que el conducto radia, y
una misma cámara presenta pérdidas por inserción distintas en dos instalaciones.
La **reducción de ruido** es la diferencia de niveles a secas a través del
elemento, que es lo que devuelve una medición con dos micrófonos en un conducto
en servicio.

Donde más divergen las tres es en un elemento reactivo, porque funciona devolviendo energía
hacia una fuente que puede volver a reflejarla. Las dos impedancias son
acústicas, en Pa·s/m³ (presión por velocidad de volumen), y tienen una escala:
$\rho c/S$ para el tubo de entrada de 0,01 m² vale $4{,}14 \times 10^{4}$, así
que una fuente muy por encima de ese valor se aproxima a una máquina de
velocidad de volumen constante, como un motor alternativo, y una muy por debajo
a una fuente de presión constante. La terminación no es una elección libre en
absoluto: para un conducto que descarga a una sala es la impedancia de radiación
del extremo abierto, $Z_\mathrm{r} = (\rho c/S)(R_1 + jX_1)$, cuyas $R_1$ y $X_1$
normalizadas devuelve el
[pistón radiante](/phonometry/es/devices/electroacoustics/loudspeakers/#piston-radiante)
del dominio de electroacústica como `radiating_piston(...).resistance` y
`.reactance` (sus `radiation_resistance` y `radiation_reactance` son la
impedancia *mecánica* $\rho c S(R_1 + jX_1)$ en N·s/m, a un factor $S^2$ de
distancia, y es fácil meterlas por equivocación). La impedancia de la fuente de
un ventilador o de un motor, en cambio, rara vez se conoce y depende mucho de la
frecuencia, que es precisamente por lo que en la práctica la pérdida por
inserción es una magnitud *medida*.

*La misma cámara, tres respuestas. La pérdida de transmisión nunca baja de cero,
porque está definida contra una terminación que no refleja nada. La pérdida
por inserción sí puede: cerca de 180 Hz esta cámara y el extremo abierto por el
que descarga resuenan juntos, y la instalación es **más ruidosa** con el
silenciador puesto que sin él — 9,3 dB más para una fuente adaptada al tubo y
22,6 dB para una rígida —, allí donde la pérdida de transmisión marca unos
cómodos +5 dB. Por eso un catálogo publica una pérdida por inserción dinámica
medida con el caudal de diseño y en el sentido de diseño, y por eso una TL
calculada es una herramienta de dimensionado y no una especificación.*

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

```python

from scipy import special          # expansion_chamber: importado en el apartado 1

freqs = np.linspace(20.0, 880.0, 1600)     # por debajo del corte de 890.8 Hz
rho, c, pipe_area = 1.206, 343.0, 0.01
z0 = rho * c / pipe_area                   # 41.4 kPa.s/m3

# El extremo abierto, como pistón embridado: R1(2ka) y X1(2ka). Esos dos mismos
# números salen de radiating_piston(a, freqs).resistance / .reactance.
a = np.sqrt(pipe_area / np.pi)
x = 2.0 * (2.0 * np.pi * freqs / c) * a
z_r = z0 * ((1.0 - 2.0 * special.j1(x) / x)
            + 1j * (2.0 * special.struve(1, x) / x))

# Una línea: el resultado dibuja la pérdida por inserción junto a la de
# transmisión siempre que se den las dos impedancias.
expansion_chamber(freqs, 0.3, 0.04, pipe_area,
                  source_impedance=z0, radiation_impedance=z_r).plot(language="es")
plt.show()

# A mano: las dos impedancias de fuente de la figura contra la misma salida.
fig, ax = plt.subplots()
ax.plot(freqs, expansion_chamber(freqs, 0.3, 0.04, pipe_area).transmission_loss,
        label="Pérdida de transmisión")
for factor, label in ((20.0, "fuente rígida"), (1.0, "fuente adaptada")):
    res = expansion_chamber(freqs, 0.3, 0.04, pipe_area,
                            source_impedance=factor * z0, radiation_impedance=z_r)
    ax.plot(freqs, res.insertion_loss, label=f"Pérdida por inserción, {label}")
ax.set_xlabel("Frecuencia [Hz]"); ax.set_ylabel("Atenuación [dB]")
ax.legend()
plt.show()
```

</details>

La regla que se sigue de ahí es corta: **no compares una pérdida de transmisión
calculada con una pérdida por inserción publicada.** Escribe los requisitos en
pérdida por inserción con la terminación declarada, toma la cifra del
suministrador o de un ensayo (apartado 3), y trata la pérdida de transmisión que
calcula esta página como la herramienta que dice qué geometría hay que pedir.

El clip de abajo simula una cámara con $m = 4$ y la misma longitud de 0,30 m
en un conducto FDTD 2D a sus dos frecuencias características. En $kL = \pi$ la
cámara es un resonador de media onda y el tono la cruza como si no
existiera; en $kL = \pi/2$ los dos saltos de área reflejan en fase y devuelven
la onda por el conducto de entrada, el pico de 6,5 dB de la curva de cuatro
polos de arriba.

### Resonadores laterales y de tubo extendido

Un **resonador de Helmholtz** (área de cuello $S_\mathrm{n}$, longitud efectiva $l_\mathrm{e}$,
volumen de cavidad $V$) y un **tubo de cuarto de onda** cerrado (longitud $l_\mathrm{e}$)
cortocircuitan el conducto en su frecuencia de sintonía, dando un pico agudo de
pérdida de transmisión: $f_0 = \tfrac{c}{2\pi}\sqrt{S_\mathrm{n}/(l_\mathrm{e} V)}$ (Bies Ec. (8.46))
y $f = c/4l_\mathrm{e}$ (Ec. (8.44)). Una **cámara de tubo extendido** aloja ramas de
cuarto de onda dentro de una cámara de expansión para rellenar sus caídas.

Las dos longitudes son longitudes **efectivas**, y las dos funciones las
toman así (`neck_length` y `length` están documentadas como $l_\mathrm{e}$, con las
correcciones de extremo incluidas). El aire del cuello no deja de moverse en
la boca: arrastra consigo una porción de aire a cada lado, así que la masa que
resuena contra la cavidad pertenece a un tubo más largo que el que se
taladró. Hay que añadir unos $0{,}85a$ por extremo embridado y unos $0{,}61a$
por extremo libre, para un cuello de radio $a$, en los dos extremos de un
cuello de Helmholtz y solo en el extremo abierto (el del conducto) de un tubo
de cuarto de onda. El resonador dibujado abajo es el caso de manual: su
cuello mide 11,3 mm de diámetro ($a = 5{,}64$ mm) y 20 mm de largo, así que
$l_\mathrm{e} \approx 20 + 2 \times 4{,}8 = 29{,}6$ mm y la sintonía baja de los
122,1 Hz que devuelve la longitud taladrada a 100,3 Hz — un error del 22 % en
una muesca que la figura de abajo enseña que solo tiene unos pocos hercios de
ancho. Cuanto más corto y más ancho el cuello, mayor es la corrección en
términos relativos, que es justo el régimen en el que vive un resonador
compacto, así que el procedimiento práctico es calcular una longitud nominal,
construirlo largo y recortarlo guiándose por una medición.

```python

from phonometry import (
    helmholtz_resonator, quarter_wave_resonator, extended_tube_chamber,
)

f = np.linspace(20.0, 600.0, 4000)

hr = helmholtz_resonator(f, duct_area=0.01, neck_area=1e-4,
                         neck_length=0.02, cavity_volume=1e-3)
print(round(float(hr.resonances[0]), 1))       # 122.1 Hz, para le = 20 mm
hr.plot()   # pico de TL en la frecuencia de sintonía (necesita matplotlib)

qw = quarter_wave_resonator(f, duct_area=0.01, length=0.3, branch_area=2e-3)
print(round(float(qw.resonances[0]), 1))       # 285.8 Hz = c / 4 le

# Ejemplo 8.1 de Bies, el anclaje publicado: un tubo de 1.516 m con c = 343.24 m/s.
print(round(float(quarter_wave_resonator(
    f, duct_area=0.01, length=1.516, branch_area=2e-3,
    speed_of_sound=343.24).resonances[0]), 1))  # 56.6 Hz

# El mismo tubo en gases de escape calientes: c(500 degC) = 343*sqrt(773/293) = 557 m/s
# (ver la advertencia de abajo), que desplaza la muesca en un factor 1.62.
f_hot = np.linspace(20.0, 900.0, 6000)
qw_hot = quarter_wave_resonator(f_hot, duct_area=0.01, length=0.3,
                                branch_area=2e-3, speed_of_sound=557.0)
print(round(float(qw_hot.resonances[0]), 1))   # 464.2 Hz, no 285.8

# Cada extensión es un tubo de cuarto de onda, así que su propia longitud
# elige la caída que rellena: L/4 = 0,1 m cortocircuita el conducto en
# c/4(L/4) = c/L, la segunda caída de la cámara, y L/2 = 0,2 m tomaría la
# primera, en c/2L.
et = extended_tube_chamber(f, length=0.4, chamber_area=0.04, pipe_area=0.01,
                           inlet_extension=0.1)
print(round(float(et.transmission_loss[np.argmin(abs(f - 428.75))]), 1))
# 0.6 dB en c/2L: el tubo L/4 está sintonizado una octava por encima
```

Una extensión es un tubo de cuarto de onda alojado dentro de la cámara, así que
su propia longitud decide qué caída rellena: un tubo de longitud
$L_\text{ext}$ cortocircuita el conducto en $c/4L_\text{ext}$. La cámara simple
de 0,4 m es transparente en $c/2L = 429$ Hz y otra vez en $c/L = 858$ Hz. La
extensión de entrada de 0,1 m ($L/4$) está sintonizada en 858 Hz, así que
cortocircuita la segunda caída y deja la primera casi intacta, en 0,6 dB; la
extensión de salida de 0,2 m ($L/2$) es la sintonizada en 429 Hz, y el par
cubre las dos. El precio se ve en la misma figura: por sí sola, la extensión de
entrada no elimina la caída que no le toca, la desplaza, a 444 Hz.

*Lo que aporta una extensión interior, y lo que cuesta. Las caídas a 0 dB de la
cámara simple en cada media longitud de onda son su defecto fatal, y cada
extensión cortocircuita exactamente la que sintoniza su propia longitud: $L/2$
se lleva la primera y $L/4$ la segunda. Una sola extensión, por tanto, desplaza
la caída que no le toca en lugar de eliminarla, que es la razón de que las
extensiones se dimensionen por parejas y de que una cámara de tubo extendido se
diseñe contra el espectro de la fuente y no en general.*

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

```python

# `f`, y extended_tube_chamber / expansion_chamber, como en el apartado 1.
plain = expansion_chamber(f, 0.4, 0.04, 0.01)
inlet = extended_tube_chamber(f, 0.4, 0.04, 0.01, inlet_extension=0.1)
both = extended_tube_chamber(f, 0.4, 0.04, 0.01, inlet_extension=0.1,
                             outlet_extension=0.2)

# Una línea para un dispositivo:
inlet.plot(language="es")
plt.show()

fig, ax = plt.subplots()
for res, label in ((plain, "Cámara simple"), (inlet, "Entrada L/4"),
                   (both, "Entrada L/4 y salida L/2")):
    ax.plot(f, res.transmission_loss, label=label)
ax.set_xlabel("Frecuencia [Hz]"); ax.set_ylabel("Pérdida de transmisión [dB]")
ax.set_ylim(0.0, 46.0)
ax.legend()
plt.show()
```

</details>

La extensión es un trozo de tubo real metido en la cámara, y `.plot_geometry()`
la dibuja a escala como a todos los demás dispositivos de esta página.

*La misma cámara de 0,4 m de arriba, con el tubo de entrada metido 100 mm y el
de salida 200 mm. Por fuera no se añade nada: las dos ramas de cuarto de onda
son los espacios anulares que crean las extensiones.*

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

```python

# Una línea: la sección acotada del dispositivo recién calculado.
extended_tube_chamber(f, 0.4, 0.04, 0.01, inlet_extension=0.1,
                      outlet_extension=0.2).plot_geometry(language="es")
plt.show()
```

</details>

*Cada rama lateral cortocircuita el conducto en su propia frecuencia de
sintonía y es casi transparente en el resto: el pico estrecho es la razón de
que los resonadores se sintonicen a una frecuencia de encendido o al tono de
paso de álabes de un ventilador en lugar de usarse en banda ancha.*

**No leas la altura de ese pico.** Los dos modelos de rama toman
`resistance=0.0` por omisión, así que la rama es un cortocircuito perfecto en
$f_0$ y la pérdida de transmisión calculada diverge ahí; lo que muestra la
figura es dónde cayó la malla de frecuencias, y por eso el código a mano de
abajo tiene que recortar el eje en 50 dB. Lo que limita el pico en un dispositivo
construido es la pérdida viscosa del cuello, la radiación de las paredes de la cavidad y el
amortiguamiento que se añada a propósito. Un resonador bien hecho entrega del
orden de 15 a 25 dB en su frecuencia de sintonía, sobre un ancho de banda
relativo que fija su $Q$ y que suele ser de un pequeño porcentaje, una fracción
de octava. `resistance=` es donde va una resistencia acústica medida o estimada,
y añadirla baja y ensancha el pico, que es el compromiso entre profundidad y
tolerancia a un error de sintonía. Léelo junto a la advertencia sobre las
correcciones de extremo de más arriba: una muesca desviada un 22 % de su
objetivo no vale nada, así que el diseño amortiguado y más ancho suele ser el
más seguro.

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

```python

from phonometry import helmholtz_resonator, quarter_wave_resonator

f = np.linspace(20.0, 600.0, 4000)
hr = helmholtz_resonator(f, duct_area=0.01, neck_area=1e-4,
                         neck_length=0.02, cavity_volume=1e-3)
qw = quarter_wave_resonator(f, duct_area=0.01, length=0.3, branch_area=2e-3)

# Una línea para un dispositivo: TL vs frecuencia con la resonancia marcada.
hr.plot(language="es")
plt.show()

# A mano: las dos ramas laterales en los mismos ejes.
fig, ax = plt.subplots()
ax.plot(f, hr.transmission_loss, label="Resonador de Helmholtz")
ax.plot(f, qw.transmission_loss, "--", label="Tubo de cuarto de onda")
for fr in (hr.resonances[0], qw.resonances[0]):
    ax.axvline(float(fr), ls=":", color="#2ca02c")
ax.set_xlabel("Frecuencia [Hz]"); ax.set_ylabel("Pérdida de transmisión [dB]")
ax.set_ylim(0.0, 50.0)
ax.legend()
plt.show()
```

</details>

¿Y por qué, de entrada, la muesca tiene solo unos pocos hercios de ancho?
Porque un resonador tarda en actuar, y el clip de abajo lo enseña
actuando, sobre el propio tubo de 0,30 m de esta página en un conducto
FDTD 2D. Una rama lateral no bloquea el conducto en el instante en que
llega el tono: tiene que **cargarse**. Excitado en la frecuencia de
sintonía, el tubo va acumulando presión en su extremo cerrado, escalón a
escalón durante unos seis periodos, hasta 8,2 veces la onda incidente (la
rama sin pérdidas en resonancia exacta llegaría a diez, el doble de la
relación de áreas entre conducto y rama); excitado a 150 Hz, el mismo tubo
se asienta en 1,5 veces en un par de periodos y nunca se carga, que es el
mecanismo entero de la muesca visto de una sola vez: la carga tiene el
ancho de banda porcentual $f/Q$, mientras que el pico de TL sin pérdidas es
de hercios de ancho. El clip también ejecuta en pantalla el procedimiento
de recorte de la advertencia sobre las correcciones de extremo de más
arriba: construido exactamente con los 300 mm taladrados, el dispositivo
simulado resuena a 272,9 Hz en lugar de a 285,8, una longitud efectiva
$c/4f = 314$ mm, y aun así se carga del todo porque el desajuste de sintonía del
4,7 % cae dentro del ancho de carga del 13 %. No hay ninguna pérdida de
transmisión anotada en ninguna parte del clip: en la frecuencia de sintonía
la TL del modelo sin pérdidas es infinita, así que un número finito ahí
solo volvería a decir dónde cayó la malla de frecuencias.

Las dos ramas son piezas pequeñas, y `.plot_geometry()` enseña hasta qué punto: el
resonador del pico de 120 Hz es una cavidad de 1 L alimentada por un cuello
de 1 cm² de solo 2 cm de longitud.

*Toda la muesca de 120 Hz cuelga de una caja de 1 L y un cuello de 2 cm: la
cavidad se dibuja como su cubo de igual volumen, y la sintonía se mueve como
$\sqrt{S_\mathrm{n}/(l_\mathrm{e} V)}$, así que pequeños errores en estas dimensiones desplazan
el pico de su objetivo.*

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

```python

from phonometry import helmholtz_resonator

f = np.linspace(20.0, 600.0, 4000)
hr = helmholtz_resonator(f, duct_area=0.01, neck_area=1e-4,
                         neck_length=0.02, cavity_volume=1e-3)

# Una línea: la rama lateral a escala, cavidad como cubo de igual volumen.
hr.plot_geometry(language="es")
plt.show()
```

</details>

El tubo de cuarto de onda no necesita cavidad alguna: el pico de 285 Hz de
la figura de arriba sale de un simple tubo cerrado de la longitud correcta
plantado sobre el mismo conducto.

*Un tubo de cuarto de onda es solo un tubo cerrado de la longitud correcta:
0,3 m de tubo colocan el pico en $c/4l_\mathrm{e} \approx 285\ \text{Hz}$, y el área de
rama de 20 cm² solo fija con cuánta fuerza carga el conducto.*

:::caution
**Sintonizar a la temperatura de trabajo.**
Todas las frecuencias de esta página son condiciones de longitud de onda, así
que todas escalan directamente con la velocidad del sonido **en el gas de
trabajo**: $kL = \pi/2$ para la cámara, $c/4l_\mathrm{e}$ para el tubo y la $c$ que va
delante de la raíz cuadrada de Helmholtz. Para el aire,
$c(T) = 343\sqrt{T/293}$ con $T$ en kelvin, así que un escape a 500 °C
(773 K) funciona a unos 557 m/s, un factor 1,62, y el tubo de 0,3 m cortado
para 285,8 Hz con valores de aire frío canta a 464 Hz en cuanto el tubo se
calienta. Hay que pasar los valores de trabajo — `speed_of_sound=` y
`density=`, porque la densidad escala toda impedancia característica y por
tanto la pérdida por inserción. La llamada con `speed_of_sound=557.0` del
fragmento del apartado 1 es ese reajuste, y devuelve 464,2 Hz para el mismo
tubo de 0,3 m.

Un flujo medio desplaza aún más la muesca y rebaja su profundidad, y la
temperatura cae a lo largo de un escape real, así que un resonador de escape
se comprueba en los extremos caliente y frío y se acepta con margen en vez de
diseñarse a un solo valor.
:::

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

```python

from phonometry import quarter_wave_resonator

f = np.linspace(20.0, 600.0, 4000)
qw = quarter_wave_resonator(f, duct_area=0.01, length=0.3, branch_area=2e-3)

# Una línea: el tubo cerrado de 0,3 m sobre su conducto, a escala.
qw.plot_geometry(language="es")
plt.show()
```

</details>

Cada uno devuelve un `ReactiveSilencerResult` con `transmission_loss`,
`insertion_loss` (cuando se dan las impedancias), la matriz compuesta
`transfer_matrix`, el `plane_wave_limit` de su sección más ancha y `.plot()`.
Las configuraciones que los cuatro constructores no cubren se encadenan
elemento a elemento, ya sea con `duct_matrix`, `shunt_matrix`, `cascade`,
`transmission_loss` e `insertion_loss` directamente, ya sea con
`SilencerChain`, que hace esas mismas llamadas y conserva la geometría que
recibieron.

Ese `plane_wave_limit` es el techo de validez de todo lo que hay en esta página.
Por encima del primer corte de orden superior de la sección más ancha se
propagan varios modos, cada uno con su propio número de onda axial, y los
máximos y mínimos calculados no sobreviven; el resultado lanza un
`PlaneWaveWarning` cuando la malla de análisis rebasa esa frecuencia. Para la
cámara de 0,04 m² de las figuras de arriba el límite son **890,8 Hz**, así que
más de la mitad de cada barrido hasta 2 kHz de los fragmentos queda fuera del
modelo y el segundo y el tercer máximo de la figura de la familia $m$ hay que
leerlos como forma de diseño y no como predicción. El análisis de corte en sí
está en
[Ruido por conductos](/phonometry/es/devices/noise-control/duct-path/#el-limite-de-onda-plana).

Hay tres cosas del silenciador real que quedan fuera del álgebra y que deciden si un
dispositivo construido se comporta como la curva. La **envolvente** de una
cámara es un radiador grande de pared delgada: si su propia pérdida de
transmisión queda por debajo de la del silenciador, el sonido se marcha por la
envolvente y el dispositivo entrega la cifra de la envolvente, que es la versión
en obra de la pérdida por inserción límite del apartado 3. Los dos **saltos de
área llevan correcciones de extremo**, igual que el cuello de un resonador, así
que la longitud acústica supera a la geométrica y las caídas medidas quedan un
poco por debajo del $c/2L$ que aquí se imprime: una sintonía de tanteo hay que
verificarla, no darla por buena. Y la expansión **regenera ruido de flujo en su
propia salida**, lo que pone un suelo al espectro entregado del que la pérdida
de transmisión no dice nada; esa magnitud es `flow_noise_straight_duct` en la
[página de control de ruido industrial](/phonometry/es/devices/noise-control/noise-control/)
y `silencer_self_noise` en la
[página de ruido por conductos](/phonometry/es/devices/noise-control/duct-path/#4-lo-que-el-sistema-devuelve).

`ReactiveSilencerResult` también se archiva solo: `.report()` genera un PDF de
una página con la disposición de una hoja de prestaciones de silenciador, con
la línea de base metodológica que nombra el método de cuatro polos de onda
plana (Munjal Ec. (3.27); Bies §8.8-8.9), una cabecera de metadatos opcional
(cliente, dispositivo, entorno de ensayo, instrumentación, clima, fecha), la
tabla por bandas de la pérdida de transmisión (y de la pérdida por inserción
cuando se dieron las impedancias) junto a esas mismas curvas, la pérdida de
transmisión media sobre las bandas de análisis en su recuadro con el valor de
pico y el
tipo de dispositivo, y un veredicto opcional frente a una pérdida de
transmisión media mínima declarada. El renderizado necesita reportlab y, para
la figura que incrusta la ficha, matplotlib (`pip install
"phonometry[report,plot]"`); pasa `language="es"` para una ficha en español.

```python

from phonometry import ReportMetadata, expansion_chamber

# Una cámara de 0,5 m con relación de áreas m = 8, en los centros de octava.
freqs = np.array([63.0, 125.0, 250.0, 500.0, 1000.0, 2000.0, 4000.0])
res = expansion_chamber(freqs, length=0.5, chamber_area=0.08, pipe_area=0.01)
res.report(
    "ficha_silenciador.pdf",
    metadata=ReportMetadata(
        specimen="Silenciador de cámara de expansión simple (m = 8, diseño)",
        measurement_standard="Modelo de cuatro polos, Munjal Ec. (3.27)",
        laboratory="Laboratorio de referencia Phonometry",
        requirement=6.0,            # pérdida de transmisión media mínima
    ),
    language="es",                  # ficha en español (separador decimal coma)
)                                   # pérdida de transmisión media y de pico (dB)
```

La ficha de ejemplo se regenera con `make reports` y se mantiene renderizada en
el repositorio; pulsa la vista previa para abrir el PDF.

### Configuraciones propias

Nada de lo anterior cubre un silenciador de dos cámaras, ni una cámara con un
ramal soldado a su tubo de entrada. Eso se encadena elemento a elemento, y
`SilencerChain` lo hace con las mismas llamadas a `duct_matrix`, `shunt_matrix`
y `cascade` conservando lo que se le dio a cada elemento, de modo que la
configuración se puede dibujar además de calcular y el dibujo no puede
separarse del modelo.

Lo que ese dibujo puede mostrar se sigue de lo que declaran los elementos, y
los dos tipos declaran cantidades muy distintas. A `duct_matrix` se le da una
longitud y un área, así que un conducto se dibuja a escala, acotado, y con él
sus saltos de sección. A `shunt_matrix` se le da una impedancia, que no fija
ninguna longitud, ningún área ni ningún volumen: el resonador de Helmholtz y el
ramal de cuarto de onda del apartado anterior presentan a la cadena *el mismo
tipo de objeto*, y una placa perforada o un extremo abierto presentarían otro.
Por eso un ramal se marca en la estación donde se conecta, rotulado con su
nombre y con lo único que su impedancia dice de sí misma, la frecuencia a la
que es mínima, donde el ramal muerde con más fuerza, y no se acota nada de
él. Los extremos del tramo se dejan abiertos por la misma razón: una cadena es
una lista de elementos, no una afirmación sobre los tubos entre los que se
monta. Si esos tubos se meten en la cadena como elementos de conducto, también
se dibujan. Una cadena sin ningún conducto de longitud positiva no tiene
geometría ni escala a la que dibujarse, así que lanza un error en vez de
dibujar una.

*Toda medida de la página sale de lo que se le dio a la cadena: las cuatro
longitudes de conducto y su suma son los números mismos, y los dos diámetros
son las áreas que recibió, expresadas como el diámetro circular equivalente
$d = 2\sqrt{S/\pi}$. Los dos ramales no llevan ninguna cota, porque una
impedancia no es una forma.*

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

```python

from phonometry import SilencerChain
from phonometry.noise_control import helmholtz_impedance, quarter_wave_impedance

freqs = np.linspace(20.0, 500.0, 481)
s_duct = np.pi * 0.100**2               # conducto nominal de 200 mm
s_shell = np.pi * 0.200**2              # envolvente nominal de 400 mm

# Los elementos en orden, de entrada a salida; cada llamada guarda lo que
# se le dio.
chain = (
    SilencerChain(freqs)
    .duct(0.10, s_duct)
    .shunt(quarter_wave_impedance(freqs, 343.0 / (4.0 * 125.0), np.pi * 0.050**2),
           label="Ramal de cuarto de onda")
    .duct(0.20, s_duct)
    .duct(0.60, s_shell)
    .shunt(helmholtz_impedance(freqs, np.pi * 0.025**2, 0.05, 2e-3),
           label="Resonador de Helmholtz")
    .duct(0.30, s_duct)
)

# Una línea: la cadena dibujada tal y como se declaró.
chain.plot_geometry(language="es")
plt.show()

# Los mismos elementos, evaluados: `.result()` da la matriz compuesta, la
# pérdida de transmisión, el límite de onda plana de la sección más ancha,
# .plot() y .report(); `.transfer_matrix` es lo que habría dado `cascade`.
res = chain.result(inlet_area=s_duct, outlet_area=s_duct)
res.plot(language="es")
plt.show()
```

</details>

## 2. ¿Reactivo o disipativo?

Todo lo anterior funciona por reflexión, y la reflexión tiene una forma:
aguda, periódica, selectiva en frecuencia. La familia complementaria, los
silenciadores **disipativos**, sustituye las discontinuidades de impedancia
por un tramo de conducto cuyas paredes están revestidas de material poroso
(a menudo protegido por una chapa perforada), de modo que la onda rasante
pierde energía por fricción viscosa en el revestimiento en lugar de ser
devuelta hacia la fuente. Los comportamientos difieren justo donde importa
para elegir:

- **Alcance en frecuencia.** Una cámara o un resonador reactivo es más fuerte
  exactamente donde está sintonizado y transparente en el resto; un conducto
  revestido atenúa en una banda ancha cuyo máximo cae donde el espesor del
  revestimiento es comparable a un cuarto de longitud de onda. En baja
  frecuencia un revestimiento realista es acústicamente delgado y hace poco,
  que es el régimen donde gana la cámara reactiva; en alta frecuencia el
  sonido se colima por el conducto libre y pasa de largo sobre el
  revestimiento, así que la atenuación de las dos familias se desploma y solo
  las geometrías de bafles (pasos estrechos, más perímetro revestido por
  unidad de superficie) siguen funcionando.
- **Tipo de espectro.** Una fuente tonal, un armónico de encendido de un motor
  o una frecuencia de paso de álabes, es la presa natural de un resonador; el
  ruido de ventilador o de flujo, de banda ancha, pide la banda disipativa.
  Los silenciadores de escape de serie combinan habitualmente ambas
  cosas, rellenando de fibra una cámara de expansión para que las caídas
  por reflexión de la cámara se cubran por absorción.
- **El medio.** Un revestimiento poroso en un escape caliente, con hollín o
  pulsante se colmata y se degrada, una de las razones de que los escapes de
  vehículo sean predominantemente reactivos; el aire limpio de una
  instalación HVAC es donde los atenuadores disipativos y los plenums
  revestidos son la opción por defecto. En cualquier caso el flujo añade su
  propio suelo: un silenciador regenera ruido de flujo en su propia salida, y
  pasada cierta pérdida de carga el silenciador se convierte en la fuente de
  ruido.

Son tres afirmaciones que dependen de la frecuencia, así que aquí están sobre un
mismo eje, con todas las curvas calculadas con los modelos que se distribuyen y
no dibujadas a mano.

*La regla de selección, dibujada. El resonador solo gana donde está el tono, y
es transparente dos semitonos más allá. La cámara vale unos pocos decibelios en
una banda baja ancha y nada en absoluto en sus propias caídas de media onda. Un
revestimiento realista casi no hace nada a 63 Hz — 1,2 dB con 25 mm sobre 1,5 m
— y doblar el espesor del revestimiento aporta 7 dB a 500 Hz y nada por encima
de 1 kHz, porque ahí el sonido ya se colima por el paso libre. Solo la unidad de
bafles, que estrecha el paso y multiplica el perímetro revestido, mantiene 30 dB
en toda la zona media. Las curvas azules se cortan en 891 Hz porque es donde se
corta su modelo.*

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

```python

# El lado reactivo, dibujado solo hasta su propio techo de validez.
chamber = expansion_chamber(f, 0.3, 0.04, 0.01)
inside = f <= chamber.plane_wave_limit

fig, ax = plt.subplots()
ax.semilogx(f[inside], chamber.transmission_loss[inside],
            label="Cámara de expansión, m = 4")
ax.semilogx(f[inside], hr.transmission_loss[inside],
            "--", label="Rama de Helmholtz")
ax.set_xlabel("Frecuencia [Hz]"); ax.set_ylabel("Atenuación [dB]")
ax.legend()
plt.show()
```

</details>

Las curvas disipativas salen de los modelos de instalación de los
[métodos HVAC](/phonometry/es/devices/noise-control/noise-control/), no de este
módulo: `hvac.lined_rectangular_duct_attenuation(bands, 36 in, 24 in, 1.5 m, t,
include_unlined=True)` para los dos revestimientos, y
`hvac.splitter_silencer_insertion_loss(bands, 24 in, 5 ft, [4 in] * 5, 8 in)`
para la unidad de bafles.

phonometry modela la familia reactiva en forma cerrada en esta página. El
lado disipativo entra a nivel de instalación, por los
[métodos HVAC](/phonometry/es/devices/noise-control/noise-control/): la pérdida por inserción
del codo revestido, leída de datos ASHRAE tabulados, y la atenuación del
plenum revestido según la forma cerrada de Wells; ninguna de las dos es un
modelo de revestimiento. La física porosa que necesitaría un cálculo de
revestimiento desde primeros principios, los modelos de fluido equivalente alimentados por
la resistividad al flujo de aire, es la misma teoría de materiales que
[Absorbentes porosos y multicapa](/phonometry/es/materials/absorbers/porous-absorbers/).

<span id="como-se-mide-un-silenciador-iso-7235"></span>

## 3. Cómo se mide un silenciador (ISO 7235)

Todo lo anterior se calcula a partir de la geometría. La cifra que publica un
suministrador, no: es una **pérdida por inserción medida por sustitución**, y la
ISO 7235:2003 (publicada en Europa como EN ISO 7235:2009) es el método que hay
detrás. Leer la ficha de esta página sin saberlo es la forma de acabar poniendo
en la misma frase unos 8,9 dB calculados y los «25 dB» de un catálogo.

El banco tiene cuatro partes y cada una lleva su requisito. La **fuente** es un
generador de ruido aleatorio y un amplificador que atacan unos altavoces
alojados en una caja acústicamente estanca y revestida de absorbente, con
aberturas de compensación de presión para los ensayos con flujo, y con potencia
suficiente para que todo punto de medida quede al menos 6 dB, y preferiblemente
10 dB, por encima del ruido de fondo (apartado 5.2.2.2). Después va un **filtro
modal**: un tramo de conducto con elementos absorbentes o reactivos que atenúa
poco el modo fundamental y mucho los de orden superior, al menos 3 dB sobre el
fundamental en el extremo de baja frecuencia y al menos 5 dB por encima del
corte de los modos de orden superior, y que además desacopla la fuente del
objeto de ensayo (5.2.2.3). Un **elemento de transición** rígido los une sin
radiar ruido por sus paredes (5.2.2.4). Y el **conducto de sustitución** no es
absorbente, idealmente es la propia envolvente vacía del objeto de ensayo y, si
no, se ajusta a su entrada y a su salida dentro de un 5 % en cada dimensión lineal
(5.2.3).

Para el lado receptor hay tres montajes (5.2.4). Una **cámara reverberante** conforme a
ISO 3741, cualificada al menos hasta el tercio de octava de 125 Hz, es la
disposición preferente. Un **conducto de ensayo con terminación anecoica** es la
alternativa: de al menos media longitud de onda de la banda más baja y al
menos cuatro veces la dimensión transversal máxima, con un coeficiente de
reflexión no mayor que 0,3, y con unos micrófonos y soportes que obstruyan
menos del 5 % del área del conducto. Se admiten **condiciones esencialmente de
campo libre** en el extremo abierto cuando el sonido directo supera en 10 dB a
la reflexión más fuerte, lo que se cumple si la superficie reflectante más
próxima está a más del doble de distancia que el micrófono.

El procedimiento son luego dos series sin cambiar nada más. Se determina
$L_{pI}$ con el objeto de ensayo instalado y $L_{pII}$ con el conducto de
sustitución en su lugar, en puntos o recorridos idénticos y con un espectro de
fuente inalterado, y la pérdida por inserción es $D_\mathrm{i} = L_{pII} - L_{pI}$ tercio
de octava a tercio de octava (6.2.1). En un conducto de ensayo el promedio
espacial toma **al menos tres posiciones equiespaciadas** sobre una recta
inclinada respecto al eje del conducto, a la mitad de su longitud
aproximadamente, abarcando al menos un cuarto de longitud de onda de la banda
más baja, y pasa a cinco cuando la dispersión entre las tres supera los límites
de la Tabla 6: 10 dB a 50 y 63 Hz, 8 dB a 80 y 100 Hz, 7 dB a 125 Hz y 6 dB por
encima de 160 Hz. La cadena es de clase 1 con filtros de tercio de octava
conformes a IEC 61260 (5.2.4.6) y se verifica con un calibrador de clase 1 con
$\pm 0{,}3$ dB antes y después de cada serie (6.1).

La cifra lleva aparejadas dos consecuencias. La primera, que lo que se declara es una
**pérdida por inserción frente a un conducto de sustitución**, no una pérdida de
transmisión, así que no es la magnitud que calcula esta página y las dos no
deben compararse directamente. La segunda, que toda instalación tiene una
**pérdida por inserción límite**: el techo que le impone la transmisión por flancos
a través de las paredes de su propio conducto, medido con el conducto de sustitución bloqueado
acústicamente y registrado en función de la frecuencia (7.4). Una cifra de
catálogo muy grande dice tanto de la disposición de ensayo como del
dispositivo, que es la razón de que la disposición tenga que constar en el
informe. Para hacerse una idea de lo repetible que es todo esto, las
desviaciones típicas de reproducibilidad que da la propia norma para la
pérdida por inserción son 1,5 dB de 50 a 100 Hz, 1 dB de 125 a 500 Hz, 2 dB de
630 Hz a 1,25 kHz y 3 dB por encima (Tabla 7), con la incertidumbre expandida
al doble de esos valores.

Dos normas vecinas completan el cuadro: la **ISO 11691** es el método de
laboratorio en grado de inspección, sin flujo, y la **ISO 11820** mide un
silenciador in situ, donde el truco de la sustitución suele ser imposible.

## Contraste con la simulación FDTD

Ese contraste es el clip incrustado en el apartado 1, y vale la pena volver a
él ahora con el álgebra en la mano. La cámara de expansión de cuatro polos se
contrasta con la
[simulación de ondas FDTD 2D](/phonometry/es/simulation/fdtd-simulation/)
independiente, que no comparte con el producto de matrices de transferencia
ninguna fórmula ni ninguna hipótesis más allá de la propia ecuación de ondas:
un conducto de onda plana que se ensancha en la misma cámara de 0,30 m y
$m = 4$ y vuelve a estrecharse transmite mucho menos en el máximo de TL de
cuatro polos ($kL = \pi/2$, aquí 286 Hz) que en la caída transparente
($kL = \pi$, 572 Hz). La razón de amplitudes medida aguas abajo en el campo es
la pérdida de transmisión anotada en el clip, 6,5 dB a 286 Hz y 0,0 dB a
572 Hz, frente a los 6,55 dB que da la forma cerrada para $m = 4$. Una concordancia
tan estrecha descarta un error de álgebra en cualquiera de los dos lados. Los
dos tienen que separarse tarde o temprano por encima de la primera frecuencia
de corte del conducto, donde se propagan modos de orden superior: el
esquema bidimensional sigue funcionando ahí y el álgebra de onda plana
no.

## Qué cubre esta guía

Los silenciadores reactivos por el método de matriz de transferencia de cuatro
polos (Bies §8.8-8.9, Munjal Ec. (3.27)): la forma cerrada `expansion_chamber`
(Ec. (8.111)), `helmholtz_resonator` y `quarter_wave_resonator` (Ecs. (8.46),
(8.44)), `extended_tube_chamber`, y los bloques
`duct_matrix`/`shunt_matrix`/`cascade`/`transmission_loss`/ `insertion_loss`
para encadenar elementos arbitrarios, que `SilencerChain` reúne en una cadena
que conserva su geometría; el dibujo a escala `.plot_geometry()` del resultado
de cada uno de los cuatro constructores y de una cadena, y la cámara de
expansión contrastada con la simulación FDTD independiente; el
`plane_wave_limit` que acota a todos ellos; y, como prosa y no como código, la
medición por sustitución de ISO 7235 que produce la pérdida por inserción que
publica un suministrador.

Solo se calculan elementos reactivos: los silenciadores disipativos
(absorbentes, con revestimiento interior) se discuten para la selección pero
no se modelan a partir de las propiedades del revestimiento, y en los [métodos
HVAC](/phonometry/es/devices/noise-control/noise-control/) la cifra de codo
revestido es una lectura de tabla (la Tabla 8.11 de Bies) y el plenum es la
forma cerrada de Wells gobernada por una absorción media declarada — ninguno
de los dos es un modelo de revestimiento. Los efectos del flujo
medio (convección, gradientes de temperatura, impedancia de los perforados
dependiente del flujo) quedan fuera de las matrices de elemento sin flujo que
se usan aquí. Nada de lo que hay en esta página es una medición: no se
implementa ninguna parte de la ISO 7235, no se modelan ni la radiación por la
envolvente ni las correcciones de extremo de los saltos de área, y los modelos
de rama no tienen pérdidas salvo que se dé una `resistance`.

## Véase también

- [Ruido por conductos: del ventilador a la sala](/phonometry/es/devices/noise-control/duct-path/):
  el cálculo completo del ventilador a la sala dentro del que viven estos
  silenciadores, y el corte de modos superiores por encima del cual el método
  de cuatro polos describe solo el modo de onda plana.
- [Control de ruido industrial](/phonometry/es/devices/noise-control/noise-control/): el
  resto de la instalación: atenuación y ruido de flujo en conductos HVAC,
  plenums, reflexión de extremo y cerramientos de máquina.
- [Simulación de ondas FDTD 2D](/phonometry/es/simulation/fdtd-simulation/): el
  esquema independiente que respalda el contraste de la cámara de
  expansión.
- [Absorbentes porosos y multicapa](/phonometry/es/materials/absorbers/porous-absorbers/):
  la teoría de materiales de fluido equivalente detrás de los revestimientos
  disipativos.
- [Caracterización de altavoces (IEC 60268-5)](/phonometry/es/devices/electroacoustics/loudspeakers/):
  el pistón radiante, el modelo de radiador complementario del extremo
  abierto de un conducto.
- Referencia de la API:
  [`noise_control.silencers`](/phonometry/es/reference/api/noise_control/silencers/).
