---
title: "Prominencia de sonidos impulsivos (NT ACOU 112)"
description: "El método Nordtest NT ACOU 112:2002 para la prominencia de los sonidos impulsivos: la prominencia prevista P a partir de la tasa de crecimiento y la diferencia de nivel de cada impulso (cláusula 7), el ajuste graduado KI que se suma al LAeq (cláusula 8) y el nivel de evaluación sobre un intervalo de tiempo de referencia."
references:
  - type: standard
    organization: "Nordtest"
    year: 2002
    title: "Acoustics: Prominence of impulsive sounds and for adjustment of LAeq"
    designation: "NT ACOU 112:2002"
    url: "https://www.nordtest.info/wp/2002/05/01/acoustics-prominence-of-impulsive-sounds-and-for-adjustment-of-laeq-nt-acou-112/"
    note: "El método implementado, descargable gratis del archivo Nordtest: la prominencia prevista (cláusula 7, Fórmula 1), el ajuste al LAeq (cláusula 8, Fórmula 2) y el nivel de evaluación (cláusula 8, Nota 1), con el arranque definido en las cláusulas 4.5-4.7."
  - type: standard
    organization: "International Organization for Standardization"
    year: 2016
    title: "Acoustics — Description, measurement and assessment of environmental noise — Part 1: Basic quantities and assessment procedures"
    designation: "ISO 1996-1:2016"
    url: "https://www.iso.org/standard/59765.html"
    note: "El marco de evaluación y los ajustes por categoría de la Tabla A.1 (5 dB regular, 12 dB altamente impulsiva) frente a los que se calibra la prominencia medida."
  - type: standard
    organization: "International Organization for Standardization"
    year: 2022
    title: "Acoustics — Description, measurement and assessment of environmental noise — Part 3: Objective method for the measurement of prominence of impulsive sounds and for adjustment of LAeq"
    designation: "ISO/PAS 1996-3:2022"
    url: "https://www.iso.org/standard/77035.html"
    note: "El sucesor ISO construido sobre la prominencia por tasa de crecimiento de la NT ACOU 112."
---

import Video from '../../../../components/Video.astro';
import ThemeImage from '../../../../components/ThemeImage.astro';
import ReportPreview from '../../../../components/ReportPreview.astro';

El ruido con impulsos prominentes (martilleo, remachado, hinca de pilotes) es
más molesto que un sonido estacionario del mismo nivel equivalente. **NT ACOU
112:2002** (un método Nordtest) cuantifica cuán *prominente* es un impulso y lo
convierte en un ajuste graduado `KI` que se suma al `LAeq` medido. La
prominencia se lee de dos propiedades del arranque de cada impulso en el
historial de nivel ponderado A con ponderación temporal F: la rapidez con que
crece (la **tasa de crecimiento**) y cuánto crece (la **diferencia de nivel**).

<ThemeImage
  src="https://raw.githubusercontent.com/jmrplens/phonometry/main/.github/images/diagram_ntacou112_es.svg"
  alt="Flujo desde el historial de nivel ponderado A (un arranque es donde el gradiente supera 10 dB/s) hasta la tasa de crecimiento y la diferencia de nivel, la prominencia prevista P = 3 lg(OR) + 2 lg(LD), el ajuste KI = 1,8 (P - 5) para P mayor que 5, y el nivel de evaluación sobre el tiempo de referencia"
  width="82%"
  loading="eager"
/>

## 1. Prominencia prevista (cláusula 7)

Para cada impulso candidato, la **prominencia prevista** `P` combina la tasa de
crecimiento (en dB/s) y la diferencia de nivel (en dB) en escala logarítmica
(Fórmula 1):

$$
P = 3\,\lg(\text{tasa de crecimiento}) + 2\,\lg(\text{diferencia de nivel}).
$$

Los coeficientes se ajustaron a partir de ensayos de escucha y `P` está diseñada
para alcanzar unos 15 en impulsos muy súbitos e intensos. El impulso con la `P`
**más alta** en un periodo de 30 minutos es el determinante. Una subida de
nivel solo *cualifica* como impulso cuando su tasa de subida supera 10 dB/s
(apartado 4.5; el apartado 8 aplica el ajuste únicamente «para sonidos con
tasas de subida mayores de 10 dB/s»): `impulse_prominence` marca los eventos
no cualificados en su máscara `qualifies`, avisa de ellos y nunca les permite
fijar la prominencia determinante ni un `KI` (el ajuste es 0 dB cuando ningún
evento cualifica).

