评价此页

torch.hann_window#

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

Hann window function。

w[n]=12 [1cos(2πnN1)]=sin2(πnN1),w[n] = \frac{1}{2}\ \left[1 - \cos \left( \frac{2 \pi n}{N - 1} \right)\right] = \sin^2 \left( \frac{\pi n}{N - 1} \right),

其中 NN 是完整窗口的大小。

输入 window_length 是一个正整数,用于控制返回窗口的大小。 periodic 标志决定了返回的窗口是否会截掉对称窗口的最后一个重复值,以便与 torch.stft() 等函数一起使用作为周期性窗口。因此,如果 periodic 为 True,则上述公式中的 NN 实际上是 window_length+1\text{window\_length} + 1。此外,我们始终有 torch.hann_window(L, periodic=True) 等于 torch.hann_window(L + 1, periodic=False)[:-1])

注意

如果 window_length =1=1,则返回的窗口包含一个值 1。

参数
  • window_length (int) – 返回窗口的大小

  • periodic (bool, optional) – 如果为 True,则返回一个用作周期性函数的窗口。如果为 False,则返回一个对称窗口。

关键字参数
  • dtype (torch.dtype, optional) – 返回张量的期望数据类型。默认值:如果 None,则使用全局默认值(参见 torch.set_default_dtype())。仅支持浮点类型。

  • layout (torch.layout, optional) – 返回窗口张量的期望布局。仅支持 torch.strided(密集布局)。

  • device (torch.device, optional) – 返回张量的期望设备。默认值:如果 None,则使用当前设备作为默认张量类型(参见 torch.set_default_device())。对于 CPU 张量类型,device 为 CPU;对于 CUDA 张量类型,device 为当前 CUDA 设备。

  • requires_grad (bool, optional) – 是否应由 autograd 记录返回张量上的操作。默认值:False

返回

一个大小为 (window_length,)(\text{window\_length},) 的一维张量,包含窗口

返回类型

张量