From 3410d289d1ed538b648b3f9d185cd52f257af2fa Mon Sep 17 00:00:00 2001 From: f4exb Date: Sat, 5 Nov 2016 21:52:13 +0100 Subject: [PATCH] Use even/odd FIR filter based half band decimators for the device decimators --- sdrbase/dsp/decimators.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/sdrbase/dsp/decimators.h b/sdrbase/dsp/decimators.h index f1565c31f..c09c94210 100644 --- a/sdrbase/dsp/decimators.h +++ b/sdrbase/dsp/decimators.h @@ -18,7 +18,11 @@ #define INCLUDE_GPL_DSP_DECIMATORS_H_ #include "dsp/dsptypes.h" +#ifdef USE_SIMD +#include "dsp/inthalfbandfiltereo1.h" +#else #include "dsp/inthalfbandfilterdb.h" +#endif #define DECIMATORS_HB_FILTER_ORDER 48 @@ -120,12 +124,21 @@ public: void decimate64_cen(SampleVector::iterator* it, const T* buf, qint32 len); private: +#ifdef USE_SIMD + IntHalfbandFilterEO1 m_decimator2; // 1st stages + IntHalfbandFilterEO1 m_decimator4; // 2nd stages + IntHalfbandFilterEO1 m_decimator8; // 3rd stages + IntHalfbandFilterEO1 m_decimator16; // 4th stages + IntHalfbandFilterEO1 m_decimator32; // 5th stages + IntHalfbandFilterEO1 m_decimator64; // 6th stages +#else IntHalfbandFilterDB m_decimator2; // 1st stages IntHalfbandFilterDB m_decimator4; // 2nd stages IntHalfbandFilterDB m_decimator8; // 3rd stages IntHalfbandFilterDB m_decimator16; // 4th stages IntHalfbandFilterDB m_decimator32; // 5th stages IntHalfbandFilterDB m_decimator64; // 6th stages +#endif }; template