mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-02-03 09:44:01 -05:00
SSB demod: experimental clipping limiter
This commit is contained in:
parent
aaeec634fe
commit
c71f1fdc3a
@ -105,12 +105,24 @@ double MagAGC::feedAndGetValue(const Complex& ci)
|
||||
if (m_squared)
|
||||
{
|
||||
double u0 = m_R / m_moving_average.average();
|
||||
m_u0 = (u0 * m_magsq > m_clampMax) ? m_clampMax / m_magsq : u0;
|
||||
double du = (u0*m_magsq) - (m_clampMax/2.0);
|
||||
if (du > 0) {
|
||||
m_u0 = (m_clampMax/2.0)*(1.0 + (log10(1+du)/4.0)); // experimental clipping limiter
|
||||
} else {
|
||||
m_u0 = u0;
|
||||
}
|
||||
//m_u0 = (u0 * m_magsq > m_clampMax) ? m_clampMax / m_magsq : u0;
|
||||
}
|
||||
else
|
||||
{
|
||||
double u02 = m_R2 / m_moving_average.average();
|
||||
m_u0 = (u02 * m_magsq > m_clampMax) ? sqrt(m_clampMax / m_magsq) : sqrt(u02);
|
||||
double du = (u02*m_magsq) - (m_clampMax/2.0);
|
||||
if (du > 0) {
|
||||
m_u0 = (m_clampMax/2.0)*(1.0 + (log10(1+du)/4.0)); // experimental clipping limiter
|
||||
} else {
|
||||
m_u0 = sqrt(u02);
|
||||
}
|
||||
//m_u0 = (u02 * m_magsq > m_clampMax) ? sqrt(m_clampMax / m_magsq) : sqrt(u02);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user