<!-- canonical: https://docs.jmrp.io/phonometry/es/devices/emission/sound-power-in-situ/ -->
Source: https://docs.jmrp.io/phonometry/es/devices/emission/sound-power-in-situ/

Algunas máquinas nunca viajan a una sala de ensayo: un compresor atornillado
al suelo de la planta, una línea de prensas, una envasadora cableada al resto
de la línea. ISO 3747 determina su potencia acústica donde están, por
comparación. En la misma sala que la máquina se hace funcionar una fuente
sonora de referencia (RSS) de potencia acústica por bandas calibrada, los
mismos tres o cuatro micrófonos escuchan a cada fuente por turnos desde la
parte reverberante de la sala y, como ambas fuentes ven la misma sala, la
sala se cancela: la potencia acústica de la fuente en ensayo es la potencia
calibrada de la fuente de referencia trasladada por la diferencia de los dos
niveles medios. El método alcanza el grado 2 (ingeniería) donde el campo es
lo bastante reverberante y la fuente no es demasiado directiva, y el grado 3
(control) en caso contrario; una fuente impulsiva recibe un nivel de energía
acústica en lugar de un nivel de potencia acústica por la misma vía. Esta
guía cubre la corrección por ruido de fondo posición a posición con sus
reglas de 6 dB y 15 dB, las formas con una y con varias ubicaciones, la vía
de suceso aislado, el grado de la Tabla 2, la incertidumbre del apartado 9 y
las condiciones de referencia del Anexo C. Qué vía encaja con qué trabajo se
sopesa en [Potencia acústica](/phonometry/es/devices/emission/sound-power/).

## 1. La comparación in situ (ISO 3747)

El entorno es todo el método, así que la norma empieza por él. Las posiciones
de micrófono deben estar donde el campo es **reverberante**, lo que la norma
mide como el exceso de nivel de presión acústica sobre el campo libre,
$\Delta L_f \ge 7$ dB (apartado 4.1, Anexo A): el nivel que la fuente de
referencia produce en un micrófono debe estar al menos 7 dB por encima del
que produciría en campo libre a esa distancia. Se usan tres o cuatro
posiciones, separadas al menos 2 m, ninguna a menos de 0,5 m de cualquier
contorno, repartidas lo más uniformemente posible alrededor de la máquina y
cada una viendo todas las zonas emisoras o ninguna (apartado 7.4.1); la
fuente de referencia se coloca lo más cerca que se pueda del centro acústico,
en una máquina directiva donde imite su patrón de emisión, encima cuando eso
no sea practicable y al lado solo si tampoco es posible, evitando quedar a
menos de 0,5 m de la caja de referencia. Normalmente basta una ubicación;
cuando la mayor dimensión de la caja supera la distancia de medición se hace
funcionar en varias, por los lados y separadas esa distancia si la máquina es
omnidireccional, y una por cada zona emisora definida si las tiene, y cuando
esa dimensión no supera la distancia de medición y una máquina
omnidireccional no admite la fuente encima, se usan cuatro ubicaciones, una
junto a cada lado vertical de la caja (apartado 7.3). Ambas fuentes y el
ruido de fondo se leen en las **mismas posiciones con las mismas
orientaciones de micrófono**, la fuente de referencia durante 30 s
(apartado 7.5), y toda la determinación se hace en **bandas de octava
de 125 Hz a 8 kHz** (apartado 3.11); la Tabla D.1 tabula además una fila
de 63 Hz, para usarla solo donde el entorno y la instrumentación sean
satisfactorios en esa banda (nota a), y por eso la API la acepta también.

El ruido de fondo se corrige **posición a posición** antes de promediar nada
(apartado 8.1, Ec. 7):

$$
K_{1i} = -10 \log_{10}\left(1 - 10^{-0{,}1\,\Delta L_{pi}}\right),
\qquad \Delta L_{pi} = L'_{pi(\mathrm{ST})} - L_{pi(\mathrm{B})},
$$

con tres reglas alrededor. Un margen por encima de 15 dB no necesita
corrección en esa posición. Un margen entre 6 dB y 15 dB toma la Ec. 7, que
va de 1,26 dB a 6 dB hasta 0,14 dB a 15 dB. Un margen **por debajo de 6 dB**
limita la corrección a **1,3 dB** y reduce la exactitud del resultado: el
nivel puede reportarse igualmente, pero como cota superior, y el informe
debe decir que el requisito de ruido de fondo no se cumplió.
`sound_power_in_situ` aplica las tres, devuelve la $K_{1i}$ por posición que
usó y marca cada banda en la que algún margen bajó de 6 dB en
`background_requirement_met`, banda a banda, para que la marca viaje al
informe con el nivel al que califica; marca en `upper_bound` las bandas en
las que solo se quedó corto el margen de la máquina, las únicas que 8.1 lee
como cotas superiores, porque un margen corto de la fuente de referencia
limita su propia corrección y rebaja el nivel. La fuente de referencia se corrige del
mismo modo, con la misma lectura de ruido de fondo salvo que traiga la suya
(el apartado 7.5 toma una sola lectura para ambas), y los niveles corregidos
se promedian en energía sobre las posiciones (Ec. 8, 9):

