torchaudio.functional.mvdr_weights_souden¶
- torchaudio.functional.mvdr_weights_souden(psd_s: Tensor, psd_n: Tensor, reference_channel: Union[int, Tensor], diagonal_loading: bool = True, diag_eps: float = 1e-07, eps: float = 1e-08) Tensor[source]¶
使用 Souden 等人 [Capon, 1969] 提出的方法計算最小方差無失真響應 (MVDR [Capon, 1969]) 波束形成權重。 [Souden et al., 2009]
給定目標語音的功率譜密度 (PSD) 矩陣 \(\bf{\Phi}_{\textbf{SS}}\)、噪聲的 PSD 矩陣 \(\bf{\Phi}_{\textbf{NN}}\) 以及代表參考通道的獨熱向量 \(\bf{u}\),該方法計算 MVDR 波束形成權重矩陣 \(\textbf{w}_{\text{MVDR}}\)。公式定義如下:
\[\textbf{w}_{\text{MVDR}}(f) = \frac{{{\bf{\Phi}_{\textbf{NN}}^{-1}}(f){\bf{\Phi}_{\textbf{SS}}}}(f)} {\text{Trace}({{{\bf{\Phi}_{\textbf{NN}}^{-1}}(f) \bf{\Phi}_{\textbf{SS}}}(f))}}\bm{u} \]- 引數:
psd_s (torch.Tensor) – 目標語音的複數值功率譜密度 (PSD) 矩陣。張量的維度為 (…, freq, channel, channel)。
psd_n (torch.Tensor) – 噪聲的複數值功率譜密度 (PSD) 矩陣。張量的維度為 (…, freq, channel, channel)。
reference_channel (int 或 torch.Tensor) – 指定參考通道。如果資料型別是
int,它表示參考通道的索引。如果資料型別是torch.Tensor,其形狀為 (…, channel),其中channel維度是獨熱的。diagonal_loading (bool, 可選) – 如果是
True,則啟用對psd_n應用對角載入。(預設值:True)diag_eps (float, 可選) – 對角載入中乘以單位矩陣的係數。僅當
diagonal_loading設定為True時有效。(預設值:1e-7)eps (float, 可選) – 新增到波束形成權重公式分母中的值。(預設值:
1e-8)
- 返回值:
複數值的 MVDR 波束形成權重矩陣,維度為 (…, freq, channel)。
- 返回型別: