Hi, and welcome to module 9.5 of digital signal processing. In this module, we will touch briefly on some topics in receiver design. A lot of things, unfortunately, happen to the signal while it's traveling through the channel. The signal picks up noise, we have seen that already. It also gets distorted because the channel will act as some sort of filter that is not necessarily all pass and linear phase. Interference happens too, that might be parts of the channel that we thought were usable, and they're actually not, so the receiver really has to deal with a copy of the transmitted signal that is very, very far from the idealized version we have seen so far. The way receivers, especially digital receivers, can cope with the distortions and noise introduced by the channel, is by implemented adaptive filtering techniques. Now we will not have the time to go into very many details about adaptive signal processing, again these are topics that you will be able to study in more advanced signal processing classes. But I think it is important to give you an overview of things that have to happen inside a receiver, inside your ADSL receiver for instance. So you can enjoy this high data rates that are available today. And the first technique that we will look at is adaptive equalization and then we will look at some very simple timing recovery that it used in practice in receivers. Let's begin with a blast from the past. [NOISE] Those of you that are a little bit older will certainly have recognized this sound as the obligatory soundtrack every time you used to connect to the internet. And indeed this is the sound made by a V34 modem that was the standard dial up connection device seen in the 90s until the early 2000. Now if you have ever used a modem, you've heard the sound and you probably wondered what was going on, so we're going to analyze what we just heard from the graphical point of view. If we look at the block diagram for the receiver once again, what we're going to do is we're going to plot the base band complex samples as points on the complex blank. So we're going to take B, r of n has the as the horizontal coordinate and b, i of n as the vertical coordinate. And before we do so let's just look for a second at what happens inside the receiver when the signal at the input is a simple sinusoid, like cosine of omega c plus omega zero n. We are demodulating this very simple signal with the two carriers, the cosine of omega c n and sine of omega c n. And then we're filtering the result with a low pass field. So if we work out this formula with standard trigonometric identities, we can always express for instance the product of two cosine functions as the sum. Of the cosine of the sum of the angles plus the cosine of the difference of the angles. And same for the product of cosine and sine. So if we do that, we get four terms, two of which have a frequency that will fall outside of the pass band of the filter h. So when we apply the filter to these terms, we're left only with cosine of omega 0 n plus j sine of omega 0 n. Which is of course e to the j omega 0 n. So when the input to the receiver is a cosine, the points in the complex baseband sequence will be points around the circle and a difference between two successive points is the angle omega 0. The reason why we might be called to demodulate a simple sinusoid is because the receiver will send what are called pile tones, simple sinusoids that are used to probe the line and gauge the response of the channel at particular frequencies. So with this in mind, let's look at the slow-motion analysis of the base band signals. Samples, when the input is the audio file we just heard before. So lets start with a part that goes like this[SOUND]. This signal contains several sinusoids, that we can see here in the plot. And the sinusoids also contain abrupt phase reversal, meaning that, at some given points in time The phase of the sinusoid is augmented by pi. You can see this as this small explosions in the circular pattern in the plot. These phase reversals, are used by the transmitter and the receiver, as time markers, to estimate the propagation delay of the signal, from source to destination. The next part goes like this. [NOISE]. And this is a training sequence. The transmitter sends a sequence of known symbols, namely the receiver knows the symbol that are transmitted. And so the receiver can use this knowledge to train an equalizer to undo the affects of the channel. The last part is the data transmission proper, the noisy part if you want, of the audio file. And the interesting thing is that the transmitter and receiver perform a handshake procedure, using a very low bit rate QAM transmission using only four points, therefore two bits per symbol. To exchange the parameters of the real data transmission that is going to follow. The speed, the constellation size, and so on. Using the four point QAM constellation in the beginning ensures that, even in very noisy conditions, transmitter and receiver can exchange their vital information. So even from this simple qualitative description of what happens in a real communication scenario, we can see that the task that the receiver is saddled with is very complicated. So it's a dirty job, but a receiver has to do it. And a receiver has to cope with four potential sources of problem. Interference. The propagation delay, so the delay introduced by the channel. The linear distortion introduced by the channel. And drifts in internal clocks between the digital system inside the transmitter and the digital system inside the receiver. So when it comes to interference the handshake procedure, and the line probing pilot tones are used in clever ways to circumvent the major sources of interference. We will see some example later on when we discuss ADSL. The propagation delay, is tackled by a delay estimation procedure, that we will look at in just a second. The distortion to this by the channel is compensated using adaptive equalization techniques, and we will see some examples of that as well. And clock drifts are tackled by timing recovery techniques that in and of themselves are quite sophisticated and therefore we leave them to more advanced classes. Graphically, if we sum up the chain of events that occur between the transmissions of the original digital signal and the beginning of the demodulation of the received signal. We have a digital to analog converter and a transmitter, this is transmitter part of the chain that operates with a given sample period Ts. This generates an analog signal which is sent over a channel. We can represent the channel for the time being as a linear filter in the continuous time domain. With frequency response d of j omega. At the input of the receiver, we have a continuous time signal, s hat of t. Which is a distorted and delayed version of the original analog signal. We will neglect noise for the time being. This signal is sampled by an a to d converter that operates at a period t prime of s. And we obtain the sequence of samples that will be input to the modulator. So this is the receiver part of the chain. We have to take into account the distortion introduced by the channel, and we have to take into account the potentially time varying discrepancies in the clocks between the transmitter and the receiver. These two systems are geographically remote and there is no guarantee that the two internal clocks that're used in the A to D and D to A converters are synchronized or run exactly at the same frequency. Let's start with problem of delay compensation. To simplify the analysis we'll assume that the clocks at transmitter and receiver are synchronized and synchronous. So T prime of s is equal to T s, and the channel acts as a simple delay. So the received signal is simply a delayed version of the transmitted signal. Which implies that the frequency response of the channel is simply e to the minus j omega d. So, the channel introduces a delay of d seconds. We can express this in samples in the following way. We write d as the product of the sampling period, times b plus tau. Where b is an integer. And tau is strictly less than one-half in magnitude. So b is called the bulk delay because it gives us an integer number of samples of delay at the receiver and tau is the fractional delay. So the fraction of samples introduced by the continuous time delay of d. So, how do we compensate for this delay? Well, the bulk delay is rather easy to tackle. Imagine the transmitter begins transmission by sending just an impulse over the channel. So, the discreet time signal is this one, it's just a delta and a 0. It gets sent to D-to-A converter. And the converter will output a continuous time signal that looks like an interpolation function like the sinc. And like all interpolation functions, it will have a maximum peak at zero that corresponds to the known zero sample. This signal gets transmitted over the channel. And it gets to the receiver after a delay d that we can estimate for instance by looking at the displacement of the peak of the interpolation function. The receiver converts this into a discrete time sequence. Now in the figure here it looks as if the sample incidence at the transmitter and receiver are perfectly aligned. Now this is not necessarily the case because the starting time for the interpolator at the transmitter and the sampler at the receiver are not necessarily synchronous. But any difference in starting time can be integrated into the propagation delay as long as the sampling periods are the same. So with this, all we need to do at the receiver is to look for the maximum value in the sequence of samples. Because of the shape of the interpolating function, we know that the real maximum will be at most half a sample in either direction of the location, of the maximum sample value. So, add the receiver to offset the bulk delay, we will just set the nominal time n equal to 0, to coincide with the location of the maximum value of the sample sequence. Now of course we need to compensate for the fractional delay, so we need to estimate tau. And to do that we'll use a different technique. Let me add in passing, that in real communication devices, of course we're not using impulses to offset the bulk delay. Because impulses are full-band signals and so they would be filtered out by the passband characteristic of the channel. The trick is to embed discontinuities in pilot tones and to recognize this discontinuities at the receiver. As we have seen in the animation at the beginning of this module, we use phase reversals, which are abrupt discontinuities in sinusoids, to provide a recognizable instant in time for the receiver to latch on. Okay, so what about the fractional delay? Well, for the fractional delay, we use a sinusoid instead of a delta, so we build a bass band signal, which is simply a complex exponential at a known frequency, omega 0. This will be converted to a real signal before being sent to the D-to-A converter, and so what we transmit actually is cosine of omega c, the carrier frequency, plus the pilot frequency omega 0, times n. The receiver will receive a delayed version of this, which contains the delay now in sample, and fraction of sample, b plus tau. After we demodulate this cosine you remember we got a complex exponential and we can also compensate already for the bulk delay which we know. So for an integer number of sample b we obtain a base band signal at b of n which is e to the j omega and minus tau. Since we know the frequency of omega 0 we can just multiply this quantity by e to the minus j omega 0 n and obtain e to the minus j omega 0 tau, which is a constant. And which we can invert given that we know the frequency omega 0. And so now we have an estimate for both the bulk delay and the fractional delay. Now we have to bring back the signal to the original timing. The bulk delay is really no problem. It's just an integer number of samples. What creates a problem is the fractional delay because that will shift the peaks with respect to the sampling intervals. So if we want to compensate for the bulk delay we need to compute subsample values and in theory to do that we should use a sinc fractional delay namely a filter with impulse response sinc of n plus tau. In practice however, we will use a local interpolation and this is a very practical application of the Lagrange interpolation technique that we saw in module 6.2. So graphically the situation is like so, we have a stream of samples coming in. And for each sample, we want to compute the subsample value with a distance of tau from the nearest sample interval. And we want to only use a local neighborhood of samples to estimate this. Now, you remember from module 6.2. The Lagrange approximation works by building a linear combination of Lagrange polynomials weighed by the samples of the function. So, as per usual, we choose the sampling interval equal to 1, so that we lighten the notation. We have a continuous time function x of t, and we want to compute x of n plus tau, with tau less than one half in magnitude. So we have samples of this function at integers, n, and the local Lagrange approximation around n, is given by this linear combination of Lagrange polynomials. Weighted by the samples of the functions around the approximation point. So we use the notation x L of n and t. N is the center point and t is the value from the center point at which we want to compute the approximation. And the Lagrange polynomials are given by this formula here, which is the same as in module 6.2. So the delayed compensated input signal will be set equal to the Lagrange approximation at tau. So let's look at an example. Assume that we want a second order approximation. So we pick N equal to 1 and we will have three Lagrange polynomials. And so, we will need to use three samples of the sequence to compute interpolation. These three polynomials will be centered in n minus 1 and in n plus 1 and scaled by the values of the samples at these locations. And finally, we will sum the poll numbers together and compute their value in n plus tau. So, we start with the first one, which is centered in n minus 1. And, like all interpolation polynomials, its value is 1 in n minus 1, and 0, at other integer values of the argument. The second polynomial will be centered in n, and the third polynomial will be centered in n plus 1. When we sum them together, we obtain a second order curve that goes through the points, that interpolates the three points, and then we can compute the approximation as the value of this curve in n plus tau. Now the nice thing about this approach, is that if we look at the approximation, if we take the Lagrange approximation around n. We can define a set of coefficients, d tau of k, which are the values of each Lagrange polynomial in tau. So d tau of k, are 2 N plus 1 values, the form, the coefficients, of an FIR filter. And we can compute the value of the Lagrange approximation simply as the convolution of the incoming sequence with this interpolation filter. So for example, if these are the three Lagrange polynomials for n equal to 1, we can compute these polynomials for t equal to tau, where tau is the fractional delay that we estimated before. And we will obtain three coefficients, like here, for instance, is an example for tau equal to 0.2. Three coefficients that give us an FIR filter, and then we can just simply filter the samples coming into the receiver with this filter, to compensate for the fractional delay. So again, the algorithm is, estimate the fractional delay. The bulk delay is no problem, again. Compute the 2 N plus 1 Lagrangian coefficients and filter it with the resulting FIR. The added advantage of this strategy is that if the delay changes over time for any reason, all we need to do is to keep the estimation running and update the FIR coefficients as the estimation changes over time. Okay, now that we know how to compensate for the propagation delay introduced by the channel. Let's go see the rechannel it with an arbitrary frequency response D j of omega. And the transmission chain goes from the pass band signal s of n, discreet time, into a D-to-A converter, analog signal s of t, it gets filtered by the channel, gives us hat s of t, which is sampled at the receiver to give us. A received fast band signal, hat s of n. But now we have seen in the previous module that this block diagram can be converted into an all digital scheme where our band pass signal s of n gets filtered by the discrete time equivalent of the channel. And, gives us a filtered version of the bandpass signal, as would appear inside the receiver. So the problem now, is that we would like to undo the effects of the channel, on the transmitted signal. And the classic way to do that, is to filter the received signal hat s of n, by a filter E, that compensates for the distortion or the filtering introduced by the channel. So the target is that the output of the filtering operation gives us a signal hat s e of n, which is equal to the transmitted signal. How do we do that? In theory, it would be enough to pick a transfer function for the filter E, which is just the reciprocal of the equivalent transfer function of the channel. But the problem is that we don't know the transfer function of the channel in advance because each time we transmit data over the channel, this transfer function may change. And also, even while we're transmitting data, the transfer function might change because it is a physical system that might be subject to. Drifts and modifications. So what do we do? We need to use adaptive equalization. So the filter that compensates for the distortion introduced by the channel is called an equalizer. And what we want to do Is to change the filter in time, so change the filter coefficients in a DPS realization as a function of the error that we obtain when we compare the output of the filter with the signal that we would like to obtain. In our case the signal that we would like to obtain is the transmitted signal. And so we take the received signal, we filter it with the equalizer. We look at the result. We take the difference, with respect to the original signal, and we use the error, which should be zero in the ideal case, to drive the adaptation of the equalizer. But wait, how do we get the exact transmitted signal at the receiver? Well, we use two tricks. The first one is boot strapping. The transmitter will send a prearranged sequence of symbols to the receiver. So let's call the sequence of symbols a t of n. This gets modulated and generates a pass band signal s of n. Now at the receiver the sequence a t of n is known. And the receiver has an exact copy of the modulator, of the transmitter, inside of itself. So the transmitter can generate locally, an exact copy of the pass band signal s of n. And so, for the bootstrapping part of the adaptation, we actually have an exact copy of the transmitted pass band signal that we can use to drive the adaptation of the coefficients. The training sequence is just long enough to bring the equalizer to a workable state. For the handshake procedure that we saw in the video before, for instance. This would correspond to the moment where the receiver starts demodulating the four point QIM. At that moment, the receiver will switch strategy and implement a data driven adaptation. The thing works like this. The received signal gets equalized, gets demodulated and then the slicer will recover the sequence of transmitted symbols. Since the receiver has a copy of the transmitter inside of itself, it can use the sequence of transmitted symbol. To build a local copy of the transmitted signal. Now of course, errors might happen in the slicing process, and so this local copy is not completely error-free. But the assumption is that the equalizer is doing already enough of a good job to keep the number of errors in this sequence sufficiently low. So that the difference, with respect to the received signal, is enough to refine the adaptation of the equalizer, and especially to track the time varying conditions of the channel. What we have seen, is just a qualitative overview of what happens inside of a receiver. And there're still so many questions that we would have to answer to be thorough. For instance, how do we carry out the adaptation of the coefficients in the equalizer? How do we compensate for different clock rates in geographically diverse receivers and transmitters? How do we recover from the interference from other transmission devices, and how do we improve the resilience to noise? The answers to all those questions require a much deeper understanding of adaptive signal processing, and hopefully that'll be the topic of your next signal processing class.