<!-- canonical: https://jmrplens.github.io/phonometry/es/signals/levels/special-weightings/ -->
Source: https://jmrplens.github.io/phonometry/es/signals/levels/special-weightings/

Más allá de A, C y Z, la familia de ponderaciones conserva cuatro curvas de
propósito especial, cada una la herramienta adecuada para una tarea más
concreta: la curva **G** de **ISO 7196:1995** valora el infrasonido por
debajo de 20 Hz igual que la ponderación A valora el ruido audible, la
histórica **B** (ANSI S1.4-1983) reproduce mediciones tomadas bajo códigos
nacionales antiguos, la **D** de ruido de aeronaves de la retirada IEC 537
sirve para comparaciones con datos heredados, y la **AU** (IEC 61012), aún en
vigor como la curva G, mantiene las componentes ultrasónicas fuera de una
lectura de exposición audible.

Las cuatro comparten la maquinaria de las curvas de IEC 61672-1 (0 dB a
1 kHz donde aplica, procesado multicanal y por bloques con estado), y B, D y
AU toman además el sobremuestreo `high_accuracy`, y la G también: **el diseño
por defecto de G se sobremuestrea hacia 48 kHz**, de modo que su rango de
0,25 Hz a 315 Hz se mantiene dentro de unos 0,05 dB sea cual sea la frecuencia
de entrada, mientras que el procesado por bloques con estado ejecuta el diseño
simple a la tasa de entrada, en torno a un decibelio por debajo en 315 Hz a
fs = 2000 y exactamente en la referencia de 0 dB a 10 Hz. Y eso
importa justo donde se usa la G: el infrasonido se graba a menudo a 1 kHz o
2 kHz, donde 315 Hz queda cerca de Nyquist y la deformación bilineal crece de
forma cuadrática; a frecuencias de audio la corrección es despreciable. Como con
A/C/Z, `high_accuracy` no puede combinarse con el procesado con
estado. Las propias curvas A, C y Z, su origen, el diseño
`high_accuracy` y la verificación de clase frente a la Tabla 3 de
IEC 61672-1 son el tema de
[Ponderación frecuencial](/phonometry/es/signals/levels/weighting/).

## 1. Infrasonido: ponderación G (ISO 7196)

La **ponderación frecuencial G** (ISO 7196:1995) valora el infrasonido igual que
la ponderación A valora el ruido audible. Se define por una configuración de
polos y ceros normalizada a 0 dB a 10 Hz, y tiene tres pendientes, no dos. Por
encima de 20 Hz la respuesta cae a 24 dB/octava, lo que mantiene la energía del
rango audible fuera de una lectura de infrasonido; entre 1 Hz y 20 Hz
aproximadamente *sube* a 12 dB/octava, siguiendo el crecimiento abrupto de la
percepción del infrasonido; y por debajo de 1 Hz aproximadamente vuelve a caer a
24 dB/octava, rechazando las fluctuaciones de presión casi estáticas — carga de
viento, deriva barométrica, oscilación del edificio — que un micrófono registra
y nadie oye. Úsala con fuentes con energía significativa por
debajo de 20 Hz (aerogeneradores, climatización, voladuras):

```python

from phonometry import filters

# recording: una captura de micrófono calibrada (Pa) — grabada con tu cadena de medición. Sintetizada aquí para que la guía funcione por sí sola.
fs = 48000
recording = 0.2 * np.sin(2 * np.pi * 1000 * np.arange(fs) / fs)

g_weighted = filters.weighting_filter(recording, fs, curve='G')
```

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

```python

from phonometry import filters

# Medimos la respuesta G: ponderamos un impulso unitario centrado y
# tomamos su espectro. Un búfer largo da la resolución que necesita el
# rango de infrasonido (20 s -> 0,05 Hz).
fs = 4000
impulse = np.zeros(20 * fs)
impulse[impulse.size // 2] = 1.0
freqs = np.fft.rfftfreq(impulse.size, 1 / fs)
spectrum = np.fft.rfft(filters.weighting_filter(impulse, fs, curve="G"))

fig, ax = plt.subplots(figsize=(9, 5))
ax.semilogx(freqs[1:],
            20 * np.log10(np.abs(spectrum[1:]) + np.finfo(float).eps))
ax.plot(10, 0, "o", color="tab:red", label="0 dB a 10 Hz")
ax.set(xlim=(0.1, 1000), ylim=(-90, 15),
       xlabel="Frecuencia [Hz]", ylabel="Respuesta de la ponderación G [dB]")
ax.grid(True, which="both", alpha=0.3)
ax.legend()
plt.show()
```

