From 7acc42436ace865d8263d4cc944384b6b3d5e799 Mon Sep 17 00:00:00 2001 From: f4exb Date: Wed, 26 Jul 2017 17:50:17 +0200 Subject: [PATCH] SSB demod: exchange up and down step counter values when the threshold state changes to avoid restarting from 0 or step length when state changes rapidly --- sdrbase/dsp/agc.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sdrbase/dsp/agc.cpp b/sdrbase/dsp/agc.cpp index b641b613c..af8e7c2a5 100644 --- a/sdrbase/dsp/agc.cpp +++ b/sdrbase/dsp/agc.cpp @@ -102,7 +102,7 @@ double MagSquaredAGC::feedAndGetValue(const Complex& ci) if (m_count < m_moving_average.historySize()) { - m_stepDownCounter = m_stepLength; + m_stepDownCounter = m_stepUpCounter; if (m_stepUpCounter < m_stepLength) { @@ -116,7 +116,7 @@ double MagSquaredAGC::feedAndGetValue(const Complex& ci) } else { - m_stepUpCounter = 0; + m_stepUpCounter = m_stepDownCounter; if (m_stepDownCounter > 0) { @@ -192,7 +192,7 @@ double MagAGC::feedAndGetValue(const Complex& ci) if (m_count < m_moving_average.historySize()) { - m_stepDownCounter = m_stepLength; + m_stepDownCounter = m_stepUpCounter; if (m_stepUpCounter < m_stepLength) { @@ -206,7 +206,7 @@ double MagAGC::feedAndGetValue(const Complex& ci) } else { - m_stepUpCounter = 0; + m_stepUpCounter = m_stepDownCounter; if (m_stepDownCounter > 0) {