From aa86689c56a7262aa83d2fa94581d28ed30eca4d Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Mon, 13 Jun 2022 07:30:39 +0000 Subject: [PATCH] - added git-svn-id: http://moon:8086/svn/software/trunk/libsrc/cpp@958 b431acfa-c32f-4a4a-93f1-934dc6c82436 --- radio/tests/interpolation/farrow/test.cpp | 40 +++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 radio/tests/interpolation/farrow/test.cpp diff --git a/radio/tests/interpolation/farrow/test.cpp b/radio/tests/interpolation/farrow/test.cpp new file mode 100644 index 0000000..1ccfca5 --- /dev/null +++ b/radio/tests/interpolation/farrow/test.cpp @@ -0,0 +1,40 @@ +#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); + } + +} +