- added test button

- added sample slip for performance investigation
This commit is contained in:
2022-07-09 12:02:13 +02:00
parent 9bb585fc88
commit 9641608efc
4 changed files with 64 additions and 9 deletions
+35 -9
View File
@@ -51,6 +51,7 @@ Receiver::Receiver(LogHandler *pLogHandler)
, m_frameReceiver()
, m_pSymMapper(0)
, m_tracker(1.0 - 5.0/EQ_UPD_INTERVAL)
, m_is_slip(0)
{
m_params.numBitsPerSymbol = 2;
m_params.samplerate = 48000;
@@ -344,12 +345,6 @@ void Receiver::timerCallback()
m_statusListeners.call(&ReceiverStatusListener::receiverStatusChanged, this);
}
// printf("CMA\n");
// cout << m_cma2.getWeights() << endl;
printf("m_timingGenerator\n");
cout << m_timingGenerator.getMu() << endl;
cout << m_timingGenerator.getMuVar() << endl;
}
void Receiver::processPassband(RVec const &rf, size_t len)
@@ -391,15 +386,30 @@ void Receiver::processPassband(RVec const &rf, size_t len)
}
#ifndef DISABLE_UNUSED_STATISTICS
SlidingVarProcessV(&m_statistics.RF, rf_noise.data(), len);
SlidingVarProcessV(&m_statistics.RF, rf_noise.data(), rf_noise.size());
#endif
// Digital Down Converter
// @samplerate
m_nco_ddc.mixRealComplexV(m_passbandBuffer, rf_noise, RealScalar(2)/*m_params.agcGain[0]*/, len);
m_nco_ddc.mixRealComplexV(m_passbandBuffer, rf_noise, RealScalar(2)/*m_params.agcGain[0]*/, rf_noise.size());
CVec rf_duc;
rf_duc.reserve(m_passbandBuffer.size());
size_t len_eff = 0;
for (auto sample : m_passbandBuffer)
{
if (is_slip())
{
printf("isSlip()\n");
continue;
}
rf_duc.resize(len_eff+1);
rf_duc[len_eff++] = sample;
}
// Arm Filtering and downsampling
len_down = m_firArmDown.process(m_basebandBuffer, m_passbandBuffer, len);
len_down = m_firArmDown.process(m_basebandBuffer, rf_duc, rf_duc.size());
processBaseband(m_basebandBuffer, len_down);
@@ -878,6 +888,22 @@ void Receiver::reset()
m_statusListeners.call(&ReceiverStatusListener::receiverStatusChanged, this);
}
void Receiver::test()
{
const ScopedLock sl (m_lock);
printf("CMA\n");
cout << m_cma2.getWeights() << endl;
printf("m_timingGenerator\n");
cout << "MU: " << m_timingGenerator.getMu() << endl;
cout << "Var: " << m_timingGenerator.getMuVar() << endl;
m_ReceiverEnable = false;
m_is_slip = 1;
m_ReceiverEnable = true;
}
void Receiver::statisticsReset()
{
m_frameReceiver.resetStats();