optic.dsp.clockRecovery.gardnerClockRecovery

gardnerClockRecovery(Ei, param=None)

Perform clock recovery using Gardner’s algorithm with a loop PI filter.

Parameters:
  • Ei (numpy.np.array) – Input array representing the received signal.

  • param (core.parameter) –

    Clock recovery parameters:

    • param.kp : Proportional gain for the loop filter. [default: 1e-3]

    • param.ki : Integral gain for the loop filter. [default: 1e-6]

    • param.isNyquist: is the pulse shape a Nyquist pulse? [default: True]

    • param.returnTiming: return estimated timing values. [default: False]

    • param.lpad: length of zero padding at the end of the input vector. [default: 1]

    • param.maxPPM: maximum clock rate expected deviation in PPM. [default: 500]

Returns:

Tuple containing the recovered signal (Eo) and the timing values.

Return type:

tuple