mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-11-22 16:08:39 -05:00
IntHalfbandFilters: set myInterpolate optimized methods as defaults
This commit is contained in:
parent
a60e2b7597
commit
cd7e4e4385
@ -553,7 +553,8 @@ public:
|
|||||||
m_ptr = HBFIRFilterTraits<HBFilterOrder>::hbMod[m_ptr + 2 - 1];
|
m_ptr = HBFIRFilterTraits<HBFilterOrder>::hbMod[m_ptr + 2 - 1];
|
||||||
}
|
}
|
||||||
|
|
||||||
void myInterpolate(Sample* sample1, Sample* sample2)
|
/** Simple zero stuffing and filter */
|
||||||
|
void myInterpolateZeroStuffing(Sample* sample1, Sample* sample2)
|
||||||
{
|
{
|
||||||
m_samples[m_ptr][0] = sample1->real();
|
m_samples[m_ptr][0] = sample1->real();
|
||||||
m_samples[m_ptr][1] = sample1->imag();
|
m_samples[m_ptr][1] = sample1->imag();
|
||||||
@ -570,7 +571,8 @@ public:
|
|||||||
m_ptr = HBFIRFilterTraits<HBFilterOrder>::hbMod[m_ptr + 2 - 1];
|
m_ptr = HBFIRFilterTraits<HBFilterOrder>::hbMod[m_ptr + 2 - 1];
|
||||||
}
|
}
|
||||||
|
|
||||||
void myInterpolate(qint32 *x1, qint32 *y1, qint32 *x2, qint32 *y2)
|
/** Simple zero stuffing and filter */
|
||||||
|
void myInterpolateZeroStuffing(qint32 *x1, qint32 *y1, qint32 *x2, qint32 *y2)
|
||||||
{
|
{
|
||||||
m_samples[m_ptr][0] = *x1;
|
m_samples[m_ptr][0] = *x1;
|
||||||
m_samples[m_ptr][1] = *y1;
|
m_samples[m_ptr][1] = *y1;
|
||||||
@ -588,7 +590,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Optimized upsampler by 2 not calculating FIR with inserted null samples */
|
/** Optimized upsampler by 2 not calculating FIR with inserted null samples */
|
||||||
void myInterpolateOptimized(qint32 *x1, qint32 *y1, qint32 *x2, qint32 *y2)
|
void myInterpolate(qint32 *x1, qint32 *y1, qint32 *x2, qint32 *y2)
|
||||||
{
|
{
|
||||||
// insert sample into ring double buffer
|
// insert sample into ring double buffer
|
||||||
m_samples[m_ptr][0] = *x1;
|
m_samples[m_ptr][0] = *x1;
|
||||||
|
@ -436,7 +436,8 @@ public:
|
|||||||
advancePointer();
|
advancePointer();
|
||||||
}
|
}
|
||||||
|
|
||||||
void myInterpolate(Sample* sample1, Sample* sample2)
|
/** Simple zero stuffing and filter */
|
||||||
|
void myInterpolateZeroStuffing(Sample* sample1, Sample* sample2)
|
||||||
{
|
{
|
||||||
storeSample((FixReal) sample1->real(), (FixReal) sample1->imag());
|
storeSample((FixReal) sample1->real(), (FixReal) sample1->imag());
|
||||||
doFIR(sample1);
|
doFIR(sample1);
|
||||||
@ -447,7 +448,8 @@ public:
|
|||||||
advancePointer();
|
advancePointer();
|
||||||
}
|
}
|
||||||
|
|
||||||
void myInterpolate(qint32 *x1, qint32 *y1, qint32 *x2, qint32 *y2)
|
/** Simple zero stuffing and filter */
|
||||||
|
void myInterpolateZeroStuffing(qint32 *x1, qint32 *y1, qint32 *x2, qint32 *y2)
|
||||||
{
|
{
|
||||||
storeSample(*x1, *y1);
|
storeSample(*x1, *y1);
|
||||||
doFIR(x1, y1);
|
doFIR(x1, y1);
|
||||||
@ -459,7 +461,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Optimized upsampler by 2 not calculating FIR with inserted null samples */
|
/** Optimized upsampler by 2 not calculating FIR with inserted null samples */
|
||||||
void myInterpolateOptimized(qint32 *x1, qint32 *y1, qint32 *x2, qint32 *y2)
|
void myInterpolate(qint32 *x1, qint32 *y1, qint32 *x2, qint32 *y2)
|
||||||
{
|
{
|
||||||
// insert sample into ring double buffer
|
// insert sample into ring double buffer
|
||||||
m_samplesDB[m_ptr][0] = *x1;
|
m_samplesDB[m_ptr][0] = *x1;
|
||||||
|
@ -439,7 +439,8 @@ public:
|
|||||||
advancePointer();
|
advancePointer();
|
||||||
}
|
}
|
||||||
|
|
||||||
void myInterpolate(Sample* sample1, Sample* sample2)
|
/** Simple zero stuffing and filter */
|
||||||
|
void myInterpolateZeroStuffing(Sample* sample1, Sample* sample2)
|
||||||
{
|
{
|
||||||
storeSample((FixReal) sample1->real(), (FixReal) sample1->imag());
|
storeSample((FixReal) sample1->real(), (FixReal) sample1->imag());
|
||||||
doFIR(sample1);
|
doFIR(sample1);
|
||||||
@ -450,7 +451,8 @@ public:
|
|||||||
advancePointer();
|
advancePointer();
|
||||||
}
|
}
|
||||||
|
|
||||||
void myInterpolate(int32_t *x1, int32_t *y1, int32_t *x2, int32_t *y2)
|
/** Simple zero stuffing and filter */
|
||||||
|
void myInterpolateZeroStuffing(int32_t *x1, int32_t *y1, int32_t *x2, int32_t *y2)
|
||||||
{
|
{
|
||||||
storeSample(*x1, *y1);
|
storeSample(*x1, *y1);
|
||||||
doFIR(x1, y1);
|
doFIR(x1, y1);
|
||||||
@ -462,7 +464,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Optimized upsampler by 2 not calculating FIR with inserted null samples */
|
/** Optimized upsampler by 2 not calculating FIR with inserted null samples */
|
||||||
void myInterpolateOptimized(qint32 *x1, qint32 *y1, qint32 *x2, qint32 *y2)
|
void myInterpolate(qint32 *x1, qint32 *y1, qint32 *x2, qint32 *y2)
|
||||||
{
|
{
|
||||||
// insert sample into ring double buffer
|
// insert sample into ring double buffer
|
||||||
m_samples[m_ptr][0] = *x1;
|
m_samples[m_ptr][0] = *x1;
|
||||||
|
Loading…
Reference in New Issue
Block a user