Sliding Window. Parameters: size, step.
Fixed window is actually just another case of the Sliding window, but better to have it separately.
Usage:
As for the beginning for building FFT and STFT.
API example
stream.window(512) // will create FixedWindow
stream.window(512).sliding(128) // will create FixedWindow and then mutate it to Sliding Window.
The window function creates a different type of the Stream -- WindowStream, which has a separate API (compile time checks) and may work with the streams with the very same attributes like size and step (runtime checks and ideally also during topology build process).
The following API should be available:
Division/Multiplication by scalar value.
Sum/Subtract with another WindowStream.
Division/Multiplication with another WindowStream.
Type of windows:
Usage: As for the beginning for building FFT and STFT.
API example
The window function creates a different type of the Stream -- WindowStream, which has a separate API (compile time checks) and may work with the streams with the very same attributes like size and step (runtime checks and ideally also during topology build process).
The following API should be available: