評價此頁

torch.kaiser_window#

torch.kaiser_window(window_length, periodic=True, beta=12.0, *, dtype=None, layout=torch.strided, device=None, requires_grad=False) Tensor#

計算具有 window_length 視窗長度和 beta 形態引數的 Kaiser 窗。

令 I_0 為第一類零階修正貝塞爾函式(參見 torch.i0()),且當 periodic 為 False 時 N = L - 1,當 periodic 為 True 時 N = L,其中 Lwindow_length。此函式計算:

outi=I0(β1(iN/2N/2)2)/I0(β)out_i = I_0 \left( \beta \sqrt{1 - \left( {\frac{i - N/2}{N/2}} \right) ^2 } \right) / I_0( \beta )

呼叫 torch.kaiser_window(L, B, periodic=True) 等同於呼叫 torch.kaiser_window(L + 1, B, periodic=False)[:-1])periodic 引數旨在作為一種便捷的簡寫方式,為 torch.stft() 等函式提供週期性窗作為輸入。

注意

如果 window_length 為一,則返回的視窗是一個包含一的單元素張量。

引數
  • window_length (int) – 視窗的長度。

  • periodic (bool, optional) – 如果為 True,則返回適合用於頻譜分析的週期性視窗。如果為 False,則返回適合用於濾波器設計的對稱視窗。

  • beta (float, optional) – 視窗的形狀引數。

關鍵字引數
  • dtype (torch.dtype, optional) – 返回張量的期望資料型別。預設值:如果 None,則使用全域性預設值(參見 torch.set_default_dtype())。

  • layout (torch.layout, optional) – 返回視窗張量的目標佈局。僅支援 torch.strided(密集佈局)。

  • device (torch.device, 可選) – 返回張量的所需裝置。預設:如果為 None,則使用當前裝置作為預設張量型別(參見 torch.set_default_device())。對於 CPU 張量型別,device 將是 CPU;對於 CUDA 張量型別,device 將是當前的 CUDA 裝置。

  • requires_grad (bool, optional) – 如果 autograd 應記錄在返回的張量上的操作。預設值:False