WEBVTT 00:00:01.100 --> 00:00:04.090 Welcome to Module 10. This is the end. 00:00:04.090 --> 00:00:07.290 This is the last model obviously and should show some perspective of where we 00:00:07.290 --> 00:00:11.160 can go with the stuff you have learned from this online class. 00:00:12.920 --> 00:00:16.646 So it has four parts. We're going to talk about courses that we 00:00:16.646 --> 00:00:22.580 give here at EPFL that follow up on the Basic Digital Signal Processing class. 00:00:22.580 --> 00:00:25.652 Then we'll talk about some research projects, where techniques that we have 00:00:25.652 --> 00:00:30.076 learned, are actually being used. We're also going to talk about a few 00:00:30.076 --> 00:00:32.992 start-ups that came out of research from the lab, and finish with 00:00:32.992 --> 00:00:39.490 acknowledgements. Module 10.1. 00:00:39.490 --> 00:00:43.502 What sort of classes can you take once you have mastered Digital Signal 00:00:43.502 --> 00:00:47.530 Processing basics? Well, there is a classical course called 00:00:47.530 --> 00:00:51.738 Statistical Signal Processing. We give, here, a class on Audio and 00:00:51.738 --> 00:00:55.977 Acoustic Signal Processing. We have a follow up course, which is more 00:00:55.977 --> 00:01:00.807 Mathematical on the Foundations of Signal Processing and we give a doctoral course 00:01:00.807 --> 00:01:07.872 on advanced topics. So the first classical class in on 00:01:07.872 --> 00:01:12.626 statistical signal processing. So why do we need statistical tools to 00:01:12.626 --> 00:01:15.976 process signals? Well, so far we have seen mostly 00:01:15.976 --> 00:01:19.671 deterministic signals. But most deterministic signals, if they 00:01:19.671 --> 00:01:24.980 are measured, will be hampered by noise. Second, signals change over time. 00:01:24.980 --> 00:01:29.430 So we need to adapt signal processing methods to changing conditions. 00:01:30.450 --> 00:01:35.610 And finally, to do estimation, so to find some information from a signal. 00:01:35.610 --> 00:01:39.445 So that's called optimal estimation, requires stochastic models and 00:01:39.445 --> 00:01:43.440 statistical techniques. What sort of problems can we address? 00:01:43.440 --> 00:01:47.990 So every communications problem that you can think of will need statistical signal 00:01:47.990 --> 00:01:53.489 processing. So you saw the Wi-Fi system in module 9. 00:01:53.489 --> 00:01:57.393 That's a typical example where noise is dominant and you need to have, 00:01:57.393 --> 00:02:01.575 statisfical methods to recover signals from noise. 00:02:01.575 --> 00:02:05.796 Then we have examples in biological signal processing, for example spikes 00:02:05.796 --> 00:02:09.650 working. And one classic other example is adaptive 00:02:09.650 --> 00:02:15.797 filtering for echo cancellation. In module 5.12 we saw reverberation and 00:02:15.797 --> 00:02:21.680 the inverse called dereverberation. And this is used in for example hands 00:02:21.680 --> 00:02:26.550 free telephone communications, and requires adaptive filtering. 00:02:28.240 --> 00:02:32.150 Let's look at just one image here. It's from biological signal processing. 00:02:32.150 --> 00:02:36.044 So there is a measurement here in the brain of a grasshopper, and it's to 00:02:36.044 --> 00:02:42.110 figure out when the olfactory system of the grasshopper is actually active. 00:02:42.110 --> 00:02:47.286 So there are some electrical probes here. Here are neural spikes coming out and you 00:02:47.286 --> 00:02:50.995 need to do two things which are statistical in nature. 00:02:50.995 --> 00:02:54.643 One is to classify the spikes, or if you blow up here's a signal you're going to 00:02:54.643 --> 00:02:58.770 see these neural spikes and they have different types. 00:02:58.770 --> 00:03:03.540 But if you classify correctly you can identify Certain characteristic. 00:03:03.540 --> 00:03:07.080 And the other one is that you have changing characteristic over time. 00:03:07.080 --> 00:03:11.106 You might have very low activity here, and some very high activity, so you would 00:03:11.106 --> 00:03:16.560 like to model this to figure out when a certain neuron is actually active. 00:03:16.560 --> 00:03:19.864 Okay, so they are two examples of statistical signal processing in the 00:03:19.864 --> 00:03:25.362 context of biological. So, the outline of the class, is that we 00:03:25.362 --> 00:03:29.205 start with basic models, then we look at these exemplary applications, for 00:03:29.205 --> 00:03:34.860 example, Wireless Transmission, Echo Cancellation and Spikes sorting. 00:03:34.860 --> 00:03:38.280 You can go to the website of the class here, and see all the details and the 00:03:38.280 --> 00:03:44.320 outline. A second class we're giving, which builds 00:03:44.320 --> 00:03:48.468 up on digital signal processing is one on signal processing for audio and 00:03:48.468 --> 00:03:52.702 acoustics. The objective is to understand acoustics, 00:03:52.702 --> 00:03:56.749 but also psychoacoustics, because signal processing for acoustics has to deal with 00:03:56.749 --> 00:04:01.810 a human perceptual system. So spatial hearing, for example, is very 00:04:01.810 --> 00:04:06.800 sophisticated and very important if you do multi-channel audio processing. 00:04:06.800 --> 00:04:11.180 Then, we want to understand manipulation processing of audio signals. 00:04:11.180 --> 00:04:15.458 Last but not least, understand state-of-the-art methods in audio signal 00:04:15.458 --> 00:04:19.270 processing, including on consumer-only audio. 00:04:19.270 --> 00:04:22.026 On the right side here we have a beautiful picture of a so-called 00:04:22.026 --> 00:04:26.110 spectrogram, a spectrogram is a local Fourier analysis over time. 00:04:26.110 --> 00:04:29.900 So you move, here is time, here is the spectrum, that changes over time. 00:04:29.900 --> 00:04:33.133 And here is a small piece of music, and you see all the harmonics and then we 00:04:33.133 --> 00:04:36.360 change the note. We have other harmonics, and so on. 00:04:36.360 --> 00:04:40.640 So this is the most basic signal processing for acoustics. 00:04:40.640 --> 00:04:43.448 But of course if you do it for multi-channels it's Becomes very 00:04:43.448 --> 00:04:47.450 complicated, and leads to sophisticated processing techniques. 00:04:48.890 --> 00:04:54.240 Here is an example done by people in the lab, on so called Auralization. 00:04:54.240 --> 00:04:58.380 So if a piece a music and you like to simulate its rendering, in different 00:04:58.380 --> 00:05:02.662 environments. So here's a rendering which simulate a 00:05:02.662 --> 00:05:07.150 concert hall, here's a rendering which simulate a classroom, here's a rendering 00:05:07.150 --> 00:05:11.770 would be for example, for multimedia system, and here's a rendering would be 00:05:11.770 --> 00:05:17.206 in an open public space. These spaces are all very, very 00:05:17.206 --> 00:05:20.622 different, and then if you want to predict how something sounds In a given 00:05:20.622 --> 00:05:24.180 environment then this is a perfect system. 00:05:25.790 --> 00:05:29.408 Okay the outline of the class, spatial hearing is the first important topic, and 00:05:29.408 --> 00:05:33.930 recording methodologies. Then multi-channel audio, in this class 00:05:33.930 --> 00:05:38.690 we always talk about the single signal but here in audio signal processing you 00:05:38.690 --> 00:05:44.780 can have dozens of channels or even hundreds of channels. 00:05:44.780 --> 00:05:48.770 Talking about spacial filtering, coding, which you're all familiar with MP3 which 00:05:48.770 --> 00:05:52.532 we discussed briefly as our much more sophisticated methods for multi channel 00:05:52.532 --> 00:05:56.572 audio. Last but not least auralization to do 00:05:56.572 --> 00:06:01.750 stimulation of acoustic environments like in the previous slide. 00:06:01.750 --> 00:06:05.100 Again, you have details on the website for the course. 00:06:07.340 --> 00:06:10.939 The next class we teach is called, Mathematical Foundations of Signal 00:06:10.939 --> 00:06:14.162 Processing. As we have seen in module six, the world 00:06:14.162 --> 00:06:17.590 is analog, but computation is on digital computers. 00:06:17.590 --> 00:06:21.189 So how do we go From the analog world, to, back to the analog world, using 00:06:21.189 --> 00:06:26.522 processing methodologies on computers. And the examples are audio as we've just 00:06:26.522 --> 00:06:29.944 seen, sensor networks that we are going to discuss in a minute, imaging, 00:06:29.944 --> 00:06:34.530 light on digital cameras, computer graphics, and so on. 00:06:34.530 --> 00:06:38.550 And the key mathematical concepts we have sort of Seen in this class at an 00:06:38.550 --> 00:06:43.173 elementary levels, so it's sampling and interpo-, sampling and interpolation or 00:06:43.173 --> 00:06:48.687 approximation and compression. Now, in this class we do this in much 00:06:48.687 --> 00:06:51.954 more detail. Okay, but the basic picture is the same 00:06:51.954 --> 00:06:56.130 as we saw in module six. You have an analog world here that we 00:06:56.130 --> 00:07:00.910 inhabit, and we have a digital world where we do the processing. 00:07:02.880 --> 00:07:06.350 So for example, questions are you want to build a sensor network. 00:07:06.350 --> 00:07:10.170 Here is EPFL campus. You want to measure temperature, how many 00:07:10.170 --> 00:07:14.500 sensors should you put on the campus to sense temperature accurately? 00:07:14.500 --> 00:07:18.600 And once you have sensed the temperature, how should you reconstruct? 00:07:18.600 --> 00:07:22.285 We're going to discuss this also in the research topic later on. 00:07:22.285 --> 00:07:24.510 But that's a basic question of signal processing. 00:07:24.510 --> 00:07:26.670 It's a sampling question. How many sensors? 00:07:26.670 --> 00:07:32.455 And an interpolation question, how do we reconstruct the spatial field of 00:07:32.455 --> 00:07:37.748 temperature over time? The course outline is, we do again, 00:07:37.748 --> 00:07:42.428 Hildred space geometry, but now in great detail, so if you didn't enjoy Module 00:07:42.428 --> 00:07:48.486 two, here in the current class. you may want to take this one but be 00:07:48.486 --> 00:07:54.280 ready for some much more difficult stuff, but beautiful stuff in my view. 00:07:54.280 --> 00:07:59.756 Then we discuss discrete-time systems and sequences, functions of continuous time 00:07:59.756 --> 00:08:04.196 and systems on continuous time, and then there is a big part on sampling, 00:08:04.196 --> 00:08:11.320 interpolation, and approximation. Finally we discuss some applications. 00:08:11.320 --> 00:08:15.285 This class is based on the textbook that has been mentioned in this class, also 00:08:15.285 --> 00:08:19.935 that is just coming out now, with Vetterli, Kovacevic and V. 00:08:19.935 --> 00:08:25.455 Goyal it's called Foundations of Signal Processing and is also available open 00:08:25.455 --> 00:08:32.060 access under this website. Last but not least, we give doctoral 00:08:32.060 --> 00:08:35.836 courses here and doctoral courses are really at the state of the art of what is 00:08:35.836 --> 00:08:42.120 being done in Signal Processing, what is being researched and published currently. 00:08:42.120 --> 00:08:46.486 And it's based on the fact that the classical approach as discuss in 00:08:46.486 --> 00:08:51.222 undergrad and masters level classes are sometimes limited and need to be 00:08:51.222 --> 00:08:56.342 extended. To do state-of-the-art signal processing 00:08:56.342 --> 00:09:00.630 research, this sometimes uses, quite sophisticated mathematical tools, that 00:09:00.630 --> 00:09:05.046 you also need to understand and maybe apply, or, modify for a signal processing 00:09:05.046 --> 00:09:11.120 problem. So here is an sample from a class like 00:09:11.120 --> 00:09:15.146 this it's a compressed sensing, it has been mentioned in the forum, compressed 00:09:15.146 --> 00:09:19.294 sensing is a very interesting technique where you try to acquire the analog world 00:09:19.294 --> 00:09:22.954 by taking very, very few samples in particle or meta and you reconstruct 00:09:22.954 --> 00:09:28.510 using regularization. So here's just a picture. 00:09:28.510 --> 00:09:32.064 I don't have time to really explain it. But it's a picture where you solve a 00:09:32.064 --> 00:09:36.254 linear system, essentially. But you solve it using different 00:09:36.254 --> 00:09:40.160 regularization. So we worked always with the l 2 norm. 00:09:40.160 --> 00:09:43.440 We measured the sum of squares of a sequence, for example. 00:09:43.440 --> 00:09:47.254 There are other norms that are possible. The l 1, that's the sum of absolute 00:09:47.254 --> 00:09:51.097 values, or the l infinity, that's the maximum value in sequence and if you 00:09:51.097 --> 00:09:55.255 regularize a problem you solve your linear system using these different norms 00:09:55.255 --> 00:10:01.730 you get very different solutions. And one of them happens to be very sparse 00:10:01.730 --> 00:10:05.573 so if you are looking for a solution that has very few non zero terms then L1 00:10:05.573 --> 00:10:09.542 regularization which is what hes using compressed sensing will give you an 00:10:09.542 --> 00:10:14.870 interesting solution. We'll come back to this in the research 00:10:14.870 --> 00:10:17.750 projects, because it is actually used currently in the lab to solve some very 00:10:17.750 --> 00:10:23.290 interesting problems. Okay, so this Advanced Topics class 00:10:23.290 --> 00:10:26.938 actually moves from topic to topic, so sometimes it's on Fourier and wavelet 00:10:26.938 --> 00:10:30.871 processing, sometimes its on mathematical principles, sometimes it's on Simply 00:10:30.871 --> 00:10:36.605 reading groups on advanced topics. Again, there is a website, and there is 00:10:36.605 --> 00:10:40.631 volume 2 of Fourier and wavelets sequence here, which is the basis for the first 00:10:40.631 --> 00:10:45.710 version of this class. Okay. 00:10:45.710 --> 00:10:49.166 So that was an overview of the classes you could take if you were, for example, 00:10:49.166 --> 00:10:52.388 at EPFL. Lots of that material is actually online, 00:10:52.388 --> 00:10:55.574 so if you are interested, you can actually also learn it online from our 00:10:55.574 --> 00:10:57.190 website.