<Video
  name="anim_onset_detection"
  width={2400}
  height={1350}
  title="Detectar el arranque de un impulso en el historial de nivel"
  description="Una lupa recorre el historial de nivel ponderado A con ponderación temporal F L_AF; donde el nivel sube más deprisa de 10 dB/s se resalta el tramo de arranque, y las casillas de tasa de crecimiento (200 dB/s), diferencia de nivel (30 dB), prominencia P y ajuste KI se van iluminando por turnos."
/>

```python
from phonometry import environmental

# Tres impulsos candidatos: (tasa de crecimiento dB/s, diferencia de nivel dB).
result = environmental.impulse_prominence([1200.0, 300.0, 60.0], [32.0, 18.0, 11.0])
print(result.per_impulse.round(2))  # [12.25  9.94  7.42]
print(round(result.prominence, 2))  # 12.25  (el impulso determinante)
print(round(result.adjustment, 2))  # 13.05  dB
```

Un solo impulso se evalúa directamente con `predicted_prominence`:

```python
from phonometry import environmental

# P = 3*lg(1000) + 2*lg(30) = 9 + 2.95 = 11.95.
print(round(environmental.predicted_prominence(1000.0, 30.0), 4))  # 11.9542
```

## 2. Ajuste al LAeq (cláusula 8)

Por debajo de una prominencia de 5 el impulso no es lo bastante audible como para
importar; por encima, el ajuste crece linealmente (Fórmula 2):

$$
K_I = 1{,}8\,(P - 5)\ \text{dB} \quad (P > 5), \qquad K_I = 0 \quad (P \le 5).
$$

```python
from phonometry import environmental

print(float(environmental.impulse_adjustment(10.0)))  # 9.0 dB
print(float(environmental.impulse_adjustment(5.0)))   # 0.0 dB (en el umbral)
```

El ajuste se aplica al `LAeq,30min` del evento con la prominencia más alta. El
**nivel de evaluación** sobre un tiempo de referencia mayor combina los niveles
equivalentes ajustados por impulso de los subintervalos (cláusula 8, Nota 1):

$$
L_{Ar,T} = 10\,\lg\!\left(\frac{1}{T}\sum_N \Delta t_N\,
10^{(L_{Aeq,N} + K_{I,N})/10}\right).
$$

```python
from phonometry import environmental

# Dos periodos de 30 min: uno impulsivo (KI = 7.6 dB), otro tranquilo.
print(round(environmental.rating_level([72.0, 66.0], [7.6, 0.0], [30.0, 30.0], 60.0), 2))
# 76.78 dB
```

El `ImpulseProminenceResult` lleva las prominencias `per_impulse`, la `prominence`
determinante y su `adjustment`, y su `.plot()` dibuja la curva `KI(P)` con los
impulsos marcados. El método es un complemento a la medida de ruido ambiental de
[ISO 1996-2](/phonometry/es/guides/levels/).

<ThemeImage
  src="https://raw.githubusercontent.com/jmrplens/phonometry/main/.github/images/impulse_prominence_es.svg"
  alt="Izquierda: la prominencia prevista P creciendo con la tasa de crecimiento (eje logarítmico) para diferencias de nivel de 5, 15 y 30 dB, llegando a unos 15 en un impulso súbito e intenso. Derecha: el ajuste KI, plano en cero hasta el umbral P = 5 y luego lineal, con tres impulsos marcados y el determinante en KI = 13 dB"
  width="96%"
/>

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

```python
import numpy as np
import matplotlib.pyplot as plt
from phonometry import environmental

# Una línea para la curva de ajuste con los impulsos marcados:
environmental.impulse_prominence([1200.0, 300.0, 60.0], [32.0, 18.0, 11.0]).plot()
plt.show()

# A mano, el panel izquierdo — P frente a la tasa de crecimiento para tres LD:
orate = np.logspace(1, 4, 200)
for ld in (5.0, 15.0, 30.0):
    plt.plot(orate, environmental.predicted_prominence(orate, np.full_like(orate, ld)),
             label=f"LD = {ld:g} dB")
plt.xscale("log"); plt.legend(); plt.show()
```

