- timingGenerator debug
This commit is contained in:
+5
-1
@@ -120,7 +120,7 @@ void Receiver::initDefaultParams()
|
|||||||
{
|
{
|
||||||
|
|
||||||
m_params.CPR_phase = 0;
|
m_params.CPR_phase = 0;
|
||||||
m_params.awgn_dB = -60;
|
m_params.awgn_dB = -100;
|
||||||
m_params.agc_state = agc_state_acquisition;
|
m_params.agc_state = agc_state_acquisition;
|
||||||
m_params.agc_mode = agc_mode_disabled;
|
m_params.agc_mode = agc_mode_disabled;
|
||||||
m_params.agcMu[0] = AGC_ADAPTION_RATE_ACQ;
|
m_params.agcMu[0] = AGC_ADAPTION_RATE_ACQ;
|
||||||
@@ -346,6 +346,10 @@ void Receiver::timerCallback()
|
|||||||
|
|
||||||
// printf("CMA\n");
|
// printf("CMA\n");
|
||||||
// cout << m_cma2.getWeights() << endl;
|
// 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)
|
void Receiver::processPassband(RVec const &rf, size_t len)
|
||||||
|
|||||||
+10
-1
@@ -283,7 +283,9 @@ class TimingGeneratorGardner : public Interpolation::TimingGenerator
|
|||||||
|
|
||||||
// Gardner Symbol Timing Recovery
|
// Gardner Symbol Timing Recovery
|
||||||
str_t m_SymbolTimingRevovery;
|
str_t m_SymbolTimingRevovery;
|
||||||
|
sl_var_t sl_var;
|
||||||
bool is_time;
|
bool is_time;
|
||||||
|
|
||||||
radio_float_t m_omega;
|
radio_float_t m_omega;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@@ -291,9 +293,10 @@ class TimingGeneratorGardner : public Interpolation::TimingGenerator
|
|||||||
: Interpolation::TimingGenerator()
|
: Interpolation::TimingGenerator()
|
||||||
, filter(nullptr)
|
, filter(nullptr)
|
||||||
, coeff(nullptr)
|
, coeff(nullptr)
|
||||||
|
, is_time(true)
|
||||||
{
|
{
|
||||||
STRGardnerInit(&m_SymbolTimingRevovery);
|
STRGardnerInit(&m_SymbolTimingRevovery);
|
||||||
is_time = true;
|
SlidingVarInit(&sl_var, 12000, 12000);
|
||||||
}
|
}
|
||||||
virtual ~TimingGeneratorGardner() = default;
|
virtual ~TimingGeneratorGardner() = default;
|
||||||
|
|
||||||
@@ -318,6 +321,7 @@ class TimingGeneratorGardner : public Interpolation::TimingGenerator
|
|||||||
{
|
{
|
||||||
// @1 x symbolrate
|
// @1 x symbolrate
|
||||||
m_omega = LeadLagProcess(filter, coeff, vd);
|
m_omega = LeadLagProcess(filter, coeff, vd);
|
||||||
|
SlidingVarProcess(&sl_var, getMu());
|
||||||
}
|
}
|
||||||
is_time = not is_time;
|
is_time = not is_time;
|
||||||
|
|
||||||
@@ -325,6 +329,11 @@ class TimingGeneratorGardner : public Interpolation::TimingGenerator
|
|||||||
|
|
||||||
return not is_time;
|
return not is_time;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
radio_float_t getMuVar()
|
||||||
|
{
|
||||||
|
return SlidingVarGet(&sl_var);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class Receiver : public ReceiverInterface, public Timer
|
class Receiver : public ReceiverInterface, public Timer
|
||||||
|
|||||||
Reference in New Issue
Block a user