1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2025-05-24 11:12:27 -04:00

DownChannelizer: use more efficient double buffer half band decvimator

This commit is contained in:
f4exb 2016-11-01 17:57:46 +01:00
parent 5d5593bda7
commit 86c148ab10
2 changed files with 7 additions and 7 deletions

View File

@ -187,20 +187,20 @@ void DownChannelizer::applyConfiguration()
} }
DownChannelizer::FilterStage::FilterStage(Mode mode) : DownChannelizer::FilterStage::FilterStage(Mode mode) :
m_filter(new IntHalfbandFilter<DOWNCHANNELIZER_HB_FILTER_ORDER>), m_filter(new IntHalfbandFilterDB<DOWNCHANNELIZER_HB_FILTER_ORDER>),
m_workFunction(0) m_workFunction(0)
{ {
switch(mode) { switch(mode) {
case ModeCenter: case ModeCenter:
m_workFunction = &IntHalfbandFilter<DOWNCHANNELIZER_HB_FILTER_ORDER>::workDecimateCenter; m_workFunction = &IntHalfbandFilterDB<DOWNCHANNELIZER_HB_FILTER_ORDER>::workDecimateCenter;
break; break;
case ModeLowerHalf: case ModeLowerHalf:
m_workFunction = &IntHalfbandFilter<DOWNCHANNELIZER_HB_FILTER_ORDER>::workDecimateLowerHalf; m_workFunction = &IntHalfbandFilterDB<DOWNCHANNELIZER_HB_FILTER_ORDER>::workDecimateLowerHalf;
break; break;
case ModeUpperHalf: case ModeUpperHalf:
m_workFunction = &IntHalfbandFilter<DOWNCHANNELIZER_HB_FILTER_ORDER>::workDecimateUpperHalf; m_workFunction = &IntHalfbandFilterDB<DOWNCHANNELIZER_HB_FILTER_ORDER>::workDecimateUpperHalf;
break; break;
} }
} }

View File

@ -23,7 +23,7 @@
#include <QMutex> #include <QMutex>
#include "util/export.h" #include "util/export.h"
#include "util/message.h" #include "util/message.h"
#include "dsp/inthalfbandfilter.h" #include "dsp/inthalfbandfilterdb.h"
#define DOWNCHANNELIZER_HB_FILTER_ORDER 48 #define DOWNCHANNELIZER_HB_FILTER_ORDER 48
@ -69,8 +69,8 @@ protected:
ModeUpperHalf ModeUpperHalf
}; };
typedef bool (IntHalfbandFilter<DOWNCHANNELIZER_HB_FILTER_ORDER>::*WorkFunction)(Sample* s); typedef bool (IntHalfbandFilterDB<DOWNCHANNELIZER_HB_FILTER_ORDER>::*WorkFunction)(Sample* s);
IntHalfbandFilter<DOWNCHANNELIZER_HB_FILTER_ORDER>* m_filter; IntHalfbandFilterDB<DOWNCHANNELIZER_HB_FILTER_ORDER>* m_filter;
WorkFunction m_workFunction; WorkFunction m_workFunction;
FilterStage(Mode mode); FilterStage(Mode mode);