$$
\overline{L_{p(\mathrm{ST})}} = 10 \log_{10}\left[\frac{1}{n}\sum_{i=1}^{n} 10^{0.1\,L_{pi(\mathrm{ST})}}\right],
\qquad L_{pi(\mathrm{ST})} = L'_{pi(\mathrm{ST})} - K_{1i}.
$$

El nivel de potencia acústica en cada banda de octava es entonces la propia
comparación (apartado 8.3.1, Ec. 11):

$$
L_W = L_{W(\mathrm{RSS})} - \overline{L_{p(\mathrm{RSS})}} + \overline{L_{p(\mathrm{ST})}} .
$$

Cuando la fuente de referencia se hizo funcionar en $m$ ubicaciones, sus
potencias calibradas y sus medias por ubicación se promedian primero en
energía sobre las ubicaciones (apartado 8.3.2, Ec. 12), de modo que una
ubicación que muestrea mejor la sala no domina a otra que la muestrea peor:

$$
L_W = 10 \log_{10}\left[\frac{1}{m}\sum_{j=1}^{m} 10^{0.1\,L_{Wj(\mathrm{RSS})}}\right]
- 10 \log_{10}\left[\frac{1}{m}\sum_{j=1}^{m} 10^{0.1\,\overline{L_{pj(\mathrm{RSS})}}}\right]
+ \overline{L_{p(\mathrm{ST})}} .
$$

La Ec. 12 se reduce a la Ec. 11 cuando las ubicaciones son indistinguibles,
y la corrección por ruido de fondo de la fuente de referencia se evalúa por
ubicación y por posición, porque el margen del que sale depende de ambas
aunque la norma imprima $K_{1i(\mathrm{RSS})}$ sin el índice de ubicación.

La Tabla 1 de la norma merece leerse antes de colocar nada, aunque es
orientación y no aritmética. Clasifica las posiciones de micrófono por línea
de visión: una posición que ve la fuente en ensayo pero no la fuente de
referencia sobreestima fuertemente la máquina, una que ve la fuente de
referencia pero no la máquina la subestima fuertemente, y donde ambas están
a la vista el signo del error sigue a cuál de las dos está más cerca, y se
anula cuando las dos distancias de medición coinciden dentro del 10 %. Las
posiciones que hay que elegir son las de esa última zona. Cuando no pueden
estar todas ahí, el apartado 7.4.3 equilibra el conjunto: una posición en una
zona +, una en una zona +/− y una o dos en zonas −, y el Anexo B recomienda
una sola posición en la zona que la máquina apantalla. La biblioteca no
evalúa nada de esto: toma los niveles que se le dan y asume que las
posiciones se eligieron bien.

```python

from phonometry import emission

# Un compresor de tornillo de pie, de 2,2 m x 1,4 m x 1,8 m, que no puede
# salir de la planta: cuatro posiciones de micrófono a 1,5 m de su caja de
# referencia, una ubicación de la fuente de referencia al lado, bandas de
# octava de 125 Hz a 8 kHz.
freqs = np.array([125.0, 250.0, 500.0, 1000.0, 2000.0, 4000.0, 8000.0])
lw_rss = np.array([84.5, 88.0, 91.0, 92.5, 92.0, 90.5, 87.0])  # calibrada
st = np.array([  # L'pi(ST): una fila por posición de micrófono, dB
    [82.4, 84.9, 86.1, 85.3, 82.6, 78.4, 72.1],
    [80.9, 84.1, 85.4, 84.7, 81.8, 77.5, 71.3],
    [83.1, 85.6, 86.8, 85.9, 83.2, 79.0, 72.8],
    [81.7, 84.5, 85.8, 85.0, 82.3, 78.0, 71.7],
])
rss = np.array([  # L'pi(RSS): la fuente de referencia en las mismas posiciones
    [78.2, 81.8, 84.6, 86.0, 85.6, 84.1, 80.4],
    [77.5, 81.1, 84.0, 85.4, 85.0, 83.4, 79.8],
    [78.9, 82.4, 85.1, 86.5, 86.1, 84.6, 80.9],
    [78.0, 81.6, 84.4, 85.8, 85.4, 83.9, 80.2],
])
background = np.array([  # Lpi(B): la nave, ruidosa en el extremo grave
    [75.0, 74.0, 72.0, 70.0, 67.0, 62.0, 57.0],
    [76.5, 75.0, 73.0, 71.0, 68.0, 63.0, 58.0],
    [74.5, 73.5, 71.5, 69.5, 66.5, 61.5, 56.5],
    [75.5, 74.5, 72.5, 70.5, 67.5, 62.5, 57.5],
])

res = emission.sound_power_in_situ(
    st, rss, lw_rss, freqs, background_levels=background,
    conditions=emission.GradeConditions(
        excess_levels=[8.2, 7.6, 8.9, 8.0],   # dLfA en cada posición (Anexo A)
        directivity_range=4.0,                # +/-4 dB alrededor de la máquina (7.2)
    ),
    sigma_omc=0.5,                        # una fuente estacionaria (NOTA de 9.2)
)
print(np.round(res.sound_power_level, 1))   # [88.8 91.5 92.6 91.8 88.9 84.7 78.6]
print(round(res.sound_power_level_a, 1))    # 96.1 dB(A)
print(res.background_requirement_met)       # [False  True  True  True  True  True  True]
print(res.upper_bound)                      # [False False False False False False False]
print(np.round(res.background_correction[1], 2))  # posición 2: [1.3 0.57 0.26 0.19 0.18 0.16 0.21]
print(res.grade, res.sigma_r0, round(res.expanded_uncertainty, 1))  # engineering 1.5 3.2
```

