Carrier recovery

The carrier recovery is the process of recovering the phase and frequency of the input carrier, so that we can afterwards proceed to coherent demodulation. The functions provided here enable to:

  • Initialize (carrier_rec_init) and use (carrier_rec_process) a carrier recovery object,
  • Select (ped_init) a Phase Error Detector (ped), which can be a power loop (squaring loop in case of BPSK), Costa loop, MAP loop, tan loop, etc.
  • Select a loop filter (lf_init), of first (for carrier phase tracking) or second (for carrier phase and frequency tracking) order.

The chosen architecture is the following (yellow rectangle):

Clock recovery architecture

A complete example can be found on the carrier_rec_process function documentation.