- class sdr.ClosedLoopPLL
A class that defines the performance of a closed-loop PLL.
Note
This class is meant for performance analysis only.
Notes¶
Closed-Loop PLL Block Diagram¶bb[n] phase_err[n] +---+ +-----+ +----+ x[n] -->| X |--->| PED |--->| LF |---+ +---+ +-----+ +----+ | ^ | phase_est[n] | +-----+ | lo[n] +------| NCO |<------------+ +-----+ x[n] = Input signal bb[n] = Baseband signal phase_err[n] = Phase error signal phase_est[n] = Phase estimate signal lo[n] = Local oscillator signal PED = Phase error detector LF = Loop filter NCO = Numerically-controlled oscillator
The transfer function of the 2nd order, proportional-plus-integrator loop filter is
The transfer function of the NCO is
The closed-loop transfer function of the PLL is
References¶
Michael Rice, Digital Communications: A Discrete-Time Approach, Appendix C: Phase Locked Loops.
Examples¶
See the Phase-locked loops example.
Constructors¶
- ClosedLoopPLL(noise_bandwidth: float, damping_factor: float, ...)
Creates a closed-loop PLL analysis object.
Methods¶
- phase_lock_time() float
Returns the phase lock time of the PLL.
- frequency_lock_time(freq_offset: float) float
Returns the frequency lock time of the PLL.
- lock_time(freq_offset: float) float
Returns the lock time of the PLL.
- phase_error_variance(cn0: float) float
Returns the variance of the phase error of the PLL in steady state.
Properties¶
- property sample_rate : float
The sample rate
of the PLL in samples/s.