- improved AGC tracking
This commit is contained in:
+2
-2
@@ -30,7 +30,7 @@ const radio_float_t STR_GAIN_LAG_TRK = (radio_float_t)1.00E-7; // 1E-6
|
|||||||
const radio_float_t AGC_MIN_VALUE = (radio_float_t)1.0;
|
const radio_float_t AGC_MIN_VALUE = (radio_float_t)1.0;
|
||||||
const radio_float_t AGC_MAX_VALUE = (radio_float_t)4.0;
|
const radio_float_t AGC_MAX_VALUE = (radio_float_t)4.0;
|
||||||
const radio_float_t AGC_INITIAL_VALUE = (radio_float_t)2.0;
|
const radio_float_t AGC_INITIAL_VALUE = (radio_float_t)2.0;
|
||||||
const radio_float_t AGC_ADAPTION_RATE_ACQ = (radio_float_t)0.01;
|
const radio_float_t AGC_ADAPTION_RATE_ACQ = (radio_float_t)0.001;
|
||||||
const radio_float_t AGC_ADAPTION_RATE_TRK = (radio_float_t)0.0001;
|
const radio_float_t AGC_ADAPTION_RATE_TRK = (radio_float_t)0.0001;
|
||||||
|
|
||||||
const uint32_t EQ_UPD_INTERVAL = 2000; // 1000
|
const uint32_t EQ_UPD_INTERVAL = 2000; // 1000
|
||||||
@@ -517,7 +517,7 @@ void Receiver::processBaseband(CVec const &iq, size_t len)
|
|||||||
{
|
{
|
||||||
if (m_params.agcMu_index == agc_state_acquisition)
|
if (m_params.agcMu_index == agc_state_acquisition)
|
||||||
{
|
{
|
||||||
e_agc = 1.0 - CpxMagS(getTracker(0));
|
e_agc = (1.0 - CpxMagS(getTracker(0)))*CpxMagS(getTracker(0));
|
||||||
AGC_Train(&agcBlind, e_agc, m_params.agcMu[m_params.agcMu_index]);
|
AGC_Train(&agcBlind, e_agc, m_params.agcMu[m_params.agcMu_index]);
|
||||||
}
|
}
|
||||||
if (m_params.agcMu_index == agc_state_track)
|
if (m_params.agcMu_index == agc_state_track)
|
||||||
|
|||||||
Reference in New Issue
Block a user