espnet2.enh.layers.beamformer_th.get_gev_vector
Less than 1 minute
espnet2.enh.layers.beamformer_th.get_gev_vector
espnet2.enh.layers.beamformer_th.get_gev_vector(psd_noise: Tensor, psd_speech: Tensor, mode='power', reference_vector: int | Tensor = 0, iterations: int = 3, diagonal_loading: bool = True, diag_eps: float = 1e-07, eps: float = 1e-08) → Tensor
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) – noise covariance matrix (…, F, C, C)
- psd_speech (torch.complex64) – speech covariance matrix (…, F, C, C)
- mode (str) – one of (“power”, “evd”) “power”: power method “evd”: eigenvalue decomposition
- 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)