Lecture 17 - Non-Ideal Analog Demodulation (Carrier Frequency and Phase Offsets)
As you will see in lab this week, when coming down to baseband from passband things do not look as pretty as we described in previous lectures. We have to understand why these effects come about and how to model them as a discrete time system. Naturally, our system model will get more complicated, but we will have one that represents something much closer to reality.
Previously, we had some signal \(s(t)\) passed through a mixer to get up to passband, and then through another mixer to get back to baseband. Today we introduce a frequency and phase offset to each of those mixers as a non-ideality.
The low pass filter is required to remove the spectral copy of the signal that resulted from modulating up to passband. Upon coming back to baseband, the copy is shifted down into further negative frequencies. The LPF will ensure only the baseband signal is used for detection.
Because there is no way to ensure that the transmitter and receiver operate at the exact same frequency and phase, accurate detection of symbols will now require us to overcome the frequency and phase differences between the transmitted and received signal.
Our goal is to figure out some end-to-end baseband model of the passband distortion that arises due to these non-idealities so that we can do signal processing completely in discrete time to correct them.
1 Baseband Equivalent Model
Looking at Figure 1, we can develop a baseband equivalent model from \(s(t)\) to \(r(t)\) assuming that \(x(t) = y(t)\), i.e., there are no other distortions in the signal that haven’t been modeled. We get that
\[ \begin{aligned} x(t) &= \sqrt 2 \, \operatorname{Re}\{s(t) e^{j (2 \pi f_c t + \varphi)}\} \\ &= \frac{1}{\sqrt 2} [s(t) e^{j (2 \pi f_c t + \varphi)} + s^*(t) e^{-j (2 \pi f_c t + \varphi)}] \end{aligned} \tag{1}\]
and
\[ r(t) = \sqrt 2 \, h(t) * [y(t) e^{-j (2 \pi f_c' t + \varphi')}] \tag{2}\]
We compute the fourier transform of \(x(t)\) and get
\[ X(f) = \frac{1}{\sqrt 2} [e^{j \varphi} S(f-f_c) + e^{-j \varphi} S^*(-(f+f_c))] \]
We can see that the fourier transform of \(x\) is two copies of the scaled fourier transform of \(s\) – one centered at \(f_c\) and one centered at \(-f_c\).
Now we’d like to figure out the fourier transform of the bracketed term in Equation 2 so that we can understand how the LPF will affect the signal. We know since \(x(t) = y(t)\) that \(X(f) = Y(f)\), and we can complete the rest of the computation to get
\[ \mathcal{F}\{y(t) e^{-j (2 \pi f_c' t + \varphi')}\} = \frac{1}{\sqrt 2}[e^{j (\varphi - \varphi')} S(f-(f_c - f_c')) + e^{-j (\varphi - \varphi')} S^*(-(f+f_c+f_c'))] \]
If \(f_c\) is close to \(f_c'\), then we would expect the first \(S\) term, \(e^{j (\varphi - \varphi')} S(f-(f_c - f_c'))\) to be nearly centered at \(0\) while we would expect the second term, \(e^{-j (\varphi - \varphi')} S^*(-(f+f_c+f_c'))\) to be nearly centered at \(-2 f_c\). Because our goal is to recover a baseband signal, we want the LPF to pass the first term and filter out the second.
Notice the asymmetry in the received signal. Despite the fact that our transmitted signal was real, the received signal is complex because of the non-idealities in the channel. For this reason we will need to demodulate both the I (real) and Q (imaginary) channels in lab when working with our receiver.
Another thing to notice in the figure is that we need to add some slack to our LPF to account for the small frequency offset that results from transmission. In the past we spoke about using an ideal LPF with cutoff frequency \(B\) to perfectly capture the baseband signal. Now, we’ll need a slightly larger filter bandwidth to recover our baseband signal. We call this frequency difference the carrier frequency offset. Ideally, we’d have some idea of the maximum frequency offset to expect and can thus adjust our filter bandwidth to \(B + \Delta f_max\) to account for it.
If the filter is properly designed, we end up with \[ \begin{aligned} r(t) &= e^{j(\varphi - \varphi')} s(t) e^{j 2 \pi (f_c - f_c') t} \\ &= e^{j(2 \pi (\Delta f) t + \Delta \varphi)} s(t) \end{aligned} \]
which shows our carrier frequency offset (\(\Delta f\)) and carrier phase offset (\(\Delta \varphi\)) in the received signal.
The purpose of showing the math is to understand what is actually happening in our hardware. In real life there is no escaping these impairments, so we need some way to correct them. Having a robust mathematical model makes it much easier to perform these corrections.