0:00:00.440,0:00:03.600 Hi and welcome to Module 9.6 of Digital [br]Signal Processing. 0:00:03.600,0:00:07.200 This is our last module in our Data [br]Communications section, and with 0:00:07.200,0:00:10.980 everything that we've learned so far we [br]will be able to look inside an ADSL modem 0:00:10.980,0:00:15.595 and see how that works. [br]We will start by examining the nature of 0:00:15.595,0:00:18.260 the channel. [br]That ABSL works on. 0:00:18.260,0:00:22.460 Namely the copper wire links your home to [br]the nearest central office. 0:00:22.460,0:00:25.587 We will look at the signaling strategy [br]that is best put on place on such a 0:00:25.587,0:00:28.219 channel. [br]And finally we will look at a very 0:00:28.219,0:00:31.180 efficient implementation of that [br]signalling strategy that goes under the 0:00:31.180,0:00:35.635 name of discrete multi-tone modulation. [br]If we just take an abstract view of the 0:00:35.635,0:00:39.880 telephone network today, we see that we [br]have a link that goes. 0:00:39.880,0:00:43.400 From the home to the central office, and [br]in the central office, a fundamental 0:00:43.400,0:00:47.895 split takes place. [br]The voice communication, when you talk on 0:00:47.895,0:00:52.823 the phone, is sent to the voice network [br]and then relayed to the, what is called 0:00:52.823,0:01:01.182 the plain old telephone system, POTS. [br]The data part of your communication when 0:01:01.182,0:01:06.235 you use the ADSL is separated from the [br]voice content and sent to a DSLAM. 0:01:06.235,0:01:10.300 DSLAM stands for digital subscriber line [br]access multiplier. 0:01:10.300,0:01:13.157 And it's fundamentally a bank of modems [br]that manage to handle multiple 0:01:13.157,0:01:17.784 communications at the same time. [br]And the data here then goes on to the 0:01:17.784,0:01:22.940 internet in digital format. [br]So, if you want, what we're really 0:01:22.940,0:01:25.388 interested in is how to send the data [br]from your home to the central office, 0:01:25.388,0:01:30.650 because what happens afterwards is [br]already entirely in the digital domain. 0:01:30.650,0:01:34.682 But here, we have what is called a last [br]mile, a piece of copper wire, namely an 0:01:34.682,0:01:38.356 analog channel. [br]That connects your home to the central 0:01:38.356,0:01:41.329 office. [br]Now a copper wire has, naturally, a very 0:01:41.329,0:01:46.508 large bandwidth in excess of one 1MHz. [br]But because of the width of the bandwidth 0:01:46.508,0:01:49.784 and because the wire is not shielded, it [br]is actually likely to pick up a lot of 0:01:49.784,0:01:54.244 interference and noise. [br]If we look at how the ADSL channel is 0:01:54.244,0:01:58.300 organized and we're showing here just the [br]positive frequencies. 0:01:58.300,0:02:02.579 We can see three distinct regions. [br]The first one is the part reserved to the 0:02:02.579,0:02:07.543 telephone conversation, this is the base [br]band part of the channel up to about four 0:02:07.543,0:02:12.154 kilohertz. [br]Then we have a region that is devoted to 0:02:12.154,0:02:15.750 the upstream part of the data [br]communication, the data that you send up 0:02:15.750,0:02:19.780 to the internet, and then a downstream [br]part that is much larger that is used for 0:02:19.780,0:02:25.177 data download. [br]This asymmetry between upstream and 0:02:25.177,0:02:30.956 downstream is actually the reason why the [br]communication protocol is called ADSL. 0:02:30.956,0:02:34.440 ADSL stands for Asymmetric Digital [br]Subscriber Line. 0:02:34.440,0:02:37.490 If we now look at all the nasty things [br]that can happen on the channel when we 0:02:37.490,0:02:41.600 send data. [br]We can identify three fundamental sources 0:02:41.600,0:02:44.602 of worry. [br]The first one is an attenuation curve for 0:02:44.602,0:02:49.379 the channel that is completely uneven. [br]This could be due to imperfection in the 0:02:49.379,0:02:53.400 wire, parasitic capacitance, and so on, [br]so forth. 0:02:53.400,0:02:57.392 Then we might have very large noise or [br]interference in certain regions of the 0:02:57.392,0:03:00.292 spectrum. [br]For instance, you turn on your vacuum 0:03:00.292,0:03:04.460 cleaner, and that raises the noise floor [br]in the certain frequency band. 0:03:04.460,0:03:08.940 And thirdly we have very localized [br]interference from radio communications 0:03:08.940,0:03:13.280 now the radio band starts well within the [br]bandwidth of the ADSL channel for 0:03:13.280,0:03:17.130 instance from 15 to a hundred kilohertz [br]here you have ship to shore 0:03:17.130,0:03:23.335 communication. [br]Up to 500 kilohertz, you have airplane 0:03:23.335,0:03:29.210 communication, and over 500 kilohertz you [br]have the AM radio band. 0:03:29.210,0:03:31.730 So if you live near a radio station, for [br]instance, tough luck. 0:03:31.730,0:03:35.440 You have a lot of interference in the [br]upper regions of the ADSL band. 0:03:35.440,0:03:38.726 Since the channel is so wide, and the [br]type of disturbances is so diverse, it 0:03:38.726,0:03:42.224 would be extraordinarily difficult to try [br]to equalize and compensate for this 0:03:42.224,0:03:47.418 problems on a global scale. [br]So the ideal, instead, is to divide the 0:03:47.418,0:03:53.480 channel into independent sub channels. [br]And create each sub channel separately. 0:03:53.480,0:03:57.575 So here for instance, this channel [br]contains, highly localized, radio 0:03:57.575,0:04:01.985 frequency interference would not probably [br]be used because it would be to difficult 0:04:01.985,0:04:06.718 to compensate for that. [br]Here on these channels the noise level is 0:04:06.718,0:04:09.961 different and so for instance we can use [br]different signalling strategy according 0:04:09.961,0:04:14.865 to the local signal to noise ratio. [br]And similarly here for channels that have 0:04:14.865,0:04:17.903 a very large attenuation, probably [br]wouldn't be worth while to try and send 0:04:17.903,0:04:21.910 data over these thins. [br]But on the other hand that we will try to 0:04:21.910,0:04:26.470 exploit the cleanest sub channels to send [br]maximum amount of data. 0:04:26.470,0:04:28.900 Now to formalize the sub channel [br]structure. 0:04:28.900,0:04:32.322 Suppose that we want to allocate N [br]subchannels over the total positive 0:04:32.322,0:04:35.398 bandwidth. [br]We want the subchannels to have equal 0:04:35.398,0:04:39.520 bandwidth, so their bandwidth will be F [br]max over N, where F max is the maximum 0:04:39.520,0:04:45.466 frequency allowed for by the channel. [br]And we equally space the subchannels, by 0:04:45.466,0:04:52.590 sensoring them over k F max over N, with [br]k that goes from 0 to big N minus 1. 0:04:52.590,0:04:58.346 This means that the first channel K equal [br]to 0, will be bass-band. 0:04:58.346,0:05:03.456 And then the subsequent channels will be [br]bass-band, with center frequencies given 0:05:03.456,0:05:07.405 by this formula. [br]Now we want to translate this design, to 0:05:07.405,0:05:10.925 the digital domain, so we pick a sampling [br]frequency that is at least twice the 0:05:10.925,0:05:16.712 maximum frequency in the channel. [br]But careful now, because Fmax is quite 0:05:16.712,0:05:19.890 high. [br]The center frequency for each sub channel 0:05:19.890,0:05:25.290 will be omega K equal to 2 pi kFmax over [br]N divided by the sampling frequency. 0:05:25.290,0:05:30.220 And if we sample at the[UNKNOWN] [br]frequency, so Fs is equal twice Fmax, 0:05:30.220,0:05:35.810 then omegak becomes simple 2 pi over 2N [br]times k. 0:05:35.810,0:05:38.930 We will not simplify the 2's in the [br]fraction, because they will be useful 0:05:38.930,0:05:43.205 later. [br]The bandwidth of each subchannel, is also 0:05:43.205,0:05:47.200 2 pi over 2N. [br]And so, if we want to send symbols over 0:05:47.200,0:05:51.156 any of these subchannels, remember the [br]modulation scheme that we've seen in the 0:05:51.156,0:05:55.186 previous modules, then we will have to [br]use an up-sampling factor, k, that is at 0:05:55.186,0:06:00.930 least 2N. [br]If we plot the result in visual domain. 0:06:00.930,0:06:04.830 Let's suppose that we just want to have [br]three sub-channels, we have something 0:06:04.830,0:06:09.635 that looks like this. [br]The center frequencies will be multiples 0:06:09.635,0:06:14.755 of 2 pi over 6, so we'll have 0. [br]2 pi over 6 and 4 pi over 6 and we will 0:06:14.755,0:06:19.705 center channels over these frequencies [br]and the band width of each channel will 0:06:19.705,0:06:24.338 be 2 pi over 6. [br]So the 1st channel is the base band 0:06:24.338,0:06:27.922 channel and then we have two pass band [br]channels with of course their negative 0:06:27.922,0:06:32.748 frequency counterpart. [br]The next step in ADSL communication is to 0:06:32.748,0:06:36.835 put a QAM modem on each subchannel [br]independently and we will decide on the 0:06:36.835,0:06:42.160 data rate for each modem. [br]Based on the signal to noise ratio of 0:06:42.160,0:06:45.840 each sub channel. [br]So if the noise floor is low, then we 0:06:45.840,0:06:51.280 will have a large constellation for that [br]sub channel and vice versa. 0:06:51.280,0:06:55.880 On channels that are unusable because of [br]noise or interference, we will just send 0:06:55.880,0:06:59.910 zeroes and we will not care about that. [br]The structure of the SQL scheme is of 0:06:59.910,0:07:03.796 course going to be communicated From the [br]transmitter to the receiver so that the 0:07:03.796,0:07:08.985 receiver knows where to expect data. [br]This is part of the handshaking procedure 0:07:08.985,0:07:12.384 between transmitter and receiver. [br]Now let's look more in detail at the 0:07:12.384,0:07:15.340 structure of the modem that we use on [br]each sub-channel. 0:07:15.340,0:07:19.102 This is a classic modulation scheme where [br]we start with a sequence of symbols as 0:07:19.102,0:07:23.718 produced by the mapper. [br]Then we have an up-sampling by a factor 0:07:23.718,0:07:27.454 of 2 N. [br]So inserting two n minus one zero's every 0:07:27.454,0:07:31.643 other sample and then filtering the [br]sequence with a low pass, usually a 0:07:31.643,0:07:38.310 raised cosine, with a cutoff frequency [br]two pi over two n, in this case. 0:07:38.310,0:07:43.570 This produces the complex base band [br]signal bk of n and this. 0:07:43.570,0:07:47.476 Complex baseband signal gets modulated [br]with a complex exponential whose 0:07:47.476,0:07:50.870 frequency is indexed by the channel [br]number. 0:07:50.870,0:07:53.446 And this is the center frequency of each [br]channel. 0:07:53.446,0:08:00.487 Omega ck is equal to 2pi over 2n times k. [br]And here we have, finally, the pass band 0:08:00.487,0:08:03.970 signal. [br]That fits the prescribed bandwidth of the 0:08:03.970,0:08:07.550 kth channel. [br]And normally, if we just had one channel, 0:08:07.550,0:08:13.798 we would put here a block that computes [br]the real part and then our d2a converter. 0:08:13.798,0:08:18.640 But here we have several modems in [br]parallel. 0:08:18.640,0:08:20.540 And so we have a structure that looks [br]like this. 0:08:20.540,0:08:24.694 Each channel will have two things that [br]vary with respect to the others: the 0:08:24.694,0:08:28.982 frequency of the modulation and of [br]course, the series of symbols produced by 0:08:28.982,0:08:33.911 the mapper. [br]We sum all the complex base band signals 0:08:33.911,0:08:38.132 together before taking the real part, and [br]then send in the signal To the D to A 0:08:38.132,0:08:41.950 converter. [br]Now this picture should ring a bell. 0:08:41.950,0:08:46.305 An indeed we have seen something that was [br]very very close to this back in module 0:08:46.305,0:08:50.530 4.3. [br]So here's the picture to jog your memory 0:08:50.530,0:08:55.564 and remember that DFT reconstruction [br]formula could be interpreted as. 0:08:55.564,0:09:00.426 A bank of n oscillators. [br]Each oscillator would operate at a 0:09:00.426,0:09:07.650 frequency that was two pi over n times k. [br]And we would scale each oscillator with 0:09:07.650,0:09:12.910 an amplitude, a of k, and with a phase [br]offset, five k. 0:09:12.910,0:09:16.860 We would run this machine for big n [br]samples. 0:09:16.860,0:09:21.142 And we will get our signal out. [br]Now, the difference between this scheme 0:09:21.142,0:09:25.234 and what we just saw is fundamentally [br]that, in this scheme, a of k and phi of k 0:09:25.234,0:09:31.290 are kept constant for the whole duration [br]of the generation process. 0:09:31.290,0:09:37.280 So while n goes from zero to big n minus [br]one, a of k and phi of k stay the same. 0:09:37.280,0:09:40.750 Whereas in the modem scheme that we seen [br]before. 0:09:40.750,0:09:45.708 The symbol sequence which is a complex [br]symbol sequence so embeds both magnitude 0:09:45.708,0:09:50.500 and phase will change at each new value [br]of n. 0:09:50.500,0:09:55.900 So is there a way to map the modem [br]structure to the inverse DFT structure? 0:09:55.900,0:10:00.298 We can do that if we manage to find a way [br]to keep the symbols constant over the 0:10:00.298,0:10:05.654 whole duration. [br]So we will show how to do that and we 0:10:05.654,0:10:09.875 will show that if we manage to do that, [br]then ADSL transmission can be efficiently 0:10:09.875,0:10:16.372 implemented with simple an inverse FFT. [br]The name of this technique is discrete 0:10:16.372,0:10:21.230 multitone modulation. [br]So the great ADSL trick is very simple. 0:10:21.230,0:10:26.530 Instead of using a[INAUDIBLE] sign in the [br]up sampler, let's use a bad filter. 0:10:26.530,0:10:33.540 Simply the indicator function for the [br]interval 0 to 2n-1 and see what happens. 0:10:33.540,0:10:37.100 So the impulse response of the upsampling [br]filter is now this one. 0:10:37.100,0:10:41.390 And please notice that this is just an [br]un-normalized moving average filter and 0:10:41.390,0:10:47.980 the frequency response of course is this [br]one, we have seen it many times before. 0:10:47.980,0:10:52.752 With the first 0 here in pi over N. [br]If we compare the frequency response of 0:10:52.752,0:10:57.205 the moving average if you want, or the [br]indicator function with that of the 0:10:57.205,0:11:05.250 filter that we should be using, namely a [br]low pass filter with cut of pi over 2N. 0:11:05.250,0:11:08.406 Then we see that the performance of the [br]filter is not very good. 0:11:08.406,0:11:11.556 Nonetheless, the thing will work, [br]especially thanks to some clever little 0:11:11.556,0:11:14.810 tricks in the way we choose the [br]transmission symbols. 0:11:14.810,0:11:17.700 But we will not have time to go into [br]that. 0:11:17.700,0:11:20.652 So let's go back to the subchannel modem. [br]The thing to remark here is that the 0:11:20.652,0:11:24.658 symbols from the mapper. [br]Come in at a rate of B symbols per 0:11:24.658,0:11:28.541 second. [br]And because of the upsampling, samples 0:11:28.541,0:11:34.190 out of the modulator, come out at a rate [br]of 2NB samples per second. 0:11:34.190,0:11:37.150 So this part works much faster than this [br]part here. 0:11:37.150,0:11:41.545 Now the carrier, is periodic with period [br]2N. 0:11:41.545,0:11:48.580 And so, each symbol Will influence a full [br]period of the carrier. 0:11:48.580,0:11:52.840 If we use a standard low pass filter [br]here, for every value of n here, so for 0:11:52.840,0:11:57.242 every value of the carrier there will be [br]a different value in this Base band 0:11:57.242,0:12:04.837 sequence that comes out of the sample. [br]On the other hand if we use the indicator 0:12:04.837,0:12:09.893 function as the input response the net [br]result is that the values of bk of n will 0:12:09.893,0:12:17.300 be constant over chunks of 2N samples. [br]In that case we can simplify this whole 0:12:17.300,0:12:22.220 scheme like so where now the only clock [br]in the system is the output clock N. 0:12:22.220,0:12:28.479 So now the oscillator in the modulator. [br]Runs freely, at a frequency which is a 0:12:28.479,0:12:35.462 multiple of 2 pi over 2N. [br]This frequency is periodic, with period 0:12:35.462,0:12:39.551 2N, so. [br]And for each chunk of 2N samples, we go 0:12:39.551,0:12:45.146 look for the symbol. [br]The corresponds to this interval so if 0:12:45.146,0:12:50.250 say n is equal to 0 here, n is equal to [br]2n here, n is equal to 4n here and n is 0:12:50.250,0:12:55.618 equal to 6n here for this interval we [br]will go look for a of zero and multiply 0:12:55.618,0:13:03.572 this portion of the carrier by this [br]value. 0:13:03.572,0:13:10.300 Able to look for a one, here a two, and [br]so on and so on. 0:13:10.300,0:13:14.110 So with this simplification, the whole [br]transmitter can be sketched like so. 0:13:14.110,0:13:18.698 We have the symbols from different sub [br]channels that get multiplied by the 0:13:18.698,0:13:25.150 carrier and kept constant over intervals [br]of two and outward samples. 0:13:25.150,0:13:29.280 The whole thing gets summed together. [br]We get the aggregate bandpass signal, we 0:13:29.280,0:13:33.600 take the real part, and we're ready for [br]the D2A converter. 0:13:33.600,0:13:38.364 We can now write explicitly, the formula [br]for the aggregate bandpass signal c n. 0:13:38.364,0:13:43.124 And this is the sum over all subchannels, [br]of the symbol For that subchannel for 0:13:43.124,0:13:48.620 that interval, multiplied by e to the j [br]two pi over two n, nk. 0:13:48.620,0:13:53.100 Now because of the way the index to the [br]ak sequence is computed, these symbols 0:13:53.100,0:13:58.150 will stay constant over intervals for the [br]output index. 0:13:58.150,0:14:03.413 That are 2n long. [br]So for instance, for small n that goes 0:14:03.413,0:14:08.750 from 0, to 2n minus 1, these values will [br]stay constant. 0:14:08.750,0:14:13.980 And again, for values of the output index [br]that g from 2n. 0:14:13.980,0:14:17.434 2, 4 and minus 1. [br]So we could compute two big N values for 0:14:17.434,0:14:21.826 the sequence CN in one fell swoop if we [br]exploit the fact that this guy looks 0:14:21.826,0:14:28.540 remarkably like an inverse DFT. [br]As a matter of fact, by looking at the 0:14:28.540,0:14:32.880 argument here, we can say that this is [br]almost an inverse DFT over two big end 0:14:32.880,0:14:37.784 points. [br]The two things that are missing are the 0:14:37.784,0:14:42.950 normalizing factor in front, 1 over 2N [br]And the terms in the sum for the index k 0:14:42.950,0:14:48.570 that goes from n to 2n minus 1. [br]But that's not a problem. 0:14:48.570,0:14:52.548 We can supplement this elements. [br]And so we can compute a chunk of two big 0:14:52.548,0:14:56.900 n output samples in one go as an inverse [br]dft over two n points of a vector that is 0:14:56.900,0:15:03.994 given by n channel symbols. [br]And has another big n zeros appended to 0:15:03.994,0:15:08.273 the end of it. [br]The index for the subchannel symbols is 0:15:08.273,0:15:12.604 given by the value of the output index [br]divided by 2 n and we take the integer 0:15:12.604,0:15:16.172 part. [br]But we can do even better because in the 0:15:16.172,0:15:19.832 end, remember, we're interested in the [br]real part of the vector c of n. 0:15:19.832,0:15:23.986 And we can write that real part as c of n [br]plus the conjugate of c of n divided by 0:15:23.986,0:15:27.846 2. [br]Now it is easy to prove, and it's left as 0:15:27.846,0:15:32.582 an exercise, that the conjugate of the [br]inverse DFT of a vector, is equal to the 0:15:32.582,0:15:38.800 inverse DFT of the conjugate of the time [br]reversed vector. 0:15:38.800,0:15:42.768 And, when we time reverse a finite length [br]vector It's useful to think of the 0:15:42.768,0:15:47.658 periodic extension. [br]With this result and knowing that c of n 0:15:47.658,0:15:55.390 is equal to 2n times the inverse DFT of a [br]vector that is zeros in its latter part. 0:15:55.390,0:16:00.514 We can sum cn with it's conjugate to [br]obtain that the real part of cn is equal 0:16:00.514,0:16:05.806 to N times the inverse DFT of a vector [br]that is given by twice the symbol for the 0:16:05.806,0:16:12.960 base band sub channel. [br]The reason why we can write this is 0:16:12.960,0:16:17.985 because the baseband signal will always [br]have real value symbols, because it's a 0:16:17.985,0:16:22.485 baseband, followed by the complex symbols [br]for the n minus one remaining 0:16:22.485,0:16:27.660 subchannels, followed by The conjugate of [br]the symbols, for the N minus 1 remaining 0:16:27.660,0:16:35.854 subchannels, but going from channel N [br]minus 1, to channel 1. 0:16:35.854,0:16:41.464 Schematically, we can draw up the ADSL [br]transmitter, as one big inverse FFT, and 0:16:41.464,0:16:47.760 the inputs to this FFT are twice the [br]baseband symbol. 0:16:47.760,0:16:51.831 Followed by the symbols for the [br]subchannels from one to n minus one, and 0:16:51.831,0:16:56.385 then we take these values, we conjugate [br]them, and we flip their order, and we put 0:16:56.385,0:17:03.780 those in the remaining inputs of the FFT. [br]Now we run the inverse FFT and we get two 0:17:03.780,0:17:09.242 n output samples in one go. [br]We use a parrel to serial device to 0:17:09.242,0:17:13.338 output the samples one at a time and here [br]we have our d to i converter to put them 0:17:13.338,0:17:18.282 on the channel. [br]Once the n samples have been put out we 0:17:18.282,0:17:22.458 go back, we fetch another set of n [br]symbols from the n mamppers of the sub 0:17:22.458,0:17:26.624 channels. [br]Then we repeat the process. 0:17:26.624,0:17:32.153 An actual ADSL modem uses a maximum [br]frequency for the channel of 1004 0:17:32.153,0:17:38.766 kilohertz divides this channel in to 256 [br]sub-channels. 0:17:38.766,0:17:43.842 Each QAM modem for the sub-channel. [br]Can independently choose between zero and 0:17:43.842,0:17:48.660 fifteen bits per symbol. [br]Now the first seven channels are left off 0:17:48.660,0:17:51.665 because that is the band used by the [br]voice communication over a telephone 0:17:51.665,0:17:55.516 channel. [br]Channels seven through 31 are used for 0:17:55.516,0:17:59.329 data upstream. [br]And the rest is left for data downstream 0:17:59.329,0:18:04.690 for a maximum theoretical throughput of [br]14.9 megabits per second. 0:18:04.690,0:18:08.274 This would happen if all the downstream [br]sub channels could use their maximum 0:18:08.274,0:18:11.510 theoretical rate Which is a rare [br]occurrence. 0:18:11.510,0:18:17.732 And these are the specs of the on-line [br]modem that you most probably used to 0:18:17.732,0:18:21.909 watch this on-line class.