</details>

La implementación sigue exactamente los polos/ceros de la Tabla 1 de ISO 7196 y
se verifica en CI contra todos los valores nominales de respuesta de la Tabla 2
(0,25 Hz a 315 Hz). `WeightingFilter(fs, "G")` admite el mismo procesado
multicanal y por bloques que A/C, pero el modo con estado ejecuta el diseño
simple a la frecuencia de entrada, así que si procesas la ponderación G en
streaming a una frecuencia de muestreo baja, verifica la respuesta antes de
fiarte del nivel. Los niveles medidos con la curva G se expresan como
$L_{p\mathrm{G}}$ (o $L_\mathrm{Geq}$ para el nivel equivalente).

### Leer un LpG: la escala no es la escala dB(A)

Un nivel ponderado G de 85 dB no significa nada hasta que sabes qué aspecto
tiene la escala, y no se parece a la audible. La introducción de ISO 7196 da las
referencias: el umbral normal de percepción a 10 Hz está en torno a 100 dB re
20 µPa; los sonidos entre 1 Hz y 20 Hz que un oyente medio apenas percibe dan
niveles ponderados G próximos a 100 dB; un infrasonido muy fuerte da un nivel
ponderado G del orden de 120 dB, solo 20 dB por encima; y los niveles ponderados
G por debajo de unos 90 dB no suelen ser significativos para la percepción
humana.

De ahí se siguen dos consecuencias. La primera, que el rango útil abarca unos
30 dB y no los 100 dB a los que un lector está acostumbrado en dB(A), así que
**unos pocos decibelios importan aquí muchísimo más**: un $L_{p\mathrm{G}}$ de 85 dB y
otro de 105 dB no son «parecidos», son inaudible y muy fuerte. La segunda, que
como el crecimiento de la sensación con el nivel es mucho más rápido que en el
rango audible y el propio umbral varía entre individuos, un nivel próximo a
100 dB(G) puede ser imperceptible para una persona y claramente percibido por
otra, y por eso las quejas por infrasonido se investigan caso por caso. Compara
un $L_{p\mathrm{G}}$ con estas referencias de percepción, nunca con un límite ponderado
A, y no combines nunca las dos cosas en un solo número.

### Medir infrasonido, no solo ponderarlo

El filtro anterior es exacto desde 0,25 Hz. Casi ninguna cadena de captura
corriente lo es, y nada en el código puede saberlo. El Anexo A de ISO 7196
especifica una cadena, no solo una curva, y su primer requisito (A.2) es un
micrófono con una respuesta en frecuencia sustancialmente constante o bien
definida al menos entre 0,25 Hz y 160 Hz, y preferiblemente hasta 315 Hz. Una
cápsula de medida de uso general no puede darlo: su orificio de compensación de
presión estática se comporta como un paso alto de primer orden, y un punto de
corte tan alto como 2 Hz ya cuesta 7,0 dB a 1 Hz y 12,3 dB a 0,5 Hz. Cualquier
conmutador de corte de graves del grabador elimina la banda que se está
midiendo. Lo único que *no* importa es el tamaño de la cápsula: el Anexo A hace
notar que no hay límite práctico para las dimensiones del micrófono, porque los
efectos direccionales son despreciables a longitudes de onda infrasónicas.

De ahí salen dos acciones. **Documenta el punto de corte en baja frecuencia de
la propia cadena** e informa el $L_{p\mathrm{G}}$ solo hasta donde la cadena sea plana;
un nivel dado hasta 0,25 Hz con una cadena que está 12 dB por debajo a 0,5 Hz no
es una medida. **Elige un tiempo de promediación lo bastante largo para que el
valor sea representativo**: el apartado A.5 da un tiempo de integración o
constante de tiempo de 10 s como elección habitual, 1 s cuando lo que
contribuye principalmente es la parte alta de la banda de 1 Hz a 20 Hz, y para
ruido fluctuante una ventana rectangular de al menos 1 min, cuyo resultado se
informa como nivel de presión acústica ponderado G equivalente. Eso es un orden
de magnitud más largo que los 125 ms que un lector trae del detector Fast.

En exteriores hay un tercer problema, y por debajo de 20 Hz suele ser el mayor:
el viento sobre el diafragma genera más infrasonido que la fuente. Por eso el
micrófono se coloca en el centro de una placa rígida sobre el suelo, dentro de
un paravientos primario de espuma, con una pantalla hemisférica secundaria
añadida cuando hay viento y con su pérdida por inserción documentada y corregida.

