optic.dsp.carrierRecovery.cpr
- cpr(Ei, param=None, symbTx=None)
Carrier phase recovery function (CPR)
- Parameters:
Ei (complex-valued np.array) – received constellation symbols.
param (optic.utils.parameter object, optional) –
Configuration parameters [default: None].
param.alg: CPR algorithm to be used [‘bps’, ‘bpsGPU’, ‘ddpll’, or ‘viterbi’] [default: ‘bps’].
param.shapingFactor: shaping factor, for probabilistic shaped QAM with MB dististribution.[default: 0]
param.constType: constellation type [‘qam’ or ‘psk’]. [default: ‘qam’]
param.M: constellation order. [default: 4]
param.returnPhases: whether to return the estimated phase shifts along with the output signal. [default: False]
BPS params:
param.N: length of BPS the moving average window. [default: 35]
param.B: number of BPS test phases. [default: 64]
DDPLL params:
param.tau1: DDPLL loop filter param. 1. [default: 1/2*pi*10e6]
param.tau2: DDPLL loop filter param. 2. [default: 1/2*pi*10e6]
param.Kv: DDPLL loop filter gain. [default: 0.1]
param.Ts: symbol period. [default: 1/32e9]
param.pilotInd: indexes of pilot-symbol locations.
Viterbi params:
param.N: length of the moving average window. [default: 35]
symbTx (complex-valued np.array, optional) – Transmitted symbol sequence. [default: None]
- Returns:
Eo (complex-valued np.array) – Phase-compensated signal.
phaseEst (real-valued np.array) – Time-varying estimated phase-shifts.
References
[1] T. Pfau, S. Hoffmann, e R. Noé, “Hardware-efficient coherent digital receiver concept with feedforward carrier recovery for M-QAM constellations”, Journal of Lightwave Technology, vol. 27, nº 8, p. 989–999, 2009, doi: 10.1109/JLT.2008.2010511.
[2] S. J. Savory, “Digital coherent optical receivers: Algorithms and subsystems”, IEEE Journal on Selected Topics in Quantum Electronics, vol. 16, nº 5, p. 1164–1179, set. 2010, doi: 10.1109/JSTQE.2010.2044751.
[3] H. Meyer, Digital Communication Receivers: Synchronization, Channel estimation, and Signal Processing, Wiley 1998. Section 5.8 and 5.9.