/* An exponential window. * * Author: Steffen Vogel <post@steffenvogel.de> * SPDX-FileCopyrightText: 2014-2023 Institute for Automation of Complex Power Systems, RWTH Aachen University * SPDX-License-Identifier: Apache-2.0 */ #pragma once #include <villas/dsp/window.hpp> namespace villas { namespace dsp { template <typename T> class ExponentialWindow { protected: T a; T last; public: ExponentialWindow(T _a, T i = 0) : a(a), last(i) {} T update(T in) { last = a * in + (1 - a) * last; return last; } }; } // namespace dsp } // namespace villas