</details>

## 3. Medida objetiva a partir de una señal (ISO/PAS 1996-3)

La NT ACOU 112 toma la tasa de crecimiento y la diferencia de nivel como
entradas. La **ISO/PAS 1996-3:2022** conserva las mismas fórmulas de
prominencia y ajuste, pero añade la *cadena de medida objetiva* que lee esas
magnitudes directamente de una grabación calibrada. `impulsive_sound_adjustment`
pondera la señal en A, aplica la ponderación temporal F ($\tau$ = 125 ms),
muestrea el historial de nivel `LpAF` cada 10-25 ms, detecta cada arranque (el
tramo contiguo cuyo gradiente supera 10 dB/s, fusionando eventos separados menos
de 50 ms), mide su diferencia de nivel `LD = Le − Ls` y su tasa de crecimiento
`OR` por mínimos cuadrados, y devuelve el ajuste determinante `KI` con la
categoría de fuente de la cláusula 7: *no impulsiva* (`KI = 0`), *impulsiva
regular* (`0 < KI ≤ 5`) o *altamente impulsiva* (`KI > 5`).

La detección de arranques puede ejecutarse directamente sobre un historial de
nivel con `detect_onsets`, cómodo para sonómetros que ya registran `LpAF`:

```python
import numpy as np
from phonometry import environmental

# Historial LpAF muestreado cada 20 ms: silencio, subida de 30 dB en 0,30 s, estable.
dt = 0.02
levels = np.concatenate([
    np.full(10, 40.0),
    40.0 + 30.0 * np.arange(1, 16) / 15,   # arranque recto de 100 dB/s hasta 70 dB
    np.full(15, 70.0),
])
onset = environmental.detect_onsets(levels, dt)[0]
print(round(onset.onset_rate), round(onset.level_difference))  # 100 30
print(round(onset.prominence, 2))                              # 8.95
```

Desde una señal temporal calibrada (en pascales) la cadena completa se ejecuta
de principio a fin:

```python
result = environmental.impulsive_sound_adjustment(signal, fs)
print(result.category)                  # p. ej. 'highly impulsive'
print(round(result.adjustment, 1))      # KI en dB (de 0,0 a unos 9 dB en casos típicos)
print(round(result.adjusted_laeq, 1))   # LAeq + KI
```

Como la tasa de crecimiento y la diferencia de nivel son *diferencias* de
nivel, el ajuste es insensible a la calibración absoluta del sonómetro
(cláusula 8); solo el `LAeq` reportado y el `LAeq` ajustado dependen de ella. El
alcance del documento indica que el ajuste suele quedar entre 0,0 dB y 9,0 dB;
la propia fórmula no está acotada, así que un impulso muy súbito e intenso puede
superar ese rango. `ImpulsiveSoundResult.plot()` dibuja el historial `LpAF` con
los arranques detectados, las rectas de arranque por mínimos cuadrados y la
diferencia de nivel determinante marcadas.

## 4. Dónde encaja el método entre las normas

Las normas de evaluación tratan tradicionalmente la impulsividad por
categorías, no por medición. La ISO 1996-1:2016 (Tabla A.1) suma 5 dB fijos
cuando la fuente es *impulsiva regular* y 12 dB cuando es *altamente
impulsiva*, y deja la elección de categoría al juicio del evaluador. La
NT ACOU 112 sustituye ese juicio por una medida: la tasa de crecimiento y la
diferencia de nivel de los impulsos reales producen un $K_I$ graduado que va
de 0 dB para arranques apenas perceptibles a unos 18 dB para los más
repentinos y ruidosos, cruzando por el camino las dos cifras convencionales.
El enfoque resultó duradero: la misma prominencia basada en el arranque pasó
después a la ISO/PAS 1996-3:2022, que la usa para decidir *objetivamente* si
una fuente cuenta como impulsiva regular o altamente impulsiva en la
evaluación de la ISO 1996-1.

