- 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
This commit is contained in:
@@ -16,7 +16,7 @@ namespace Radio
|
||||
class FirComplex
|
||||
{
|
||||
public:
|
||||
FirComplex(uint32_t numTaps = 0)
|
||||
FirComplex(size_t numTaps = 0)
|
||||
: m_numTaps(numTaps)
|
||||
, m_state(numTaps)
|
||||
{
|
||||
@@ -26,32 +26,31 @@ public:
|
||||
|
||||
}
|
||||
|
||||
void setNumTaps(uint32_t numTaps)
|
||||
void setNumTaps(size_t numTaps)
|
||||
{
|
||||
m_numTaps = numTaps;
|
||||
m_state.resize(numTaps);
|
||||
m_state.fill(ComplexScalar(0,0));
|
||||
m_state = ComplexScalar(0,0);
|
||||
}
|
||||
|
||||
void feed(ComplexScalar const &x)
|
||||
{
|
||||
m_state.reverse() << m_state.head(m_numTaps-1).reverse(), x;
|
||||
insert_left(m_state, x);
|
||||
}
|
||||
|
||||
ComplexScalar process(CVec const &coeff)
|
||||
{
|
||||
return m_state.transpose() * coeff.conjugate();
|
||||
return ctrans(m_state) * coeff;
|
||||
}
|
||||
|
||||
ComplexScalar processReal(RVec const &coeff)
|
||||
{
|
||||
return m_state.transpose() * coeff;
|
||||
return trans(m_state) * coeff;
|
||||
}
|
||||
|
||||
protected:
|
||||
uint32_t m_numTaps;
|
||||
size_t m_numTaps;
|
||||
CVec m_state;
|
||||
|
||||
};
|
||||
|
||||
} // ::Radio
|
||||
|
||||
Reference in New Issue
Block a user