Ir al contenido

Esta página reúne la teoría de la propia cadena de medición: las bandas fraccionales de octava normalizadas y los bancos de filtros en el dominio temporal que las implementan, las curvas de ponderación frecuencial, la integración temporal, las métricas de nivel, de evento y de exposición, la intensidad acústica y el marco de incertidumbre del GUM que sustenta cada magnitud medida. Forma parte de la referencia de teoría.

Frecuencias de banda de octava (ANSI S1.11 / IEC 61260)

Sección titulada «Frecuencias de banda de octava (ANSI S1.11 / IEC 61260)»

Las frecuencias centrales (fm) y los bordes (f1, f2) usan una razón en base 10:

Frecuencia central:

(para b impar)

Bordes de banda:

Resolución frecuencial vs separación de bins FFT

Sección titulada «Resolución frecuencial vs separación de bins FFT»

octave_filter es un banco de filtros de octava fraccional en el dominio del tiempo, no un estimador espectral FFT/Welch. Por tanto, su resultado no tiene una resolución frecuencial en el sentido fs / nfft.

Para fraction=3, la salida contiene un nivel escalar por banda de tercio de octava. La granularidad relevante es la definición normalizada de la banda: frecuencia central, borde inferior y borde superior. Como las bandas de octava fraccional están espaciadas logarítmicamente, su ancho absoluto en Hz crece con la frecuencia mientras su ancho relativo se mantiene aproximadamente constante.

Por ejemplo, con fraction=3 y limits=[12, 20000], la banda de tercio de octava en torno a 1 kHz es aproximadamente:

Banda nominalBorde inferiorCentroBorde superiorAncho
1 kHz891,25 Hz1000,00 Hz1122,02 Hz230,77 Hz

Puedes inspeccionar las bandas exactas con:

from phonometry import metrology
fc, fl, fu, labels = metrology.nominal_frequencies(fraction=3, limits=[12, 20000])
for label, center, lower, upper in zip(labels, fc, fl, fu):
print(label, center, lower, upper, upper - lower)

Si necesitas bins FFT de banda estrecha para inspección tonal, ejecuta Welch/FFT sobre la señal original y usa los bordes de banda de phonometry como máscaras:

import numpy as np
from scipy import signal
from phonometry import metrology
fs = 100_000
# cualquier señal de presión 1D en Pa (se sintetiza para que el ejemplo funcione)
pressure_signal_pa = 0.02 * np.random.default_rng(0).standard_normal(fs)
x = pressure_signal_pa
# Niveles de tercio de octava normalizados de phonometry.
levels, centers = metrology.octave_filter(
x,
fs=fs,
fraction=3,
limits=[12, 20_000],
)
# Las mismas definiciones de banda, incluidos los bordes.
fc, fl, fu, labels = metrology.nominal_frequencies(fraction=3, limits=[12, 20_000])
# Estimación Welch de banda estrecha sobre la señal original.
nperseg = min(2**15, len(x))
freq_bins, psd = signal.welch(
x,
fs=fs,
window="hann",
nperseg=nperseg,
noverlap=nperseg // 2,
scaling="density",
)
# Ejemplo: listar los bins Welch dentro de la banda más cercana a 1 kHz.
band_index = int(np.argmin(np.abs(np.asarray(fc) - 1000.0)))
in_band = (freq_bins >= fl[band_index]) & (freq_bins <= fu[band_index])
print("Banda de tercio de octava seleccionada:", labels[band_index])
print("Separación de bins Welch:", freq_bins[1] - freq_bins[0], "Hz")
for f, pxx in zip(freq_bins[in_band], psd[in_band]):
print(f, pxx)

Esto mantiene separados los dos conceptos: phonometry da niveles de octava fraccional normalizados, mientras Welch da bins FFT de banda estrecha. Con fs=100000 y nperseg=2**15, la separación de bins Welch es de unos 3.05 Hz. La ventana y el solape afectan al leakage y a la varianza del promediado, pero no cambian la separación de bins de cada segmento FFT.

Con sigbands=True, octave_filter también puede devolver la forma de onda filtrada por cada banda. Aplicar Welch/FFT a una de esas señales puede servir como vista diagnóstica del contenido dentro de esa banda, pero no recupera bins FFT a partir de los niveles escalares por banda.

La librería implementa los prototipos clásicos estándar:

1. Butterworth: banda de paso máximamente plana.

2. Chebyshev I: rizado uniforme en la banda de paso, caída más abrupta.

3. Chebyshev II: Chebyshev inverso, rizado uniforme en la banda atenuada, banda de paso plana.

4. Elíptico: rizado en ambas bandas, máxima selectividad.

5. Bessel: retardo de grupo máximamente plano (fase lineal).

(donde es el polinomio de Bessel inverso)

