Lecture 28 - ML Frequency and Phase Offset Estimation
1 Examples
1.1 Known Signal with Unknown Frequency Offset in Noise
\(r(t) = s(t) e^{j 2 \pi (\Delta f)t} + w(t)\), where \(s(t)\) is known, \(w(t)\) is AWGN, and \(\Delta f\) is unknown.
We will assume that \(s(t)\) is bandlimited to max frequency \(B\) Hz, and that the frequency offset is in some set range (\(-f+{max} < \Delta f < f_{max}\)). We will sample \(r(t)\) with period \(T < \frac{1}{2(B + f_{max})}\). We will again use signal space concepts with the sampling basis (ideal unit sinc pulses in the time domain).
We can again write the each signal as a vector:
\[ r_k = \langle r(t), \varphi_k(t) \rangle \] \[ s_k(\Delta f) = \langle s(t) e^{j 2 \pi (\Delta f)t}, \varphi_k(t) \rangle \] \[ w_k = \langle w(t), \varphi_k(t) \rangle \]
Each has a corresponding vector form:
\[ \vec{r} = [r_1 \; r_2 \; ... \; r_n]^T \] \[ \vec{s}(\Delta f) = [s_1(\Delta f) \; s_2(\Delta f) \; ... \; s_n(\Delta f)]^T \] \[ \vec{w} = [w_1 \; w_2 \; ... \; w_n]^T \]
We can now try to find the maximum likelihood estimate for \(\Delta f\), \(\hat{\Delta f}_{ML} (\vec{r}) = \operatorname*{arg max}_{\Delta f} f_{\vec{r} | \Delta f} (\vec{r} | \Delta f)\).
After several steps, we again arrive at a minimum distance problem:
\[ \begin{aligned} \hat{\Delta f}_{ML} (\vec{r}) &= \operatorname*{arg min}_{\Delta f} ||\vec{r} - \vec{s} (\Delta f)||^2 \\ &= \operatorname*{arg min}_{\Delta f} ||\vec{r}||^2 - 2 \operatorname{Re}\{ \langle \vec{r}, \vec{s} (\Delta f) \} + ||\vec{s} (\Delta f)||^2 \\ \end{aligned} \]
Like last time, the first and last terms are independent of the parameter, leaving only the middle term for the minimization over \(\Delta f\).
\[ \begin{aligned} \hat{\Delta f}_{ML} (\vec{r}) &= \operatorname*{arg max}_{\Delta f} \operatorname{Re}\{ \langle \vec{r}, \vec{s} (\Delta f) \} \\ \hat{\Delta f}_{ML} (\vec{r}) &= \operatorname*{arg max}_{\Delta f} \operatorname{Re} \left\{ \int_{- \infty}^\infty r(t) s^*(t) e^{j 2 \pi (\Delta f)t} dt \right\} \\ \end{aligned} \]
This form is more interesting than we’ve seen before. After integration, the expression becomes a function of \(\Delta f\), which can be thought of as a Fourier Transform!
This problem is very similar to the time delay example from last lecture. If we take the Fourier Transform of the signal term \(s(t) e^{j 2 \pi (\Delta f)t}\), we end up with \(S(f - (\Delta f))\). This form looks very similar to the \(s(t - \theta)\) form we saw yesterday. It makes sense, then that the block diagram for the detector looks very similar.
A discrete time implementation of the above might look like the following:
In practice, we often implement this detector using a grid search over evenly spaced frequencies. This means that we can use the FFT algorithm and choose the peak over those discrete frequencies. If there are more grid points to search over, the FFT will have to be larger. A larger FFT would increase the accuracy of the estimate at the cost of computation time.
1.2 Carrier Frequency Offset Correction/Synchronization 31:00
If \(r(nT) = s(nT) e^{j 2 \pi (\Delta f) T n + w(nT)}\) and we estimate that \(\hat{(\Delta f)}_{ML}\), then we can apply the “correction”
\[ r(nT) e^{-j 2 \pi \hat{(\Delta f)}_{ML} T n} = s(nT) e^{j 2 \pi (\Delta f - \hat{(\Delta f)}_{ML}) T n} + \tilde{w}(nT) \]
where \(\tilde{w}(t)\) is still Gaussian noise. Ideally, this quantity would be equal to the original signal \(s(nT)\), i.e. \(\Delta f - \hat{(\Delta f)}_{ML} \simeq 0\). For large \(n\), even a small value for this frequency offset can cause a large distortion.
In lab, we will get around the issue of large \(n\) by choosing a packet size that limits the distortion.
We use the preamble to estimate the frequency offset, and then correct that offset in the payload of the packet. Because the payload is not actual data that we would like to transmit, our data rate is necessarily limited to
\[ \frac{L}{L+H} \]
We can detect \(L\) bits of actual data for every \(L+H\) bits we receive.
1.3 Joint Frequency Offset & Phase Offset
Suupose \(r(t) = s(t) e^{j 2 \pi (\Delta f)t + \Delta \varphi} + w(t)\). Following some developments, we can write our maximum likelihood equation as follows:
\[ \hat{\Delta f}, \hat{\Delta \varphi} = \operatorname*{arg max}_{\Delta f, \Delta \varphi} \operatorname{Re} \left\{ \int_{-\infty}^\infty r(t) s^*(t) e^{-j 2 \pi (\Delta f) + \Delta \varphi} dt \right\} \]
In this case, we have two parameters to optimize over, \(\Delta f\) and \(\Delta \varphi\). We are still taking a recieved signal, correlating against a model for what we think the transmitted signal and unknown effects will be.
Another way to solve the problem would be to perform the estimation in two steps: first, perform the optimization on one of the parameters, and then perform a second optimization on the other parameter using the result of the first.
1.4 Joint Frequency, Phase, and Delay Offset
Suupose \(r(t) = s(t - \tau) e^{j 2 \pi (\Delta f)t + \Delta \varphi} + w(t)\). Following the same developments as above, we can write our maximum likelihood equation as follows:
\[ \hat{\Delta f}, \hat{\Delta \varphi}, \hat{\tau} = \operatorname*{arg max}_{\Delta f, \Delta \varphi, \tau} \operatorname{Re} \left\{ \int_{-\infty}^\infty r(t) s^*(t - \tau) e^{-j 2 \pi (\Delta f) + \Delta \varphi} dt \right\} \]
We follow the same pattern here: take the received signal, correlate against what the actual signal should look like with impairments, and then optimize.