As três curvas
O Spectra implementa as curvas de ponderação A, C e Z exatamente como definidas pelo IEC 61672-1, Anexo E1 — a norma internacional para medidores de nível sonoro:
- A — aproxima a sensibilidade do ouvido humano em níveis moderados; atenua fortemente graves e agudos extremos. É a ponderação usada em quase toda legislação de ruído (inclusive OSHA e NR-15).
- C — quase plana, com queda suave só nos extremos; usada para medir picos e conteúdo de baixa frequência que a ponderação A esconderia.
- Z (zero/linear) — ganho constante de 0 dB em toda a faixa, sem filtro nenhum.
As fórmulas
Ambas as curvas nascem de quatro frequências de polo fixas e duas constantes de normalização (ganho 0 dB em 1 kHz):
Ponderação Z: Z(f) = 0 para todo f — sem filtro algum.
Valores de referência
O pacote de testes do Spectra confere a curva calculada contra a Tabela 2 do IEC 61672-11 em frequências-chave:
| Frequência | A (dB) | Frequência | C (dB) |
|---|---|---|---|
| 10 Hz | −70,4 | 31,5 Hz | −3,0 |
| 100 Hz | −19,1 | 1000 Hz | 0,0 |
| 1000 Hz | 0,0 | 4000 Hz | −0,8 |
| 4000 Hz | +1,0 | 8000 Hz | −3,0 |
| 10000 Hz | −2,5 | — | — |
Aplicação por bin
Ponderar não é aplicar a curva ao número final em dB — é aplicar o ganho, convertido para multiplicador de potência linear, a cada bin da FFT antes de somar:
Fazer a média em dB direto (em vez de somar potências) não é fisicamente significativo — por isso todo o pipeline do Spectra, da ponderação ao Leq, opera em potência linear e só converte para dB no último passo.
Por que uma tabela pré-computada (BinWeighting)
Calcular A(f)/C(f) — que envolve raízes quadradas e
logaritmos — para cada bin a cada quadro custaria caro: uma FFT de 2048 pontos a
30 quadros por segundo passa de 100 mil avaliações transcendentais por segundo.
O BinWeighting pré-computa, uma vez por configuração de FFT, uma tabela
de multiplicadores lineares por bin dentro da faixa audível (20 Hz–20 kHz — bins fora
dela são excluídos da soma, não apenas atenuados), e resolve a soma ponderada com uma
única chamada vetorizada (vDSP_dotpr para A/C, vDSP_sve para
Z). Um teste dedicado confirma que essa versão otimizada bate, bin a bin, com o laço
ingênuo que chama a fórmula transcendental diretamente.