From 88b1656878b6ed88513537fc30929803ab4d335d Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Wed, 15 Jun 2022 10:05:11 +0000 Subject: [PATCH] - added feed() from array - added feed() from Processor::Buffer git-svn-id: http://moon:8086/svn/software/trunk/libsrc/cpp@974 b431acfa-c32f-4a4a-93f1-934dc6c82436 --- radio/FirComplex.hpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/radio/FirComplex.hpp b/radio/FirComplex.hpp index cd42076..ac48148 100644 --- a/radio/FirComplex.hpp +++ b/radio/FirComplex.hpp @@ -9,6 +9,7 @@ #define _RADIO_FIRCOMPLEX_HPP_ #include +#include namespace Radio { @@ -33,11 +34,31 @@ public: m_state = ComplexScalar(0,0); } + // Feed single scalar void feed(ComplexScalar const &x) { insert_left(m_state, x); } + // Feed from array + void feed(ComplexScalar const *x, size_t len) + { + for (size_t i=0; i < len; i++) + { + feed(*(x++)); + } + } + + // Feed from Processor::Buffer + void feed(Processor::Buffer &buf_in, size_t len) + { + for (size_t i=0; i < len; i++) + { + ComplexScalar x = buf_in.readAt(0); + feed(x); + } + } + ComplexScalar process(CVec const &coeff) { return trans(m_state) * conj(coeff);