- 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();
|
||||
m_ReceiverEnable = false;
|
||||
|
||||
ClockInit(&m_symClock, NUM_BASEBAND_SAMPLES_PER_SYM);
|
||||
ClockSetPhase(&m_symClock, 1);
|
||||
|
||||
// FIR Arm filters
|
||||
initFilterArm();
|
||||
|
||||
@@ -524,6 +521,12 @@ void Receiver::processBaseband(CVec const &iq, uint32_t len)
|
||||
|
||||
IQ_eq_in = IQ_cpr;
|
||||
|
||||
// -----------------------------------------------------
|
||||
// Peak-Amplitude Tracker
|
||||
// @1 x symbolrate
|
||||
// -----------------------------------------------------
|
||||
m_tracker.process(toComplexScalar(IQ_eq_in));
|
||||
|
||||
// -----------------------------------------------------
|
||||
// Equalizer Process samples
|
||||
// @1 x symbolrate
|
||||
@@ -627,11 +630,18 @@ void Receiver::processBaseband(CVec const &iq, uint32_t len)
|
||||
// Update IQ_H
|
||||
IQ_hard_last = IQ_hard;
|
||||
|
||||
// -----------------------------------------------------
|
||||
// Lock-detector development
|
||||
// @1 x symbolrate
|
||||
// -----------------------------------------------------
|
||||
m_tracker.process(toComplexScalar(IQ_soft));
|
||||
// Call frame receiver with current symbol
|
||||
m_frameReceiver.process((symbol_t)sym);
|
||||
|
||||
// Feed symbol buffer
|
||||
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
|
||||
#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_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();
|
||||
}
|
||||
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()
|
||||
|
||||
Reference in New Issue
Block a user