La banda de 125 Hz es la que hay que leer dos veces. En una de las cuatro
posiciones el margen sobre el ruido de la nave está por debajo de 6 dB para
la máquina, y está por debajo de 6 dB en todas las posiciones para la fuente
de referencia, más silenciosa, así que las dos correcciones toman allí su
tope de 1,3 dB. La banda incumple el requisito de ruido de fondo, que es lo
que dice el `False`, pero los 88,8 dB que reporta **no son una cota
superior**: la $K_1$ limitada de la máquina da un nivel alto, la $K_{1i}$
limitada de la fuente de referencia lo da bajo, y nada dice cuál gana, así
que `upper_bound` sigue en `False`. Todas las demás bandas superan los 6 dB en todas partes, la
de 250 Hz con correcciones de medio decibelio que la Ec. 7 evalúa en lugar
de ignorar, y de 1 kHz en adelante el margen supera los 15 dB en dos o tres
de las cuatro posiciones, donde la corrección es cero; la que aún toman las
demás se queda por debajo de 0,25 dB.

*La comparación posición a posición. Arriba, ambas fuentes en los cuatro
micrófonos tras la corrección de la Ec. 7, con los marcadores huecos
mostrando dónde estaba cada nivel antes de ella; la fuente de referencia
queda por debajo de la máquina en el extremo grave y por encima de 1 kHz en
adelante, que es lo que la forma de la curva calibrada de abajo hace con el
resultado. Abajo, la Ec. 11 banda a banda, con la $L_{W(\mathrm{RSS})}$
calibrada al lado y la banda de 125 Hz, que no cumple el requisito de ruido
de fondo, rayada en cruz.*

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

```python

# res es el InSituSoundPowerResult calculado arriba. Una línea:
res.plot(language="es")   # barras de LW, LWA en el título, la banda que incumple rayada en cruz
plt.show()

# A mano: ambas fuentes por posición arriba, la Ec. 11 abajo.
corrected_st = st - res.background_correction
corrected_rss = rss - res.background_correction_ref[0]
x = np.arange(freqs.size)
fig, (axt, axb) = plt.subplots(2, 1, figsize=(10, 8.4), sharex=True)
for i, offset in enumerate(np.linspace(-0.27, 0.27, st.shape[0])):
    axt.plot(x + offset, corrected_st[i], "o", color="#1f77b4")
    axt.plot(x + offset, corrected_rss[i], "s", color="#2ca02c")
    axt.plot(x + offset, background[i], "x", color="#9e9e9e")
axt.plot(x, res.mean_source_level, "-", color="#1f77b4", label="media, fuente en ensayo")
axt.plot(x, res.mean_reference_level, "-", color="#2ca02c", label="media, fuente de referencia")
axt.set_ylabel("Nivel de presión acústica [dB]")
axt.legend()
bars = axb.bar(x, res.sound_power_level, width=0.62, color="#1f77b4")
for bar, met, upper in zip(
    bars, res.background_requirement_met, res.upper_bound, strict=True
):
    if not met:
        bar.set_hatch("//" if upper else "xx")
axb.plot(x, res.reference_power_level, "D--", color="#d62728", label="LW(RSS) calibrada")
axb.set_xticks(x, [f"{f:g}" for f in freqs])
axb.set_xlabel("Frecuencia [Hz]")
axb.set_ylabel("Nivel de potencia acústica LW [dB re 1 pW]")
axb.legend()
plt.show()
```

