- use Processor::Buffer for collecting symbol error
- Constellation diagram uses Processor::Buffer git-svn-id: http://moon:8086/svn/software/trunk/projects/mpsk_rx_gui@1076 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
+13
-22
@@ -41,7 +41,6 @@ Receiver::Receiver(LogHandler *pLogHandler)
|
||||
: m_log(pLogHandler)
|
||||
, m_pPassbandBuffer(0)
|
||||
, m_pBasebandBuffer(0)
|
||||
, m_pSymbolBuffer(0)
|
||||
, m_ReceiverEnable(false)
|
||||
, m_pDataListener(0)
|
||||
, m_timingGenerator()
|
||||
@@ -93,32 +92,21 @@ void Receiver::setBufSize(uint32 size)
|
||||
if (m_pBasebandBuffer)
|
||||
delete m_pBasebandBuffer;
|
||||
|
||||
if (m_pSymbolBuffer)
|
||||
delete m_pSymbolBuffer;
|
||||
|
||||
m_pPassbandBuffer = new cpx_t[size];
|
||||
m_pBasebandBuffer = new cpx_t[size];
|
||||
m_pSymbolBuffer = new sym_err_t[size];
|
||||
|
||||
m_buf_symerr.resize(size);
|
||||
m_buf_sym.resize(size);
|
||||
}
|
||||
m_bufsize = size;
|
||||
m_buffer_agc.resize(200*size);
|
||||
m_buffer_agc.resize(2*size);
|
||||
m_buffer_ip.resize(size);
|
||||
init();
|
||||
}
|
||||
|
||||
uint32 Receiver::getNumSoftSym()
|
||||
Processor::Buffer<sym_err_t>& Receiver::getSoftSyms()
|
||||
{
|
||||
return m_numSymsInBuffer;
|
||||
}
|
||||
|
||||
sym_err_t Receiver::getSoftSym(uint32 index)
|
||||
{
|
||||
return m_pSymbolBuffer[index];
|
||||
}
|
||||
|
||||
sym_err_t* Receiver::getSoftSyms()
|
||||
{
|
||||
return m_pSymbolBuffer;
|
||||
return m_buf_symerr;
|
||||
}
|
||||
|
||||
cpx_t Receiver::getTracker(uint32 index)
|
||||
@@ -438,7 +426,7 @@ void Receiver::processBaseband(CVec const &iq, uint32_t len)
|
||||
symbol_t sym;
|
||||
map_t sym_cma;
|
||||
static map_t sym_dfe_off;
|
||||
m_numSymsInBuffer = 0;
|
||||
m_buf_symerr.clear();
|
||||
|
||||
if (!m_ReceiverEnable)
|
||||
return;
|
||||
@@ -631,11 +619,14 @@ void Receiver::processBaseband(CVec const &iq, uint32_t len)
|
||||
IQ_hard_last = IQ_hard;
|
||||
|
||||
// Call frame receiver with current symbol
|
||||
m_frameReceiver.process((symbol_t)sym);
|
||||
m_frameReceiver.process(sym);
|
||||
|
||||
// Feed symbol buffer
|
||||
m_pSymbolBuffer[m_numSymsInBuffer++] = sym_err;
|
||||
|
||||
// m_buf_sym.write(&sym, 1);
|
||||
|
||||
// Feed symbol error buffer
|
||||
m_buf_symerr.write(&sym_err, 1);
|
||||
|
||||
// Update per-symbol statistic
|
||||
SymStatUpDate(&m_sym_stat, sym, &sym_err);
|
||||
if (m_pDataListener)
|
||||
|
||||
Reference in New Issue
Block a user