Lo que hay que dejar registrado para que el resultado sea informable es breve:
el punto de corte en baja frecuencia de la propia cadena, la placa y las
pantallas con sus correcciones, el tiempo de promediación y la forma de la
ventana, y el $L_{p\mathrm{G}}$ con el ancho de banda de análisis con el que se calculó.

## 2. Curvas históricas y de propósito especial: B, D y AU

Tres curvas más completan la familia. Las tres trabajan en el rango audible,
así que comparten una gráfica, dibujada frente a la curva A porque es la
referencia con la que se define o se describe cada una: B como la curva
intermedia entre A y C, D como la que tiene una joroba que A no tiene, y AU
como la propia A con un paso bajo añadido.

*Las tres curvas frente a la referencia A (gris ancha), medidas a 96 kHz para
que el eje llegue a los 40 kHz donde IEC 61012 aún especifica el paso bajo U.
B (verde, discontinua) descarta menos graves que A; D (morada) lleva la joroba
de +11,5 dB a 3,15 kHz, donde más molesta el silbido de la turbomaquinaria;
AU (naranja) recorre el interior de la referencia A hasta 10 kHz y luego se
desprende con U, hasta quedar 13 dB por debajo de A en 16 kHz. La curva G de
infrasonido conserva su propia gráfica en la sección 1, y A, C y Z están en
[Ponderación frecuencial](/phonometry/es/signals/levels/weighting/).*

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

```python

from phonometry import filters

# Medimos la respuesta de cada curva: ponderamos un impulso unitario centrado
# y tomamos su espectro. 96 kHz, no 48 kHz: así se alcanza la fila de 40 kHz
# de la tabla de la ponderación U de IEC 61012, que es la razón de ser de AU.
fs = 96000
impulse = np.zeros(fs)
impulse[fs // 2] = 1.0
freqs = np.fft.rfftfreq(fs, 1 / fs)

fig, ax = plt.subplots(figsize=(9, 5))
# A va primero y ancha, como referencia con la que se leen las otras tres.
for curve, width in (("A", 4.0), ("B", 1.8), ("D", 1.8), ("AU", 1.8)):
    spectrum = np.fft.rfft(filters.weighting_filter(impulse, fs, curve=curve))
    ax.semilogx(freqs[1:], 20 * np.log10(np.abs(spectrum[1:]) + np.finfo(float).eps),
                label=curve, linewidth=width)
ax.set(xlim=(10, 40000), ylim=(-90, 18),
       xlabel="Frecuencia [Hz]", ylabel="Respuesta [dB]")
ax.grid(True, which="both", alpha=0.3)
ax.legend()
plt.show()
```

</details>

### B (ANSI S1.4-1983, histórica)

La curva intermedia del esquema original de conmutación por niveles A/B/C,
trazada a partir de la línea isofónica de ~70 fonios. Analíticamente es la
ponderación C con un cero más en el origen y un polo real adicional en
$f_5 = 158{,}49\ \text{Hz}$ (Apéndice C de ANSI S1.4-1983), así que descarta
menos graves que A y más que C. Se eliminó cuando IEC 61672-1 sustituyó a las
normas de sonómetros anteriores; úsala solo para reproducir datos históricos
y mediciones tomadas bajo códigos nacionales antiguos (algunos procedimientos
de ensayo de automoción heredados publicaban dB(B)). La implementación sigue
las constantes del Apéndice C de ANSI S1.4-1983 y está anclada en CI a los
valores de respuesta de la Tabla IV, dentro de la máscara más estricta de la
Tabla V (Tipo 0).

### D (IEC 537, retirada: ruido de aeronaves)

La ponderación D aproximaba las curvas de *ruidosidad percibida* del índice
de nivel de ruido percibido (PNL), para que un sonómetro corriente pudiera
estimar el ruido de aeronaves: la joroba de +11,5 dB en torno a 3,15 kHz es
donde más molesta el silbido de la turbomaquinaria (deliberadamente *no* es
un rasgo de igual sonoridad). El manual de métricas de ruido de aeronaves de
la NASA da la clásica regla aproximada $L_\mathrm{PN} \approx L_\mathrm{D} + 7\ \text{dB}$.
IEC 537 fue retirada y la práctica de certificación actual calcula el EPNL a
partir de análisis en tercios de octava o usa niveles ponderados A, así que
`D` se ofrece para datos históricos y comparaciones. Con la norma no
disponible, la implementación usa la función de transferencia racional de
IEC 537, ampliamente publicada, contrastada con dos implementaciones
independientes (los polos y ceros de SQAT y la forma cerrada de librosa, que
coinciden dentro de 0,002 dB) y anclada en CI a la tabla de IEC 537 reeditada
en NASA CR-3406.

