1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-08-14 15:33:34 -04:00

WDSP corrections

This commit is contained in:
f4exb
2024-06-24 22:23:10 +02:00
parent b2303b028c
commit 8d9dc3b5ed
40 changed files with 133 additions and 126 deletions
+6 -6
View File
@@ -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)