comnum.gardner_clock_recovery#

comnum.gardner_clock_recovery(x, *, kp=0.001, ki=1e-06, nyquist=True, max_ppm=500.0)#

Gardner clock recovery at 2 samples per symbol (OptiCommPy gardnerClockRecovery).

Parameters:
  • x (array_like) – the signal at (about) 2 samples per symbol.

  • kp (float) – proportional gain of the loop filter.

  • ki (float) – integral gain of the loop filter.

  • nyquist (bool) – use the detector for Nyquist pulses.

  • max_ppm (float) – largest clock deviation handled (ppm, sizes the output).

Returns:

the resampled signal (2 sps) and the fractional sampling instant of every output sample.

Return type:

tuple[numpy.ndarray, numpy.ndarray]

Raises:

ValueError – for an input that is not an array of numbers of the expected shape.