From 35ae486d2059ba4087fc34902bbd34c5a07c5807 Mon Sep 17 00:00:00 2001 From: "Charles J. Cliffe" Date: Tue, 16 Apr 2019 19:05:05 -0400 Subject: [PATCH] Patch for updated liquid-dsp firhilbf complex->real adding usb --- src/modules/modem/analog/ModemFMStereo.cpp | 3 ++- src/modules/modem/analog/ModemLSB.cpp | 3 ++- src/modules/modem/analog/ModemUSB.cpp | 4 +++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/modules/modem/analog/ModemFMStereo.cpp b/src/modules/modem/analog/ModemFMStereo.cpp index e84c49b..6d37a67 100644 --- a/src/modules/modem/analog/ModemFMStereo.cpp +++ b/src/modules/modem/analog/ModemFMStereo.cpp @@ -239,7 +239,8 @@ void ModemFMStereo::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInp nco_crcf_mix_down(fmkit->stereoPilot, y, &x); // complex -> real - firhilbf_c2r_execute(fmkit->firStereoC2R, x, &demodStereoData[i]); + float usb_discard; + firhilbf_c2r_execute(fmkit->firStereoC2R, x, &demodStereoData[i], &usb_discard); } // std::cout << "[PLL] phase error: " << phase_error; diff --git a/src/modules/modem/analog/ModemLSB.cpp b/src/modules/modem/analog/ModemLSB.cpp index c3fb76d..bc417b4 100644 --- a/src/modules/modem/analog/ModemLSB.cpp +++ b/src/modules/modem/analog/ModemLSB.cpp @@ -56,7 +56,8 @@ void ModemLSB::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *a nco_crcf_mix_up(ssbShift, input->data[i], &x); iirfilt_crcf_execute(ssbFilt, x, &y); nco_crcf_mix_down(ssbShift, y, &x); - firhilbf_c2r_execute(c2rFilt, x, &demodOutputData[i]); + float usb_discard; + firhilbf_c2r_execute(c2rFilt, x, &demodOutputData[i], &usb_discard); } buildAudioOutput(akit, audioOut, true); diff --git a/src/modules/modem/analog/ModemUSB.cpp b/src/modules/modem/analog/ModemUSB.cpp index 8b30761..a03f46d 100644 --- a/src/modules/modem/analog/ModemUSB.cpp +++ b/src/modules/modem/analog/ModemUSB.cpp @@ -56,7 +56,9 @@ void ModemUSB::demodulate(ModemKit *kit, ModemIQData *input, AudioThreadInput *a nco_crcf_mix_down(ssbShift, input->data[i], &x); iirfilt_crcf_execute(ssbFilt, x, &y); nco_crcf_mix_up(ssbShift, y, &x); - firhilbf_c2r_execute(c2rFilt, x, &demodOutputData[i]); + // TODO: use fixed firhilbf_c2r usb param to simplify instead of shifting and discarding + float usb_discard; + firhilbf_c2r_execute(c2rFilt, x, &demodOutputData[i], &usb_discard); } buildAudioOutput(akit, audioOut, true);