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

HLF(z)=K1+K211z1=(K1+K2)K1z11z1.

The transfer function of the NCO is

HNCO(z)=K0z11z1.

The closed-loop transfer function of the PLL is

HPLL(z)=KpK0(K1+K2)z1KpK0K1z212(112KpK0(K1+K2)z1+(1KpK0K1)z2.

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 fs of the PLL in samples/s.

property BnT : float

The normalized noise bandwidth BnT of the PLL.

property Bn : float

The noise bandwidth Bn of the PLL in Hz.

property zeta : float

The damping factor ζ of the PLL.

property K0 : float

The NCO gain K0.

property Kp : float

The phase error detector (PED) gain Kp.

property K1 : float

The proportional gain K1 of the loop filter.

property K2 : float

The integral gain K2 of the loop filter.

property iir : IIR

The IIR filter that represents the closed-loop transfer function of the PLL.

property omega_n : float

The natural frequency ωn of the PLL in radians/s.

property omega_3dB : float

The 3-dB bandwidth ω3dB of the PLL in radians/s.