- DSP log - http://www.dsplog.com -

First order digital PLL for tracking constant phase offset

Posted By Krishna Sankar On June 10, 2007 @ 12:15 am In DSP | 14 Comments

Considering a typical scenario where there might exist a small phase offset between local oscillator between the transmitter and receiver.

tx_rx_phase_offset.gif [1]

Figure 1 : Transmitter receiver with constant phase offset

In such cases, it might be desirable to estimate and track the phase offset such that the performance of the receiver does not degrade.

A simple first order digital phase locked loop for tracking the constat phase offset can be as

Assuming that the transmitter signal gets rotated by a constant phase , the received signal . In a simple no-noise case, assuming that the phase offset is small (and the signal gets decoded correctly), the estimate of phase offset is,


Typically, a first order phase locked loop which converges to is used for facilitating synchronous demodulation.

first order pll [2]

Figure 2 :

First order digital phase locked loop (PLL)

(adapted from Fig 5.7 of [Mengali [3]])

The estimate from each sampling instant is accumulated to form the estimate . This estimated phase is removed from the received samples to generate . The parameteris a non-zero positive constant in the range controls the rate of convergence of the loop. Higher value of indicates faster convergence, but is more prone to noise effects. Lower value of is less noisy, but results in slower convergence.

Assuming , the phase estimate at the output of the filter is


Substituting, , then


A simple Matlab code to simulate this can be as follows:

% random +/-1 BPSK source
xn = 2*(rand(1,1000) >0.5) - 1;
% introducing a phase offset of 20 degrees
phiDeg = 20;
phiRad = phiDeg*pi/180;
yn = xn*exp(j*phiRad);
% first order pll
alpha = 0.01;
phiHat = 0;
for ii = 1:length(yn)
   yn(ii) = yn(ii)*exp(-j*phiHat);
   % demodulating circuit
   xHat = 2*real(yn(ii)>0) -1 ;
   phiHatT = angle(conj(xHat)*yn(ii));
   % accumulation
   phiHat = alpha*phiHatT + phiHat;
   % dumping variables for plot
   phiHatDump(ii) = phiHat;


phiHat_n_alpha [4]

Figure 3: Convergence of for two values.


[1] Synchronization Techniques for Digital Receivers (Applications of Communications Theory) by Umberto Mengali [3]

Article printed from DSP log: http://www.dsplog.com

URL to article: http://www.dsplog.com/2007/06/10/first-order-digital-pll-for-tracking-constant-phase-offset/

URLs in this post:

[1] Image: http://www.flickr.com/photos/8649381@N03/537288934/

[2] Image: http://www.flickr.com/photos/8649381@N03/538176397/

[3] Mengali: http://www.amazon.com/Synchronization-Techniques-Receivers-Applications-Communications/dp/0306457253

[4] Image: http://www.flickr.com/photos/8649381@N03/538226983/

[5] click here to SUBSCRIBE : http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1348583&loc=en_US

Copyright © 2007-2012 dspLog.com. All rights reserved. This article may not be reused in any fashion without written permission from http://www.dspLog.com.