mindspore.ops.bartlett_window
- mindspore.ops.bartlett_window(window_length, periodic=True, *, dtype=None)[source]
Bartlett window function is a triangular-shaped weighting function used for smoothing or frequency analysis of signals in digital signal processing.
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\).
\[\begin{split}w[n] = 1 - \left| \frac{2n}{N-1} - 1 \right| = \begin{cases} \frac{2n}{N - 1} & \text{if } 0 \leq n \leq \frac{N - 1}{2} \\ 2 - \frac{2n}{N - 1} & \text{if } \frac{N - 1}{2} < n < N \\ \end{cases},\end{split}\]where N is the full window size.
- 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) – Indicates whether to returns a window to be used as periodic function or a symmetric window. Default:
True
, indicating that the returned window is a periodic function.
- Keyword Arguments
dtype (mindspore.dtype, optional) – The datatype of returned tensor. Only float16, float32 and float64 are 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 the type of window_length is not one of: int32, int64.
TypeError – If periodic is not a bool.
TypeError – If dtype is not one of: float16, float32, float64.
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
>>> from mindspore import Tensor, ops >>> from mindspore import dtype as mstype >>> window_length = Tensor(5, mstype.int32) >>> output = ops.bartlett_window(window_length, periodic=True, dtype=mstype.float32) >>> print(output) [0. 0.4 0.8 0.8 0.4]