From b4bd35fc211d7bdd83a12beb7c8e6ee2f4362cc8 Mon Sep 17 00:00:00 2001 From: f4exb Date: Wed, 27 Feb 2019 08:16:00 +0100 Subject: [PATCH] FreeDV demod: default settings adjustments and minor fixes --- plugins/channelrx/demodfreedv/freedvdemod.cpp | 7 ------- plugins/channelrx/demodfreedv/freedvdemod.h | 1 - plugins/channelrx/demodfreedv/freedvdemodgui.ui | 2 +- plugins/channelrx/demodfreedv/freedvdemodsettings.cpp | 8 ++++---- 4 files changed, 5 insertions(+), 13 deletions(-) diff --git a/plugins/channelrx/demodfreedv/freedvdemod.cpp b/plugins/channelrx/demodfreedv/freedvdemod.cpp index f8a8c8a4b..18790bb36 100644 --- a/plugins/channelrx/demodfreedv/freedvdemod.cpp +++ b/plugins/channelrx/demodfreedv/freedvdemod.cpp @@ -76,7 +76,6 @@ FreeDVDemod::FreeDVDemod(DeviceSourceAPI *deviceAPI) : m_iModem(0), m_speechOut(0), m_modIn(0), - m_scaleFactor(SDR_RX_SCALEF), m_settingsMutex(QMutex::Recursive) { setObjectName(m_channelId); @@ -456,24 +455,19 @@ void FreeDVDemod::applyFreeDVMode(FreeDVDemodSettings::FreeDVMode mode) { case FreeDVDemodSettings::FreeDVMode700C: fdv_mode = FREEDV_MODE_700C; - m_scaleFactor = SDR_RX_SCALEF / 3.2f; break; case FreeDVDemodSettings::FreeDVMode700D: fdv_mode = FREEDV_MODE_700D; - m_scaleFactor = SDR_RX_SCALEF / 3.2f; break; case FreeDVDemodSettings::FreeDVMode800XA: fdv_mode = FREEDV_MODE_800XA; - m_scaleFactor = SDR_RX_SCALEF / 8.2f; break; case FreeDVDemodSettings::FreeDVMode1600: fdv_mode = FREEDV_MODE_1600; - m_scaleFactor = SDR_RX_SCALEF / 3.2f; break; case FreeDVDemodSettings::FreeDVMode2400A: default: fdv_mode = FREEDV_MODE_2400A; - m_scaleFactor = SDR_RX_SCALEF / 8.2f; break; } @@ -494,7 +488,6 @@ void FreeDVDemod::applyFreeDVMode(FreeDVDemodSettings::FreeDVMode mode) freedv_set_snr_squelch_thresh(m_freeDV, -100.0); freedv_set_squelch_en(m_freeDV, 0); freedv_set_clip(m_freeDV, 0); - freedv_set_tx_bpf(m_freeDV, 1); freedv_set_ext_vco(m_freeDV, 0); int nSpeechSamples = freedv_get_n_speech_samples(m_freeDV); diff --git a/plugins/channelrx/demodfreedv/freedvdemod.h b/plugins/channelrx/demodfreedv/freedvdemod.h index 726ab6d07..2b3f1dbae 100644 --- a/plugins/channelrx/demodfreedv/freedvdemod.h +++ b/plugins/channelrx/demodfreedv/freedvdemod.h @@ -325,7 +325,6 @@ private: int m_iModem; int16_t *m_speechOut; int16_t *m_modIn; - float m_scaleFactor; //!< divide by this amount to scale from int16 to float in [-1.0, 1.0] interval AudioResampler m_audioResampler; QMutex m_settingsMutex; diff --git a/plugins/channelrx/demodfreedv/freedvdemodgui.ui b/plugins/channelrx/demodfreedv/freedvdemodgui.ui index 9d3ec4217..6d97823de 100644 --- a/plugins/channelrx/demodfreedv/freedvdemodgui.ui +++ b/plugins/channelrx/demodfreedv/freedvdemodgui.ui @@ -337,7 +337,7 @@ AGC time constant (ms in log2 steps) - 4 + 0 11 diff --git a/plugins/channelrx/demodfreedv/freedvdemodsettings.cpp b/plugins/channelrx/demodfreedv/freedvdemodsettings.cpp index 381930b48..553c1cd1e 100644 --- a/plugins/channelrx/demodfreedv/freedvdemodsettings.cpp +++ b/plugins/channelrx/demodfreedv/freedvdemodsettings.cpp @@ -39,11 +39,11 @@ FreeDVDemodSettings::FreeDVDemodSettings() : void FreeDVDemodSettings::resetToDefaults() { m_audioMute = false; - m_agc = false; + m_agc = true; m_agcClamping = false; - m_agcPowerThreshold = -40; - m_agcThresholdGate = 4; - m_agcTimeLog2 = 7; + m_agcPowerThreshold = -100; + m_agcThresholdGate = 0; + m_agcTimeLog2 = 0; m_volume = 3.0; m_spanLog2 = 3; m_inputFrequencyOffset = 0;