pyFDN.estimate_initial_level_bands#

pyFDN.estimate_initial_level_bands(ir, rt, fs, fc=1000.0, start=-4.0, n=8, filter_order=8)[source]#

Estimate the initial level of the exponential decay per octave band.

Companion to estimate_rt_bands() (same octave filterbank). Models the squared band-filtered impulse response as L^2 * 10^(-6 t / T) and matches the total band energy: E = L^2 * T * fs / (6 ln 10), hence L = sqrt(6 ln(10) E / (T fs)). This replaces the DecayFitNet initial-level estimate used in the MATLAB example_RIR2FDN.

Parameters:
Return type:

tuple[ndarray, ndarray]

Returns:

  • level ((n_bands,) ndarray) – Initial level (linear amplitude) per band.

  • f_centre ((n_bands,) ndarray) – Centre frequencies in Hz corresponding to each level.