- support PolyPhase as ProcessorBlock

git-svn-id: http://moon:8086/svn/software/trunk/projects/mpsk_rx_gui@1021 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
2022-06-17 10:34:53 +00:00
parent 2a002d2b9c
commit 3b318c44ea
+12 -2
View File
@@ -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<Processor::Buffer<ComplexScalar>*>(m_farrow.buffer_in());
Processor::Buffer<ComplexScalar> *next_buf_in = nullptr;
if (RCF_TYPE == RCF_TYPE_POLYPHASE_FARROW)
{
next_buf_in = dynamic_cast<Processor::Buffer<ComplexScalar>*>(m_farrow.buffer_in());
}
if (RCF_TYPE == RCF_TYPE_POLYPHASE_DISCRETE)
{
next_buf_in = dynamic_cast<Processor::Buffer<ComplexScalar>*>(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