mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-12-23 10:05:46 -05:00
SSB demod: tie AGC steep transition correction to AGC clamping
This commit is contained in:
parent
e3d862c8a8
commit
9776e77fd5
@ -179,11 +179,12 @@ void SSBDemodSink::processOneSample(Complex &ci)
|
|||||||
|
|
||||||
// Prevent overload based on squared magnitude variation
|
// Prevent overload based on squared magnitude variation
|
||||||
// Only if AGC is active
|
// Only if AGC is active
|
||||||
if (m_agcActive && (std::abs(m_magsqCur - m_magsqPrev) > m_agcTarget*m_agcTarget*5.0))
|
if (m_agcActive && m_agcClamping && (std::abs(m_magsqCur - m_magsqPrev) > m_agcTarget*m_agcTarget*5.0) & (agcVal > 100.0))
|
||||||
{
|
{
|
||||||
m_agc.reset(m_agcTarget*100.0); // Quench AGC at -20dB the target
|
float target = m_agcTarget*sqrt(agcVal); // Quench AGC depending on previous value
|
||||||
m_agc.resetStepCounters();
|
m_agc.reset(target);
|
||||||
m_squelchDelayLine.write(sideband[i]);
|
m_squelchDelayLine.write(fftfilt::cmplx{target, 0.0});
|
||||||
|
m_magsqCur = target*target;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user