---
title: "Acústica submarina: ruido radiado e hincado de pilotes"
description: "Niveles de referencia ISO 18405 (SPL, SEL, pico) re 1 µPa, el nivel de ruido radiado de buques y el nivel de fuente monopolar equivalente de la ISO 17208 mediante la corrección de Lloyd's mirror, y la exposición sonora por golpe, de pico y acumulada del hincado de pilotes de la ISO 18406."
---

El sonido submarino se refiere a **1 µPa** (no los 20 µPa de la acústica en
aire), y su exposición a **1 µPa²·s**. Esta página cubre los niveles de
referencia de la ISO 18405 realizados como primitivos compartidos, el **nivel de
ruido radiado** de buques y el **nivel de fuente monopolar** equivalente de la
ISO 17208, y la exposición sonora por golpe, de pico y acumulada del **hincado
de pilotes** por percusión de la ISO 18406. Toda magnitud es una forma cerrada
exacta, verificada analíticamente.

## 1. Niveles de referencia (ISO 18405)

Tres primitivos, referidos a 1 µPa, se calculan desde una señal de presión
capturada (en Pa):

$$
\mathrm{SPL} = 10\lg\frac{\langle p^2\rangle}{p_0^2}, \qquad
\mathrm{SEL} = 10\lg\frac{\int p^2\,dt}{E_0}, \qquad
L_{p,\mathrm{pk}} = 20\lg\frac{\max|p|}{p_0},
$$

con `p₀ = 1 µPa` y `E₀ = 1 µPa²·s`. El nivel de presión sonora es el nivel
cuadrático medio (ISO 18406 Fórmula 7); el nivel de exposición sonora integra la
presión al cuadrado sobre el registro (Fórmulas 3–4); el nivel de pico es el
valor de cero a pico.

```python
import phonometry as ph

spl = ph.sound_pressure_level(pressure)        # dB re 1 µPa
sel = ph.sound_exposure_level(pressure, fs)     # dB re 1 µPa²·s
pk = ph.peak_sound_pressure_level(pressure)     # dB re 1 µPa
```

Para re-referenciar un nivel entre las convenciones submarina (1 µPa) y aérea
(20 µPa) — un desplazamiento de `20·lg(20) ≈ 26,02` dB, **no** una equivalencia
de energía/intensidad — usa `underwater_to_in_air_spl` /
`in_air_to_underwater_spl`. Para restar el ruido de fondo, reutiliza el
`background_noise_correction` (`K1`) de la ISO 3744.

## 2. Ruido radiado y nivel de fuente de buques (ISO 17208-1/-2)

Un buque de superficie medido en aguas profundas se describe primero por su
**nivel de ruido radiado** y después por un **nivel de fuente monopolar**
equivalente:

$$
L_{\mathrm{RN}} = 20\lg\frac{p_{\mathrm{rms}}}{p_0} + 20\lg\frac{r}{r_0}
\ \ \mathrm{dB\ re\ 1\ \mu Pa\!\cdot\! m}, \qquad
L_s = L_{\mathrm{RN}} + \Delta L,
$$

donde la corrección de superficie de Lloyd's mirror (ISO 17208-2 Fórmula 3) para
una profundidad de fuente nominal `d_s = 0,7·D` (D = calado medio) y `u = k·d_s`,
`k = 2πf/c`, es

$$
\Delta L = -10\lg\frac{2u^4 + 14u^2}{14 + 2u^2 + u^4}\ \mathrm{dB}.
$$

`ΔL` diverge a `u` bajo (rasante / baja frecuencia) y tiende a `−10·lg(2) =
−3,01` dB cuando `u → ∞`. El nivel de fuente reportado es un valor *monopolar
equivalente de través* y debe indicarse junto con su profundidad de fuente.

<img class="light-only" src="https://raw.githubusercontent.com/jmrplens/phonometry/main/.github/images/ship_source_level_es.svg" alt="Nivel de ruido radiado y nivel de fuente monopolar equivalente de un buque en función de la frecuencia, con la corrección de superficie de Lloyd's mirror en un eje gemelo que muestra su divergencia a baja frecuencia y su aproximación a −3 dB a alta frecuencia" style="width:82%"><img class="dark-only" src="https://raw.githubusercontent.com/jmrplens/phonometry/main/.github/images/ship_source_level_es_dark.svg" alt="Nivel de ruido radiado y nivel de fuente monopolar equivalente de un buque en función de la frecuencia, con la corrección de superficie de Lloyd's mirror en un eje gemelo que muestra su divergencia a baja frecuencia y su aproximación a −3 dB a alta frecuencia" style="width:82%">

