Lecture 15 - PAM Modems (Nyquist Zero ISI, DT Implementations)

We have already discussed PAM in continuous time. Today we will explore how to implement PAM in discrete time, as is often done in hardware (and will be done in our lab). These methods are independent of the actual channel – they apply for both wired and wireless links.

1 PAM Revisited

Recall that we generate our waveforms by summing up time-delayed versions of the finite number of input samples. Mathematically, this looks like

\[ s(t) = \sum_{k=0}^{K-1} a[k] p(t-kT_s) \]

Let us assume (for the moment) that pulse shapes at different delays are mutually orthonormal, i.e.,

\[ \langle p(t-kT_s), p(t-lT_s) \rangle = \begin{cases} 1 & k=l \\ 0 & k \neq l \end{cases} \]

It would then be natural to consider \(\varphi_k(t) = p(t-kT_s)\) for \(k=0, 1, 2, ..., K-1\) our orthonormal basis.

Note

We could use any other orthonormal basis and still make everything work, but choosing the delayed pulses will make things much simpler.

When we choose the orthonormal basis in this way, the minimum distance receiver structure from last time simplifies to

A matched filter receiver using a symbol-by-symbol detector.

Here we take the received input signal and pass it through a single matched filter (not the \(k\) filters from last time), and then sample at multiples of \(T_s\). We can then use a minimum distance detector which looks at each symbol instead of each vector, with the former being much simpler to design than the latter. We call this minimum distance detector a symbol-by-symbol minimum distance detector.

We can put everything together and get a system that looks like

A full receiver (DT to DT) using a symbol-by-symbol detector.

There are a few things to note about this setup. First, this minimum distance detector is optimal if pulses are orthogonal, i.e., \(\langle p(t-kT_s), p(t-lT_s) \rangle = \delta [k-l]\).

Second, the matched filter can be applied more generally to replace a correlator, but if pulses are not orthogonal then we require sequence detection instead of symbol-by-symbol detection.

Finally, if \(p(t)\) is bandlimited, we can implement the entire detector in discrete time. This is a very important result for hardware design, because we can use standard CMOS technology to do our processing.

What happens if \(\langle p(t-kT_s), p(t-lT_s) \rangle \neq \delta [k-l]\) (i.e., the pulses are not orthonormal)?

A system using pulses that are not orthonormal.
Note

The new \(\delta (t)\) block is just a mathematical artifact to get our discrete time samples into continuous time.

We can then combine the \(p(t)\) and \(p^*(-t)\) blocks, recalling that the convolution of their impulse responses will be the total impulse response. We call this convolution \(p(t) * p^*(-t)\) the pulse autocorrelation function and denote it \(r_p(t)\).

The pulse autocorrelation function.
Note

We are sampling the continous time output of \(r_p(t)\) at \(nT_s\), so in our output we don’t see the familiar \(t-kT_s\) term – we instead see \(nT_s - kT_s\).

We can rewrite \(r[n]\) in a way that makes our result more apparent. Consider separately the cases where \(k=n\) and \(k \neq n\). Then we have

\[ r[n] = r_p(0) a[n] + \sum_{k=0, k \neq n}^{K-1} a[k] r_p((n-k)T_s) \]

We would like this system to correspond to a delta function, i.e., the output at time \(n\) is the same as the input at time \(n\). That would mean that our system is lossless. Ideally, then, \(r_p(0) = 1\) and \(r_p((n-k)T_s) = 0\). Then our equation would simplify to \(r[n] = a[n]\), which is exactly what we want.

If, however, \(r_p((n-k)T_s)\) is not 0, we call the term Intersymbol Interference (ISI).

2 Nyquist Criterion for Zero ISI

The following conditions are equivalent and indicate that there will be no intersymbol interference.

  1. \(r_p(nT_s) = \begin{cases} 1 & n = 0 \\ 0 & n \neq 0 \end{cases}\)

As we saw above, if the sampled autocorrelation function is a delta function, there will be no interference. Input symbols will correspond to output symbols.

  1. \(\frac{1}{T_s} \sum_{k=-\infty}^\infty\limits R_p (f-\frac{k}{T_s}) = 1\)

Here, aliasing is a good thing. The sum of the periodically replicated autocorrelation function’s frequency response adds up to exactly 1, i.e., it is completely flat in the frequency spectrum.

  1. \(\langle p(t-kT_s), p(t-lT_s) \rangle = \delta [k-l]\)

If the inner product between two different pulse shapes is a delta function, then we have no intersymbol interference.

Note

Rectangular and raised cosine pulses can satisfy these conditions.

Generally speaking, we want the combination of transmitter and receiver to satisfy the above conditions. For this reason, we often use a square root raised cosine filter. One square root pulse shape at the transmitter and one at the receiver combine to have the net effect of a regular raised cosine filter which, as previously covered, is the typical filter choice.

3 Discrete Time Implementations

We can now begin to design a full system using the principles above. To begin, assume our pulse shape \(p(t)\) is bandlimited to max frequency \(B\) Hz. We can then sample the signal \(s(t) = \sum_{k=-\infty}^\infty a[k] p(t-kT_s)\) at any frequency higher than \(2B\) to avoid aliasing.

For convenience, we often sample at \(M \geq 1\) (integer) times higher than the symbol rate \(\frac{1}{T_s}\). We call \(M\) the oversampling factor.

A system demostrating oversampling.

If \(\frac{M}{T_s} > 2B\) then the boxed system is an identity system, and therefore we can exactly recover \(s(t)\)

Derivation for DT Pulse Shaping

We can show that our pulse shaping can be done using a discrete time filter.

Start by evaluating \(s(t)\) at the sampling instant.

\[ s(t) |_{t=n \frac{T_s}{M}} = s[n] \]

We can write this using the summation form as follows:

\[ \sum_{k=-\infty}^{\infty} a[k] p(t-kT_s)|_{t=n \frac{T_s}{M}} \]

Plugging in the sampling instant yields

\[ \sum_{k=-\infty}^{\infty} a[k] p(\frac{T_s}{M}-kT_s) \]

Which can be simplified to our final form,

\[ \sum a[k] p[n - kM] \]

where \(p[n] = p(t)|_{t=n \frac{T_s}{M}}\)

Since we can do all pulse shaping in discrete time, we could have the following system to produce a discrete time signal \(s[n]\) from symbols \(a[n]\):

Pulse shaping in discrete time using an upsampling filter.

We can design the corresponding discrete time receiver as follows:

Complete discrete time receiver using sampling.

We see that using a bandlimited pulse shape that fulfills the Nyquist criterion a makes our architecture much simpler because we can use a smaller detector and use discrete time processing.