Para todas las arquitecturas, el banco sitúa los puntos de −3 dB en los bordes de banda. Dos casos requieren tratamiento especial:

  • Chebyshev II: en scipy, Wn es el borde de la banda atenuada. phonometry mapea analíticamente los bordes de −3 dB deseados a bordes de banda atenuada (la razón de transición del prototipo es ), aplicando la transformación paso-bajo→paso-banda en el dominio bilineal pre-warpeado, de modo que el mapeo es exacto incluso para bandas diezmadas cercanas a Nyquist.
  • Bessel: se diseña con norm="mag", que define el punto de −3 dB exactamente en Wn (la norma phase desplazaría los bordes a unos −10 dB).

Para garantizar estabilidad total en todo el espectro audible (incluso a frecuencias bajas como 16 Hz con frecuencias de muestreo altas), phonometry emplea dos estrategias fundamentales:

flowchart LR
    X["Señal de entrada\nfs"] --> D{"¿Banda grave?"}
    D -- "sí" --> R["Diezmar\nresample_poly (1/M)"] --> S1["Filtro SOS de banda\na fs/M"]
    D -- "no" --> S2["Filtro SOS de banda\na fs"]
    S1 --> L["Nivel de banda (RMS/pico)"]
    S2 --> L
    S1 -- "sigbands=True" --> U["Interpolar de vuelta\nresample_poly (M/1)"] --> Y["Señal de banda\na fs"]
    S2 -- "sigbands=True" --> Y
  1. Secciones de segundo orden (SOS): todos los filtros se implementan como biquads en cascada, evitando la pérdida catastrófica de precisión de las funciones de transferencia de orden alto.
  2. Diezmado multitasa: para las bandas graves, la señal se diezma antes de filtrar y se interpola después. Esto mantiene los polos digitales lejos del borde del círculo unidad, evitando oscilaciones y ruido. Los bancos Chebyshev II reservan margen de diezmado adicional para que sus bordes de banda atenuada queden por debajo del Nyquist diezmado.

La función de transferencia de la ponderación A:

El filtro digital se obtiene de los polos/ceros analógicos mediante la transformación bilineal. Como esta comprime las frecuencias cerca de Nyquist, el modo high_accuracy por defecto diseña y ejecuta el filtro a una frecuencia interna sobremuestreada (≥ 144 kHz); consulta Ponderación frecuencial.

Curvas de ponderación A, B, C, D, AU y Z con zoom de la región positiva de la curva A (+1,27 dB en 2,5 kHz)Curvas de ponderación A, B, C, D, AU y Z con zoom de la región positiva de la curva A (+1,27 dB en 2,5 kHz)

Las curvas de ponderación que aplica la biblioteca, con la pequeña región positiva de la curva A ampliada.

Implementada como un integrador exponencial IIR de primer orden:

donde tau es la constante de tiempo (p. ej. 125 ms para Fast).

La condición inicial por defecto es y[-1] = 0. Usa initial_state='first' para partir de la energía de la primera muestra, o pasa un escalar/array con el estado cuadrático medio anterior. Consulta Por qué phonometry para la verificación de esta implementación con ráfagas de tono de IEC 61672-1.

Respuestas de las ponderaciones temporales Fast, Slow e Impulse a una ráfaga de ruidoRespuestas de las ponderaciones temporales Fast, Slow e Impulse a una ráfaga de ruido

El integrador exponencial con las tres constantes de tiempo normalizadas: Fast sigue la ráfaga, Slow la suaviza e Impulse retiene su pico.

La curva G extiende la ponderación frecuencial al rango de los infrasonidos. La Tabla 1 de ISO 7196:1995 (p. 2) la define mediante cuatro ceros en el origen y cuatro pares de polos complejos conjugados, dados como coordenadas en Hz (multiplicadas por para obtener rad/s):

La ganancia se elige para que la respuesta sea exactamente 0 dB a 10 Hz (cláusula 4):

Los cuatro ceros frente a ocho polos dan forma a la respuesta característica: una subida de aproximadamente +12 dB/octava entre 1 Hz y 20 Hz, con caídas de aproximadamente 24 dB/octava por debajo de 1 Hz y por encima de 20 Hz. Los infrasonidos necesitan su propia curva porque, cerca del umbral de audición, la sonoridad percibida de los tonos de muy baja frecuencia crece con el nivel de presión acústica mucho más abruptamente que a frecuencias medias (un pequeño incremento en dB sobre el umbral produce un gran salto de sonoridad), de modo que la curva A (anclada en 1 kHz) distorsiona por completo la molestia infrasónica.

Como G actúa sobre 0,25 Hz – 315 Hz, muy por debajo de la frecuencia de Nyquist a tasas de audio, la deformación en frecuencia de la transformación bilineal simple (aplicada sin precompensación) es despreciable en ese rango: en torno al 0,014 % a 315 Hz con kHz, menos de 0,01 dB en la respuesta. Por eso no se aplica el sobremuestreo interno usado en los diseños A/C (cuya acción se extiende hasta 16 kHz).

Consulta la guía de ponderación frecuencial para su uso.

El nivel de exposición sonora (SEL; LAE con ponderación A, IEC 61672-1:2013) normaliza la energía de un evento discreto (sobrevuelo de un avión, paso de un tren) a una duración de referencia de 1 s:

