- removed SymClock
- Tracker tracks pre-eq data - ACQ and TRK state are now set manually by GUI git-svn-id: http://moon:8086/svn/software/trunk/projects/mpsk_rx_gui@1053 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
+36
-17
@@ -184,9 +184,6 @@ void Receiver::init()
|
|||||||
initDefaultParams();
|
initDefaultParams();
|
||||||
m_ReceiverEnable = false;
|
m_ReceiverEnable = false;
|
||||||
|
|
||||||
ClockInit(&m_symClock, NUM_BASEBAND_SAMPLES_PER_SYM);
|
|
||||||
ClockSetPhase(&m_symClock, 1);
|
|
||||||
|
|
||||||
// FIR Arm filters
|
// FIR Arm filters
|
||||||
initFilterArm();
|
initFilterArm();
|
||||||
|
|
||||||
@@ -524,6 +521,12 @@ void Receiver::processBaseband(CVec const &iq, uint32_t len)
|
|||||||
|
|
||||||
IQ_eq_in = IQ_cpr;
|
IQ_eq_in = IQ_cpr;
|
||||||
|
|
||||||
|
// -----------------------------------------------------
|
||||||
|
// Peak-Amplitude Tracker
|
||||||
|
// @1 x symbolrate
|
||||||
|
// -----------------------------------------------------
|
||||||
|
m_tracker.process(toComplexScalar(IQ_eq_in));
|
||||||
|
|
||||||
// -----------------------------------------------------
|
// -----------------------------------------------------
|
||||||
// Equalizer Process samples
|
// Equalizer Process samples
|
||||||
// @1 x symbolrate
|
// @1 x symbolrate
|
||||||
@@ -627,11 +630,18 @@ void Receiver::processBaseband(CVec const &iq, uint32_t len)
|
|||||||
// Update IQ_H
|
// Update IQ_H
|
||||||
IQ_hard_last = IQ_hard;
|
IQ_hard_last = IQ_hard;
|
||||||
|
|
||||||
// -----------------------------------------------------
|
// Call frame receiver with current symbol
|
||||||
// Lock-detector development
|
m_frameReceiver.process((symbol_t)sym);
|
||||||
// @1 x symbolrate
|
|
||||||
// -----------------------------------------------------
|
// Feed symbol buffer
|
||||||
m_tracker.process(toComplexScalar(IQ_soft));
|
m_pSymbolBuffer[m_numSymsInBuffer++] = sym_err;
|
||||||
|
|
||||||
|
// Update per-symbol statistic
|
||||||
|
SymStatUpDate(&m_sym_stat, sym, &sym_err);
|
||||||
|
if (m_pDataListener)
|
||||||
|
{
|
||||||
|
m_pDataListener->receiverDataChanged(this);
|
||||||
|
}
|
||||||
|
|
||||||
// Statistics
|
// Statistics
|
||||||
#ifndef DISABLE_UNUSED_STATISTICS
|
#ifndef DISABLE_UNUSED_STATISTICS
|
||||||
@@ -657,15 +667,6 @@ void Receiver::processBaseband(CVec const &iq, uint32_t len)
|
|||||||
SlidingVarProcess(&m_statistics.noise_dfe_on, e_dfe_on);
|
SlidingVarProcess(&m_statistics.noise_dfe_on, e_dfe_on);
|
||||||
SlidingVarProcess(&m_statistics.noise_dfe_off, e_dfe_off);
|
SlidingVarProcess(&m_statistics.noise_dfe_off, e_dfe_off);
|
||||||
|
|
||||||
// -----------------------------------------------------
|
|
||||||
m_pSymbolBuffer[m_numSymsInBuffer++] = sym_err;
|
|
||||||
// Update per-symbol statistic
|
|
||||||
SymStatUpDate(&m_sym_stat, sym, &sym_err);
|
|
||||||
m_frameReceiver.process((symbol_t)sym);
|
|
||||||
if (m_pDataListener)
|
|
||||||
{
|
|
||||||
m_pDataListener->receiverDataChanged(this);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -806,6 +807,24 @@ void Receiver::setParams(const params_t ¶ms)
|
|||||||
initSymbolMapper();
|
initSymbolMapper();
|
||||||
}
|
}
|
||||||
m_statusListeners.call(&ReceiverStatusListener::receiverStatusChanged, this);
|
m_statusListeners.call(&ReceiverStatusListener::receiverStatusChanged, this);
|
||||||
|
|
||||||
|
m_params.cprState = cpr_state_acquisition;
|
||||||
|
if (params.cpr_loopfilter_coeff_index == 1)
|
||||||
|
{
|
||||||
|
m_params.cprState = cpr_state_track;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_params.strState = str_state_acquisition;
|
||||||
|
if (params.str_loopfilter_coeff_index == 1)
|
||||||
|
{
|
||||||
|
m_params.strState = str_state_track;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_params.agc_state = agc_state_acquisition;
|
||||||
|
if (params.agcMu_index == 1)
|
||||||
|
{
|
||||||
|
m_params.agc_state = agc_state_track;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
params_t& Receiver::getParams()
|
params_t& Receiver::getParams()
|
||||||
|
|||||||
@@ -355,7 +355,6 @@ private:
|
|||||||
uint32_t m_numSymsInBuffer;
|
uint32_t m_numSymsInBuffer;
|
||||||
uint32_t m_bufsize;
|
uint32_t m_bufsize;
|
||||||
bool m_ReceiverEnable;
|
bool m_ReceiverEnable;
|
||||||
sample_clock_t m_symClock;
|
|
||||||
pfd_t m_pfdCpr;
|
pfd_t m_pfdCpr;
|
||||||
|
|
||||||
// Filter
|
// Filter
|
||||||
|
|||||||
Reference in New Issue
Block a user