torch.signal.windows.kaiser¶
- torch.signal.windows.kaiser(M, *, beta=12.0, sym=True, dtype=None, layout=torch.strided, device=None, requires_grad=False)[source][source]¶
計算 Kaiser 視窗。
Kaiser 視窗定義如下:
其中
I_0是第一類零階修正貝塞爾函式(參見torch.special.i0()),如果sym為 True 則N = M - 1,否則為M。視窗被歸一化到 1(最大值為 1)。但是,如果
M是偶數且sym為 True,則不會出現 1。- 引數
M (int) – 視窗的長度。換句話說,返回視窗的點數。
- 關鍵字引數
beta (float, optional) – 視窗的形狀引數。必須是非負數。預設值: 12.0
sym (bool, optional) – 如果為 False,則返回適用於頻譜分析的週期性視窗。如果為 True,則返回適用於濾波器設計的對稱視窗。預設值: True。
dtype (
torch.dtype, optional) – 返回張量的期望資料型別。預設值: 如果None,則使用全域性預設值(參見torch.set_default_dtype())。layout (
torch.layout, optional) – 返回張量的期望佈局。預設值:torch.strided。device (
torch.device, optional) – 返回張量的期望裝置。預設值: 如果None,則使用預設張量型別的當前裝置(參見torch.set_default_device())。device對於 CPU 張量型別將是 CPU,對於 CUDA 張量型別將是當前的 CUDA 裝置。requires_grad (bool, optional) – 如果 autograd 應該記錄返回張量上的操作。預設值:
False。
- 返回型別
示例
>>> # Generates a symmetric gaussian window with a standard deviation of 1.0. >>> torch.signal.windows.kaiser(5) tensor([4.0065e-05, 2.1875e-03, 4.3937e-02, 3.2465e-01, 8.8250e-01, 8.8250e-01, 3.2465e-01, 4.3937e-02, 2.1875e-03, 4.0065e-05]) >>> # Generates a periodic gaussian window and standard deviation equal to 0.9. >>> torch.signal.windows.kaiser(5, sym=False,std=0.9) tensor([1.9858e-07, 5.1365e-05, 3.8659e-03, 8.4658e-02, 5.3941e-01, 1.0000e+00, 5.3941e-01, 8.4658e-02, 3.8659e-03, 5.1365e-05])