</details>

Una máquina larga respecto a la distancia de medición recibe la fuente de
referencia en varias ubicaciones a lo largo de sus lados (apartado 7.3.3), y
los niveles llegan como una rejilla por ubicación:

```python
# El mismo compresor con la fuente de referencia en dos ubicaciones, una a
# lo largo de cada lado largo; la segunda queda más cerca de una pared y lee
# 1,2 dB menos, y se calibró en una posición similar 0,4 dB más baja.
two = emission.sound_power_in_situ(
    st, np.stack([rss, rss - 1.2]), np.stack([lw_rss, lw_rss - 0.4]), freqs,
    background_levels=background,
)
print(two.reference_levels.shape)               # (2, 7): nivel medio por ubicación (Ec. 10)
print(np.round(two.sound_power_level, 1))       # [89.1 92.  93.  92.2 89.3 85.1 78.9]
print(round(two.sound_power_level_a, 1))        # 96.5 dB(A)
```

### Cómo se hace la medida

Usa instrumentos y filtros de clase 1 y un calibrador de clase 1 en cada
micrófono antes y después de cada serie, que se descarta si la lectura cambia
más de 0,5 dB. Escucha primero la máquina: si el sonido de un componente
predomina, su centro geométrico es el centro acústico y la caja de referencia
se traza justo alrededor de ese componente, hasta el suelo sobre el que se
apoya; si ningún componente suena más que los demás, deja fuera los que
claramente no emiten y toma el centro geométrico y la caja de lo que queda.
Haz después el barrido de directividad a 1 m de la caja de referencia,
normalmente a 1,5 m de altura y a intervalos de 2 m o menos por cada lado:
dentro de ±2 dB la máquina es omnidireccional y, pasado ±7 dB, el resultado
queda en grado de control. Acerca la fuente de referencia cuanto puedas al
centro acústico: en una máquina directiva, donde imite su patrón de emisión;
si no, encima; y solo si tampoco es posible, al lado, evitando quedar a menos
de 0,5 m de la caja de referencia. Normalmente basta una ubicación. Cuando la
mayor dimensión de la caja supera la distancia de medición hacen falta varias:
por los lados y separadas esa distancia si la máquina es omnidireccional, y
una por zona si tiene zonas emisoras definidas. Cuando esa dimensión no supera
la distancia de medición y una máquina omnidireccional no admite la fuente
encima, usa cuatro ubicaciones, una junto a cada lado vertical de la caja.
Reparte tres o cuatro micrófonos alrededor, separados al menos 2 m y a no
menos de 0,5 m de todo contorno, donde el Anexo A dé $\Delta L_f \ge 7$ dB,
buscando posiciones a igual distancia, dentro del 10 %, de la caja y de la
fuente; si no pueden estar todas ahí, una más cerca de la caja, otra a igual
distancia y una o dos más cerca de la fuente. En cada posición, con la misma
orientación, mide la máquina, la fuente de referencia unos 30 s y el ruido de
fondo justo antes o después, en bandas de octava de 125 Hz a 8 kHz, y cinco
sucesos o más si es impulsiva. Corrige el fondo por posición según el margen:
más de 15 dB, nada; de 6 dB a 15 dB, la Ec. 7; menos de 6 dB, 1,3 dB como
mucho, y la banda incumple el requisito, cosa que el informe declara, y es
una cota superior cuando solo se quedó corto el margen de la máquina. Anota lo que hayas oído en
la escucha previa, las dimensiones de la caja de referencia, la distancia de
medición, las posiciones, las ubicaciones de la fuente y $\Delta L_f$, y da
los niveles por banda y ponderados A a 0,1 dB con el grado, $U$ y su factor de
cobertura y probabilidad.

### Parámetros de `sound_power_in_situ()`

