Fall Semester
Telecommunications Circuits Laboratory EPFL
5 Phase Synchronization
In a previous lab we saw that the real part of the base band signal is modulated onto a cosine wave at radio frequency, and the imaginary part onto a sine wave. Since the cosine and sine functions are orthogonal, the two signal parts can be separated in the receiver. However, we run into a similar problem as the one discussed in the last lab: The receiver merely sees an oscillating waveform (a sinusoid): r(t) ∝ sin(2πfct + θ) during one symbol duration. Is it a sine, a cosine, or something in between? In order to differentiate between the two base functions, the receiver needs a phase reference, i.e. it needs to know the phase offset θ. The task of the phase synchronization unit is to provide this reference.
5.1 Signal Model
The phase synchronization is performed after the interpolator and thus works on the timingcorrected symbols
zε[n] = z(nT + εTˆ ). (5.1)
We will assume a perfect timing recovery and interpolation, so that zε[n] = z(nT + εT).
zε[n] = a[n]ejθ[n] + w0[n]. (5.2)
A simple but realistic phase noise model is the random walk: The first phase offset θ[0] is uniformly distributed in [0;2π). Then, over time, the phase offset evolves according to
Figure 5.1: Received symbols without (a) and with (b) phase offset
θ[n] = θ[n − 1] + ∆θ[n] ( mod 2π) (5.3)
where the difference between two successive phase offsets is a Gaussian random variable
. (5.4)
Figure 5.2 illustrates a typical phase noise process for a standard deviation of σ∆θ = 0.004 w 0.23◦. We see that the phase drift is rather slow, but still non negligible if the transmission is longer than about thousand symbols. Therefore, the phase offset must be tracked during the transmission.
5.2 Synchronization via Rotation
The correction of the phase offset is straightforward. Since the phase offset causes a rotation of the signal space,zε[n] = a[n]ejθ[n] + w0[n]. , we simply rotate the signal space into the opposite direction:
zε;θ[n] = zε[n]e−jθˆ[n]
ˆ[n]) 00 (5.5)
j(θ[n]−θ
= a[n]e + w [n]
with w00[n] = w0[n]e−jθˆ[n]. The phase synchronization unit is illustrated in Figure 5.3.
5.3 The Estimation Algorithm
The estimation algorithm, which is known in the literature as the “Viterbi and Viterbi” algorithm, uses the fact that we have a QPSK modulation. We therefore know that
(5.6)
Figure 5.2: Typical phase noise process for σ∆θ = 0.004
Figure 5.3: Phase synchronization unit
for all transmitted symbols a[n], and thus
. (5.7)
The operation (·)4 removes the information from the data symbols. Exploiting this fact, we can derive the following estimator, which operates on a symbol-by-symbol basis (i.e. does not take any correlation between the phases into account):
. (5.8)
This estimator is approximately unbiased if the SNR is high:
arg{−zε[n]4}} arg{−(a[n]ejθ[n] + w0[n])4}}
(5.9)
arg{ej4θ[n]}
(c) = θ[n].
The approximation (a) is valid for a high SNR, because then the variation of the argument is small, and the nonlinear argument operation can be linearized. In this case, the expectation and the argument operation can be exchanged. Equation (b) holds because the noise has zero-mean and is uncorrelated with the data sequence.
The step (c) does not allow us to uniquely identify any θ ∈ [0;2π). To see this, consider, for example, and (we drop the symbol index for simplicity). Then, the estimator will give us:
(5.10)
(5.11)
We can only identify θ correctly if we know which quadrant it is in. One way to have access to this information is to consider the phase estimate for the previous symbol. Assuming that the phase changes slowly, the two consecutive phases will most likely be close to each other (BUT: not necessarily in the same quadrant). However, in order to use this method we need a initial phase information about which quadrant we can start from.
5.4 Initial Phase Estimation
An initial phase estimate can be obtained by exploiting the preamble that is used for frame synchronization in the following way. Assume that there is no noise, so that z[n] = a[n]ejθ[n] , and let p[n] denote the preamble sequence of length Np . The frame synchronization function computes the following correlation:
Np−1
c[n] = X p¯∗[i]z[n − i], (5.12)
i=0
where p[i] = p[Np − 1 − i] is the reverted preamble sequence. c[n] is maximized when the sequences z[n − i] and p[i],i = 0,...,Np − 1, are equal. Let the n which maximizes the correlation be denoted by nmax . Assuming that θ[nmax − i] ≈ θ over the preamble, we have:
Np−1
c[nmax] = X p¯∗[i]p[nmax − i]ejθ[nmax−i] (5.13)
i=0
Np−1
≈ X p¯∗[i]p[nmax − i]ejθ (5.14)
i=0
Np−1
= ejθ X p¯∗[i]p[nmax − i]. (5.15)
i=0 For the phase of c[nmax] we have:
arg{c[nmax]} = θ. (5.16)
Thus, the phase of the peak of the correlator can be used as an initial phase estimate.
5.5 Your Tasks
A5T1 Create phase noise by implementing the random walk described in (5.3).
A5T2 Modify the phase synchronization unit so that it provides an initial phase estimate according to (5.16).
A5T3 Implement the phase synchronization unit and integrate it into your system. Compare your phase estimates with the true values.
(1) Apply phase noise to signal with awgn noise.
(2) Apply viterbi-viterbi algorithm on the payload data.
(3) Correct the payload with the estimated phase error.
(4) Consider a way to filter the phase according to the nature of random walk, write a new theta estimation trial in parallel with (2) and (3) to allow a comparison of the estimate.
Note: MATLAB angle function returns angles in the interval [−π,π]. After step (3), the image will still experience some erroneous phase jump unless a very high SNR is used (e.g. 100dB).