espnet2.enh.layers.beamformer.get_gev_vector
Less than 1 minute
espnet2.enh.layers.beamformer.get_gev_vector
espnet2.enh.layers.beamformer.get_gev_vector(psd_noise: Tensor | ComplexTensor, psd_speech: Tensor | ComplexTensor, mode='power', reference_vector: int | Tensor = 0, iterations: int = 3, diagonal_loading: bool = True, diag_eps: float = 1e-07, eps: float = 1e-08) → Tensor | ComplexTensor
Return the generalized eigenvalue (GEV) beamformer vector:
psd_speech @ h = lambda * psd_noise @ h
Reference: : Blind acoustic beamforming based on generalized eigenvalue decomposition; E. Warsitz and R. Haeb-Umbach, 2007.
- Parameters:
- psd_noise (torch.complex64/ComplexTensor) – noise covariance matrix (…, F, C, C)
- psd_speech (torch.complex64/ComplexTensor) – speech covariance matrix (…, F, C, C)
- mode (str) – one of (“power”, “evd”) “power”: power method “evd”: eigenvalue decomposition (only for torch builtin complex tensors)
- reference_vector (torch.Tensor or int) – (…, C) or scalar
- iterations (int) – number of iterations in power method
- diagonal_loading (bool) – Whether to add a tiny term to the diagonal of psd_n
- diag_eps (float)
- eps (float)
- Returns: (…, F, C)
- Return type: beamform_vector (torch.complex64/ComplexTensor)