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 asL^2 * 10^(-6 t / T)and matches the total band energy:E = L^2 * T * fs / (6 ln 10), henceL = sqrt(6 ln(10) E / (T fs)). This replaces the DecayFitNet initial-level estimate used in the MATLABexample_RIR2FDN.- Parameters:
ir (array-like, 1-D) – Impulse response, starting at the onset.
rt (array-like) – RT in seconds per band, as returned by
estimate_rt_bands()with the same band parameters.fs (float) – Sampling rate in Hz.
fc (
float) – Octave filterbank parameters, seeestimate_rt_bands().start (
float) – Octave filterbank parameters, seeestimate_rt_bands().n (
int) – Octave filterbank parameters, seeestimate_rt_bands().filter_order (
int) – Octave filterbank parameters, seeestimate_rt_bands().
- Return type:
- Returns:
level ((n_bands,) ndarray) – Initial level (linear amplitude) per band.
f_centre ((n_bands,) ndarray) – Centre frequencies in Hz corresponding to each level.