```python
import phonometry as ph

lrn = ph.radiated_noise_level(2e-6, 100.0)   # p_rms = 2 µPa, r = 100 m
res = ph.monopole_source_level(lrn, 200.0, draught=6.0)
print(res.source_level, res.surface_correction, res.source_depth)
res.plot()   # RNL, Ls y ΔL en función de la frecuencia (necesita matplotlib)
```

`hydrophone_depths` da las tres profundidades de medida de la ISO 17208-1 a
partir de los ángulos de depresión 15°/30°/45°, y `source_level_uncertainty` la
incertidumbre expandida tabulada (5 dB ≤100 Hz, 3 dB 125 Hz–16 kHz, 4 dB
>16 kHz).

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

```python
import numpy as np
import phonometry as ph

freqs = np.array([20, 25, 31.5, 40, 50, 63, 80, 100, 125, 160, 200, 250, 315,
                  400, 500, 630, 800, 1000, 1250, 1600, 2000, 2500, 3150,
                  4000, 5000, 6300, 8000, 10000, 12500, 16000, 20000.0])
rnl = 175.0 - 12.0 * np.log10(freqs / 20.0)
res = ph.monopole_source_level(rnl, freqs, draught=6.0)
res.plot()
```

</details>

## 3. Sonido del hincado de pilotes (ISO 18406)

El hincado de pilotes por percusión radia un pulso impulsivo por cada golpe de
martillo. Cada golpe tiene un **nivel de exposición sonora por golpe** `SEL_ss`;
a lo largo de una secuencia de hincado las exposiciones se suman en un **nivel de
exposición sonora acumulado**:

$$
\mathrm{SEL_{cum}} = 10\lg\sum_{n} 10^{\mathrm{SEL}_n/10},
\qquad\text{y para } N \text{ golpes idénticos } = \mathrm{SEL_{ss}} + 10\lg N.
$$

<img class="light-only" src="https://raw.githubusercontent.com/jmrplens/phonometry/main/.github/images/pile_driving_es.svg" alt="Forma de onda de presión de un golpe de hincado de pilotes por percusión con su pico marcado, y debajo el nivel de exposición sonora acumulado creciendo como SEL_ss más diez veces el logaritmo del número de golpes" style="width:82%"><img class="dark-only" src="https://raw.githubusercontent.com/jmrplens/phonometry/main/.github/images/pile_driving_es_dark.svg" alt="Forma de onda de presión de un golpe de hincado de pilotes por percusión con su pico marcado, y debajo el nivel de exposición sonora acumulado creciendo como SEL_ss más diez veces el logaritmo del número de golpes" style="width:82%">

```python
import phonometry as ph

sel_ss = ph.single_strike_sel(strike_pressure, fs)   # dB re 1 µPa²·s
sel_cum = ph.cumulative_sel_identical(sel_ss, 2000)   # 2000 golpes
res = ph.pile_strike_metrics(strike_pressure, fs)
print(res.single_strike_sel, res.peak_spl, res.pulse_duration)
res.plot()   # forma de onda + energía acumulada (necesita matplotlib)
```

`pile_strike_metrics` agrupa el SEL por golpe, el nivel de pico, el SPL/Leq y la
duración de pulso al 90 % de energía de un golpe registrado; `cumulative_sel`
suma una secuencia de SEL por golpe distintos.

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

```python
import numpy as np
import phonometry as ph

fs = 48000
t = np.arange(int(0.3 * fs)) / fs
envelope = np.where(t < 0.01, t / 0.01, np.exp(-(t - 0.01) / 0.04))
pressure = 8000.0 * envelope * np.sin(2 * np.pi * 180.0 * t)
res = ph.pile_strike_metrics(pressure, fs)
res.plot()
```

</details>

---

**Normas.** ISO 18405:2017, *Underwater acoustics — Terminology*: las
referencias de 1 µPa (presión) y 1 µPa²·s (exposición) y las definiciones de
nivel de presión sonora, nivel de exposición sonora y nivel de pico.
ISO 17208-1:2016 e ISO 17208-2:2019, *Underwater acoustics — Quantities and
procedures for description and measurement of underwater sound from ships*: el
nivel de ruido radiado, la geometría de tres hidrófonos en aguas profundas, la
incertidumbre tabulada del nivel de fuente y el nivel de fuente monopolar
equivalente mediante la corrección de superficie de Lloyd's mirror (Fórmula 3)
para una profundidad de fuente de `0,7·calado`. ISO 18406:2017, *Underwater
acoustics — Measurement of radiated underwater sound from percussive pile
driving*: la exposición sonora por golpe (Fórmulas 3–4), de pico y acumulada
(Fórmulas 8–9). Todas las magnitudes se verifican contra oráculos analíticos
exactos. El modelado general de propagación submarina (rayos, modos normales,
ecuación parabólica) queda fuera del alcance de esta página.