```python

from phonometry import filters, signals

# Un silbido de 3,15 kHz cae justo en la joroba de la ponderación D:
# D lo valora 10 dB *más fuerte* que A.
fs = 96000
t = np.arange(fs) / fs
whine = 0.1 * np.sin(2 * np.pi * 3150 * t)

ld = signals.leq(filters.weighting_filter(whine, fs, curve="D"))
la = signals.leq(filters.weighting_filter(whine, fs, curve="A"))
print(f"LD = {ld:.1f} dB   LA = {la:.1f} dB")
# LD = 82.5 dB   LA = 72.2 dB
```

### AU (IEC 61012, vigente: sonido audible en presencia de ultrasonidos)

La única de las tres aún en vigor. `AU` es la ponderación A en cascada con el
filtro paso bajo **U** de IEC 61012:1990 (seis polos, Tabla 2): plana
respecto a A hasta 10 kHz y con un corte abrupto después (-13 dB a 16 kHz,
-61,8 dB a 40 kHz para U sola). Úsala cuando componentes ultrasónicos
intensos (limpiadores y soldadores ultrasónicos, ahuyentadores de roedores,
algunos disuasorios de espacios públicos) se colarían en una lectura
ponderada A a través del rechazo imperfecto del sonómetro en alta frecuencia
y sobreestimarían la exposición *audible*:

```python

from phonometry import filters, signals

# Tono de 1 kHz (audible) enterrado bajo una componente ultrasónica fuerte de 25 kHz.
fs = 96000
t = np.arange(fs) / fs
audible = 0.1 * np.sin(2 * np.pi * 1000 * t)
x = audible + 1.0 * np.sin(2 * np.pi * 25000 * t)

la = signals.leq(filters.weighting_filter(x, fs, curve="A"))
lau = signals.leq(filters.weighting_filter(x, fs, curve="AU"))
la_ref = signals.leq(filters.weighting_filter(audible, fs, curve="A"))
print(f"LA = {la:.1f} dB   LAU = {lau:.1f} dB   solo audible = {la_ref:.1f} dB")
# LA = 78.6 dB   LAU = 71.0 dB   solo audible = 71.0 dB
# El ultrasonido infla LA en 7,6 dB; AU recupera el nivel audible.
```

El ultrasonido solo llega a un filtro digital si la frecuencia de muestreo lo
captura, así que mide a 96 kHz o más (a 48 kHz no hay nada por encima de
24 kHz que rechazar); el diseño AU sobremuestrea internamente hacia 288 kHz
para mantener preciso el corte abrupto de U. Los niveles se expresan como
$L_\mathrm{AU}$. La implementación sigue exactamente las posiciones de polos
de la Tabla 2 (reproducen todos los valores nominales de la Tabla 1 dentro
de 0,05 dB) y se verifica en CI contra las tolerancias de la Tabla 1 hasta
40 kHz.

La frecuencia de muestreo es solo el segundo requisito. El primero es el
micrófono, y la aritmética anterior solo se sostiene si la cápsula y la interfaz
entregaron de verdad la componente de 25 kHz con una respuesta conocida. La
introducción de IEC 61012 plantea el problema sin rodeos: un sonómetro cuya
respuesta llegue por casualidad hasta la frecuencia de trabajo del equipo
ultrasónico da lecturas *infladas* de la parte audible, que es justo lo que la U
existe para evitar; y cuando hay que cuantificar la propia componente
ultrasónica, esa misma introducción pide un sistema de micrófono del que se
sepa que su respuesta en frecuencia llega al menos hasta esa frecuencia de
trabajo. En la práctica eso significa una cápsula de 1/4 o de 1/8 de pulgada en
vez de la de 1/2 pulgada que se usa para el trabajo audible: una cápsula de 1/2
pulgada ya está cayendo y es fuertemente direccional por encima de 20 kHz, así
que sería ella, y no el filtro U, la que decidiría la lectura. Comprueba también
el convertidor: una interfaz que corre a 96 kHz pero filtra el aliasing a 20 kHz
no mide nada que rechazar. Y como el campo próximo de estos equipos cambia
varios decibelios en unos pocos centímetros, toma la lectura en la posición de
la cabeza del operador y déjalo anotado. Informa el $L_\mathrm{AU}$
junto con el nivel sin ponderar de la componente ultrasónica y el tipo de
cápsula: separar esas dos cosas es todo el sentido de la ponderación AU.