| Parámetro | Tipo | Unidades | Rango / valor por defecto | Notas |
| :--- | :--- | :--- | :--- | :--- |
| `levels` | array 2D | dB | `(n, bandas)` | $L'_{pi(\mathrm{ST})}$ medidos, una fila por posición de micrófono, tres o cuatro posiciones (7.4.1) |
| `levels_ref` | array 2D o 3D | dB | `(n, bandas)` o `(m, n, bandas)` | La fuente de referencia en las mismas posiciones, una rejilla por ubicación, corregida según su fabricante por velocidad, temperatura y presión pero no por ruido de fondo |
| `lw_ref` | array 1D o 2D, o `ReferenceSourceCalibration` | dB | `(bandas,)` o `(m, bandas)` | $L_{W(\mathrm{RSS})}$ calibrada, por ubicación cuando cada una se calibró en su propia posición similar (Ec. 12); una [`ReferenceSourceCalibration`](/phonometry/es/devices/emission/free-field-qualification/) se suma de sus bandas de tercio de octava a las octavas de `frequencies` |
| `frequencies` | array 1D | Hz | octavas de 63 Hz a 8 kHz | Frecuencias centrales nominales de octava de la Tabla D.1; obligatorio. El apartado 3.11 fija el rango de uso general en 125 Hz a 8 kHz; la fila de 63 Hz de la Tabla D.1 lleva la nota a, que solo la admite donde el entorno de ensayo, la fuente sonora de referencia y la instrumentación sean satisfactorios en esa frecuencia |
| `background_levels` | array 1D o 2D | dB | `(bandas,)` o `(n, bandas)` | $L_{pi(\mathrm{B})}$; un espectro sirve para todas las posiciones. `None` avisa y deja `background_requirement_met` a `False` en todas las bandas, porque el 7.5 lo mide en cada posición y el 8.1 necesita el margen |
| `background_levels_ref` | array 1D o 2D | dB | mismas formas | Ruido de fondo de la lectura de la fuente de referencia; `None` reutiliza `background_levels` (7.5) |
| `temperature_c` | float | °C | por defecto `23.0` | Temperatura del aire en el ensayo, para $C_2$ |
| `static_pressure_kpa` | float | kPa | por defecto `101.325` | Presión estática en el ensayo, para $C_2$; véase `static_pressure_from_altitude` |
| `conditions` | `GradeConditions` | | | Las dos condiciones que la Tabla 2 lee juntas: `excess_levels`, el $\Delta L_{f\mathrm{A}}$ en cada posición `(n,)` en decibelios (Anexo A), y `directivity_range`, la semiamplitud del barrido de directividad ponderado A en decibelios (7.2). Si falta cualquiera de las dos, la determinación se queda en grado de control |
| `sigma_omc` | float | dB | $\ge 0$ | Desviación típica de las condiciones de funcionamiento y montaje (9.2); `None` deja la incertidumbre en `NaN` |
| `coverage_factor` | float | | por defecto `2.0` | $k$ de la Ec. 23; 1,6 para una comparación unilateral con un límite |

La función devuelve un `InSituSoundPowerResult`: `sound_power_level`
(Ec. 11 o 12, en las condiciones del ensayo), `mean_source_level` y
`mean_reference_level` (Ec. 8, 9), `reference_levels` por ubicación
(Ec. 10), `reference_power_level`, `background_correction` por posición y
banda, `background_correction_ref` por ubicación, posición y banda,
`background_requirement_met` y `upper_bound` por banda, `c2`, `grade`, `sigma_r0`,
`sigma_omc`, `sigma_tot`, `expanded_uncertainty`, `coverage_factor`,
`sound_power_level_a` y `quantity`. `sound_power_level_ref` suma `c2` al
nivel (sección 3).

## 2. Fuentes impulsivas: el nivel de energía acústica (Ec. 13 a 20)

Una carrera de prensa o un portazo no tienen una potencia estacionaria que
reportar. El apartado 8.4 mide en cambio el **nivel de suceso aislado**
$L_E$ en cada posición, bien un suceso cada vez, al menos cinco (apartado
7.6), bien una sola vez sobre una serie de $N$ sucesos consecutivos, y el
apartado 8.5 convierte la media en un **nivel de energía acústica** $L_J$
en dB re 1 pJ por la misma comparación, con la fuente de referencia leída
igualmente promediada en el tiempo durante 30 s. Medidos uno cada vez, cada
suceso se corrige por ruido de fondo con la Ec. 14 (la Ec. 7 con el nivel
del suceso en el margen) y los niveles corregidos se promedian en energía en
el nivel medio de suceso aislado de la posición (Ec. 13, 15); medidos una
vez sobre $N$ sucesos, el nivel se corrige y se reduce en
$10 \log_{10} N$ a un suceso (Ec. 16, 17). Los niveles por posición se
promedian en energía sobre las posiciones (Ec. 18), y

$$
L_J = L_{W(\mathrm{RSS})} - \overline{L_{p(\mathrm{RSS})}} + \overline{L_{E(\mathrm{ST})}}
$$

(Ec. 19), o su forma con varias ubicaciones (Ec. 20), que es la Ec. 12 con
la media de sucesos en el último término. `sound_energy_in_situ` toma los
sucesos como un array 3D `(n, N, bandas)` para la forma de uno cada vez o
como una medición 2D `(n, bandas)` con `events=N` para la otra, y devuelve
el mismo tipo de resultado con `quantity='energy'`, el nivel en
`sound_energy_level` y el total del Anexo D en `sound_energy_level_a`.

