- fixed crash

git-svn-id: http://moon:8086/svn/software/trunk/projects/mpsk_rx_gui@282 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
2016-03-04 06:58:27 +00:00
parent f9e2d47943
commit 8e190472e1
3 changed files with 11 additions and 7 deletions
+7 -6
View File
@@ -39,7 +39,7 @@ const uint32_t EQ_GROUP_DELAY = 16; // 16
const radio_float_t DFE_MU = (radio_float_t)1E-3; // 1E-3
const radio_float_t CMA_MU = (radio_float_t)8E-2; // 8E-2
const radio_float_t TRACKER_MU = (radio_float_t)2E-2;
const radio_float_t TRACKER_MU = (radio_float_t)1E-2;
const radio_float_t TRACKER_EPS = (radio_float_t)1E-3;
/***************************************************************/
@@ -363,7 +363,6 @@ void Receiver::timerCallback()
void Receiver::processPassband(RVec const &rf, uint32_t len)
{
Eigen::internal::set_is_malloc_allowed(false);
const ScopedLock sl (m_lock);
uint32_t len_down;
@@ -400,7 +399,6 @@ void Receiver::processPassband(RVec const &rf, uint32_t len)
len_down = m_firArmDown.process(m_basebandBuffer, m_passbandBuffer, len);
processBaseband(m_basebandBuffer, len_down);
Eigen::internal::set_is_malloc_allowed(true);
}
@@ -517,11 +515,14 @@ void Receiver::processBaseband(CVec const &iq, uint32_t len)
{
if (m_params.agcMu_index == agc_state_acquisition)
{
AGC_Process(&agcBlind, CpxMagS(IQ_cpr), m_params.agcMu[m_params.agcMu_index], 1.0);
// AGC_Process(&agcBlind, CpxMagS(IQ_cpr), m_params.agcMu[m_params.agcMu_index], 1.0);
e_agc = m_pSymMapper->R2_cma - CpxMagS(m_trackers[0]);
AGC_Train(&agcBlind, e_agc, m_params.agcMu[m_params.agcMu_index]);
}
if (m_params.agcMu_index == agc_state_track)
{
e_agc = CpxMagS(IQ_hard_last) - CpxMagS(IQ_cpr);
e_agc = m_pSymMapper->R2_cma - CpxMagS(m_trackers[0]);
// e_agc = CpxMagS(IQ_hard_last) - CpxMagS(IQ_cpr);
AGC_Train(&agcBlind, e_agc, m_params.agcMu[m_params.agcMu_index]);
}
}
@@ -645,7 +646,7 @@ void Receiver::processBaseband(CVec const &iq, uint32_t len)
m_trackers_[winner_i] = CpxAddS(m_trackers_[winner_i], CpxScaleRealS(winner_diff, winner_d*TRACKER_MU+TRACKER_EPS));
for (int i=0; i < 4; i++)
{
m_trackers[i] = CpxAddS(CpxScaleRealS(m_trackers[i], 0.995f), CpxScaleRealS(m_trackers_[i], 0.005f));
m_trackers[i] = CpxAddS(CpxScaleRealS(m_trackers[i], 0.998f), CpxScaleRealS(m_trackers_[i], 0.002f));
}
// Statistics