- added test button
- added sample slip for performance investigation
This commit is contained in:
+35
-9
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user