espnet.nets.pytorch_backend.frontends.beamformer.get_mvdr_vector
Less than 1 minute
espnet.nets.pytorch_backend.frontends.beamformer.get_mvdr_vector
espnet.nets.pytorch_backend.frontends.beamformer.get_mvdr_vector(psd_s: ComplexTensor, psd_n: ComplexTensor, reference_vector: Tensor, eps: float = 1e-15) → ComplexTensor
Return the MVDR(Minimum Variance Distortionless Response) vector:
h = (Npsd^-1 @ Spsd) / (Tr(Npsd^-1 @ Spsd)) @ u
Reference: : On optimal frequency-domain multichannel linear filtering for noise reduction; M. Souden et al., 2010; https://ieeexplore.ieee.org/document/5089420
- Parameters:
- psd_s (ComplexTensor) – (…, F, C, C)
- psd_n (ComplexTensor) – (…, F, C, C)
- reference_vector (torch.Tensor) – (…, C)
- eps (float)
- Returns: (…, F, C)
- Return type: beamform_vector (ComplexTensor)r