Lecture 14 - PAM / QAM Demodulation (Minimum Distance Detection, Correlation, Matched Filter)

Thus far we have discussed modulating signals up to passband and then demodulating them back down to baseband. In a perfect world, this process would be simple. In practice, however, distortion of the signal occurs due to numerous factors like the underlying circuitry, the propagation environment, etc. In this lecture we will begin to develop a method of correctly determining the transmitted signal despite this distortion.

1 Minimum Distance Detection in Signal Space

Before thinking about any specific distortion in a signal, we can use a very general signal space model to understand conceptually how we will detect the correct signal.

Suppose that our transmitter emits one of \(M\) waveforms \(s_0(t), s_1(t), ..., s_{M-1}(t)\) and that our receiver obtains a distorted signal \(r(t)\). We know that \(r(t)\) is a distorted version of one of the \(s_m(t)\) possible transmitted signals, so we must develop a method to figure out which one the received signal is. It turns out that the natural decision criterion (often the mathematically optimal one) is to select the signal which is closest in signal space to the received signal. We call this method of detection Minimum Distance Detection.

Our decision \(\hat{m}\) indicates which of the \(s_m(t)\) signals corresponds to \(r(t)\) using minimum distance. We calculate \(\hat{m}\) by first computing the energy difference between each possible transmitted waveform and the received waveform, and then selecting the waveform with the minimum energy difference as the correct one. Mathematically, it looks as follows:

\[ \hat{m} = \operatorname*{arg min}_{m=0,1,2,...,M-1} \int^\infty_\infty |r(t) - s_m(t)|^2 dt \]

which looks a lot like an inner product. Therefore, we can rewrite it in two ways: \[ \hat{m} = \operatorname*{arg min}_{m=0,1,2,...,M-1} ||r(t) - s_m(t)||^2 \]

using the norm or

\[ \hat{m} = \operatorname*{arg min}_{m=0,1,2,...,M-1} \langle r(t) - s_m(t), r(t) - s_m(t) \rangle \]

using inner product notation. We’ll opt to continue with the latter.

Because we know inner products have the property of linearity, we can separate this into several separate inner products as follows:

\[ \begin{aligned} \hat{m} &= \operatorname*{arg min}_{m=0,1,2,...,M-1} \langle r(t), r(t) - s_m(t) \rangle - \langle s_m(t), r(t) - s_m(t) \rangle \\ &= \operatorname*{arg min}_{m=0,1,2,...,M-1} \langle r(t), r(t) \rangle - 2 \operatorname{Re}\{\langle r(t), s_m(t)\rangle\} + \langle s_m(t), s_m(t) \rangle \end{aligned} \]

Notice that the inner product between \(r(t)\) and itself is independent of \(m\), so it does not need to factor into the minimization calculation. Often the inner product between \(s_m(t)\) and itself can be precomputed because the set of waveforms is known at the receiver. So, in order to compute the minimum distance we only need to calculate the middle term, the inner product of \(r(t)\) and \(s_m(t)\).

Now we can look at how to do this computation in signal space. Suppose \(\{s_1, s_2, ..., s_M\}\) exist in a signal space spanned by a smaller set of orthonormal waveforms \(\{\varphi_1, \varphi_2, ..., \varphi_K\}\) where \(K < M\). Then

\[ r(t) = \sum_{k=1}^K r_k \varphi_k(t) \]

\[ \vec{r} = [r_1 r_2 ... r_3]^T \]

and

\[ s_m(t) = \sum_{k=1}^M s_{mk} \varphi_k(t) \]

\[ \vec{r} = [s_{m1} s_{m2} ... s_{mK}]^T \]

We see that for each continuous time signal we have a finite dimensional vector in our signal space that corresponds to it. We can then leverage Parseval’s Relation (which says that the energy between the difference of two signals squared is the same as the norm squared of their vector representation) to find the energy difference between both signals.

Therefore,

\[ \hat{m} = \operatorname*{arg min}_{m=0,1,2,...,M-1} ||r(t) - s_m(t)||^2 \]

is equivalent to

\[ \hat{m} = \operatorname*{arg min}_{m=0,1,2,...,M-1} ||\vec{r} - \vec{s_m}||^2 \]

Now we’ve shown that if we have a signal space representation of a waveform, then minimum distance detection of signals is the same as minimum distance detection of symbols (i.e., euclidean distance!) The signal space view is much easier to work with than the signal view because we no longer need to use integrals.

A minimum distance detector using correlators.

We see that we take the received waveform and separately multiply it by each of the basis waveforms and then integrate (i..e, perform the inner product) to get the vector coefficients and thus a signal space representation of the waveform. We can then perform minimum distance detection on this vector with the set of transmit waveform vectors to select the correct one.

This is one way of implementing a minimum distance detection receiver. The multiplication followed by integration is called correlation, which is why many texts will call the above design a correlation receiver.

Note

Correlation is just a special case of a more general notion that we’ve already developed: the inner product.

1.1 Matched Filter Receiver

There is another way to design the correlator that we just saw by replacing the correlation with a convolution. We know that the inner product \(\langle r(t), \varphi_k(t) \rangle = \int_{-\infty}^\infty r(t) \varphi_k^*(t)dt\) can be implemented as follows:

A matched filter sampling at time \(t=0\).

We can verify that this is true mathematically. Let \(q(t) = \varphi_k^*(-t)\).

In general, the convolution \(y(t)\) for some signal \(r(t)\) and \(q(t)\) is \(y(t) = \int_{-\infty}^\infty r(\tau) q(t-\tau) d \tau\) and therefore \(y(0) = \int_{-\infty}^\infty r(\tau) q(-\tau) d \tau\). We can substitute our \(q(t)\) to get

\[ y(0) = \int_{-\infty}^\infty r(\tau) \varphi_k^*(\tau) d \tau \]

Clearly, this shows that the correlation can be implemented by performing a convolution and then sampling at time \(t=0\).

We can then design our receiver as follows using matched filters instead of correlations:

A minimum distance detector using matched filters.
Causality

If \(\varphi_k(t)\) is causal, then the time-reversed version \(\varphi^*_k(-t)\) is anti-causal.

Relationship between \(\varphi_k(t)\) and \(\varphi^*_k(-t)\).

This filter is not realizable, but we can implement this filter if we delay by some \(T\) to make it causal. This is possible because if filter is finite in time. We can then just account for this delay in the system.

If \(\varphi_k(t) \neq 0\) for \(t \in [0, T_0]\) then we can implement matched filter as:

Matched filter with time adjustment.