Files
cpp/radio/FirComplex.hpp
T
jens f66d39c11c - refactored
- use blaze matrix library instead of Eigen

git-svn-id: http://moon:8086/svn/software/trunk/libsrc/cpp@943 b431acfa-c32f-4a4a-93f1-934dc6c82436
2022-06-11 08:56:42 +00:00

60 lines
811 B
C++

/*
* File: FirComplex.hpp
* Author: jens
*
* Created on 20. Dezember 2014, 08:12
*/
#ifndef _RADIO_FIRCOMPLEX_HPP_
#define _RADIO_FIRCOMPLEX_HPP_
#include <cpp/radio/Vector.hpp>
namespace Radio
{
class FirComplex
{
public:
FirComplex(size_t numTaps = 0)
: m_numTaps(numTaps)
, m_state(numTaps)
{
}
virtual ~FirComplex()
{
}
void setNumTaps(size_t numTaps)
{
m_numTaps = numTaps;
m_state.resize(numTaps);
m_state = ComplexScalar(0,0);
}
void feed(ComplexScalar const &x)
{
insert_left(m_state, x);
}
ComplexScalar process(CVec const &coeff)
{
return ctrans(m_state) * coeff;
}
ComplexScalar processReal(RVec const &coeff)
{
return trans(m_state) * coeff;
}
protected:
size_t m_numTaps;
CVec m_state;
};
} // ::Radio
#endif /* _RADIO_FIRCOMPLEX_HPP_ */