#include #include #include #include #include #include using namespace Radio; void test() { Interpolation::Farrow m_farrow; // Loop-Filter lead_lag_filter_t m_loop_filter_str; lead_lag_coeff_t str_loopfilter_coeff; // Gardner Symbol Timing Recovery str_t m_SymbolTimingRevovery; timing_corrector_t m_timing_corrector; radio_float_t m_Vc; size_t len = 0; CVec iq; for (size_t n = 0; n < len; n++) { // @2 x symbolrate // Matched filtering and interpolation ComplexScalar iq_ip = m_farrow.process_new(iq[n], m_Vc); // Symbol timing recovery radio_float_t Vd = STRGardnerProcess(&m_SymbolTimingRevovery, toCpx(iq_ip)); m_Vc = LeadLagProcess(&m_loop_filter_str, &str_loopfilter_coeff, Vd); } }