Skip to contents

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.