评价此页

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