La exposición sonora (IEC 61252, 3.1) es la integral temporal del cuadrado de la presión acústica ponderada A, expresada en pascales al cuadrado por hora:

Cuando la grabación es una muestra representativa de una jornada más larga, escala el cuadrático medio medido por la duración real de la exposición. El nivel normalizado a 8 h (IEC 61252, 3.3) convierte la exposición en el nivel estacionario que transporta la misma energía a lo largo de una jornada laboral nominal:

Es idéntico al de la Directiva 86/188/CEE y al de ISO 1999 (IEC 61252, 3.3 NOTAS 5–6). El ancla de IEC 61252 (3.3 NOTA 4): una exposición de 3,2 Pa²h corresponde a un de exactamente 90 dB.

LCpeak (IEC 61672-1:2013, subcláusula 5.13) es el máximo absoluto de la presión acústica ponderada C expresado en dB, , la magnitud detrás de los límites de acción laborales de 135/137/140 dB(C). La implementación se verifica contra las respuestas de referencia de un ciclo y de medio ciclo de la Tabla 5.

Consulta la guía de niveles para su uso y la guía de calibración para configurar la escala absoluta.

La intensidad acústica es el flujo de potencia acústica promediado en el tiempo . La velocidad de partícula se obtiene de la ecuación de Euler (conservación del momento linealizada):

Una sonda p-p aproxima el gradiente de presión por la diferencia finita de dos micrófonos separados una distancia de separador (IEC 61043:1994, definición 3.2):

Para señales estacionarias el mismo estimador tiene una forma exacta en el dominio de la frecuencia a través de la parte imaginaria del espectro cruzado unilateral de las dos presiones; la implementación lo estima con segmentos promediados tipo Welch con ventana de Hann:

La diferencia finita subestima la intensidad real de onda plana en el factor

La cláusula 7.3 de IEC 61043 especifica la respuesta en intensidad de la sonda con exactamente este argumento y la Tabla 3 la tabula (p. ej. −10,5 dB a 6,3 kHz para un separador de 25 mm). Por debajo de (es decir, por debajo de 0,63) el sesgo se mantiene dentro de unos 0,3 dB; bias_correction proporciona el factor recíproco por banda y max_valid_frequency la cota.

El índice presión-intensidad mide cuán reactivo es el campo: en una onda plana progresiva libre vale dB, mientras que valores grandes delatan campos reactivos o ruidosos en los que domina el error de fase entre canales. El Anexo A de ISO 9614-1:1993 lo generaliza sobre una superficie de medición como el indicador F2 (con F3 para la potencia parcial negativa y F4 para la no uniformidad del campo), y la capacidad dinámica del instrumento (índice presión-intensidad residual menos el factor de error de sesgo: 10 dB para los grados 1/2, 7 dB para el grado 3) debe superar F2 para que la medición sea válida (criterio 1).

Consulta la guía de intensidad acústica para su uso.

Niveles de presión e intensidad en tercios de octava para una onda plana progresiva frente a una onda estacionariaNiveles de presión e intensidad en tercios de octava para una onda plana progresiva frente a una onda estacionaria

El estimador p-p en los dos campos límite: la separación entre Lp y LI es el índice presión-intensidad que delata los campos reactivos.

Incertidumbre de medida (ISO/IEC Guide 98-3: GUM y Suplemento 1)

Sección titulada «Incertidumbre de medida (ISO/IEC Guide 98-3: GUM y Suplemento 1)»

Los presupuestos de dominio como ISO 12999-1 y el Anexo C de ISO 9612 son instancias del marco general de la GUM (ISO/IEC Guide 98-3:2008). Dado un modelo de medición , la ley de propagación de la incertidumbre (cláusula 5) combina las incertidumbres típicas de entrada a través de coeficientes de sensibilidad:

generalizada a para entradas correlacionadas. Las sensibilidades se obtienen por diferencias centradas sobre el modelo del usuario (paso escalado a de cada incertidumbre de entrada), así que no hacen falta derivadas parciales a mano. Las entradas de Tipo B entran por las reglas de semiancho de la cláusula 4.3: rectangular (4.3.7), triangular (4.3.9), en U . La incertidumbre expandida toma de la distribución t con los grados de libertad efectivos de Welch–Satterthwaite (Anexo G.4):

El Suplemento 1 (ISO/IEC Guide 98-3-1:2008) propaga en cambio las distribuciones completas: extracciones de Monte Carlo (cláusula 6.4) a través del mismo modelo dan y el intervalo de cobertura probabilísticamente simétrico a partir de los fractiles (cláusula 7.7): la vía cuando el modelo es no lineal o la salida visiblemente no gaussiana. Los ejemplos de las propias Guías se reproducen: el modelo aditivo de cuatro términos da y el intervalo Monte Carlo al 95 % de la cláusula 9.2/Tabla 3 del Suplemento 1 (cuatro entradas rectangulares; la salida es casi trapezoidal, no gaussiana, así que el intervalo es más estrecho que ), y el ejemplo del bloque patrón del Anexo H.1 de la GUM da y nm.

Consulta la guía de incertidumbre de medida para su uso.