## 3. Verificación de clase: B y AU sí, G y D no

Solo dos de las cuatro curvas de esta página pueden devolver un veredicto de
clase, porque solo dos tienen tablas de tolerancias publicadas.
El verificador `verify_weighting_class`, descrito en la sección 6 de
[Ponderación frecuencial](/phonometry/es/signals/levels/weighting/), también cubre
las curvas de esta guía que tienen tablas de tolerancias publicadas. Para `B`
usa ANSI S1.4-1983 (objetivos de diseño de
la Tabla IV, límites de la Tabla V) y los veredictos de «clase» se leen como
los **Tipos** de instrumento 1 y 2 de la norma. Para `AU` usa la Tabla 1 de
IEC 61012:1990 (A nominal + U nominal con las tolerancias de filtro como
unidad separada, cero en la referencia de 1 kHz); IEC 61012 publica un único
juego de tolerancias, así que ambos márgenes coinciden y el veredicto es
simplemente conforme (1) o no (`None`) — ten en cuenta que comprobar las
filas por encima de 20 kHz requiere `fs` ≥ 96 kHz (por debajo se descartan y
el veredicto queda `range_limited`). `G` y `D` se rechazan: ISO 7196 define
una única tolerancia de ±1 dB sin estructura de clases y la retirada IEC 537
no dejó tabla de tolerancias (ambas curvas se anclan numéricamente en el
informe de conformidad de CI).

## Qué cubre esta guía

ISO 7196:1995 para la curva G (valores de polo/cero de la Tabla 1, verificados
frente a todos los valores nominales de la Tabla 2). ANSI S1.4-1983 para la
curva histórica B (definición del Apéndice C, objetivos de diseño de la Tabla
IV, límites de tolerancia de la Tabla V). IEC 61012:1990 para AU (el paso bajo
U de la Tabla 2 en cascada con A, verificado frente a la Tabla 1). IEC
537:1976 para la curva D de ruido de aeronaves, retirada, implementada desde
su función de transferencia publicada y contrastada con dos implementaciones
independientes.

`verify_weighting_class` no produce un veredicto de clase para G ni para D:
ISO 7196 define una única tolerancia de ±1 dB sin estructura de clases, y la
retirada IEC 537 no dejó tabla de tolerancias. Ambas curvas se anclan
numéricamente a sus tablas publicadas en el informe de conformidad de CI en su
lugar, no a través de este verificador público. B y D se ofrecen solo para
datos históricos y códigos nacionales antiguos; ninguna es práctica actual
(IEC 61672-1 sustituyó a B, y la certificación de ruido de aeronaves informa
hoy el EPNL o niveles con ponderación A simples en lugar de D).

## Véase también

- [Ponderación frecuencial](/phonometry/es/signals/levels/weighting/): las curvas A,
  C y Z, el diseño `high_accuracy` y la verificación de clase frente a la
  Tabla 3 de IEC 61672-1 sobre las que se apoyan estas curvas.
- Referencia de la API: [`filters.weighting`](/phonometry/es/reference/api/filters/weighting/) y [`filters.compliance`](/phonometry/es/reference/api/filters/compliance/).
- Teoría: [Ponderación G (ISO 7196)](/phonometry/es/reference/theory/signal-analysis/#ponderación-g-iso-7196): la curva G de ISO 7196 y de dónde viene su normalización.

## Respuestas rápidas

### ¿Qué ponderación debo usar para infrasonido por debajo de 20 Hz?

Usa la ponderación frecuencial G de ISO 7196:1995, que valora el infrasonido
igual que la ponderación A valora el ruido audible. Normalizada a 0 dB a
10 Hz, sube a 12 dB/octava entre 1 Hz y 20 Hz aproximadamente, cae a
24 dB/octava por encima de 20 Hz y vuelve a caer a 24 dB/octava por debajo de
1 Hz aproximadamente. Aplícala a fuentes como aerogeneradores, climatización y
voladuras, y expresa los niveles como $L_{p\mathrm{G}}$ (o $L_\mathrm{Geq}$ para el nivel
equivalente). Lee el resultado contra las referencias de percepción de
ISO 7196, nunca contra un límite ponderado A: unos 100 dB(G) es el umbral
normal, por debajo de unos 90 dB(G) el infrasonido no suele ser significativo, y
un infrasonido muy fuerte ronda los 120 dB(G).
