Tonos discretos prominentes (ECMA-418-1)
Normas aplicables: ECMA-418
Los componentes tonales del ruido de maquinaria molestan mucho más de lo que
sugiere su nivel. ECMA-418-1:2024 (referenciada por el Anexo D de ECMA-74)
define dos métodos FFT para decidir si un tono discreto es prominente:
tone_to_noise_ratio() compara el nivel del tono con el ruido enmascarante de
su banda crítica (apartado 11) y prominence_ratio() compara la banda crítica
centrada en el tono con las dos bandas contiguas (apartado 12). Ambos devuelven
un veredicto estructurado frente a los criterios de prominencia dependientes de
la frecuencia.
1. Relación tono-ruido y relación de prominencia
Sección titulada «1. Relación tono-ruido y relación de prominencia»import numpy as npfrom phonometry import psychoacoustics
fs = 48000rng = np.random.default_rng(0)t = np.arange(fs) / fsx = np.sin(2 * np.pi * 1000 * t) + 0.05 * rng.standard_normal(fs) # tono de 1 kHz en ruidotnr = psychoacoustics.tone_to_noise_ratio(x, fs) # pico más alto, o tone_freq=...pr = psychoacoustics.prominence_ratio(x, fs, tone_freq=1000.0)print(round(tnr.ratio_db, 1), round(tnr.criterion_db, 1), tnr.prominent) # 45.6 8.0 Trueprint(round(pr.ratio_db, 1), round(pr.criterion_db, 1), pr.prominent) # 45.7 9.0 True
tnr.plot() # el tono frente a su criterio de prominencia (necesita matplotlib)Tres números, en ese orden: la relación es cuántos decibelios supera el tono al
ruido que lo enmascara, el criterio es la línea dependiente de la frecuencia
que tiene que superar, y prominent es la comparación de ambos. Da el
resultado como «TNR = 45,6 dB frente a un criterio de 8,0 dB a 1 kHz,
prominente por 37,6 dB», nunca como un booleano pelado: el margen es lo que le
dice a quien revisa si el veredicto sobrevive a la incertidumbre de medida.
(Este tono sintético es absurdamente prominente; el tono de ventilador de
250 Hz de más abajo supera su criterio por 2,1 dB, que es el caso
interesante.)
Los métodos se apoyan en la banda crítica, el ancho de banda de análisis del oído, Hz (162 Hz a 1 kHz): a un tono solo lo enmascara el ruido que hay dentro de su banda crítica, así que ambos métodos se centran en esa banda y no en todo el espectro, pero la usan de forma distinta. La relación tono-ruido trabaja dentro de la banda, separando sus líneas espectrales en tono y ruido y restando sus niveles (apartado 11, Fórmulas 9–11); la relación de prominencia, en cambio, compara la banda completa centrada en el tono con la media de sus dos bandas críticas contiguas (apartado 12, Fórmula 23):
donde es el nivel del tono (la suma en energía de las líneas tonales por encima de la línea de base entre los bordes de la banda, Fórmula 9), el nivel del ruido enmascarante que queda en la banda crítica, reescalado al ancho de banda crítico completo (Fórmulas 10–11), y , , las potencias de las bandas críticas central, inferior y superior (por debajo de Hz la banda inferior truncada se reescala a un ancho de banda de 100 Hz, Fórmula 24).
Mostrar el código de esta figura
import numpy as npimport matplotlib.pyplot as pltfrom scipy.signal import welchfrom phonometry import psychoacoustics
fs = 48000rng = np.random.default_rng(21)t = np.arange(30 * fs) / fsx = (np.sqrt(2) * 0.1 * np.sin(2 * np.pi * 1000 * t) + 0.05 * rng.standard_normal(t.size))res = psychoacoustics.tone_to_noise_ratio(x, fs)
# Espectro Hann promediado a 1 Hz (el front-end del apartado 11.1) y la banda# crítica en torno al tono detectado (bordes aproximados como +/- dfc/2):f, p = welch(x, fs, window="hann", nperseg=fs, scaling="spectrum")dfc = 25 + 75 * (1 + 1.4 * (res.frequency / 1000) ** 2) ** 0.69sel = (f > 700) & (f < 1400)plt.plot(f[sel], 10 * np.log10(p[sel]))plt.axvspan(res.frequency - dfc / 2, res.frequency + dfc / 2, alpha=0.15)plt.title(f"TNR = {res.ratio_db:.1f} dB (criterio {res.criterion_db:.1f} dB)")plt.xlabel("Frecuencia [Hz]"); plt.ylabel("Potencia por bin [dB]")plt.show()Un TNR igual o superior a dB por debajo de 1 kHz (8 dB constantes para kHz) clasifica el tono como prominente; el criterio del PR es dB por debajo de 1 kHz y 9 dB a partir de ahí, aplicado igualmente con . Las frecuencias bajas reciben umbrales más altos porque unas bandas relativamente más anchas enmascaran más.
ToneAssessment.plot() sitúa el veredicto en su contexto: dibuja el criterio
del método que lo ha producido en todo el rango de interés de 89,1 Hz a
11,2 kHz y marca el tono evaluado en su propia frecuencia, de modo que el
margen que decide el veredicto se ve en lugar de deducirse.
Mostrar el código de esta figura
import numpy as npimport matplotlib.pyplot as pltfrom phonometry import psychoacoustics
# Un tono de ventilador de 250 Hz en ruido de maquinaria, 10 s a 48 kHz.fs = 48000rng = np.random.default_rng(4)t = np.arange(10 * fs) / fsx = (np.sqrt(2) * 0.011 * np.sin(2 * np.pi * 250.0 * t) + 0.03 * rng.standard_normal(t.size))res = psychoacoustics.tone_to_noise_ratio(x, fs)print(round(res.ratio_db, 1), round(res.criterion_db, 1), res.prominent)# 15.1 13.0 True
# En una línea: el tono frente a la curva de criterio de su propio método.res.plot(language="es")plt.show()
# A mano, reproduciendo lo que dibuja ToneAssessment.plot():f = np.logspace(np.log10(89.1), np.log10(11200.0), 400)criterio = np.where(f < 1000.0, 8.0 + 8.33 * np.log10(1000.0 / f), 8.0)fig, ax = plt.subplots()ax.semilogx(f, criterio, color="#d62728", label="criterio de prominencia")ax.plot([res.frequency], [res.ratio_db], "o", label="tono evaluado")ax.plot([res.frequency] * 2, [res.criterion_db, res.ratio_db], ":", color="0.6")ax.set_xlabel("Frecuencia [Hz]")ax.set_ylabel("Relación tono-ruido TNR [dB]")ax.legend()plt.show()Cuando las dos relaciones discrepan. Cerca de los criterios los veredictos pueden diferir, porque cada una es frágil en una situación distinta. El TNR tiene que separar primero las líneas de la banda crítica en tonales y de ruido, así que se degrada cuando esa separación es ambigua: un tono montado sobre una pendiente abrupta de ruido, o componentes muy juntos cuyas faldas se solapan. El PR no necesita separación alguna, lo que lo convierte en la opción robusta y automatizable cuando varios tonos comparten la banda crítica (todos caen en ); a cambio se queda corto cuando una banda vecina también lleva un tono (las bandas laterales dejan de ser ruido) y se sesga en espectros de pendiente pronunciada, donde las dos bandas laterales ya no estiman el enmascaramiento en el tono. En la práctica: prefiere el TNR para un tono limpio y aislado, el PR para complejos multitono que comparten banda, y presenta ambos cuando ronden sus criterios.
Dos criterios, dos modos de fallo. A la izquierda: el criterio del PR queda entre 1 y 2 dB por encima del criterio del TNR por debajo de 1 kHz, lo bastante para que el mismo tono de ventilador de 250 Hz sea prominente por TNR (15,1 dB frente a 13,0 dB) y no prominente por PR (14,9 dB frente a 15,0 dB). A la derecha: un tono en la banda crítica vecina deja el TNR intacto y destroza el PR, porque las bandas laterales que este trata como ruido han dejado de ser ruido.
Mostrar el código de esta figura
import numpy as np
# `psychoacoustics` lo importan los fragmentos de arriba.fs = 48000rng = np.random.default_rng(7)t = np.arange(8 * fs) / fs
# Un tono de 1 kHz en ruido de banda ancha, más un segundo tono a 1160 Hz:# fuera de la banda crítica de 162 Hz en torno a 1 kHz, o sea dentro de la# banda contigua superior que la relación de prominencia usa como estimación# del ruido.primary = np.sqrt(2) * 0.012 * np.sin(2 * np.pi * 1000.0 * t)noise = 0.05 * rng.standard_normal(t.size)for relative_db in (-24.0, -12.0, 0.0, 12.0): second = np.sqrt(2) * 0.012 * 10 ** (relative_db / 20) y = primary + second * np.sin(2 * np.pi * 1160.0 * t) + noise tnr_y = psychoacoustics.tone_to_noise_ratio(y, fs, tone_freq=1000.0) pr_y = psychoacoustics.prominence_ratio(y, fs, tone_freq=1000.0) print(relative_db, round(tnr_y.ratio_db, 1), round(pr_y.ratio_db, 1))# -24.0 9.2 9.8# -12.0 9.2 8.7# 0.0 9.2 2.5# 12.0 9.2 -8.6Un tono que no se está quieto. Los dos métodos suponen que el tono se
mantiene en una frecuencia durante todo el promedio. Un ventilador o una bomba
cuya velocidad deriva emborrona el tono entre muchos bins: la banda del tono se
ensancha, parte del tono se cuenta como ruido enmascarante y el TNR se queda
corto, mientras que al PR le afecta menos, pero sigue viendo una banda
emborronada. El apartado 11.2 da el diagnóstico en lugar de dejarlo al criterio
de cada cual: si la banda del tono es más ancha que el 15 % del ancho de banda
crítico, se repite el análisis con una resolución más fina, y una banda de tono
que sigue siendo más ancha que ese 15 % tras esa iteración indica un tono de
frecuencia variable en el tiempo u otro fenómeno. Llegados ahí, la evaluación
no es que sea incierta: es inválida. Los remedios están aguas arriba:
estabilizar el punto de funcionamiento del equipo en ensayo, acortar cada
promedio y promediar las relaciones en vez de los espectros, o hacer
seguimiento de órdenes de la fuente giratoria. Los complejos armónicos merecen
el mismo cuidado componente a componente con tone_freq=, ya que la deriva de
un fundamental se multiplica proporcionalmente en cada armónico.
2. Dónde medir (ECMA-74), y qué necesitan las relaciones
Sección titulada «2. Dónde medir (ECMA-74), y qué necesitan las relaciones»ECMA-74 es la norma de emisión que delega su evaluación de tonos en ECMA-418-1, y también fija dónde va el micrófono alrededor de un equipo: una posición de operador y cuatro de observador. phonometry implementa las evaluaciones de ECMA-418-1, no el procedimiento de medida de ECMA-74, así que el diagrama de abajo es contexto para leer una declaración de emisión, no algo que haga la biblioteca.
De qué posición se informan los números. El apartado 6 de ECMA-418-1 es explícito. Si el equipo tiene posición de operador, se mide ahí, y en la más sonora de ellas cuando hay más de una, juzgada por el nivel ponderado A. Si no tiene ninguna, se mide en la posición de observador con el nivel ponderado A más alto y en todas las demás posiciones de observador que queden dentro de 0,5 dB de ella. La geometría viene del apartado 8.6 de ECMA-74:2025: el micrófono de operador a 0,25 m ± 0,03 m en horizontal desde la caja de referencia y a 1,20 m ± 0,03 m sentado o 1,50 m ± 0,03 m de pie (0,50 m para equipos de sobremesa ensayados sin su teclado desmontable, y 0,125 m a 1,0 m para equipos de mano); al menos cuatro posiciones de observador a 1,00 m ± 0,03 m de los lados de la caja de referencia y a 1,50 m ± 0,03 m sobre el suelo, añadiendo más a intervalos de 1,0 m cuando un lado supera los 2,0 m. Cuando se miden varias posiciones, el apartado 6 exige informar del TNR y el PR más altos junto con la posición de la que sale cada uno.
Con qué. Una cadena de micrófono de clase 1 según IEC 61672-1 hacia un analizador FFT con promediado RMS lineal (no exponencial) y ventana de Hanning, calibrado directamente en dB re 20 µPa; el micrófono orientado de modo que el ángulo de incidencia sea aquel para el que su respuesta es más plana, que el apartado 8.6.4 de ECMA-74 toma como 30° o 45° por debajo de la horizontal en la mayoría de los casos prácticos. El intervalo de medición debe cubrir al menos tres ciclos de funcionamiento, o la secuencia completa en equipos que recorren una secuencia de ciclos variables (apartado 7.7.2 de ECMA-74 a través del 8.7.2), y el ruido de fondo se corrige como exige el grado de exactitud 2 de ISO 11201.
La resolución, en términos prácticos. El apartado 7 pide una resolución FFT por debajo del 1 % de la frecuencia del tono, y recomienda un 0,25 % o mejor para la relación tono-ruido, porque la experiencia ha demostrado que el 1 % a veces no resuelve el tono. A 250 Hz eso son 0,63 Hz, o sea registros de un segundo o más por promedio; el valor por defecto de 1 Hz de la biblioteca cumple por tanto la recomendación solo por encima de unos 400 Hz y es demasiado grueso por debajo. El apartado 11.2 añade la comprobación que importa en ese extremo: la banda del tono no debe superar el 15 % del ancho de banda crítico y, si lo supera, el análisis se repite más fino.
La trampa de la ponderación. El apartado 7 prohíbe cualquier ponderación frecuencial a la entrada del analizador, la A incluida. Las dos relaciones comparan niveles dentro de bandas críticas y entre ellas, así que una curva de ponderación inclina la comparación: inofensivo para un TNR a 1 kHz, y varias décimas de decibelio para un PR en baja frecuencia, donde la curva A cae con fuerza a lo largo de tres bandas críticas consecutivas. Las relaciones son indiferentes a la calibración absoluta, pero no a la forma espectral, que es la razón de que «la calibración se cancela» sea solo media verdad: el analizador debería estar calibrado en absoluto de todos modos, porque el filtro de umbral de los apartados 8 y 9 que viene después necesita niveles de presión acústica reales.
Los tonos secundarios próximos en la misma banda crítica se combinan según el
apartado 11.6; para complejos armónicos evalúa cada componente (tone_freq=).
Ambos métodos trabajan sobre espectros promediados RMS con ventana Hann y no
necesitan calibración absoluta para la relación en sí (ambas relaciones son
diferencias de nivel).
Parámetros de tone_to_noise_ratio() / prominence_ratio()
Sección titulada «Parámetros de tone_to_noise_ratio() / prominence_ratio()»| Parámetro | Tipo | Unidades | Rango / valor por defecto | Notas |
|---|---|---|---|---|
x | array 1D | cualquiera (vale sin calibrar) | ≥ fs/resolution_hz muestras | Las relaciones son diferencias de nivel: la calibración se cancela |
fs | int | Hz | > 0 | |
tone_freq | float, opcional | Hz | 89,1–11 200; por defecto None | None evalúa el pico más alto del rango de interés |
resolution_hz | float | Hz | > 0; por defecto 1.0 | La banda del tono debe quedar dentro del 15 % de la banda crítica (apartado 11.2) |
Ambos devuelven un ToneAssessment(frequency, ratio_db, criterion_db, prominent).
3. Qué métrica de tonalidad usar y cuándo
Sección titulada «3. Qué métrica de tonalidad usar y cuándo»La biblioteca implementa cuatro evaluaciones de tonalidad, y no son intercambiables: cada una pertenece a una norma distinta, con su propio objetivo, su entrada y su salida.
| TNR / PR | Audibilidad tonal | Tonalidad psicoacústica T | Audibilidad tonal de aerogeneradores | |
|---|---|---|---|---|
| Norma | ECMA-418-1:2024, apartados 11 y 12 | ISO/PAS 20065:2016, adoptada por el Anexo J de ISO 1996-2:2017 | ECMA-418-2:2025, apartado 6 | IEC 61400-11:2012, apartado 9.5 |
| Pregunta que responde | ¿Es prominente este tono discreto en la emisión de un equipo? | ¿Es audible el tono por encima del ruido que lo enmascara, y en cuánto? | ¿Cuán tonal se percibe el sonido? | ¿Es audible el tono del aerogenerador en la posición de referencia, bin de viento a bin de viento? |
| Entrada | Un espectro FFT, sin necesidad de calibración | Espectros de banda estrecha con la separación entre líneas declarada | La señal de presión calibrada, a través del modelo auditivo de Sottek | Espectros de banda estrecha por bin de velocidad de viento, con la distancia de referencia |
| Salida | Una relación en dB frente a un criterio dependiente de la frecuencia, más un veredicto prominente / no prominente | Una audibilidad en dB, cuyos valores decisivo y medio alimentan el ajuste tonal Kt | Una tonalidad en tu_HMS, una magnitud perceptiva sin criterio asociado | Una audibilidad en dB por bin, informada junto a la potencia acústica del aerogenerador |
| Se usa para | Declarar la emisión de equipos TIC (Anexo D de ECMA-74) | Evaluación de ruido ambiental: justificar, o descartar, una penalización tonal | Calidad sonora: comparar diseños, no superar un límite | Ensayos de tipo y aceptación de aerogeneradores |
La tabla se lee como una decisión: la métrica la elige el objetivo del
informe, no la comodidad de la entrada. La declaración de emisión de un
equipo es un veredicto de prominencia de ECMA-418-1; una queja por un tono de
una instalación es una evaluación según ISO 1996-2, así que necesita la
audibilidad que se traduce en Kt
(la guía de audibilidad tonal); una
comparación de productos en la que nadie va a ser sancionado es donde la
tonalidad de ECMA-418-2 se gana su sitio, porque es una magnitud y no un
ensayo de umbral (la guía de calidad sonora);
y un aerogenerador es un régimen propio, con un procedimiento de medida en
IEC 61400-11 que fija la geometría y los bins de viento (la
guía de aerogeneradores).
Dos consecuencias que conviene tener presentes. Primera, los números no se convierten: un TNR de 12 dB no es una audibilidad de 12 dB, porque el modelo de enmascaramiento, la definición de banda y la referencia son distintos. Segunda, las métricas pueden discrepar sobre el mismo sonido, y con razón. Un tono puede ser prominente según ECMA-418-1 en el campo próximo de la máquina y resultar inaudible en la vivienda donde se hace la evaluación de ISO 1996-2, mientras la tonalidad del modelo auditivo se mantiene moderada en ambos casos porque valora el sonido completo y no una línea espectral. Informa la métrica que exija la evaluación y cita cualquier otra solo como evidencia de apoyo.
Qué cubre esta guía
Sección titulada «Qué cubre esta guía»Cubierto
ECMA-418-1:2024 (3.ª edición): los métodos de relación tono-ruido (apartado 11, Fórmulas 9 a 12) y relación de prominencia (apartado 12, Fórmulas 23 a 26) sobre espectros promediados RMS con ventana Hann, el modelo de banda crítica del apartado 10, los criterios de prominencia dependientes de la frecuencia y la combinación de tonos secundarios que comparten banda del apartado 11.6, todo a través de
tone_to_noise_ratio()yprominence_ratio(). Las posiciones de micrófono del apartado 6 y los requisitos de instrumentación del apartado 7 están documentados en el §2 como las condiciones bajo las que quedan definidas las dos relaciones.No cubierto
El veredicto
prominentque devuelven estas funciones es solo el criterio numérico. La norma exige además que un tono prominente se confirme por examen auditivo (apartados 11.8/12.8) y que supere el filtro del umbral inferior de audición de los apartados 8/9, que necesita niveles absolutos calibrados: ambas comprobaciones quedan a cargo de quien llama. ECMA-74:2025 está cubierta solo como la norma que delega su evaluación tonal en ECMA-418-1; su propio procedimiento de medida del Anexo D y las posiciones de operador/observador (mostradas arriba solo como contexto) no están implementados aquí.
Véase también
Sección titulada «Véase también»- Niveles ambientales: los niveles de evaluación de ISO 1996-1 y sus ajustes tonales (Tabla A.1), cuyo Kt se justifica por la vía de audibilidad de ISO/PAS 20065; estos veredictos de prominencia son un cribado de emisión complementario.
- Métricas de calidad sonora: la tonalidad psicoacústica T en tu_HMS de ECMA-418-2, la contraparte de modelo auditivo de estas relaciones FFT.
- Audibilidad objetiva de tonos en ruido: la audibilidad ΔL de ISO/PAS 20065 de la que se lee el ajuste tonal Kt de ISO 1996-2.
- Ruido de aerogeneradores: la audibilidad tonal de IEC 61400-11, la misma pregunta planteada por bin de velocidad de viento.
- Prominencia de sonidos impulsivos: la contraparte NT ACOU 112 para el carácter impulsivo (en lugar de tonal).
- Teoría: el modelo de banda crítica y la derivación de los criterios.
- Referencia de la API:
psychoacoustics.quality.tonality. - Teoría: Prominencia tonal: TNR y PR: la construcción en bandas críticas que sustenta el TNR y el PR, y los criterios que hacen prominente a un tono.
Referencias
Sección titulada «Referencias»- Ecma International. (2024). Psychoacoustic metrics for ITT equipment — Part 1: Prominent discrete tones (ECMA-418-1:2024 (3.ª ed.)). La norma implementada, de descarga gratuita (el PDF enlazado es la descarga gratuita): los métodos de relación tono-ruido (apartado 11) y relación de prominencia (apartado 12), el modelo de banda crítica y los criterios de prominencia dependientes de la frecuencia de la sección 1.
- Ecma International. (2025). Measurement of airborne noise emitted by information technology and telecommunications equipment (ECMA-74:2025 (22.ª ed.)). La norma de emisión matriz, de descarga gratuita (el PDF enlazado es la descarga gratuita): las posiciones de medida de operador y observador de la sección 2, con el Anexo D delegando la evaluación de tonos en ECMA-418-1.