Dos advertencias prácticas al aplicarlo. El arranque se lee de la historia de
nivel ponderada A con ponderación temporal F, y la propia constante de tiempo
de 125 ms de la ponderación F limita la velocidad a la que puede subir un
nivel registrado: los impulsos muy cortos llegan ya suavizados, así que la
historia de nivel debe registrarse a la cadencia máxima del sonómetro (no en
intervalos gruesos); de lo contrario, la tasa de crecimiento, y con ella $P$,
se subestima. Y
el método evalúa la *prominencia* de los impulsos, no su energía: $K_I$ se
añade sobre el `LAeq` medido en el nivel de evaluación, nunca lo sustituye.

## 5. Informe de evaluación (`.report()`)

`ImpulseProminenceResult.report(path)` genera una ficha PDF de una página con el
formato de un informe de evaluación de sonidos impulsivos de un laboratorio de
ruido ambiental, siguiendo la **NT ACOU 112:2002** (recogida en la
ISO/PAS 1996-3:2022): la línea de base normativa, un bloque de metadatos
opcional (fuente/situación, cliente, posición de medición, instrumentación y
fecha, con el periodo de evaluación de 30 minutos siempre visible), una tabla a
todo ancho por impulso (tasa de inicio, diferencia de nivel, prominencia
prevista `P` y si el inicio se califica como impulso) sobre el gráfico de la
curva de ajuste `K`<sub>I</sub>`(P)` con los impulsos candidatos marcados, la
prominencia rectora `P` enmarcada junto con el ajuste de `L`<sub>Aeq</sub>
derivado `K`<sub>I</sub> (Fórmula 2), una fila de veredicto APTO/NO APTO opcional
y una nota de categoría de prominencia, y un pie con el descargo fijo.

Usa el mismo contenedor `ReportMetadata` y el mismo motor de renderizado que la
[ficha de sonoridad ISO 532-1](/phonometry/es/guides/loudness/#informe-de-iso-532-1-report);
un `requirement` indicado se interpreta como la prominencia rectora `P` máxima
admisible (un impulso menos destacado es apto). El renderizado necesita reportlab
(`pip install phonometry[report]`); solo se admite `engine="reportlab"`. La ficha
se genera en inglés por defecto; pase `language="es"` para una ficha en español
(cadenas fijas traducidas y separador decimal de coma), p. ej.
`res.report("impulse_fiche_es.pdf", language="es")`.

```python
from phonometry import environmental, ReportMetadata

# El conjunto de tres impulsos de hincado del §1 (tasa de inicio dB/s, LD dB).
res = environmental.impulse_prominence([1200.0, 300.0, 60.0], [32.0, 18.0, 11.0])
res.report(
    "impulse_fiche.pdf",
    metadata=ReportMetadata(
        specimen="Obra de hincado de pilotes, martilleo intermitente",
        measurement_standard="ISO 1996-2",
        laboratory="Laboratorio de referencia Phonometry",
        requirement=10.0,           # prominencia rectora P máxima admisible
    ),
    language="es",                  # ficha en español (separador decimal de coma)
)                                   # P rectora y el ajuste de LAeq KI (dB)
```

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

<ReportPreview
	name="ntacou112_impulse_prominence_example"
	title="Informe de ejemplo de prominencia de sonidos impulsivos NT ACOU 112 (PDF)"
	description="Ficha de evaluación de sonidos impulsivos de una página: un encabezado de metadatos, una tabla por impulso con la tasa de inicio, la diferencia de nivel y la prominencia prevista P, el gráfico de la curva de ajuste KI(P) con los impulsos candidatos marcados, la prominencia rectora P = 12,25 enmarcada con el ajuste de LAeq KI = 13,0 dB (NT ACOU 112:2002 Fórmula 2) y un veredicto NO APTO frente a una prominencia rectora máxima de 10."
	caption="Ficha de prominencia de sonidos impulsivos (ImpulseProminenceResult.report), prominencia rectora P con el ajuste de LAeq KI."
/>

## Véase también

- Referencia de la API: [`environmental.impulse_prominence`](/phonometry/es/reference/api/environment/impulse-prominence/).
- Referencia de la API: [`environmental.impulsive_sound`](/phonometry/es/reference/api/environment/impulsive-sound/).
