mirror of
https://github.com/f4exb/sdrangel.git
synced 2026-08-14 15:33:34 -04:00
WDSP corrections
This commit is contained in:
+6
-6
@@ -45,8 +45,8 @@ namespace WDSP {
|
||||
void BPS::calc_bps (BPS *a)
|
||||
{
|
||||
double* impulse;
|
||||
a->infilt = new double[2 * a->size * 2]; // (double *)malloc0(2 * a->size * sizeof(dcomplex));
|
||||
a->product = new double[2 * a->size * 2]; // (double *)malloc0(2 * a->size * sizeof(dcomplex));
|
||||
a->infilt = new double[2 * a->size * 2]; // (double *)malloc0(2 * a->size * sizeof(wcomplex));
|
||||
a->product = new double[2 * a->size * 2]; // (double *)malloc0(2 * a->size * sizeof(wcomplex));
|
||||
impulse = FIR::fir_bandpass(a->size + 1, a->f_low, a->f_high, a->samplerate, a->wintype, 1, 1.0 / (double)(2 * a->size));
|
||||
a->mults = FIR::fftcv_mults(2 * a->size, impulse);
|
||||
a->CFor = fftw_plan_dft_1d(2 * a->size, (fftw_complex *)a->infilt, (fftw_complex *)a->product, FFTW_FORWARD, FFTW_PATIENT);
|
||||
@@ -89,7 +89,7 @@ void BPS::destroy_bps (BPS *a)
|
||||
|
||||
void BPS::flush_bps (BPS *a)
|
||||
{
|
||||
memset (a->infilt, 0, 2 * a->size * sizeof (dcomplex));
|
||||
memset (a->infilt, 0, 2 * a->size * sizeof (wcomplex));
|
||||
}
|
||||
|
||||
void BPS::xbps (BPS *a, int pos)
|
||||
@@ -98,7 +98,7 @@ void BPS::xbps (BPS *a, int pos)
|
||||
double I, Q;
|
||||
if (a->run && pos == a->position)
|
||||
{
|
||||
memcpy (&(a->infilt[2 * a->size]), a->in, a->size * sizeof (dcomplex));
|
||||
memcpy (&(a->infilt[2 * a->size]), a->in, a->size * sizeof (wcomplex));
|
||||
fftw_execute (a->CFor);
|
||||
for (i = 0; i < 2 * a->size; i++)
|
||||
{
|
||||
@@ -108,10 +108,10 @@ void BPS::xbps (BPS *a, int pos)
|
||||
a->product[2 * i + 1] = I * a->mults[2 * i + 1] + Q * a->mults[2 * i + 0];
|
||||
}
|
||||
fftw_execute (a->CRev);
|
||||
memcpy (a->infilt, &(a->infilt[2 * a->size]), a->size * sizeof(dcomplex));
|
||||
memcpy (a->infilt, &(a->infilt[2 * a->size]), a->size * sizeof(wcomplex));
|
||||
}
|
||||
else if (a->in != a->out)
|
||||
memcpy (a->out, a->in, a->size * sizeof (dcomplex));
|
||||
memcpy (a->out, a->in, a->size * sizeof (wcomplex));
|
||||
}
|
||||
|
||||
void BPS::setBuffers_bps (BPS *a, double* in, double* out)
|
||||
|
||||
Reference in New Issue
Block a user