mindspore.ops.hann_window

mindspore.ops.hann_window(window_length, periodic=True, *, dtype=None)[源代码]

生成一个Hann window。

Hann window定义:

\[w(n) = \frac{1}{2} - \frac{1}{2} \cos\left(\frac{2\pi{n}}{M-1}\right),\qquad 0 \leq n \leq M-1\]
参数:
  • window_length (int) - 输出window的大小。

  • periodic (bool, 可选) - 如果为True,则返回周期性window用于进行谱线分析。如果为False,则返回对称的window用于设计滤波器。默认值:True。

关键字参数:
  • dtype (mindspore.dtype, 可选) - 输出window的数据类型,必须为float。默认值:None。

返回:

Tensor,一个Hann window。

异常:
  • TypeError - 如果 window_length 不是整数。

  • TypeError - 如果 periodic 不是布尔类型。

  • ValueError - 如果 window_length 小于零。

支持平台:

Ascend GPU CPU

样例:

>>> window_length = 5
>>> out = ops.hann_window(window_length)
>>> print(out.asnumpy())
[0.        0.3454915 0.9045085 0.9045085 0.3454915]