mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-10-01 01:06:35 -04:00
Unset PLL lock status as soon as condition is lost
This commit is contained in:
parent
cdf51b99e9
commit
f300b675bf
@ -106,8 +106,6 @@ private:
|
|||||||
Real m_pilot_level;
|
Real m_pilot_level;
|
||||||
int m_lock_delay;
|
int m_lock_delay;
|
||||||
int m_lock_cnt;
|
int m_lock_cnt;
|
||||||
int m_unlock_cnt;
|
|
||||||
int m_unlock_delay;
|
|
||||||
int m_pilot_periods;
|
int m_pilot_periods;
|
||||||
quint64 m_pps_cnt;
|
quint64 m_pps_cnt;
|
||||||
quint64 m_sample_cnt;
|
quint64 m_sample_cnt;
|
||||||
|
@ -41,9 +41,7 @@ PhaseLock::PhaseLock(Real freq, Real bandwidth, Real minsignal)
|
|||||||
// Set valid signal threshold.
|
// Set valid signal threshold.
|
||||||
m_minsignal = minsignal;
|
m_minsignal = minsignal;
|
||||||
m_lock_delay = int(20.0 / bandwidth);
|
m_lock_delay = int(20.0 / bandwidth);
|
||||||
m_unlock_delay = int(10.0 / bandwidth);
|
|
||||||
m_lock_cnt = 0;
|
m_lock_cnt = 0;
|
||||||
m_unlock_cnt = 0;
|
|
||||||
m_pilot_level = 0;
|
m_pilot_level = 0;
|
||||||
m_psin = 0.0;
|
m_psin = 0.0;
|
||||||
m_pcos = 1.0;
|
m_pcos = 1.0;
|
||||||
@ -105,9 +103,7 @@ void PhaseLock::configure(Real freq, Real bandwidth, Real minsignal)
|
|||||||
// Set valid signal threshold.
|
// Set valid signal threshold.
|
||||||
m_minsignal = minsignal;
|
m_minsignal = minsignal;
|
||||||
m_lock_delay = int(20.0 / bandwidth);
|
m_lock_delay = int(20.0 / bandwidth);
|
||||||
m_unlock_delay = int(10.0 / bandwidth);
|
|
||||||
m_lock_cnt = 0;
|
m_lock_cnt = 0;
|
||||||
m_unlock_cnt = 0;
|
|
||||||
m_pilot_level = 0;
|
m_pilot_level = 0;
|
||||||
|
|
||||||
// Create 2nd order filter for I/Q representation of phase error.
|
// Create 2nd order filter for I/Q representation of phase error.
|
||||||
@ -327,21 +323,10 @@ void PhaseLock::process(const Real& sample_in, Real *samples_out)
|
|||||||
{
|
{
|
||||||
m_lock_cnt += 1; // n
|
m_lock_cnt += 1; // n
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
m_unlock_cnt = 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (m_unlock_cnt < m_unlock_delay)
|
m_lock_cnt = 0;
|
||||||
{
|
|
||||||
m_unlock_cnt += 1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
m_lock_cnt = 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Drop PPS events when pilot not locked.
|
// Drop PPS events when pilot not locked.
|
||||||
|
Loading…
Reference in New Issue
Block a user