- 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:
2022-06-22 05:59:05 +00:00
parent eec12c9393
commit 44815e7dc1
2 changed files with 36 additions and 18 deletions
+36 -17
View File
@@ -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 &params)
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()
-1
View File
@@ -355,7 +355,6 @@ private:
uint32_t m_numSymsInBuffer;
uint32_t m_bufsize;
bool m_ReceiverEnable;
sample_clock_t m_symClock;
pfd_t m_pfdCpr;
// Filter