pub fn fft_deconvolve<T: Sample>(
numerator: &NonEmptySlice<T>,
denominator: &NonEmptySlice<T>,
regularization: f64,
) -> SpectrogramResult<NonEmptyVec<T>>Expand description
Regularised spectral-division deconvolution of two real signals.
Computes Y(f) = N(f)·conj(D(f)) / (|D(f)|² + ε) where ε = regularization · max|D(f)|², then inverse-transforms. With regularization = 0.0 this is a
pure inverse filter; small positive values stabilise division near spectral
nulls of the denominator. Output length is numerator.len() - denominator.len() + 1 (clamped to at least 1).
The numerator is expected to be the full linear-convolution output of the original signal and the denominator; passing a shorter numerator may introduce circular-aliasing artifacts.
§Errors
Propagates any FFT/IFFT failure from the underlying plan.