Files
cpp/radio/tests/interpolation/farrow/test.cpp
T
jens ce1a9529cb - added wav
git-svn-id: http://moon:8086/svn/software/trunk/libsrc/cpp@960 b431acfa-c32f-4a4a-93f1-934dc6c82436
2022-06-13 16:23:32 +00:00

46 lines
968 B
C++

#include <cpp/radio/Vector.hpp>
#include <cpp/radio/FirComplex.hpp>
#include <cpp/radio/interpolation/Farrow.hpp>
#include <cpp/radio/interpolation/PolyPhase.hpp>
#include <radio/synchronization.h>
#include <wav/wav.h>
#include <string.h>
using namespace Radio;
void test()
{
WAV wavRead;
WavOpen(&wavRead, "m2_12k_12k_i_q.wav");
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);
}
}