- initial version
git-svn-id: http://moon:8086/svn/software/trunk/libsrc/cpp@90 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
/*
|
||||
* File: FirComplex.hpp
|
||||
* Author: jens
|
||||
*
|
||||
* Created on 20. Dezember 2014, 08:12
|
||||
*/
|
||||
|
||||
#ifndef FIRCOMPLEX_HPP
|
||||
#define FIRCOMPLEX_HPP
|
||||
|
||||
#include "Vector.hpp"
|
||||
|
||||
namespace Radio
|
||||
{
|
||||
|
||||
class FirComplex
|
||||
{
|
||||
public:
|
||||
FirComplex(uint32_t numTaps = 0)
|
||||
: m_numTaps(numTaps)
|
||||
, m_x(numTaps)
|
||||
{
|
||||
}
|
||||
virtual ~FirComplex()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void setNumTaps(uint32_t numTaps)
|
||||
{
|
||||
m_numTaps = numTaps;
|
||||
m_x.resize(numTaps);
|
||||
// m_x.fill(ComplexScalar(0,0));
|
||||
}
|
||||
|
||||
void feed(ComplexScalar const &x)
|
||||
{
|
||||
// m_x.reverse().head(m_numTaps-1) = m_x.reverse().tail(m_numTaps-1);
|
||||
|
||||
m_x.reverse() << m_x.head(m_numTaps-1).reverse(), x;
|
||||
// m_x(0) = x;
|
||||
}
|
||||
|
||||
ComplexScalar process(CVec const &coeff)
|
||||
{
|
||||
return m_x.transpose() * coeff.conjugate();
|
||||
}
|
||||
|
||||
protected:
|
||||
uint32_t m_numTaps;
|
||||
CVec m_x;
|
||||
|
||||
};
|
||||
|
||||
} // ::Radio
|
||||
|
||||
#endif /* FIRCOMPLEX_HPP */
|
||||
|
||||
Reference in New Issue
Block a user