weighting_response — ACOUSTICS level op

資料種類:signalsignal

呼叫:import acoustics; acoustics.weighting_response(freqs, kind='A', floor_db=-200.0)(或 opsacoustics.get("weighting_response"))

用法

給定頻率處的 A / C / Z 頻率加權曲線 [dB]。

> 以下的詳細說明為原文 —— 摘要與標題已翻譯。

Computed from the four pole frequencies that *define* the networks and

normalised so that the response at 1 kHz is exactly 0 dB by construction

— the curve is divided by its own value at 1 kHz rather than having a

published offset constant added to it. That is why the tests can assert

equality at 1 kHz to 0.0 rather than to a tolerance, and why no standard's

table of attenuations appears anywhere in this repository.

The response depends on `f only through f**2`, so it is an even

function and negative frequencies are evaluated at `|f|` — that is the

definition, not a repair. `f = 0` has zero response (both curves have a

zero at DC) and is reported as `floor_db rather than -inf`.

Measured (computed, then printed — these are outputs, not transcriptions):

======== ========= =========

f (Hz) A (dB) C (dB)

======== ========= =========

10 -70.4304 -14.3300

31.5 -39.5250 -3.0305

100 -19.1428 -0.2996

1000 0.0000 0.0000

4000 0.9633 -0.8260

10000 -2.4918 -4.4055

20000 -9.3469 -11.2786

======== ========= =========

`A(1000) and C(1000) are exactly 0.0` — the Python float, not a

rounding — because of the construction. The low-frequency asymptote is a

closed form and is asserted in the tests: `A` falls at exactly

80 dB/decade as `f -> 0 (f**4 over three constants) and C` at

exactly 40 dB/decade (`f**2`). Measured between 0.001 and 0.01 Hz with the

floor lowered out of the way: 79.999998 and 39.999998 dB/decade.

That last caveat is real and is why the floor is an argument: with the

default `floor_db = -200` the A curve reaches the floor below about

0.35 Hz (unfloored, `A(0.1) = -228.55` dB), so the asymptote measured

against the default floor comes out as 0.0 dB/decade between 0.01 and

0.1 Hz — a clamp, correctly reported, that would look like a bug if the

floor were not visible.

Returns a float64 array the same shape as *freqs*.

Raises `ValueError`: a non-1-D / non-finite / complex / masked

`freqs, an unknown kind`.

詳細使用指南

acoustic_condition_monitoring 族使用指南

參考(範例資料・文獻)

• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。

• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。

• 演算法的正典(作者・年份)與用途見上面的族使用指南

可執行的範例(實際呼叫該運算子並已驗證的樣例)

acoustic_condition_monitoringpy -3.11 examples/acoustic_condition_monitoring.py

型別可銜接的下一個運算子(可接受 signal 作為輸入)

stft · envelope_spectrum · spectral_kurtosis · cepstrum · angular_resample · order_spectrum · octave_spectrum · apply_weighting

同類別(level)

octave_bands · octave_spectrum · apply_weighting · equivalent_level · percentile_level


*Provenance: acoustics.py — ACOUSTICS 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.