Una línea de la Ec. 14 merece una nota. Resta el nivel de ruido de fondo
**promediado en el tiempo** $L_{pi(\mathrm{B})}$ de un nivel de suceso
**integrado en el tiempo**, y solo pide que ambos se midan con el mismo
tiempo de integración $T$. Tal como está impresa, la diferencia es un
margen señal-fondo verdadero para $T$ = 1 s; para un $T$ mayor el ruido de
fondo contiene $10 \log_{10}(T/T_0)$ dB más energía sobre el intervalo del
suceso de lo que dice su nivel promediado en el tiempo (apartado 3.4, NOTA
1), y el margen queda sobrestimado en esa cantidad. ISO 3741 e ISO 3744
imprimen la misma línea en sus apartados de suceso aislado, así que es la
convención de la familia y no una errata de esta parte. La biblioteca aplica
la Ec. 14 tal como está impresa por defecto y ofrece `integration_time` para
llevar antes el ruido de fondo al intervalo del suceso; ambas coinciden en
$T$ = 1 s.

```python
# La misma sala, una prensa junto al compresor: seis carreras medidas una
# cada vez en las cuatro posiciones, cada una integrada en 4 s, con la misma
# lectura de la fuente de referencia y la misma nave.
strokes = np.array([
    [96.3, 98.1, 99.4, 98.8, 96.0, 92.1, 86.4],
    [95.1, 97.4, 98.7, 98.0, 95.3, 91.4, 85.6],
    [97.0, 98.9, 100.1, 99.5, 96.6, 92.8, 87.0],
    [95.8, 97.9, 99.0, 98.4, 95.8, 91.9, 86.0],
])
events = np.stack([strokes + d for d in (-0.3, 0.2, 0.0, 0.4, -0.2, 0.1)], axis=1)
energy = emission.sound_energy_in_situ(
    events, rss, lw_rss, freqs,                 # (4 posiciones, 6 sucesos, 7 bandas)
    background_levels=background, integration_time=4.0,
    conditions=emission.GradeConditions(excess_levels=[8.2, 7.6, 8.9, 8.0], directivity_range=4.0), sigma_omc=2.0,
)
print(energy.quantity)                            # energy
print(np.round(energy.sound_energy_level, 1))     # [103.7 105.3 106.1 105.3 102.4  98.6  93. ]
print(round(energy.sound_energy_level_a, 1))      # 109.7 dB(A) re 1 pJ
print(round(energy.expanded_uncertainty, 1))      # 5.0 dB: grado 2 con sigma_omc = 2 dB
```

La banda de 125 Hz incumple también aquí el requisito de ruido de fondo, y
por la razón que dio la determinación estacionaria: el propio margen de la
fuente de referencia sobre el ruido de la nave está por debajo de 6 dB allí,
y la marca sigue a ambas fuentes, así que tampoco es una cota superior. Los 5,0 dB son el ejemplo de la propia norma en el apartado
9.5, reproducido porque las entradas son las mismas: grado 2,
$\sigma_\mathrm{omc}$ = 2,0 dB, $k$ = 2.

### Parámetros de `sound_energy_in_situ()`

| Parámetro | Tipo | Unidades | Rango / valor por defecto | Notas |
| :--- | :--- | :--- | :--- | :--- |
| `event_levels` | array 3D o 2D | dB | `(n, N, bandas)` o `(n, bandas)` | $L'_{Ei,q(\mathrm{ST})}$ por suceso, o $L'_{Ei,N(\mathrm{ST})}$ de una medición sobre $N$ sucesos |
| `events` | int | | $\ge 1$ | $N$ para la forma 2D (Ec. 17); debe ser `None` con la forma 3D. El apartado 7.6 pide al menos cinco sucesos, así que menos de cinco avisa y la determinación no es conforme, en cualquiera de las dos formas |
| `integration_time` | float | s | $> 0$ | $T$ de la medición del suceso; `None` aplica la Ec. 14 tal como está impresa |
| `levels_ref`, `lw_ref`, `frequencies`, `background_levels`, `background_levels_ref`, `temperature_c`, `static_pressure_kpa`, `excess_levels`, `directivity_range`, `sigma_omc`, `coverage_factor` | | | | Como en `sound_power_in_situ()` |

## 3. Grado, incertidumbre y condiciones de referencia

