From 1b9a4caefb5f094d9e7fac368ca18dc9d7f2f931 Mon Sep 17 00:00:00 2001 From: jens Date: Mon, 4 Jul 2022 15:41:27 +0200 Subject: [PATCH] - timingGenerator debug --- Source/Receiver.cpp | 6 +++++- Source/Receiver.hpp | 11 ++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/Source/Receiver.cpp b/Source/Receiver.cpp index 571e458..e76e0ad 100644 --- a/Source/Receiver.cpp +++ b/Source/Receiver.cpp @@ -120,7 +120,7 @@ void Receiver::initDefaultParams() { 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_mode = agc_mode_disabled; m_params.agcMu[0] = AGC_ADAPTION_RATE_ACQ; @@ -346,6 +346,10 @@ void Receiver::timerCallback() // 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) diff --git a/Source/Receiver.hpp b/Source/Receiver.hpp index 2686036..775db2d 100644 --- a/Source/Receiver.hpp +++ b/Source/Receiver.hpp @@ -283,7 +283,9 @@ class TimingGeneratorGardner : public Interpolation::TimingGenerator // Gardner Symbol Timing Recovery str_t m_SymbolTimingRevovery; + sl_var_t sl_var; bool is_time; + radio_float_t m_omega; public: @@ -291,9 +293,10 @@ class TimingGeneratorGardner : public Interpolation::TimingGenerator : Interpolation::TimingGenerator() , filter(nullptr) , coeff(nullptr) + , is_time(true) { STRGardnerInit(&m_SymbolTimingRevovery); - is_time = true; + SlidingVarInit(&sl_var, 12000, 12000); } virtual ~TimingGeneratorGardner() = default; @@ -318,6 +321,7 @@ class TimingGeneratorGardner : public Interpolation::TimingGenerator { // @1 x symbolrate m_omega = LeadLagProcess(filter, coeff, vd); + SlidingVarProcess(&sl_var, getMu()); } is_time = not is_time; @@ -325,6 +329,11 @@ class TimingGeneratorGardner : public Interpolation::TimingGenerator return not is_time; } + + radio_float_t getMuVar() + { + return SlidingVarGet(&sl_var); + } }; class Receiver : public ReceiverInterface, public Timer