mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-02-03 09:44:01 -05:00
Use always 16 bit DSP on Tx side
This commit is contained in:
parent
2ddcb8c358
commit
61a16eade9
@ -18,15 +18,11 @@
|
||||
#define INCLUDE_GPL_DSP_INTERPOLATORS_H_
|
||||
|
||||
#include "dsp/dsptypes.h"
|
||||
#ifdef SDR_TX_SAMPLE_24BIT
|
||||
#include "dsp/inthalfbandfilterdb.h"
|
||||
#else
|
||||
#ifdef USE_SSE4_1
|
||||
#include "dsp/inthalfbandfiltereo1.h"
|
||||
#else
|
||||
#include "dsp/inthalfbandfilterdb.h"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define INTERPOLATORS_HB_FILTER_ORDER_FIRST 64
|
||||
#define INTERPOLATORS_HB_FILTER_ORDER_SECOND 32
|
||||
@ -118,14 +114,6 @@ public:
|
||||
void interpolate64_cen(SampleVector::iterator* it, T* buf, qint32 len);
|
||||
|
||||
private:
|
||||
#ifdef SDR_TX_SAMPLE_24BIT
|
||||
IntHalfbandFilterDB<qint64, INTERPOLATORS_HB_FILTER_ORDER_FIRST> m_interpolator2; // 1st stages
|
||||
IntHalfbandFilterDB<qint64, INTERPOLATORS_HB_FILTER_ORDER_SECOND> m_interpolator4; // 2nd stages
|
||||
IntHalfbandFilterDB<qint64, INTERPOLATORS_HB_FILTER_ORDER_NEXT> m_interpolator8; // 3rd stages
|
||||
IntHalfbandFilterDB<qint64, INTERPOLATORS_HB_FILTER_ORDER_NEXT> m_interpolator16; // 4th stages
|
||||
IntHalfbandFilterDB<qint64, INTERPOLATORS_HB_FILTER_ORDER_NEXT> m_interpolator32; // 5th stages
|
||||
IntHalfbandFilterDB<qint64, INTERPOLATORS_HB_FILTER_ORDER_NEXT> m_interpolator64; // 6th stages
|
||||
#else
|
||||
#ifdef USE_SSE4_1
|
||||
IntHalfbandFilterEO1<INTERPOLATORS_HB_FILTER_ORDER_FIRST> m_interpolator2; // 1st stages
|
||||
IntHalfbandFilterEO1<INTERPOLATORS_HB_FILTER_ORDER_SECOND> m_interpolator4; // 2nd stages
|
||||
@ -141,7 +129,6 @@ private:
|
||||
IntHalfbandFilterDB<qint32, INTERPOLATORS_HB_FILTER_ORDER_NEXT> m_interpolator32; // 5th stages
|
||||
IntHalfbandFilterDB<qint32, INTERPOLATORS_HB_FILTER_ORDER_NEXT> m_interpolator64; // 6th stages
|
||||
#endif
|
||||
#endif
|
||||
};
|
||||
|
||||
template<typename T, uint SdrBits, uint OutputBits>
|
||||
|
@ -207,26 +207,6 @@ void UpChannelizer::applyConfiguration()
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef SDR_TX_SAMPLE_24BIT
|
||||
UpChannelizer::FilterStage::FilterStage(Mode mode) :
|
||||
m_filter(new IntHalfbandFilterDB<qint64, UPCHANNELIZER_HB_FILTER_ORDER>),
|
||||
m_workFunction(0)
|
||||
{
|
||||
switch(mode) {
|
||||
case ModeCenter:
|
||||
m_workFunction = &IntHalfbandFilterDB<qint64, UPCHANNELIZER_HB_FILTER_ORDER>::workInterpolateCenter;
|
||||
break;
|
||||
|
||||
case ModeLowerHalf:
|
||||
m_workFunction = &IntHalfbandFilterDB<qint64, UPCHANNELIZER_HB_FILTER_ORDER>::workInterpolateLowerHalf;
|
||||
break;
|
||||
|
||||
case ModeUpperHalf:
|
||||
m_workFunction = &IntHalfbandFilterDB<qint64, UPCHANNELIZER_HB_FILTER_ORDER>::workInterpolateUpperHalf;
|
||||
break;
|
||||
}
|
||||
}
|
||||
#else
|
||||
#ifdef USE_SSE4_1
|
||||
UpChannelizer::FilterStage::FilterStage(Mode mode) :
|
||||
m_filter(new IntHalfbandFilterEO1<UPCHANNELIZER_HB_FILTER_ORDER>),
|
||||
@ -266,7 +246,6 @@ UpChannelizer::FilterStage::FilterStage(Mode mode) :
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
UpChannelizer::FilterStage::~FilterStage()
|
||||
{
|
||||
|
@ -23,15 +23,11 @@
|
||||
#include <QMutex>
|
||||
#include "util/export.h"
|
||||
#include "util/message.h"
|
||||
#ifdef SDR_TX_SAMPLE_24BIT
|
||||
#include "dsp/inthalfbandfilterdb.h"
|
||||
#else
|
||||
#ifdef USE_SSE4_1
|
||||
#include "dsp/inthalfbandfiltereo1.h"
|
||||
#else
|
||||
#include "dsp/inthalfbandfilterdb.h"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define UPCHANNELIZER_HB_FILTER_ORDER 96
|
||||
|
||||
@ -87,17 +83,12 @@ protected:
|
||||
ModeUpperHalf
|
||||
};
|
||||
|
||||
#ifdef SDR_TX_SAMPLE_24BIT
|
||||
typedef bool (IntHalfbandFilterDB<qint64, UPCHANNELIZER_HB_FILTER_ORDER>::*WorkFunction)(Sample* sIn, Sample *sOut);
|
||||
IntHalfbandFilterDB<qint64, UPCHANNELIZER_HB_FILTER_ORDER>* m_filter;
|
||||
#else
|
||||
#ifdef USE_SSE4_1
|
||||
typedef bool (IntHalfbandFilterEO1<UPCHANNELIZER_HB_FILTER_ORDER>::*WorkFunction)(Sample* sIn, Sample *sOut);
|
||||
IntHalfbandFilterEO1<UPCHANNELIZER_HB_FILTER_ORDER>* m_filter;
|
||||
#else
|
||||
typedef bool (IntHalfbandFilterDB<qint32, UPCHANNELIZER_HB_FILTER_ORDER>::*WorkFunction)(Sample* sIn, Sample *sOut);
|
||||
IntHalfbandFilterDB<qint32, UPCHANNELIZER_HB_FILTER_ORDER>* m_filter;
|
||||
#endif
|
||||
#endif
|
||||
WorkFunction m_workFunction;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user