- disable unused statistics (intermediate state)
git-svn-id: http://moon:8086/svn/software/trunk/projects/mpsk_rx_gui@102 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
+13
-5
@@ -9,6 +9,8 @@
|
|||||||
#include <radio/RealVector.hpp>
|
#include <radio/RealVector.hpp>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define DISABLE_UNUSED_STATISTICS
|
||||||
|
|
||||||
/***************************************************************/
|
/***************************************************************/
|
||||||
const uint32_t LPF_OVERSAMPLING = 16; // Arm-Filter: oversampling
|
const uint32_t LPF_OVERSAMPLING = 16; // Arm-Filter: oversampling
|
||||||
const radio_float_t LPF_OMEGA = (radio_float_t)0.48; // Arm-Filter: RC Roll-off
|
const radio_float_t LPF_OMEGA = (radio_float_t)0.48; // Arm-Filter: RC Roll-off
|
||||||
@@ -51,7 +53,7 @@ Receiver::Receiver(LogHandler *pLogHandler)
|
|||||||
, m_pSymMapper(0)
|
, m_pSymMapper(0)
|
||||||
{
|
{
|
||||||
m_params.numBitsPerSymbol = 2;
|
m_params.numBitsPerSymbol = 2;
|
||||||
m_params.samplerate = 192000;
|
m_params.samplerate = 48000;
|
||||||
m_params.symbolrate = m_params.samplerate/4;
|
m_params.symbolrate = m_params.samplerate/4;
|
||||||
m_params.ddc_freq = m_params.samplerate/4;
|
m_params.ddc_freq = m_params.samplerate/4;
|
||||||
m_params.CPR_phase = 0;
|
m_params.CPR_phase = 0;
|
||||||
@@ -387,7 +389,9 @@ void Receiver::processPassband(float *pRF, uint32_t len)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef DISABLE_UNUSED_STATISTICS
|
||||||
SlidingVarProcessV(&m_statistics.RF, pRF, len);
|
SlidingVarProcessV(&m_statistics.RF, pRF, len);
|
||||||
|
#endif
|
||||||
|
|
||||||
// Digital Down Converter
|
// Digital Down Converter
|
||||||
// @samplerate
|
// @samplerate
|
||||||
@@ -452,12 +456,14 @@ void Receiver::processBaseband(cpx_t *pIF, uint32_t len)
|
|||||||
if (!m_ReceiverEnable)
|
if (!m_ReceiverEnable)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
#ifndef DISABLE_UNUSED_STATISTICS
|
||||||
// @2 x symbolrate
|
// @2 x symbolrate
|
||||||
for (n = 0; n < len; n++)
|
for (n = 0; n < len; n++)
|
||||||
{
|
{
|
||||||
SlidingVarProcess(&m_statistics.I_DDC, pIF[n].real);
|
SlidingVarProcess(&m_statistics.I_DDC, pIF[n].real);
|
||||||
SlidingVarProcess(&m_statistics.Q_DDC, pIF[n].imag);
|
SlidingVarProcess(&m_statistics.Q_DDC, pIF[n].imag);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
for (n = 0; n < len; n++)
|
for (n = 0; n < len; n++)
|
||||||
{
|
{
|
||||||
@@ -465,7 +471,6 @@ void Receiver::processBaseband(cpx_t *pIF, uint32_t len)
|
|||||||
if (RCF_TYPE == RCF_TYPE_POLYPHASE_DISCRETE)
|
if (RCF_TYPE == RCF_TYPE_POLYPHASE_DISCRETE)
|
||||||
{
|
{
|
||||||
// Matched filtering and interpolation
|
// Matched filtering and interpolation
|
||||||
// PolyPhaseCpxIpFeed(m_pPolyphaseInterpolator, 1, pIF[n]);
|
|
||||||
m_polyPhase.feed(toComplexScalar(pIF[n]), 1);
|
m_polyPhase.feed(toComplexScalar(pIF[n]), 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -529,8 +534,9 @@ void Receiver::processBaseband(cpx_t *pIF, uint32_t len)
|
|||||||
AGC_Train(&agcBlind, e_agc, m_params.agcMu[m_params.agcMu_index]);
|
AGC_Train(&agcBlind, e_agc, m_params.agcMu[m_params.agcMu_index]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#ifndef DISABLE_UNUSED_STATISTICS
|
||||||
minMaxProcess(&m_statistics.ddcMinMax, IQ_cpr);
|
minMaxProcess(&m_statistics.ddcMinMax, IQ_cpr);
|
||||||
|
#endif
|
||||||
// -----------------------------------------------------
|
// -----------------------------------------------------
|
||||||
// Equalizer Process samples
|
// Equalizer Process samples
|
||||||
// -----------------------------------------------------
|
// -----------------------------------------------------
|
||||||
@@ -652,18 +658,20 @@ void Receiver::processBaseband(cpx_t *pIF, uint32_t len)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Statistics
|
// Statistics
|
||||||
|
#ifndef DISABLE_UNUSED_STATISTICS
|
||||||
SlidingVarProcess(&m_statistics.I_MF, IQ_mf.real);
|
SlidingVarProcess(&m_statistics.I_MF, IQ_mf.real);
|
||||||
SlidingVarProcess(&m_statistics.Q_MF, IQ_mf.imag);
|
SlidingVarProcess(&m_statistics.Q_MF, IQ_mf.imag);
|
||||||
SlidingVarProcess(&m_statistics.I_CPR, IQ_cpr.real);
|
SlidingVarProcess(&m_statistics.I_CPR, IQ_cpr.real);
|
||||||
SlidingVarProcess(&m_statistics.Q_CPR, IQ_cpr.imag);
|
SlidingVarProcess(&m_statistics.Q_CPR, IQ_cpr.imag);
|
||||||
SlidingVarProcess(&m_statistics.I_AGC, IQ_agc.real);
|
SlidingVarProcess(&m_statistics.I_AGC, IQ_agc.real);
|
||||||
SlidingVarProcess(&m_statistics.Q_AGC, IQ_agc.imag);
|
SlidingVarProcess(&m_statistics.Q_AGC, IQ_agc.imag);
|
||||||
SlidingVarProcess(&m_statistics.I_EQ, IQ_eq.real);
|
|
||||||
SlidingVarProcess(&m_statistics.Q_EQ, IQ_eq.imag);
|
|
||||||
SlidingVarProcess(&m_statistics.I_decision, IQ_hard.real);
|
SlidingVarProcess(&m_statistics.I_decision, IQ_hard.real);
|
||||||
SlidingVarProcess(&m_statistics.Q_decision, IQ_hard.imag);
|
SlidingVarProcess(&m_statistics.Q_decision, IQ_hard.imag);
|
||||||
SlidingVarProcess(&m_statistics.MagDecision, sym_err.hard_mag);
|
SlidingVarProcess(&m_statistics.MagDecision, sym_err.hard_mag);
|
||||||
SlidingVarProcess(&m_statistics.PhiDecision, sym_err.hard_phi);
|
SlidingVarProcess(&m_statistics.PhiDecision, sym_err.hard_phi);
|
||||||
|
#endif
|
||||||
|
SlidingVarProcess(&m_statistics.I_EQ, IQ_eq.real);
|
||||||
|
SlidingVarProcess(&m_statistics.Q_EQ, IQ_eq.imag);
|
||||||
SlidingVarProcess(&m_statistics.sym_err_mag, sym_err.err_mag);
|
SlidingVarProcess(&m_statistics.sym_err_mag, sym_err.err_mag);
|
||||||
SlidingVarProcess(&m_statistics.sym_err_phi, sym_err.err_phi*(radio_float_t)(1.0/PI));
|
SlidingVarProcess(&m_statistics.sym_err_phi, sym_err.err_phi*(radio_float_t)(1.0/PI));
|
||||||
SlidingVarProcess(&m_statistics.noise, CpxMagS(CpxSubS(IQ_hard, IQ_soft)));
|
SlidingVarProcess(&m_statistics.noise, CpxMagS(CpxSubS(IQ_hard, IQ_soft)));
|
||||||
|
|||||||
Reference in New Issue
Block a user