From 14f9989adb5b7274a4406a4372b9dcfe94f6772d Mon Sep 17 00:00:00 2001 From: f4exb Date: Sun, 15 Jan 2023 11:56:16 +0100 Subject: [PATCH] FT8 demod: removed DSB option and set USB only --- plugins/channelrx/demodft8/ft8demod.cpp | 15 +- plugins/channelrx/demodft8/ft8demodgui.cpp | 121 +++-------- plugins/channelrx/demodft8/ft8demodgui.h | 7 - plugins/channelrx/demodft8/ft8demodgui.ui | 188 +----------------- .../channelrx/demodft8/ft8demodsettings.cpp | 3 - plugins/channelrx/demodft8/ft8demodsettings.h | 5 +- plugins/channelrx/demodft8/ft8demodsink.cpp | 26 +-- plugins/channelrx/demodft8/ft8demodsink.h | 2 - sdrbase/resources/webapi/doc/html2/index.html | 6 +- .../webapi/doc/swagger/include/FT8Demod.yaml | 3 - .../api/swagger/include/FT8Demod.yaml | 3 - swagger/sdrangel/code/html2/index.html | 6 +- .../code/qt5/client/SWGFT8DemodSettings.cpp | 23 --- .../code/qt5/client/SWGFT8DemodSettings.h | 6 - 14 files changed, 36 insertions(+), 378 deletions(-) diff --git a/plugins/channelrx/demodft8/ft8demod.cpp b/plugins/channelrx/demodft8/ft8demod.cpp index 5c1fbf877..38cb9dd9e 100644 --- a/plugins/channelrx/demodft8/ft8demod.cpp +++ b/plugins/channelrx/demodft8/ft8demod.cpp @@ -241,7 +241,6 @@ void FT8Demod::applySettings(const FT8DemodSettings& settings, bool force) << " m_lowCutoff: " << settings.m_filterBank[settings.m_filterIndex].m_lowCutoff << " m_fftWindow: " << settings.m_filterBank[settings.m_filterIndex].m_fftWindow << "]" << " m_volume: " << settings.m_volume - << " m_dsb: " << settings.m_dsb << " m_agcActive: " << settings.m_agc << " m_agcClamping: " << settings.m_agcClamping << " m_agcTimeLog2: " << settings.m_agcTimeLog2 @@ -294,9 +293,6 @@ void FT8Demod::applySettings(const FT8DemodSettings& settings, bool force) if ((settings.m_ft8SampleRate != m_settings.m_ft8SampleRate) || force) { reverseAPIKeys.append("ft8SampleRate"); } - if ((m_settings.m_dsb != settings.m_dsb) || force) { - reverseAPIKeys.append("dsb"); - } if ((m_settings.m_agc != settings.m_agc) || force) { reverseAPIKeys.append("agc"); } @@ -314,12 +310,10 @@ void FT8Demod::applySettings(const FT8DemodSettings& settings, bool force) reverseAPIKeys.append("streamIndex"); } - if ((settings.m_dsb != m_settings.m_dsb) - || (settings.m_filterBank[settings.m_filterIndex].m_rfBandwidth != m_settings.m_filterBank[m_settings.m_filterIndex].m_rfBandwidth) + if ((settings.m_filterBank[settings.m_filterIndex].m_rfBandwidth != m_settings.m_filterBank[m_settings.m_filterIndex].m_rfBandwidth) || (settings.m_filterBank[settings.m_filterIndex].m_lowCutoff != m_settings.m_filterBank[m_settings.m_filterIndex].m_lowCutoff) || force) { SpectrumSettings spectrumSettings = m_spectrumVis.getSettings(); - spectrumSettings.m_ssb = !settings.m_dsb; spectrumSettings.m_usb = (settings.m_filterBank[settings.m_filterIndex].m_lowCutoff < settings.m_filterBank[settings.m_filterIndex].m_rfBandwidth); SpectrumVis::MsgConfigureSpectrumVis *msg = SpectrumVis::MsgConfigureSpectrumVis::create(spectrumSettings, false); m_spectrumVis.getInputMessageQueue()->push(msg); @@ -467,9 +461,6 @@ void FT8Demod::webapiUpdateChannelSettings( if (channelSettingsKeys.contains("volume")) { settings.m_volume = response.getFt8DemodSettings()->getVolume(); } - if (channelSettingsKeys.contains("dsb")) { - settings.m_dsb = response.getFt8DemodSettings()->getDsb() != 0; - } if (channelSettingsKeys.contains("agc")) { settings.m_agc = response.getFt8DemodSettings()->getAgc() != 0; } @@ -543,7 +534,6 @@ void FT8Demod::webapiFormatChannelSettings(SWGSDRangel::SWGChannelSettings& resp response.getFt8DemodSettings()->setLowCutoff(settings.m_filterBank[settings.m_filterIndex].m_lowCutoff); response.getFt8DemodSettings()->setFftWindow((int) settings.m_filterBank[settings.m_filterIndex].m_fftWindow); response.getFt8DemodSettings()->setVolume(settings.m_volume); - response.getFt8DemodSettings()->setDsb(settings.m_dsb ? 1 : 0); response.getFt8DemodSettings()->setAgc(settings.m_agc ? 1 : 0); response.getFt8DemodSettings()->setAgcClamping(settings.m_agcClamping ? 1 : 0); response.getFt8DemodSettings()->setAgcTimeLog2(settings.m_agcTimeLog2); @@ -718,9 +708,6 @@ void FT8Demod::webapiFormatChannelSettings( if (channelSettingsKeys.contains("volume") || force) { swgFT8DemodSettings->setVolume(settings.m_volume); } - if (channelSettingsKeys.contains("dsb") || force) { - swgFT8DemodSettings->setDsb(settings.m_dsb ? 1 : 0); - } if (channelSettingsKeys.contains("agc") || force) { swgFT8DemodSettings->setAgc(settings.m_agc ? 1 : 0); } diff --git a/plugins/channelrx/demodft8/ft8demodgui.cpp b/plugins/channelrx/demodft8/ft8demodgui.cpp index 33f86b7b4..efa253cb4 100644 --- a/plugins/channelrx/demodft8/ft8demodgui.cpp +++ b/plugins/channelrx/demodft8/ft8demodgui.cpp @@ -137,12 +137,6 @@ void FT8DemodGUI::channelMarkerHighlightedByCursor() setHighlighted(m_channelMarker.getHighlighted()); } -void FT8DemodGUI::on_dsb_toggled(bool dsb) -{ - ui->flipSidebands->setEnabled(!dsb); - applyBandwidths(1 + ui->spanLog2->maximum() - ui->spanLog2->value()); -} - void FT8DemodGUI::on_deltaFrequency_changed(qint64 value) { m_channelMarker.setCenterFrequency(value); @@ -218,15 +212,6 @@ void FT8DemodGUI::on_spanLog2_valueChanged(int value) applyBandwidths(s2max - ui->spanLog2->value()); } -void FT8DemodGUI::on_flipSidebands_clicked(bool checked) -{ - (void) checked; - int bwValue = ui->BW->value(); - int lcValue = ui->lowCut->value(); - ui->BW->setValue(-bwValue); - ui->lowCut->setValue(-lcValue); -} - void FT8DemodGUI::on_fftWindow_currentIndexChanged(int index) { m_settings.m_filterBank[m_settings.m_filterIndex].m_fftWindow = (FFTWindow::Function) index; @@ -370,15 +355,10 @@ FT8DemodGUI::FT8DemodGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, Baseban ui->spectrumGUI->setBuddies(m_spectrumVis, ui->glSpectrum); - m_iconDSBUSB.addPixmap(QPixmap("://dsb.png"), QIcon::Normal, QIcon::On); - m_iconDSBUSB.addPixmap(QPixmap("://usb.png"), QIcon::Normal, QIcon::Off); - m_iconDSBLSB.addPixmap(QPixmap("://dsb.png"), QIcon::Normal, QIcon::On); - m_iconDSBLSB.addPixmap(QPixmap("://lsb.png"), QIcon::Normal, QIcon::Off); - - ui->BW->setMaximum(480); - ui->BW->setMinimum(-480); - ui->lowCut->setMaximum(480); - ui->lowCut->setMinimum(-480); + ui->BW->setMaximum(60); + ui->BW->setMinimum(10); + ui->lowCut->setMaximum(50); + ui->lowCut->setMinimum(0); displaySettings(); makeUIConnections(); @@ -420,18 +400,16 @@ void FT8DemodGUI::applyBandwidths(unsigned int spanLog2, bool force) spanLog2 = spanLog2 > s2max ? s2max : spanLog2; unsigned int limit = s2max < 1 ? 0 : s2max - 1; ui->spanLog2->setMaximum(limit); - bool dsb = ui->dsb->isChecked(); //int spanLog2 = ui->spanLog2->value(); m_spectrumRate = m_settings.m_ft8SampleRate / (1<BW->value(); int lw = ui->lowCut->value(); int bwMax = m_settings.m_ft8SampleRate / (100*(1<BW->setTickInterval(tickInterval); ui->lowCut->setTickInterval(tickInterval); - bw = bw < -bwMax ? -bwMax : bw > bwMax ? bwMax : bw; + bw = bw < 0 ? 0 : bw > bwMax ? bwMax : bw; + lw = lw > bw-1 ? bw-1 : lw < 0 ? 0 : lw; - if (bw < 0) { - lw = lw < bw+1 ? bw+1 : lw < 0 ? lw : 0; - } else if (bw > 0) { - lw = lw > bw-1 ? bw-1 : lw < 0 ? 0 : lw; - } else { - lw = 0; - } - - if (dsb) - { - bw = bw < 0 ? -bw : bw; + if (bw == 0) { lw = 0; } @@ -462,34 +431,12 @@ void FT8DemodGUI::applyBandwidths(unsigned int spanLog2, bool force) QString bwStr = QString::number(bw/10.0, 'f', 1); QString lwStr = QString::number(lw/10.0, 'f', 1); - if (dsb) - { - ui->BWText->setText(tr("%1%2k").arg(QChar(0xB1, 0x00)).arg(bwStr)); - ui->spanText->setText(tr("%1%2k").arg(QChar(0xB1, 0x00)).arg(spanStr)); - ui->scaleMinus->setText("0"); - ui->scaleCenter->setText(""); - ui->scalePlus->setText(tr("%1").arg(QChar(0xB1, 0x00))); - ui->lsbLabel->setText(""); - ui->usbLabel->setText(""); - ui->glSpectrum->setCenterFrequency(0); - ui->glSpectrum->setSampleRate(2*m_spectrumRate); - ui->glSpectrum->setSsbSpectrum(false); - ui->glSpectrum->setLsbDisplay(false); - } - else - { - ui->BWText->setText(tr("%1k").arg(bwStr)); - ui->spanText->setText(tr("%1k").arg(spanStr)); - ui->scaleMinus->setText("-"); - ui->scaleCenter->setText("0"); - ui->scalePlus->setText("+"); - ui->lsbLabel->setText("LSB"); - ui->usbLabel->setText("USB"); - ui->glSpectrum->setCenterFrequency(m_spectrumRate/2); - ui->glSpectrum->setSampleRate(m_spectrumRate); - ui->glSpectrum->setSsbSpectrum(true); - ui->glSpectrum->setLsbDisplay(bw < 0); - } + ui->BWText->setText(tr("%1k").arg(bwStr)); + ui->spanText->setText(tr("%1k").arg(spanStr)); + ui->glSpectrum->setCenterFrequency(m_spectrumRate/2); + ui->glSpectrum->setSampleRate(m_spectrumRate); + ui->glSpectrum->setSsbSpectrum(true); + ui->glSpectrum->setLsbDisplay(bw < 0); ui->lowCutText->setText(tr("%1k").arg(lwStr)); @@ -497,11 +444,11 @@ void FT8DemodGUI::applyBandwidths(unsigned int spanLog2, bool force) ui->lowCut->blockSignals(true); ui->BW->setMaximum(bwMax); - ui->BW->setMinimum(dsb ? 0 : -bwMax); + ui->BW->setMinimum(0); ui->BW->setValue(bw); - ui->lowCut->setMaximum(dsb ? 0 : bwMax); - ui->lowCut->setMinimum(dsb ? 0 : -bwMax); + ui->lowCut->setMaximum(bwMax); + ui->lowCut->setMinimum(0); ui->lowCut->setValue(lw); ui->lowCut->blockSignals(false); @@ -509,7 +456,6 @@ void FT8DemodGUI::applyBandwidths(unsigned int spanLog2, bool force) ui->channelPowerMeter->setRange(FT8DemodSettings::m_minPowerThresholdDB, 0); - m_settings.m_dsb = dsb; m_settings.m_filterBank[m_settings.m_filterIndex].m_spanLog2 = spanLog2; m_settings.m_filterBank[m_settings.m_filterIndex].m_rfBandwidth = bw * 100; m_settings.m_filterBank[m_settings.m_filterIndex].m_lowCutoff = lw * 100; @@ -518,9 +464,8 @@ void FT8DemodGUI::applyBandwidths(unsigned int spanLog2, bool force) bool wasBlocked = blockApplySettings(true); m_channelMarker.setBandwidth(bw * 200); - m_channelMarker.setSidebands(dsb ? ChannelMarker::dsb : bw < 0 ? ChannelMarker::lsb : ChannelMarker::usb); - ui->dsb->setIcon(bw < 0 ? m_iconDSBLSB: m_iconDSBUSB); - if (!dsb) { m_channelMarker.setLowCutoff(lw * 100); } + m_channelMarker.setSidebands(bw < 0 ? ChannelMarker::lsb : ChannelMarker::usb); + m_channelMarker.setLowCutoff(lw * 100); blockApplySettings(wasBlocked); } @@ -532,24 +477,13 @@ void FT8DemodGUI::displaySettings() m_channelMarker.setTitle(m_settings.m_title); m_channelMarker.setLowCutoff(m_settings.m_filterBank[m_settings.m_filterIndex].m_lowCutoff); - ui->flipSidebands->setEnabled(!m_settings.m_dsb); - - if (m_settings.m_dsb) + if (m_settings.m_filterBank[m_settings.m_filterIndex].m_rfBandwidth < 0) { - m_channelMarker.setSidebands(ChannelMarker::dsb); + m_channelMarker.setSidebands(ChannelMarker::lsb); } else { - if (m_settings.m_filterBank[m_settings.m_filterIndex].m_rfBandwidth < 0) - { - m_channelMarker.setSidebands(ChannelMarker::lsb); - ui->dsb->setIcon(m_iconDSBLSB); - } - else - { - m_channelMarker.setSidebands(ChannelMarker::usb); - ui->dsb->setIcon(m_iconDSBUSB); - } + m_channelMarker.setSidebands(ChannelMarker::usb); } m_channelMarker.blockSignals(false); @@ -570,27 +504,20 @@ void FT8DemodGUI::displaySettings() // Prevent uncontrolled triggering of applyBandwidths ui->spanLog2->blockSignals(true); - ui->dsb->blockSignals(true); ui->BW->blockSignals(true); ui->filterIndex->blockSignals(true); ui->filterIndex->setValue(m_settings.m_filterIndex); ui->filterIndexText->setText(tr("%1").arg(m_settings.m_filterIndex)); - ui->dsb->setChecked(m_settings.m_dsb); ui->spanLog2->setValue(1 + ui->spanLog2->maximum() - m_settings.m_filterBank[m_settings.m_filterIndex].m_spanLog2); ui->BW->setValue(m_settings.m_filterBank[m_settings.m_filterIndex].m_rfBandwidth / 100.0); QString s = QString::number(m_settings.m_filterBank[m_settings.m_filterIndex].m_rfBandwidth/1000.0, 'f', 1); - if (m_settings.m_dsb) { - ui->BWText->setText(tr("%1%2k").arg(QChar(0xB1, 0x00)).arg(s)); - } else { - ui->BWText->setText(tr("%1k").arg(s)); - } + ui->BWText->setText(tr("%1k").arg(s)); ui->spanLog2->blockSignals(false); - ui->dsb->blockSignals(false); ui->BW->blockSignals(false); ui->filterIndex->blockSignals(false); @@ -679,7 +606,6 @@ void FT8DemodGUI::tick() void FT8DemodGUI::makeUIConnections() { QObject::connect(ui->deltaFrequency, &ValueDialZ::changed, this, &FT8DemodGUI::on_deltaFrequency_changed); - QObject::connect(ui->dsb, &QToolButton::toggled, this, &FT8DemodGUI::on_dsb_toggled); QObject::connect(ui->BW, &TickedSlider::valueChanged, this, &FT8DemodGUI::on_BW_valueChanged); QObject::connect(ui->lowCut, &TickedSlider::valueChanged, this, &FT8DemodGUI::on_lowCut_valueChanged); QObject::connect(ui->volume, &QDial::valueChanged, this, &FT8DemodGUI::on_volume_valueChanged); @@ -689,7 +615,6 @@ void FT8DemodGUI::makeUIConnections() QObject::connect(ui->agcPowerThreshold, &QDial::valueChanged, this, &FT8DemodGUI::on_agcPowerThreshold_valueChanged); QObject::connect(ui->agcThresholdGate, &QDial::valueChanged, this, &FT8DemodGUI::on_agcThresholdGate_valueChanged); QObject::connect(ui->spanLog2, &QSlider::valueChanged, this, &FT8DemodGUI::on_spanLog2_valueChanged); - QObject::connect(ui->flipSidebands, &QPushButton::clicked, this, &FT8DemodGUI::on_flipSidebands_clicked); QObject::connect(ui->fftWindow, QOverload::of(&QComboBox::currentIndexChanged), this, &FT8DemodGUI::on_fftWindow_currentIndexChanged); QObject::connect(ui->filterIndex, &QDial::valueChanged, this, &FT8DemodGUI::on_filterIndex_valueChanged); } diff --git a/plugins/channelrx/demodft8/ft8demodgui.h b/plugins/channelrx/demodft8/ft8demodgui.h index b152bf97a..61b5cf806 100644 --- a/plugins/channelrx/demodft8/ft8demodgui.h +++ b/plugins/channelrx/demodft8/ft8demodgui.h @@ -17,8 +17,6 @@ #ifndef INCLUDE_SSBDEMODGUI_H #define INCLUDE_SSBDEMODGUI_H -#include - #include "channel/channelgui.h" #include "dsp/channelmarker.h" #include "dsp/movingaverage.h" @@ -87,9 +85,6 @@ private: SpectrumVis* m_spectrumVis; MessageQueue m_inputMessageQueue; - QIcon m_iconDSBUSB; - QIcon m_iconDSBLSB; - explicit FT8DemodGUI(PluginAPI* pluginAPI, DeviceUISet* deviceUISet, BasebandSampleSink *rxChannel, QWidget* parent = 0); virtual ~FT8DemodGUI(); @@ -109,7 +104,6 @@ private: private slots: void on_deltaFrequency_changed(qint64 value); - void on_dsb_toggled(bool dsb); void on_BW_valueChanged(int value); void on_lowCut_valueChanged(int value); void on_volume_valueChanged(int value); @@ -119,7 +113,6 @@ private slots: void on_agcPowerThreshold_valueChanged(int value); void on_agcThresholdGate_valueChanged(int value); void on_spanLog2_valueChanged(int value); - void on_flipSidebands_clicked(bool checked); void on_fftWindow_currentIndexChanged(int index); void on_filterIndex_valueChanged(int value); void onWidgetRolled(QWidget* widget, bool rollDown); diff --git a/plugins/channelrx/demodft8/ft8demodgui.ui b/plugins/channelrx/demodft8/ft8demodgui.ui index df75f74e8..cbb1b542a 100644 --- a/plugins/channelrx/demodft8/ft8demodgui.ui +++ b/plugins/channelrx/demodft8/ft8demodgui.ui @@ -176,38 +176,6 @@ - - - - Flip sideband in SSB mode (LSB->USB or USB->LSB) - - - - - - - :/flip_sidebands.png:/flip_sidebands.png - - - - - - - DSB/SSB toggle - - - ... - - - - :/usb.png - :/dsb.png:/usb.png - - - true - - - @@ -275,16 +243,16 @@ 0 - 4 + 2 1 - 2 + 1 - 2 + 1 Qt::Horizontal @@ -468,7 +436,7 @@ Highpass filter cutoff frequency (SSB) - -60 + 0 60 @@ -550,7 +518,7 @@ Lowpass filter cutoff frequency - -60 + 0 60 @@ -596,152 +564,6 @@ - - - - - - - 50 - 0 - - - - - 50 - 10 - - - - - Liberation Sans - 8 - - - - f: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - 10 - 10 - - - - - Liberation Sans - 8 - - - - - - - - - - - - - Liberation Sans - 8 - - - - LSB - - - Qt::AlignCenter - - - - - - - - 12 - 10 - - - - - Liberation Sans - 8 - - - - 0 - - - Qt::AlignCenter - - - - - - - - Liberation Sans - 8 - - - - USB - - - Qt::AlignCenter - - - - - - - - 10 - 10 - - - - - Liberation Sans - 8 - - - - + - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - 50 - 0 - - - - - 50 - 10 - - - - - - - - - diff --git a/plugins/channelrx/demodft8/ft8demodsettings.cpp b/plugins/channelrx/demodft8/ft8demodsettings.cpp index a780afd72..bf70b80af 100644 --- a/plugins/channelrx/demodft8/ft8demodsettings.cpp +++ b/plugins/channelrx/demodft8/ft8demodsettings.cpp @@ -41,7 +41,6 @@ FT8DemodSettings::FT8DemodSettings() : void FT8DemodSettings::resetToDefaults() { - m_dsb = false; m_agc = false; m_agcClamping = false; m_agcPowerThreshold = -100; @@ -74,7 +73,6 @@ QByteArray FT8DemodSettings::serialize() const } s.writeU32(5, m_rgbColor); - s.writeBool(10, m_dsb); s.writeBool(11, m_agc); s.writeS32(12, m_agcTimeLog2); s.writeS32(13, m_agcPowerThreshold); @@ -137,7 +135,6 @@ bool FT8DemodSettings::deserialize(const QByteArray& data) } d.readU32(5, &m_rgbColor); - d.readBool(10, &m_dsb, false); d.readBool(11, &m_agc, false); d.readS32(12, &m_agcTimeLog2, 7); d.readS32(13, &m_agcPowerThreshold, -40); diff --git a/plugins/channelrx/demodft8/ft8demodsettings.h b/plugins/channelrx/demodft8/ft8demodsettings.h index 105cb222d..21e6cb0a5 100644 --- a/plugins/channelrx/demodft8/ft8demodsettings.h +++ b/plugins/channelrx/demodft8/ft8demodsettings.h @@ -33,9 +33,9 @@ struct FT8DemodFilterSettings FFTWindow::Function m_fftWindow; FT8DemodFilterSettings() : - m_spanLog2(3), + m_spanLog2(2), m_rfBandwidth(3000), - m_lowCutoff(300), + m_lowCutoff(200), m_fftWindow(FFTWindow::Blackman) {} }; @@ -47,7 +47,6 @@ struct FT8DemodSettings // Real m_lowCutoff; Real m_volume; // int m_spanLog2; - bool m_dsb; bool m_agc; bool m_agcClamping; int m_agcTimeLog2; diff --git a/plugins/channelrx/demodft8/ft8demodsink.cpp b/plugins/channelrx/demodft8/ft8demodsink.cpp index 08e811c02..caf316761 100644 --- a/plugins/channelrx/demodft8/ft8demodsink.cpp +++ b/plugins/channelrx/demodft8/ft8demodsink.cpp @@ -37,7 +37,6 @@ const int FT8DemodSink::m_ssbFftLen = 1024; const int FT8DemodSink::m_agcTarget = 3276; // 32768/10 -10 dB amplitude => -20 dB power: center of normal signal FT8DemodSink::FT8DemodSink() : - m_dsb(false), m_agc(12000, m_agcTarget, 1e-2), m_agcActive(false), m_agcClamping(false), @@ -75,7 +74,6 @@ FT8DemodSink::FT8DemodSink() : m_agc.setClamping(m_agcClamping); SSBFilter = new fftfilt(m_LowCutoff / m_ft8SampleRate, m_Bandwidth / m_ft8SampleRate, m_ssbFftLen); - DSBFilter = new fftfilt((2.0f * m_Bandwidth) / m_ft8SampleRate, 2 * m_ssbFftLen); applyChannelSettings(m_channelSampleRate, m_channelFrequencyOffset, true); applySettings(m_settings, true); @@ -84,7 +82,6 @@ FT8DemodSink::FT8DemodSink() : FT8DemodSink::~FT8DemodSink() { delete SSBFilter; - delete DSBFilter; } void FT8DemodSink::feed(const SampleVector::const_iterator& begin, const SampleVector::const_iterator& end) @@ -126,11 +123,7 @@ void FT8DemodSink::processOneSample(Complex &ci) int decim = 1<<(m_spanLog2 - 1); unsigned char decim_mask = decim - 1; // counter LSB bit mask for decimation by 2^(m_scaleLog2 - 1) - if (m_dsb) { - n_out = DSBFilter->runDSB(ci, &sideband); - } else { - n_out = SSBFilter->runSSB(ci, &sideband, m_usb); - } + n_out = SSBFilter->runSSB(ci, &sideband, m_usb); for (int i = 0; i < n_out; i++) { @@ -153,16 +146,7 @@ void FT8DemodSink::processOneSample(Complex &ci) } m_magsqCount++; - - if (!m_dsb & !m_usb) - { // invert spectrum for LSB - m_sampleBuffer.push_back(Sample(avgi, avgr)); - } - else - { - m_sampleBuffer.push_back(Sample(avgr, avgi)); - } - + m_sampleBuffer.push_back(Sample(avgr, avgi)); m_sum.real(0.0); m_sum.imag(0.0); } @@ -223,7 +207,7 @@ void FT8DemodSink::processOneSample(Complex &ci) if (m_spectrumSink && (m_sampleBuffer.size() != 0)) { - m_spectrumSink->feed(m_sampleBuffer.begin(), m_sampleBuffer.end(), !m_dsb); + m_spectrumSink->feed(m_sampleBuffer.begin(), m_sampleBuffer.end(), true); m_sampleBuffer.clear(); } } @@ -262,7 +246,6 @@ void FT8DemodSink::applyFT8SampleRate(int sampleRate) m_interpolatorDistance = (Real) m_channelSampleRate / (Real) sampleRate; SSBFilter->create_filter(m_LowCutoff / (float) sampleRate, m_Bandwidth / (float) sampleRate, m_settings.m_filterBank[m_settings.m_filterIndex].m_fftWindow); - DSBFilter->create_dsb_filter(m_Bandwidth / (float) sampleRate, m_settings.m_filterBank[m_settings.m_filterIndex].m_fftWindow); int agcNbSamples = (sampleRate / 1000) * (1<create_filter(m_LowCutoff / (float) m_ft8SampleRate, m_Bandwidth / (float) m_ft8SampleRate, settings.m_filterBank[settings.m_filterIndex].m_fftWindow); - DSBFilter->create_dsb_filter(m_Bandwidth / (float) m_ft8SampleRate, settings.m_filterBank[settings.m_filterIndex].m_fftWindow); } if ((m_settings.m_volume != settings.m_volume) || force) @@ -411,7 +392,6 @@ void FT8DemodSink::applySettings(const FT8DemodSettings& settings, bool force) } m_spanLog2 = settings.m_filterBank[settings.m_filterIndex].m_spanLog2; - m_dsb = settings.m_dsb; m_agcActive = settings.m_agc; m_settings = settings; } diff --git a/plugins/channelrx/demodft8/ft8demodsink.h b/plugins/channelrx/demodft8/ft8demodsink.h index f519a8c13..db326cf42 100644 --- a/plugins/channelrx/demodft8/ft8demodsink.h +++ b/plugins/channelrx/demodft8/ft8demodsink.h @@ -92,7 +92,6 @@ private: int m_channelSampleRate; int m_channelFrequencyOffset; bool m_usb; - bool m_dsb; double m_magsq; double m_magsqSum; double m_magsqPeak; @@ -112,7 +111,6 @@ private: Real m_interpolatorDistance; Real m_interpolatorDistanceRemain; fftfilt* SSBFilter; - fftfilt* DSBFilter; SpectrumVis* m_spectrumSink; SampleVector m_sampleBuffer; diff --git a/sdrbase/resources/webapi/doc/html2/index.html b/sdrbase/resources/webapi/doc/html2/index.html index 8f28053a4..0ac99b51d 100644 --- a/sdrbase/resources/webapi/doc/html2/index.html +++ b/sdrbase/resources/webapi/doc/html2/index.html @@ -5607,10 +5607,6 @@ margin-bottom: 20px; "type" : "number", "format" : "float" }, - "dsb" : { - "type" : "integer", - "description" : "Double sidebands mode (1 if DSB else 0)" - }, "agc" : { "type" : "integer", "description" : "AGC (1 if AGC active else 0)" @@ -56896,7 +56892,7 @@ except ApiException as e:
- Generated 2023-01-15T03:28:53.541+01:00 + Generated 2023-01-15T07:29:18.682+01:00
diff --git a/sdrbase/resources/webapi/doc/swagger/include/FT8Demod.yaml b/sdrbase/resources/webapi/doc/swagger/include/FT8Demod.yaml index fe4d9d9f5..2848767bf 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/FT8Demod.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/FT8Demod.yaml @@ -30,9 +30,6 @@ FT8DemodSettings: volume: type: number format: float - dsb: - description: Double sidebands mode (1 if DSB else 0) - type: integer agc: description: AGC (1 if AGC active else 0) type: integer diff --git a/swagger/sdrangel/api/swagger/include/FT8Demod.yaml b/swagger/sdrangel/api/swagger/include/FT8Demod.yaml index 666cb8a47..db3bcd866 100644 --- a/swagger/sdrangel/api/swagger/include/FT8Demod.yaml +++ b/swagger/sdrangel/api/swagger/include/FT8Demod.yaml @@ -30,9 +30,6 @@ FT8DemodSettings: volume: type: number format: float - dsb: - description: Double sidebands mode (1 if DSB else 0) - type: integer agc: description: AGC (1 if AGC active else 0) type: integer diff --git a/swagger/sdrangel/code/html2/index.html b/swagger/sdrangel/code/html2/index.html index 8f28053a4..0ac99b51d 100644 --- a/swagger/sdrangel/code/html2/index.html +++ b/swagger/sdrangel/code/html2/index.html @@ -5607,10 +5607,6 @@ margin-bottom: 20px; "type" : "number", "format" : "float" }, - "dsb" : { - "type" : "integer", - "description" : "Double sidebands mode (1 if DSB else 0)" - }, "agc" : { "type" : "integer", "description" : "AGC (1 if AGC active else 0)" @@ -56896,7 +56892,7 @@ except ApiException as e:
- Generated 2023-01-15T03:28:53.541+01:00 + Generated 2023-01-15T07:29:18.682+01:00
diff --git a/swagger/sdrangel/code/qt5/client/SWGFT8DemodSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGFT8DemodSettings.cpp index 9fd398f08..7a4f6b3ff 100644 --- a/swagger/sdrangel/code/qt5/client/SWGFT8DemodSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGFT8DemodSettings.cpp @@ -42,8 +42,6 @@ SWGFT8DemodSettings::SWGFT8DemodSettings() { m_fft_window_isSet = false; volume = 0.0f; m_volume_isSet = false; - dsb = 0; - m_dsb_isSet = false; agc = 0; m_agc_isSet = false; agc_clamping = 0; @@ -100,8 +98,6 @@ SWGFT8DemodSettings::init() { m_fft_window_isSet = false; volume = 0.0f; m_volume_isSet = false; - dsb = 0; - m_dsb_isSet = false; agc = 0; m_agc_isSet = false; agc_clamping = 0; @@ -153,7 +149,6 @@ SWGFT8DemodSettings::cleanup() { - if(title != nullptr) { delete title; } @@ -202,8 +197,6 @@ SWGFT8DemodSettings::fromJsonObject(QJsonObject &pJson) { ::SWGSDRangel::setValue(&volume, pJson["volume"], "float", ""); - ::SWGSDRangel::setValue(&dsb, pJson["dsb"], "qint32", ""); - ::SWGSDRangel::setValue(&agc, pJson["agc"], "qint32", ""); ::SWGSDRangel::setValue(&agc_clamping, pJson["agcClamping"], "qint32", ""); @@ -275,9 +268,6 @@ SWGFT8DemodSettings::asJsonObject() { if(m_volume_isSet){ obj->insert("volume", QJsonValue(volume)); } - if(m_dsb_isSet){ - obj->insert("dsb", QJsonValue(dsb)); - } if(m_agc_isSet){ obj->insert("agc", QJsonValue(agc)); } @@ -403,16 +393,6 @@ SWGFT8DemodSettings::setVolume(float volume) { this->m_volume_isSet = true; } -qint32 -SWGFT8DemodSettings::getDsb() { - return dsb; -} -void -SWGFT8DemodSettings::setDsb(qint32 dsb) { - this->dsb = dsb; - this->m_dsb_isSet = true; -} - qint32 SWGFT8DemodSettings::getAgc() { return agc; @@ -609,9 +589,6 @@ SWGFT8DemodSettings::isSet(){ if(m_volume_isSet){ isObjectUpdated = true; break; } - if(m_dsb_isSet){ - isObjectUpdated = true; break; - } if(m_agc_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGFT8DemodSettings.h b/swagger/sdrangel/code/qt5/client/SWGFT8DemodSettings.h index 911a68ac2..9fc55446d 100644 --- a/swagger/sdrangel/code/qt5/client/SWGFT8DemodSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGFT8DemodSettings.h @@ -66,9 +66,6 @@ public: float getVolume(); void setVolume(float volume); - qint32 getDsb(); - void setDsb(qint32 dsb); - qint32 getAgc(); void setAgc(qint32 agc); @@ -145,9 +142,6 @@ private: float volume; bool m_volume_isSet; - qint32 dsb; - bool m_dsb_isSet; - qint32 agc; bool m_agc_isSet;