mindspore.ops.blackman_window

mindspore.ops.blackman_window(window_length, periodic=True, *, dtype=None)[source]

Blackman window function.

The input window_length is a tensor with datatype int, it determines the returned window size. In particular, if window_length is equal to 1, the returned window contains a single value 1. Attr periodic determines whether the returned window trims off the last duplicate value from the symmetric window and is ready to be used as a periodic window with functions. Therefore, if attr periodic is true, the \(N\) in formula is in fact \(window\_length + 1\).

\[w[n] = 0.42 - 0.5 cos(\frac{2\pi n}{N - 1}) + 0.08 cos(\frac{4\pi n}{N - 1})\]

where N is the full window size, and n is natural number less than N:[0, 1, …, N-1].

Parameters
  • window_length (Tensor) – the size of returned window, with data type int32, int64. The input data should be an integer with a value of [0, 1000000].

  • periodic (bool, optional) – If True, returns a window to be used as periodic function. If False, return a symmetric window. Default: True.

Keyword Arguments

dtype (mindspore.dtype, optional) – the desired data type of returned tensor. Only float16, float32 and float64 is allowed. Default: None.

Returns

A 1-D tensor of size window_length containing the window. Its datatype is set by the attr dtype. If ‘dtype’ is None, output datatype is float32.

Raises
  • TypeError – If window_length is not a Tensor.

  • TypeError – If periodic is not a bool.

  • TypeError – If dtype is not one of: float16, float32, float64.

  • TypeError – If the type of window_length is not one of: int32, int64.

  • ValueError – If the value range of window_length is not [0, 1000000].

  • ValueError – If the dimension of window_length is not 0.

Supported Platforms:

GPU CPU

Examples

>>> window_length = Tensor(10, mindspore.int32)
>>> output = ops.blackman_window(window_length, periodic=True, dtype=mindspore.float32)
>>> print(output)
[-2.9802322e-08  4.0212840e-02  2.0077014e-01  5.0978714e-01
  8.4922993e-01  1.0000000e+00  8.4922981e-01  5.0978690e-01
  2.0077008e-01  4.0212870e-02]