mindspore.ops.blackman_window
- mindspore.ops.blackman_window(window_length, periodic=True, *, dtype=None)[source]
Blackman window function, usually used to extract finite signal segment for FFT.
The window_length is a input tensor which determines the returned window size, and its data should be an integer. In particular, if window_length is equal to 1, only a single value 1 exists in the returned window.
Attr periodic determines whether the returned window removes the last duplicate value from the symmetric window and prepares to be a periodic window with functions. Therefore, if attr periodic is true, the \(N\) in formula is \(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
- Keyword Arguments
dtype (mindspore.dtype, optional) – The 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:
Ascend
GPU
CPU
Examples
>>> import mindspore >>> from mindspore import Tensor, ops >>> 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]