# tensorplay.signal.windows.hann Source: https://www.tensorplay.cn/docs/generated/tensorplay.signal.windows.hann.html ```python tensorplay.signal.windows.hann(M: int, *, sym: bool = True, dtype: dtype | None = None, layout: Layout = tensorplay.strided, device: device | None = None, requires_grad: bool = False) → Tensor ``` Computes the Hann window. The samples are $$w_n = \frac{1}{2}\ \left[1 - \cos \left( \frac{2 \pi n}{M - 1} \right)\right] = \sin^2 \left( \frac{\pi n}{M - 1} \right)$$ The window is scaled so that its largest value is 1. The value 1 itself does not occur when M is even and sym is True. Parameters: M ([int](https://docs.python.org/3/builtins/functions.html#int)) – number of points of the returned window. Keyword Arguments: - sym ([bool](https://docs.python.org/3/builtins/functions.html#bool), optional) – if False, returns a periodic window, which is the usual choice for spectral analysis. If True, returns a symmetric window, which is the usual choice for filter design. Default: True. - dtype ([tensorplay.dtype](/docs/generated/tensorplay.DType.html#tensorplay.DType), optional) – the desired data type of the returned tensor. Default: if None, uses the global default (see [tensorplay.set_default_dtype()](/docs/generated/tensorplay.set_default_dtype.html#tensorplay.set_default_dtype)). - layout ([tensorplay.Layout](/docs/generated/tensorplay.Layout.html#tensorplay.Layout), optional) – the desired layout of the returned tensor. Default: tensorplay.strided. - device ([tensorplay.device](/docs/generated/tensorplay.Device.html#tensorplay.Device), optional) – the desired device of the returned tensor. Default: if None, uses the current default tensor device (see [tensorplay.set_default_device()](/docs/generated/tensorplay.set_default_device.html#tensorplay.set_default_device)). - requires_grad ([bool](https://docs.python.org/3/builtins/functions.html#bool), optional) – whether autograd should record operations on the returned tensor. Default: False. Examples: ``` >>> # Symmetric Hann window. >>> tensorplay.signal.windows.hann(10) tensor([0., 0.117, 0.4132, 0.75, 0.9698, 0.9698, 0.75, 0.4132, 0.117, 0.]) >>> # Periodic Hann window. >>> tensorplay.signal.windows.hann(10, sym=False) tensor([0., 0.0955, 0.3455, 0.6545, 0.9045, 1., 0.9045, 0.6545, 0.3455, 0.0955]) ```