WEBVTT 00:00:01.120 --> 00:00:04.170 Hi, and welcome to module 9.2 of digital signal processing. 00:00:04.170 --> 00:00:07.842 We are talking about digital communication systems, and in this 00:00:07.842 --> 00:00:13.120 module, we will talk about how to fulfil the bandwidth constraint. 00:00:13.120 --> 00:00:15.904 The way that we're going to do this is by introducing an operation called 00:00:15.904 --> 00:00:19.694 upsampling. And we will see how upsampling will allow 00:00:19.694 --> 00:00:23.720 us to fit the spectrum generated by the transmitter onto the band allowed for by 00:00:23.720 --> 00:00:27.851 the channel. Remember that our assumption is that the 00:00:27.851 --> 00:00:31.470 signal generated by the transmitter is a wide sequence. 00:00:31.470 --> 00:00:35.400 And therefore, it's spiral spectral density will be full band. 00:00:35.400 --> 00:00:38.900 What we need to do is to shrink the support of it's spiral spectral density 00:00:38.900 --> 00:00:42.350 so that it fits on the band allowed by the channel. 00:00:42.350 --> 00:00:45.497 The way we do this is by using multirate techniques. 00:00:45.497 --> 00:00:49.310 In multirate, the goal is to increase or decrease the number of samples of a 00:00:49.310 --> 00:00:52.454 digital signal. One way to do this is to interpolate the 00:00:52.454 --> 00:00:55.550 digital signal into a continuous time signal. 00:00:55.550 --> 00:00:58.958 And then resample the interpolation at a different sampling rate. 00:00:58.958 --> 00:01:02.576 However, we want to avoid the transition to discrete time, and we want to perform 00:01:02.576 --> 00:01:07.310 this aritficial change of sampling rate entirely in the digital domain. 00:01:07.310 --> 00:01:10.670 Let's consider the up sampling operation, which is really what we're interested in. 00:01:10.670 --> 00:01:15.224 And let's look at how to do this, going through an interpolation and resampling 00:01:15.224 --> 00:01:19.462 operation first. So we have a discrete time signal here, 00:01:19.462 --> 00:01:24.610 we interpolate with the given period Ts. We obtain a continuous time signal and 00:01:24.610 --> 00:01:28.150 then we sample this continuous time signal with a period that is k times 00:01:28.150 --> 00:01:32.230 smaller than the original interpolation sample, and we obtain another discrete 00:01:32.230 --> 00:01:37.473 times sequence here. Graphically, assume this is our discrete 00:01:37.473 --> 00:01:41.900 times signal. The interpolation to continuous time will 00:01:41.900 --> 00:01:45.680 give us this and the resampling with a smaller sampling period will give us a 00:01:45.680 --> 00:01:49.460 higher density of samples on the same curve so that the resulting upsampled 00:01:49.460 --> 00:01:55.424 signal would look like this. Now, we are interpolating to continuous 00:01:55.424 --> 00:01:59.230 time, so the choice of the sampling period is completely arbitrary for 00:01:59.230 --> 00:02:02.622 simplicity as per usual, which is Ts equal to 1, and here we have that the 00:02:02.622 --> 00:02:08.720 interplay signal is given by the standard sync interplay formula. 00:02:08.720 --> 00:02:12.929 When we resample, with the period that is 1 over k, k times smaller than the 00:02:12.929 --> 00:02:19.420 original, we are taking samples of the interplayed function at n over big K. 00:02:19.420 --> 00:02:24.397 And the result Is an interpolation formula, where the sync function now, is 00:02:24.397 --> 00:02:29.458 centered at fractional intervals, so n over big K. 00:02:29.458 --> 00:02:32.990 In the frequency domain, the process looks like so. 00:02:32.990 --> 00:02:39.770 Imagine we have a discreet time signal, whose spectrum is limited to 3 pi over 4. 00:02:39.770 --> 00:02:44.117 We interpolate it to continuous time, and we get an analog spectrum that looks like 00:02:44.117 --> 00:02:49.340 this, where our nyquist frequency is omega n, equal to pi over Ts. 00:02:49.340 --> 00:02:54.254 When we resample, with the sampling period which is k times smaller, that is 00:02:54.254 --> 00:02:59.220 equivalent to multiplying nyquist frequency by k. 00:02:59.220 --> 00:03:01.685 So we make it bigger and we move it over here. 00:03:01.685 --> 00:03:05.270 And when we plot the result in digital spectrum. 00:03:05.270 --> 00:03:09.650 We map, as per usual, the nyquist frequency to pi, which corresponds to a 00:03:09.650 --> 00:03:14.694 contraction of the frequency spectrum by a factor of K. 00:03:14.694 --> 00:03:18.750 If here, we choose k, which is equal to 3. 00:03:18.750 --> 00:03:22.404 We get that what was the highest frequency of the spectrum, 3 pi over 4, 00:03:22.404 --> 00:03:27.562 now becomes pi over 4. Can we do this completely in the digital 00:03:27.562 --> 00:03:30.380 domain? Well the idea is that we need to increase 00:03:30.380 --> 00:03:35.262 the number of samples by a factor of K. And obviously the sample sequence will 00:03:35.262 --> 00:03:40.294 have to coincide with the original values when the index of the up sample sequence 00:03:40.294 --> 00:03:45.254 is a multiple of K. There are several reasons why this is so, 00:03:45.254 --> 00:03:48.558 but probably the most intuitive one is that if we then discard the extra 00:03:48.558 --> 00:03:53.580 samples, we should be able to obtain the original sequence again. 00:03:53.580 --> 00:03:57.606 So for lack of a better strategy, we can start by building a sequence where we put 00:03:57.606 --> 00:04:01.571 the original samples, every K samples and then we put zeros everywhere else in 00:04:01.571 --> 00:04:06.900 between. So for example, for k equal to 3, the 00:04:06.900 --> 00:04:10.430 upsample sequence, say this is m equal to 0, will be equal to x0 and m equal to 00:04:10.430 --> 00:04:14.310 zero. Then we put two zeros, then we put x1, 00:04:14.310 --> 00:04:18.400 then we put two zero, then we put x2, and then we put two zeroes. 00:04:18.400 --> 00:04:22.540 We can see this in the time domain start with the same sequence that we showed 00:04:22.540 --> 00:04:25.625 before. And what we are doing, we're simply 00:04:25.625 --> 00:04:31.436 introducing zeroes between each stamp. With this choice, the Fourier transform 00:04:31.436 --> 00:04:34.820 of the upsample sequence is rather easy to compute. 00:04:34.820 --> 00:04:40.524 We just write out the standard DTFT formula, but now here, we remember that 00:04:40.524 --> 00:04:49.800 xu of m will be equal to zero every time that m is not a multiple of K. 00:04:49.800 --> 00:04:53.790 And so with this, we can simplify the sum and use only the known zero terms. 00:04:53.790 --> 00:04:57.450 And we get the sum from n that goes to minus infinity to plus infinity of x of 00:04:57.450 --> 00:05:03.380 n, which is our original sequence, that multiplies e to the minis j, omega nK. 00:05:03.380 --> 00:05:08.700 And so, this is simply a scaling of the frequency axis by a factor of K. 00:05:08.700 --> 00:05:11.486 Graphically, we can plot the digital spectrum and we know that now, since 00:05:11.486 --> 00:05:15.238 we're multiply the frequency access be a factor of K, there will be a shrinkage of 00:05:15.238 --> 00:05:20.138 the frequency access like this. But we should never forget that the 00:05:20.138 --> 00:05:24.734 digital spectrum is 2 pi periodic. So lets plot this explicitly, for minus 5 00:05:24.734 --> 00:05:28.264 pi to 5 pi. If we choose k equal to 3, we're mapping 00:05:28.264 --> 00:05:33.810 the interval from minus 3 pi to 3 pi back onto the minus pi, pi interval. 00:05:33.810 --> 00:05:36.982 And when we do that, we get something that is very close to what we obtained 00:05:36.982 --> 00:05:41.728 going through the analog domain. In the sense that this frequency here is 00:05:41.728 --> 00:05:46.205 again pi over 4. But, we have extra copies that have crop 00:05:46.205 --> 00:05:51.198 in the main frequency interval. Now, we know what to do in this cases, we 00:05:51.198 --> 00:05:55.500 apply some drastic low pass filter to get rid of them. 00:05:55.500 --> 00:05:59.673 We choose an ideal low-pass filter with cutoff frequency pi over K, because this 00:05:59.673 --> 00:06:05.520 is where the original pi in the frequency spectrum would be mapped to. 00:06:05.520 --> 00:06:08.692 And this will get rid of the extra copies, and leave us with a spectrum that 00:06:08.692 --> 00:06:14.220 is identical to what we obtain using an interpolator followed by a sampler. 00:06:14.220 --> 00:06:17.300 So now let's look at the procedure back in the time domain. 00:06:17.300 --> 00:06:21.766 So the first step is to insert K minus 1 zeros after each sample, followed by an 00:06:21.766 --> 00:06:26.802 ideal low-pass filter. And we choose the cutoff frequency for 00:06:26.802 --> 00:06:31.250 the filter to be pi over K as we saw in the previous graph. 00:06:31.250 --> 00:06:36.780 So now, the resulting sequence is simply the convolution of the upsampled sequence 00:06:36.780 --> 00:06:40.836 with zeroes. And the impulse response of the filter 00:06:40.836 --> 00:06:45.440 that, with this cutoff frequency will be simply sink of n over K. 00:06:45.440 --> 00:06:49.720 And if we work out the convolution sum, we have this summation here. 00:06:49.720 --> 00:06:55.850 But again, we remember that of these terms, only 1 every K will be non zero. 00:06:55.850 --> 00:07:00.500 So we replace i with mK, and we sum over m. 00:07:00.500 --> 00:07:04.460 And we get the sum for m that goes to minus infinity to plus infinity of x of 00:07:04.460 --> 00:07:10.774 m, sync of n over K minus m. Which is exactly the same formula we got 00:07:10.774 --> 00:07:16.287 using an interpolator and a sample. As we've mentioned before, if we have an 00:07:16.287 --> 00:07:18.978 upsampled sequence we can always recover the original sequence by downsampling, 00:07:18.978 --> 00:07:23.270 which means we keep only one sample out of k and throw away the rest. 00:07:23.270 --> 00:07:27.428 Now, this is obvious in the case of an upsample sequence where we just introduce 00:07:27.428 --> 00:07:31.523 K minus 1 zeroes every sample, but it is also true for a filtered sequence where 00:07:31.523 --> 00:07:37.223 we used an ideal filter. Or any other filter that fulfills the 00:07:37.223 --> 00:07:41.650 interpolation properties that we have seen in module 6. 00:07:41.650 --> 00:07:46.258 In other words, we want impulse response to be equal to 1 for n equal to 0, and to 00:07:46.258 --> 00:07:52.630 be equal to 0, for all multiples of K. In general, downsampling is a more 00:07:52.630 --> 00:07:55.939 complex operation that upsampling, just like sampling is more complicated than 00:07:55.939 --> 00:07:59.550 interpolation. We have the pesky problem of aliasing, 00:07:59.550 --> 00:08:04.960 because we are throwing away information. We will not develop the properties of the 00:08:04.960 --> 00:08:08.310 downsampling operator in detail because we will not need it in the following. 00:08:08.310 --> 00:08:11.773 But you're encouraged to read about multirate signal processing in the book. 00:08:11.773 --> 00:08:15.982 So let's go back to the bandwidth constraint, as you remember the channel 00:08:15.982 --> 00:08:21.400 imposes that we only use frequencies between Fmin and Fmax. 00:08:21.400 --> 00:08:24.630 We also want to translate these requirements into the digital domain. 00:08:24.630 --> 00:08:28.851 So we choose a sampling frequency and Fs over two, half of our sampling frequency 00:08:28.851 --> 00:08:33.200 will be our nyquist frequency in the analog domain. 00:08:33.200 --> 00:08:36.760 Now, here's a new trick. Compute the positive bandwidth. 00:08:36.760 --> 00:08:40.725 Namely, the width of the channel bandwidth on the positive axis, and call 00:08:40.725 --> 00:08:43.690 that W. Now, pick the sample frequency so that 00:08:43.690 --> 00:08:47.204 two things happen. First of all, the sample frequency will 00:08:47.204 --> 00:08:51.488 have to be at least twice the maximum frequency that we can use in the channel 00:08:51.488 --> 00:08:56.110 to avoid aliasing. But then, we choose the sample frequency 00:08:56.110 --> 00:08:59.400 as an integer multiple of the positive bandwidth. 00:08:59.400 --> 00:09:04.560 So we say that Fs is equal to KW for K a positive integer. 00:09:04.560 --> 00:09:09.370 With this choice when we translate the analogue specifications into digital 00:09:09.370 --> 00:09:15.190 domain and remember the formula is always the same, 2 pi F over Fs. 00:09:15.190 --> 00:09:20.584 What happens is that the bandwidth in visual domain will be 2 pi W divided by 00:09:20.584 --> 00:09:28.152 Fs which is equal to 2 pi over K and so. We can simply upsample the symbol 00:09:28.152 --> 00:09:32.740 sequence by k so that it's bandwidth will move from two pi to two pi over k and 00:09:32.740 --> 00:09:39.702 therefore, it's width will fit on the band allowed for on the channel. 00:09:39.702 --> 00:09:43.306 Now, upsampling does not change the data rate, because we're creating a sequence 00:09:43.306 --> 00:09:46.562 of symbols. From the user data bitstream and then we 00:09:46.562 --> 00:09:49.322 are introducing the zeros between samples. 00:09:49.322 --> 00:09:51.662 So, we are not introducing extra information. 00:09:51.662 --> 00:09:55.950 So, we produce and transmit W symbols per second and then we have sampled that by K 00:09:55.950 --> 00:10:01.464 to achieve a sample rate which is equal to the sample of frequency. 00:10:01.464 --> 00:10:05.136 W, therefore is the fundamental data rate of the system and sometimes it's called 00:10:05.136 --> 00:10:09.562 the baud rate of the system. A golden rule for digital communication 00:10:09.562 --> 00:10:13.594 systems is that the baud rate will be equal to the positive bandwidth allowed 00:10:13.594 --> 00:10:18.588 by the channel. So here is our revised baud diagram for 00:10:18.588 --> 00:10:22.804 the transmitter. User data comes in as a bit stream. 00:10:22.804 --> 00:10:27.725 The Scrambler makes sure that we have a random sequence of symbols. 00:10:27.725 --> 00:10:31.998 The mapper will create, the random sequence of symbols. 00:10:31.998 --> 00:10:36.600 We upsample the sequence by K. We filter this with a low pass filter 00:10:36.600 --> 00:10:41.336 with cutoff frequency pi over K, and we obtain base band signal b of n, which is 00:10:41.336 --> 00:10:47.730 centered in 0, and extends from minus pi over K to pi over K. 00:10:47.730 --> 00:10:52.880 Now, we need to move this base band signal, to the pass band of the channel. 00:10:52.880 --> 00:10:56.490 And to do so, we modulated with a cosine carrier. 00:10:56.490 --> 00:11:00.120 This frequency is the center frequency of the channel's band. 00:11:00.120 --> 00:11:04.260 This pass band signal s of n can now be converted to the analog domain, before 00:11:04.260 --> 00:11:08.754 being transmitted over the channel. Graphically, assume these are the 00:11:08.754 --> 00:11:13.410 specifications dictated by the channel and translated to the digital domain. 00:11:13.410 --> 00:11:18.100 So here we have the positive bandwidth, and the negative bandwidth. 00:11:18.100 --> 00:11:22.447 The sequence of symbols generated by the mapper, is a wide sequence and therefore, 00:11:22.447 --> 00:11:27.990 inspires spectral density Pa of e to the j omega, is a full band signal. 00:11:27.990 --> 00:11:32.870 Now when we upsample this sequence by a factor of k, we reduce its spectral 00:11:32.870 --> 00:11:40.127 support, to a baseband signal that goes from a minus pi over K, 2pi over K. 00:11:40.127 --> 00:11:45.247 And then, we modulate this with a cosine carrier, to fit it onto the bands that 00:11:45.247 --> 00:11:50.903 are available on the channel. As a final note, since we are developing 00:11:50.903 --> 00:11:55.173 a completely digital transmission system, we will probably want to use FIR filters 00:11:55.173 --> 00:11:59.837 in its implementation. Now, we know that the sync filter that we 00:11:59.837 --> 00:12:03.731 have used in the upsampling operator Will be a notoriously difficult filter to 00:12:03.731 --> 00:12:08.371 approximate with an FIR. So what is used in practice is another 00:12:08.371 --> 00:12:12.924 type of filter called a raised cosine. The frequency response of the raised 00:12:12.924 --> 00:12:16.488 cosine is shown here in this picture, and you can see that the transition band is 00:12:16.488 --> 00:12:21.222 no longer a discontinuity. But it is actually a smooth transition 00:12:21.222 --> 00:12:24.750 from past band to star band as a matter of fact a raised cosine has a parameter 00:12:24.750 --> 00:12:29.450 that you can tune to have an even gentler transition then. 00:12:29.450 --> 00:12:33.872 Now, the raised cosine remains an ideal filter because you can see it is constant 00:12:33.872 --> 00:12:39.360 over the pass band, and the stop band. But it is much easier to approximate than 00:12:39.360 --> 00:12:41.872 the sync. Another good property of the raise 00:12:41.872 --> 00:12:46.200 cosine, is that it fulfills the interpolation property that we need to do 00:12:46.200 --> 00:12:50.581 upsampling. And the final selling pointing, is that 00:12:50.581 --> 00:12:56.200 the impulse response, it can be shown decays as 1 over n cubed. 00:12:56.200 --> 00:13:00.566 So even short FIR approximations can get a very good response. 00:13:00.566 --> 00:13:06.102 [BLANK_AUDIO]