Classical scalar Wiener gain in the rFFT domain:
H(f) = Pxx(f) / (Pxx(f) + Pnn(f)). With noise_psd = NULL the
noise PSD is assumed flat at noise_fraction * mean(Pxx).
Usage
morie_dsp_wiener_filter(x, noise_psd = NULL, noise_fraction = 0.1)
Arguments
- x
Numeric vector (signal + noise).
- noise_psd
Optional noise PSD, length floor(N/2)+1.
- noise_fraction
Fallback flat-noise scale. Default 0.1.
Value
Filtered vector, length(x).
References
Rangayyan & Krishnan (2015), Ch. 3, sec. 3.5.