diff --git a/common/include/villas/dsp/window.hpp b/common/include/villas/dsp/window.hpp index d3d5f7a84..e6568c41a 100644 --- a/common/include/villas/dsp/window.hpp +++ b/common/include/villas/dsp/window.hpp @@ -8,7 +8,6 @@ #pragma once -#include #include namespace villas { @@ -52,9 +51,14 @@ protected: public: Window(size_type l = 0, T i = 0) : - std::deque(l, i) + Container(l, i) { } + T val(size_type pos) + { + return this->Container::operator[](pos); + } + T update(T in) { Container::push_back(in); diff --git a/common/include/villas/dsp/window_cosine.hpp b/common/include/villas/dsp/window_cosine.hpp index 85a6f1f8c..96e8e6ed9 100644 --- a/common/include/villas/dsp/window_cosine.hpp +++ b/common/include/villas/dsp/window_cosine.hpp @@ -65,6 +65,14 @@ public: // From: https://en.wikipedia.org/wiki/Window_function#Cosine-sum_windows +template +class RectangularWindow : public CosineWindow { + +public: + RectangularWindow(typename Window::size_type len, T i = 0) : + CosineWindow(1, 0., 0., 0., 0., len, i) {} +}; + template class HannWindow : public CosineWindow {