**Grado (Tabla 2).** El grado 2 (ingeniería) necesita el exceso ponderado A
$\Delta L_{f\mathrm{A}} \ge 7$ dB en todas las posiciones de micrófono y un
rango de directividad de la fuente dentro de ±7 dB según el sondeo del
apartado 7.2, hecho a 1 m de la caja de referencia a intervalos de 2 m o
menos; si falla cualquiera de los dos indicadores, o no se determinó, el
grado es el 3 (control). La tabla empareja cada grado con una cota superior
típica de la reproducibilidad del método, **1,5 dB** para el grado 2 y
**4,0 dB** para el grado 3, válida para un espectro relativamente plano en
el que las octavas de 250 Hz a 4 kHz llevan el nivel ponderado A; una fuente
dominada por las bandas por debajo de 500 Hz reproduce peor que eso. El
exceso en sí es el Anexo A (Ec. A.1),

$$
\Delta L_f(r) = L_{p(\mathrm{RSS}),r} - L_{W(\mathrm{RSS})} + 11\ \mathrm{dB} + 20 \log_{10}\frac{r}{r_0},
\qquad r_0 = 1\ \mathrm{m},
$$

medido a lo largo de una línea de visión desde la fuente de referencia a $r$
variable, y es cero en campo libre: `excess_sound_pressure_level` lo evalúa
y difunde las formas, de modo que una potencia calibrada sirve para todo un
recorrido.

**Incertidumbre (apartado 9).** La desviación típica de reproducibilidad del
método y la desviación de las condiciones de funcionamiento y montaje de la
fuente, $\sigma_\mathrm{omc}$, se combinan en cuadratura (Ec. 22) y la
incertidumbre expandida sigue con el factor de cobertura (Ec. 23):

$$
\sigma_\mathrm{tot} = \sqrt{\sigma_{R0}^2 + \sigma_\mathrm{omc}^2},
\qquad U = k\,\sigma_\mathrm{tot},
$$

con $k$ = 2 para el intervalo bilateral del 95 % que asume la norma, o 1,6
para una comparación unilateral con un valor límite. $\sigma_\mathrm{omc}$
es el número del usuario, obtenido de determinaciones repetidas en las
condiciones de los apartados 9.2 y E.3; la NOTA de 9.2 lo sitúa cerca de
0,5 dB para una fuente estacionaria, 2 dB para una con flujo de material y
4 dB para el machaqueo de piedra, el corte de metal o una prensa bajo carga.
El ejemplo de la propia norma (apartado 9.5), grado 2 con
$\sigma_\mathrm{omc}$ = 2,0 dB y $k$ = 2, da
$U = 2\sqrt{1{,}5^2 + 2^2}$ dB = 5 dB, que el ejemplo de energía de arriba
reproduce. Sin `sigma_omc` el resultado lleva `sigma_r0` y deja `sigma_tot`
y `expanded_uncertainty` en `NaN`, en lugar de reportar una incertidumbre
del método como si fuera la total.

**Condiciones de referencia (Anexo C).** La Ec. 11 da el nivel en las
condiciones meteorológicas del ensayo. El Anexo C lo lleva a 101,325 kPa y
23,0 °C con la corrección de impedancia de radiación

$$
C_2 = -10 \log_{10}\frac{p_\mathrm{s}}{p_{\mathrm{s},0}} + 15 \log_{10}\frac{273{,}15 + \theta}{\theta_\mathrm{ref}},
\qquad \theta_\mathrm{ref} = 296\ \mathrm{K},
$$

la misma $C_2$ del apartado 9.1.4 de ISO 3741 (la biblioteca la evalúa a
través de ese módulo), válida para un monopolo y valor medio para otras
fuentes, y estima la presión estática a partir de la altitud del
emplazamiento cuando no se leyó ningún barómetro (Ec. C.2):
$p_\mathrm{s} = p_{\mathrm{s},0}\,(1 - a H_\mathrm{a})^b$ con
$a$ = 2,2560 × 10⁻⁵ m⁻¹ y $b$ = 5,2553. El resultado expone `c2` y las
propiedades `sound_power_level_ref` y `sound_energy_level_ref` (Ec. C.1,
C.3); el total ponderado A en condiciones de referencia es
`sound_power_level_a + c2`, ya que el desplazamiento es el mismo en todas
las bandas. Un detalle del anexo conviene saberlo: $\theta_\mathrm{ref}$
está impresa como 296 K junto a una temperatura de referencia de 23,0 °C,
que son 296,15 K, así que exactamente en las condiciones de referencia $C_2$
vale +0,003 3 dB y no cero. ISO 3741 e ISO 3744 imprimen los mismos 296 K,
así que es el redondeo de la familia y la biblioteca lo conserva.

```python
# Una planta a 640 m sobre el nivel del mar, a 27 °C, sin barómetro en el sitio.
ps = emission.static_pressure_from_altitude(640.0)
print(round(ps, 2))                                 # 93.87 kPa (Ec. C.2)
high = emission.sound_power_in_situ(
    st, rss, lw_rss, freqs, background_levels=background,
    temperature_c=27.0, static_pressure_kpa=ps,
)
print(round(high.c2, 3))                            # 0.423 dB
print(round(float(high.sound_power_level[3]), 2), round(float(high.sound_power_level_ref[3]), 2))
# 91.76 en las condiciones del ensayo, 92.18 en las condiciones de referencia (1 kHz)

# Anexo A a lo largo de una línea de visión desde la fuente de referencia, ponderado A.
print(np.round(emission.excess_sound_pressure_level([81.0, 76.5, 73.8], 92.5, [1.5, 3.0, 6.0]), 2))
# [3.02 4.54 7.86]: lo bastante reverberante para el grado 2 solo desde unos 6 m
```

**Totales ponderados A (Anexo D).** $L_{W\mathrm{A}}$ y $L_{J\mathrm{A}}$ son
las sumas energéticas de los niveles de banda más las correcciones $C_k$ de
la Tabla D.1, que son −26,2, −16,1, −8,6, −3,2, 0,0, 1,2, 1,0 y −1,1 dB de
63 Hz a 8 kHz, los valores de octava del Anexo E de ISO 3744 dígito a
dígito; la biblioteca los lee de la tabla compartida y exige que
cada valor de `frequencies` sea uno de esos ocho centros nominales, distinto
y en orden ascendente; la fila de 63 Hz es solo para uso donde el entorno y
la instrumentación son satisfactorios allí (Tabla D.1, nota a).

## Qué cubre esta guía

La comparación in situ de ISO 3747 (`sound_power_in_situ`): la corrección
por ruido de fondo posición a posición del apartado 8.1 con sus reglas de
6 dB y 15 dB y el tope de 1,3 dB, los niveles medios corregidos del
apartado 8.2, el nivel de potencia acústica con una (Ec. 11) o varias
(Ec. 12) ubicaciones de la fuente de referencia, los niveles de suceso
aislado del apartado 8.4 en sus dos formas y el nivel de energía acústica
del apartado 8.5 (`sound_energy_in_situ`), el grado de la Tabla 2 con su
$\sigma_{R0}$, la incertidumbre del apartado 9 (Ec. 22, 23), el exceso de
nivel de presión acústica del Anexo A (`excess_sound_pressure_level`), las
condiciones de referencia del Anexo C con la Ec. C.2
(`static_pressure_from_altitude`) y los totales ponderados A del Anexo D.

El balance de incertidumbre del Anexo E (la Tabla E.2 y sus
coeficientes de sensibilidad) está documentado pero no modelado:
$\sigma_{R0}$ es la cota superior típica de la Tabla 2 por grado, no un
valor específico de la máquina obtenido de un ensayo interlaboratorio
(9.3.2) o del modelo de 9.3.3. La zonificación de la Tabla 1, el sondeo de
directividad del apartado 7.2 y las reglas de colocación del apartado 7.3
son decisiones del operador, tomadas antes de que existan los niveles; la
biblioteca toma los niveles y los dos indicadores que necesita el grado.
Las correcciones propias de la fuente de referencia por velocidad,
temperatura y presión estática son las de su fabricante, aplicadas antes de
que lleguen los niveles. Las otras vías in situ son sus propias guías:
[Potencia acústica por métodos de presión](/phonometry/es/devices/emission/sound-power-pressure/)
para la superficie envolvente, [Potencia acústica por barrido de intensidad](/phonometry/es/devices/emission/sound-power-intensity/)
para la sonda.

## Véase también

- [Potencia acústica](/phonometry/es/devices/emission/sound-power/): elegir
  entre las vías de determinación, los grados de exactitud y la declaración
  de emisión sonora de ISO 4871.
- [Potencia acústica en cámara reverberante](/phonometry/es/devices/emission/sound-power-reverberation/):
  la comparación de precisión de ISO 3741 en una cámara cualificada, cuya
  $C_2$ comparte esta guía.
- [Potencia acústica por métodos de presión (ISO 3744 / ISO 3746 / ISO 3745)](/phonometry/es/devices/emission/sound-power-pressure/):
  la superficie envolvente para una fuente que puede medirse en su campo
  directo.
- [Potencia acústica por barrido de intensidad (ISO 9614)](/phonometry/es/devices/emission/sound-power-intensity/):
  las vías que toleran un ruido de fondo estacionario sin fuente de
  referencia.
- [Niveles](/phonometry/es/signals/levels/levels/): el promedio energético,
  el nivel de suceso aislado y la ponderación A detrás de $L_{W\mathrm{A}}$.
- Referencia de la API: [`emission.sound_power_in_situ`](/phonometry/es/reference/api/power/sound-power-in-situ/).
