From 3b318c44ead05af27cbd5091d756dfe92bc62aff Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Fri, 17 Jun 2022 10:34:53 +0000 Subject: [PATCH] - support PolyPhase as ProcessorBlock git-svn-id: http://moon:8086/svn/software/trunk/projects/mpsk_rx_gui@1021 b431acfa-c32f-4a4a-93f1-934dc6c82436 --- Source/Receiver.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/Source/Receiver.cpp b/Source/Receiver.cpp index a666046..3aed778 100644 --- a/Source/Receiver.cpp +++ b/Source/Receiver.cpp @@ -47,6 +47,7 @@ Receiver::Receiver(LogHandler *pLogHandler) , m_ReceiverEnable(false) , m_pDataListener(0) , m_timingGenerator() + , m_polyPhase(m_timingGenerator) , m_farrow(m_timingGenerator) , m_frameReceiver(this) , m_pSymMapper(0) @@ -209,6 +210,7 @@ void Receiver::init() initSTR(); // Interpolation + m_polyPhase.buffer_out_add(&m_bb_buffer); m_farrow.buffer_out_add(&m_bb_buffer); // Symbol demapper @@ -461,7 +463,15 @@ void Receiver::processBaseband(CVec const &iq, uint32_t len) // Blind AGC gain adjustment // @2 x symbolrate - auto *next_buf_in = dynamic_cast*>(m_farrow.buffer_in()); + Processor::Buffer *next_buf_in = nullptr; + if (RCF_TYPE == RCF_TYPE_POLYPHASE_FARROW) + { + next_buf_in = dynamic_cast*>(m_farrow.buffer_in()); + } + if (RCF_TYPE == RCF_TYPE_POLYPHASE_DISCRETE) + { + next_buf_in = dynamic_cast*>(m_polyPhase.buffer_in()); + } for (n = 0; n < len; n++) { // AGC Blind gain adjustments @@ -479,7 +489,7 @@ void Receiver::processBaseband(CVec const &iq, uint32_t len) if (RCF_TYPE == RCF_TYPE_POLYPHASE_DISCRETE) { // Polyphase interpolation -// m_polyPhase.process(); + m_polyPhase.process(); } // Further BB processing