You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There's a residual phase error of around 6° in the liquid-dsp symbol synchronizer. Probably not a big deal, but not perfect either; it could potentially cause more bit flips than necessary in noisy conditions.
The relevant function is Subcarrier::demodulateMoreBits(). This phase error seems to come from the PLL NCO that follows the difference frequency between 57 kHz and the actual subcarrier (nco_exact_).
Perhaps nco_exact_.stepPLL() should be called at a different point?
Calling nco_exact_.step() anywhere makes the constellation rotate wildly. But according to Liquid docs, you should call step() on an NCO or it will not advance. So what's happening here?
What about loop filter bandwidth?
Or perhaps the PLL can't lock onto such a low frequency? It's on the order of ±10 Hz.
There's a residual phase error of around 6° in the liquid-dsp symbol synchronizer. Probably not a big deal, but not perfect either; it could potentially cause more bit flips than necessary in noisy conditions.
The relevant function is
Subcarrier::demodulateMoreBits()
. This phase error seems to come from the PLL NCO that follows the difference frequency between 57 kHz and the actual subcarrier (nco_exact_
).nco_exact_.stepPLL()
should be called at a different point?nco_exact_.step()
anywhere makes the constellation rotate wildly. But according to Liquid docs, you should callstep()
on an NCO or it will not advance. So what's happening here?Here's the constellation of PSK symbols returned by the liquid-dsp function
symsync_crcf_execute()
:The text was updated successfully, but these errors were encountered: