espnet2.enh.layers.beamformer.get_lcmv_vector_with_rtf
Less than 1 minute
espnet2.enh.layers.beamformer.get_lcmv_vector_with_rtf
espnet2.enh.layers.beamformer.get_lcmv_vector_with_rtf(psd_n: Tensor | ComplexTensor, rtf_mat: Tensor | ComplexTensor, reference_vector: int | Tensor | None = None, diagonal_loading: bool = True, diag_eps: float = 1e-07, eps: float = 1e-08) → Tensor | ComplexTensor
Return the LCMV (Linearly Constrained Minimum Variance) vector : calculated with RTF: <br/> h = (Npsd^-1 @ rtf_mat) @ (rtf_mat^H @ Npsd^-1 @ rtf_mat)^-1 @ p
Reference: : H. L. Van Trees, “Optimum array processing: Part IV of detection, estimation, and modulation theory,” John Wiley & Sons, 2004. (Chapter 6.7)
- Parameters:
- psd_n (torch.complex64/ComplexTensor) – observation/noise covariance matrix (…, F, C, C)
- rtf_mat (torch.complex64/ComplexTensor) – RTF matrix (…, F, C, num_spk)
- reference_vector (torch.Tensor or int) – (…, num_spk) or scalar
- 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)