 Just a brief recap of the previous lab, what was done was introduction to microcontrollers in general, some idea of the sort of resources that are available in a microcontroller. So specifically, two resources you are exposed to. One is ports, programming of ports and the other is a timer unit. You are also exposed to a cross compiler interface. That's the interface that allows you to write code, click a button which will generate the executable which can then be flashed on to the microcontroller. So, this was what was done the previous time round. This per se has nothing to do with experimentation, but it has the tools that you are provided here and the sort of interface that you are exposed to plays a significant role in how you process data and that you are going to get exposed to in this lab. You will understand the power of microcontroller based programming as well as the power of utilizing a device like a microcontroller this time around. So, this lab gets interesting. So what you will end up doing is you will understand the power of microcontrollers, especially the programming part of it in the context of real-time data processing and why is data processing important is because sensors put out pieces of information which need to be processed, which need to be analyzed for you to make sense of any experiment you may conduct in which sensors are giving you measurement information. So, it is important to be able to process data suitably and this will be the last in your series of how to process data from now on you will just be using sensors, ok. Specifically you will understand two things you will learn how to build some filters specifically discrete time filters and understand their behavior. The idea of this experiment is not to learn how to build these filters alone, but to understand the importance of being able to do real-time data processing on microcontrollers and this is just an example for you to be able to do that. You will use a discrete time low-pass filter to suppress noise from a noisy sensor. So, a sensor will be given to you, a contraption will be given to you which produces a significant amount of noise and the noise of that comes out of there also can be varied and you will be asked to filter that noise out by suitably utilizing infrastructure that incorporates the microcontroller, ok. So, that is what you will end up doing in this lab and the key thing for you to understand at the end of this lab is that you can get all this done only through software coding provided you have the necessary infrastructure in place. So, microcontroller with appropriate signal processing circuitry. So, the power of being able to code what you want to code and get real-time signal processing done will come through in this lab. So, the setting for the experiment is as follows. You will have an analog input that goes through an ADC, ok. This analog input can come from any source. It does not matter what the source is. It can be a sensor or it can also be something that emulates a sensor. It need not be a sensor as far as the rest of the circuitry goes. It does not care where the analog input is coming from, ok. So, an analog input is processed by an ADC. So, you get what is a digital representation or a quantized representation of the analog input, ok. So, that is what you get out here which goes through a microcontroller. So, you take in the microcontroller takes in quantized input at discrete points in time, ok. So, what the microcontroller deals with is quantized discrete time data, processes the quantized discrete time data depending on the code that you write and it outputs quantized discrete time data, ok, which is then converted into an analog signal which is a continuous time signal not quantized anymore through a DAC, ok. This is the setting for the experiment and we will understand why this setting makes sense for the sort of processing that we want to do. In fact, this is the setting for any sensor interfacing that you would do ever, ok. So, this setting is very important for you to understand. You may or may not have the ADC depending on whether the information from the sensor is already quantized or not, but if indeed you are dealing with analog signals, this will be the setting for any signal processing, signal processing infrastructure that you may see in any experimental setup, ok. So, it is for it is important for you to understand this, ok. Now, if so let me briefly allude to something else that you have done, ok. So, what we are talking about is analog signal going in to an ADC, quantized information coming out which is sampled by a microcontroller, does something with it, processes it, produces some other quantized discrete time information which goes through a DAC, produces another analog signal. Now, suppose I took this part of it out completely, suppose this was not there, then you just have ADC, quantized signal, DAC, this stuff coming out, ok. This is this you must have done in one of your experiments, I think this is experiment number 3, take an analog signal, do ADC on it, produce bits, indicative of the analog value, then reconstruct it with a DAC, ok. So, this is experiment number 3, I think. The difference here is that you have taken a microcontroller in between, this is experiment number 5. So, there is a reason for why ADC, DAC etcetera was introduced and we will do something that you ended up doing in your first experiment which is low pass filtering, but we will do it in the microcontroller, ok. That is what we will do today, but the key thing to for you to understand is, it is not low pass filtering that we are focusing on, it is some processing of data, and that can be done in the microcontroller. Now, what the microcontroller would do is that in this case, the idea is to reconstruct, ok. In the experiment number 3, the idea is to make this or worry about what sort of sampling rates you need such that what goes in is this approximately the same as what comes out, ok. That was the idea of this experiment, to understand the rates at which you need to sample such that what goes in here is very similar to what comes out here. If you sample too slowly, then you have a problem of aliasing. If you sample too quickly, you do not have any special problem as such in terms of reconstruction, but you may be utilizing excess resources than necessary, ok. In this experiment, the idea is not to produce the same thing that goes in here over here, but modify what goes in here and produce something else here which takes into account some aspect of the signal that goes in here which you do not want to see in your process data. Is that clear? Is the intent of the experiment clear? So, if I call this signal as U of t, this signal Y of t, I want U of t or I want Y of t to be different from U of t in the sense that if I have some information U of t which is not important to me, which I need to reject or if I have some information in U of t which is important to me and I need to select, right. That job of rejection and selection is done by the code sitting inside the microcontroller. Now, this setting is remains, I hope you can understand that this setting remains the same irrespective of what we are processing. You are always going to encounter a situation that what you are sensing is going to contain information some of which is useful, some of which is not, ok. And it is your job to act as a sieve in getting the stuff that you want out of it and rejecting the stuff that you do not want, ok. And the hardware infrastructure to do that remains just this, put it through an ADC, put it through microcontroller with an appropriate code, put it through a DSC and you are done. No matter what sort of relationship you want Y to have with you, ok. The last statement is important. It does not matter what sort of relationship you want Y to have with respect to you because that relationship that you want can be coded into the microcontroller. So, my hardware does not change if I want to do low pass filtering or if I want to do high pass filtering or if I want to do anything else with the signal. My hardware remains the same. All the intelligence of what you need to do is coded into the software and what you need to do is something for you to decide based on the sensing input or the instrumentation engineer to decide based on the sensing input that you receive and your understanding of what to retain and what not to retain, ok. So, this experiment is sort of the culmination of all the significant introduction that you need to do real time data processing from sensed information, right. If you get a hang of this, then you should be able to relate this block diagrammatic picture that you see in front of you to a data acquisition system in any measurement process, ok, fine. So, that abstraction is something that you will you are only exposed to now, but for those of you who end up being engineers, you will at some point in time see that this abstraction makes sense, ok. So, that is the context in which we are doing this experiment, it is hopefully that context is clear. If you have any questions at this point, I can take it. Any questions on why we are doing this experiment and what is it that we will end up serving? The purpose that we will serve is to make why different from you depending on what you want why to be. So, what will you end up exploring and then I will get into the details or the necessary background, you need a little bit of if you may call it analytical background before you do the experiment. You will end up exploring how does one write code such that y of t is a processed version of u of t and I have just used the word filtered in place of processed, what I intend to mean is processed information, ok. So, how does one write code such that you can process this the digital representation of u of t to produce a digital representation of y of t, ok, that is one of the agendas. The second agenda is how the nature and the quality of the filtering or the signal processing action, you need to explore changes by just choosing some numbers in the program, ok. It is actually quite fascinating that you can just change some numbers and you can entirely change the behavior of the processing unit, ok. And we will see why that happens through some examples that we will go through, but you will actually see it happening, ok. And just to make things of relevance from an experimentation point of view, u of t, the signal u of t after you have done your basic set of experiments will also be obtained from a noisy sensor that is we will give you a noisy sensor, a contraption that keeps producing noise and you will have to kill the noise through this through the same sort of hardware that we are talking about here, ADC code in a microcontroller DAC and you will see that you will be able to kill the noise or you will be able to accentuate the noise, you can do lots of things. So, all of that is there in the code, ok. So, that is what you will end up doing this time around. Any questions? So, the question here is what do you mean by accentuate the noise means increase the noise accentuate is to make things worse or to make things sharper that is the word accentuate, ok. So, now we will build a little bit of background, ok and I am going to relate it because we are going to end up doing low pass filtering as an example, because you have seen such processing action before in your RC filter circuit example, where you built a elementary low pass filter as a means to get used to the oscilloscope function generator etcetera. So, we will just revisit that very shortly, 5 minutes of that and then we will do the same thing in discrete time and understand why we are able to do the same thing. So, you have to pay attention here because this is conceptual, this is not some plugging some wires here and there and observing something, ok. So, you remember this circuit that was that you were introduced to. How many of you remember this circuit? What this circuit is useful for it has variety of purposes, but one of the things that it is useful for is that v 0 is a low pass filtered version of v in, ok. So, if I may call it v out and v in, ok. So, I am going to give a brief idea of do not get so offended and all that it is a fact. So, I am going to give you an idea of one example of what it means to construct or what it means for something to be low pass filtered version of something else, ok. So, suppose what I have drawn here is v in. Now, v out is as I said I use the word low pass filtered, v out is a sieved version of v in, ok. So, let us let us try and understand that you have all seen a sieve at home, right. So, the sieve has a netting in which if you put something from the top and you shake it you get finer particles below and the coarser particles are left retain the top at the top everybody must have seen this. So, low pass filtering is like a sieve what does the sieve do it lets finer particles go through does not let coarser particles to go through, ok. Low pass filter is a special type of a sieve except that the what you are dealing with is not particles, but signals. It lets signals which do not shake around much go through, ok which do not jump around much which do not change much go through and it does not allow signals which change a lot to go through, ok. That is what a low pass filter is. It is some hardware device like a sieve which allows low frequency signals I mean you have to have the notion of what it means to have what frequency content of a signal is you must have been exposed to that Fourier series, right. You can decompose a signal into set of sinusoids. So, we are talking about decomposition of signals yielding only low frequency sinusoids, ok, but I would not go too much into that very roughly signals which do not jump around much will go through if you put it through a low pass filter. What do you mean by how much it should jump around that depends on our R and C values which also you should have explored, ok. So, the low pass filtered version of this signal is not difficult to draw if you understand how this signal is composed. So, this V in has lot of sharp corners these are all the sharp corners very close to these sharp corners the signal is changing a lot in a very small period of time, ok. In fact, the slope here is infinite. So, very close to this part the signal is changing a lot if you put it through a low pass filter what will happen think of it as a C if a signal is changing very rapidly put it through a low pass filter what will happen will not pass what does it mean what will happen what will come out what will V 0 be V 0 will remain flat. In fact, V 0 will remain very small and it will remain flat, ok whereas this part of it between the two guys here the signal itself is flat it is not changing much and if you put that through a low pass filter what will happen the same thing will come out, ok. So, for this part you will get very small initial so V out will be very small initially and for this part it reaches this value and in between it does something like this same thing will happen here same thing will happen here how the hell did I connect those things up if you think a little bit about it you will also get it it is not very difficult. The important point I want to highlight to you is that I did not write a single equation here if you believed that this in this circuit indeed behaved as a low pass filter I am giving you a qualitative argument qualitative argument for you to understand what it means for something to act as a low pass filter. So, let me just spend a couple of more minutes on this so this is your V out, ok this is your V out and then we will get into some detail on what we are going to do this time around, ok. So, now I am going to ask some smart fellows here right audience supposedly a sinusoid really not a sinusoid. So, this is one sinusoid this we will call the slow sinusoid this is slow varying slowly this is a fast sinusoid. So, I am going to ask you this is slow this is fast. So, this is my V in this is V in I want you to tell me what is what is V out going to be. So, the question is should be clear I want you to tell me how V V out is going to look for situation one which is slow then how is it going to look for situation two which is fast you have to give me a cogent answer. My name is Pratish. Ok. So, something like this in the case of the faster one similar, but the amplitude will be a little smaller and the amplitude will be a little smaller. Yeah, that is correct what you are saying is correct amplitude will be a little smaller and something else will happen and it will be slightly displaced from the. Yeah, very nice. Thank you. So, it looks something like this that is the answer not only is the amplitude going to be smaller, but it will be shifted phase shifted ok. And you can draw a plot of the change in amplitude and the phase as a function of the frequency of the sinusoid that goes inside that sort of a plot is called the frequency response plot of a low pass filter ok. Anyway, so seems like some people have some understanding of this ok. So, now we will try and understand how to do the same thing using a microcontroller. So, I am going to go back to this slide. The key thing first to realize is this signal is not an analog signal ok. This is a digital representation of you. The second key thing to realize is that what you can process in the microcontroller is a only a discrete time version of this digital representation. So, it is a sampled version of this digital representation ok. So, let us let us try and understand that. Suppose my digital representation the ADC I had a 1 bit ADC and I had the ADC behaving as follows. Anything below 2.5 volt 0 to 2.5 volt I will call 0, anything between 2.5 volt and 5 volt I will call 1. Suppose I had a 1 bit ADC, what you will get here is 0s and 1s ok. So, you will you will get a signal here of this form 0s and 1s by 1 I mean the equivalent voltage ok. So, this is the digital representation of this U. This digital representation is going to be further sampled which is going to be the discrete time representation of the digital representation of you ok. So, I am not going to deal with the continuous time data like this. I am going to deal with sampled information. So, that is digital and discrete time. Do you understand what I am saying here? So, this will be 1 0. Information in between is lost or it has to be reconstructed through the DAC ok. This is the sort of information that the microcontroller can handle. It can handle only quantized representation of real world data which is presented to in discrete time. So, we have some dots going in here and the dots representing the digital discrete time representation of U. What it can produce also is dots. It will produce something else ok. So, let us let us try and understand this a little better. So, I have the microcontroller what goes in as far as what the microcontroller is going to do with it is discrete time data. So, if I may draw a graph of the discrete time data. One way of for human beings to interpret what is going inside is that some discrete values are going or sorry some values are going at discrete points in time. So, this is 1 sampling time, 2 sampling time, 3 sampling time. So, this is the time axis and the values that go in make sense only at these discrete points in time ok. How many of you have lost what I am saying right now? You are lost why are you lost? Tell me. Do you know what sampling is? I am picking only those points in time when I can gather data. We all sample ok. So, lot of things are happening in your life. Things are moving seemingly in a continuum, but you pick only those things that register in your brain. Things that you just pick out of what is happening in reality. So, you are sampling information from reality. Brain works like that microcontroller also works like that. You understand sampling? Sampling of you, you is sampled sampling of digital or analog right. You can do sampling of analog signal right and then you can think of it in two ways. One use you discretize or you quantize it and then sample it. The other you sample it and then quantize it. There are two processes happening ok. So, sampling and quantization are two different processes. One is happening in the time scale, the other is happening in the y scale. Sampling is happening in the time scale. You are choosing things. Quantization is happening in the y scale. You are saying that this to this is 0, this to this is 1 ok. Two processes are happening. Anybody else who has not understood what sampling and discretization and quantization is? Who else put up your hand? Anybody else who does not understand this picture? This is the way of interpreting what goes into the microcontroller ok. What comes out is also a picture like this. It is convenient for me to call this signal u of k t implying that it is discrete time data. For convenience this k is also dropped. So, this is u of k. This signal I will call y of k t implying that again it is discrete time data y of k. So, the microcontroller's job is to pick u of k do something to it and produce y of k. And this y of k t then goes through the DAC to produce y of t ok. So, what you need to decide is how to relate the code decides how to relate y of k to u of k. So, that is the main thing you need to understand code decides how y of k is related. So, now we will try and understand how you can relate them to do make u of k behave the way you want depending on what y of k is. So, we will take some examples. So, I am going to ask you to pull out a notebook. I mean literally pull out a notebook not hope that somebody else will pull it out. And I am going to ask you to do this. Suppose I relate y of k to u of k in this fashion and we will understand why we have out of the blues chosen some crazy architecture y of k plus 1.5 times u of k plus 0.5 times y of k. Let us understand what we mean by a statement like this some equation is written ok. What does this equation mean? I am saying that the code that is sitting inside the microcontroller I am assuming that that code does this job this operation. So, the code has to relate y of k to u of k and I am telling you that the prescription by which y of k is related to u of k is this ok. So, now let us try and understand if this is the prescription what happens? Obviously, to construct the next value of y of k you need the previous value of y of k. So, there is memory in it already you need to have memory for you to be able to construct this and microcontroller is provided you that feature. So, we will start with y of 0 to be equal to 0 and u of k keeps toggling between 1 and 0. So, u of 0 is 0 u of 1 is 0 sorry u of 0 is 0 u of 1 is 1 u of 2 is 0 u of 3 is 1 it keeps toggling. Now, you are going to work out for me u of k which is easy to plot u of k goes like this u of k as a function of k. I want you to plot y of k trivial problem which is I need to compute some numbers. What is y of y of 0 is 0 I have already said that y of 1 0.5 times u of 1 plus 0.5 times y of 0 sorry y of 1 is 0.5 times u of 0 plus 0.5 times y of 0 which is y of 2 is 0.5 times u of 1 0.5 times y of 1 y of 1 is already 0. So, y of 2 is 0.5 what about y of 3 y of 3 is 0.5 times y of 2 which is 0.25 plus 0.5 times u of 2 which is 0 ok. So, y of 3 is 0.25 what about y of 4 0.5 times y of 3 which is 0.125 plus 0.5 times 1 0.625 you can keep going on and on what do you think will happen to this to this series y of k we will do one more maybe you get an idea after that y of 5 is 0.5 times y of 4 which is 0.5 times 0.625 0.3 1 2 5 plus 0.5 times 0 slightly more than this number any guesses on what is going to happen what is that value yeah it is pretty good. So, this series is going to do something like this, but it is not going to grow beyond some limits ok. So, you must have done something like this in sequences and series somewhere calculus some point in time in calculus anyway from an ingenious perspective what needs to be communicated is that u is jumping around quite a bit is jumping around by 1 in every instance y is not jumping around by 1 it is still jumping around, but it is not jumping around by 1 it is jumping around by much smaller quantity for example here it is jumping around by 0.25 then 0.375 then little less than 0.375 etcetera definitely the jumping around is lesser is that clear, but it still jumps around not only does it jump around the points at which it jumps around is kind of shifted look at this here it is 1 here it is 0 here it is 0 it is doing something else here it is 1 it is doing something ok. So, there is there seems to be some some sort of shifting this is in fact a low pass filter in the discrete time domain this jumping around is too much it is a fast jumping signal and what you get is a lesser amplitude whatever you said Prathish said that lesser amplitude signal, but phase shifted signal if I can draw an envelope the envelope is drawn only for convenience it means nothing else all the intermediate values means nothing, but I am only drawing it for the sake of visual convenience it is not a triangle wave. So, hopefully you see that the y of k is kind of compressed a little bit I am not playing any games here I am using the same scale for u of k and y of k. So, what this algorithm effectively does is that it low pass filters y of u of k y of k is a low pass filtered version of u of k ok. Now, whether it low pass filters everything or not is something for you to investigate and find out and if you give if you can try it if you gave a constant signal if u of k was a constant right then what will happen to y of k it will converge to some value which is equal to u of k ok. You can try that make u of k equal to 1 for all values of k start with y of k equal to 0 you will start converging. So, let us do that also how does y of k look 0.5 times u of k u of k is 1 plus 0.5 times 0. So, here it is going to be 0.5 the next instance is 0.5 times u of k plus 0.5 into 0.5 times the previous value. So, what is it going to be 0.75 then it is going to be 0.875 this is just a geometric series. So, you take 0.5 away from this is the geometric series. So, the addition every instant is 0.5 to the k some or k minus 1 or whatever it is. So, it is going to you can see that it is going to reach 1 after a long period of time ok which is what a low pass filter should do. If I if I have something that is not changing quickly I let it go through which means that the same thing comes out, but you have to wait long enough you put something in into a sieve and keep doing this if every all particles on top are fine particles after a while everything is going to come down the same thing. So, sieve ok. So, this is what low pass filtering does. So, now I am going to ask you to do something more interesting ok. So, let us let us work with this picture. So, this is a y of k plus 1 is 0.5 times u of k plus 0.5 times y of k that is this picture what I am going to ask you to draw is this picture y of k plus 1 is 0.1 times u of k plus 0.9 times y of k. Can you quickly draw this picture it should not take you much time same u of k yeah u of k remains 1 for all values of k greater than 0 ok. So, that is fairly simple to do you start with your k equal to 0 while 0 we have assumed to be 0. So, you just get 0.1 next value will be 0.1 times 1 plus 0.9 times 0.1 ok. So, it is 0.1 plus 0.09 0.19 next value is going to be 0.19 times 0.9 right. So, that is 0.171 plus 0.1 0.271 etcetera. So, it keeps going on where will this reach. So, wait I am going to ask it will reach 1 it will reach what it will reach 1, but it will take much longer to reach that 1 ok. You will have to wait a lot more for the k to reach that 1 ok. That is the only difference between the two in terms of or only qualitative difference that we have explored with between the two one will reach one fast or the other one will reach once lower ok. So, the second sieve is a finer sieve it does not allow anything fast to go through. The first will allow some fast things to go through second will not allow any fast things to go through ok. So, qualitatively they are different low pass actions ok. The key thing to understand is that to get a qualitative difference in the low pass action we have only changed numbers we have only changed something from 0.5, 0.5 to 0.1, 0.9. Hardware remains the same. Now, is that clear to everybody that the hardware remains the same and you can get qualitatively different behaviors of your processing. If you choose numbers differently the structure remains the same y of k plus 1 is a times u of k plus b times y of k structure remains the same, but you have chosen only a and b differently ok. Now, this is the power of a microcontroller because the same ADC microcontroller DAC remains, but you just change the code and you are going to get different low pass filters as opposed to building RC circuitry where you have to choose R and C appropriately you have to change that circuitry ok. So, if you have a signal processing system that is processing information from sensors you want this capability that depending on the sensed input you do not know what the sensed input is you may want to use the same facility for a variety of purposes you want the ability to be able to process things differently and that ability or that facility is provided to you by a microcontroller because of its ability to process numbers and produce another set of numbers. So, that is the true power of computing in a microcontroller ok. It is true power of programming the structure of the program remains the same, but the program does very different things. So, this is what you need to appreciate tomorrow and you will appreciate it hopefully those who are interested in this stuff you will begin to appreciate it tomorrow. We are going to do one more exercise which is going to change things quite dramatically. Now, I am going to ask you to do this y of k plus 1 is 0.5 u of k minus 0.5 y of k tell me what happens with u of k equal to 1 for all k y of 0 equal to 0 again fairly simple to draw y of k versus k y of 0 is 0 y of 1 is 0.5 times u with which is 0.5 minus 0.5 times 0 ok. So, 0.5 y of 2 is 0.5 times 1 minus 0.5 times 0.5. So, you go the other way 0.25. So, this is 1 this is 2 y of 3 is 0.5 times 1 minus 0.5 times y of 2 y of 2 is 0.25. So, that is negative 0.125 plus 0.5 plus 0.375 half way here. What you have done here there is a qualitative difference between these two. First of all you are not settling at 1 you are going to settle at 0.5 that is besides the point. The main thing is that you are oscillating now you are not oscillating earlier. In one case you are just going asymptotically in this case you are oscillating. So, something that was smooth has now become oscillatory ok. This is the inverse of what the low pass filter is a it is a high pass filter and all we did was change the number 0.5 became minus 0.5. It cannot create a none of these filter well. First order filters will not have the ability to create something on its own. Second order filters can you can make it behave like in resident fashion. Resonance is just you just need an input and people think you will go crazy oscillating like this. No, there is an input frequency because there is a because y of 0 starts with 0. That is that is we can have the discussion. Anyways you are getting a ripple without some no without any ripple being given to it ok. So, the point I want to highlight is that by changing numbers you can get very different characteristics ok. So, you can build all sorts of different filters this is only one structure and just that single structure with by changing numbers you are getting very different characteristics ok. So, now you can imagine if you have there are infinite set of structures with infinite combinations of numbers that you can choose for those structures. So, obviously, you can get infinite different ways in which you can process u of k to produce y of k. All the infinite different ways are available to you as a programmer it is up to you to choose what makes sense ok. So, if you want to do low pass filtering do low pass filtering if you want to do something else do something else, but the structure remains the same ADC micro controller DAC ok. Is that clear to everybody ok. So, what the DAC does is take this y of k t and produce y of t which is in principle all it does is interpolation ok. The act of converting something which is a digital representation to something which is analog is interpolation you have to fill in the gaps ok that is what the output of the DAC is going to be. Now, what I have said now actually is the deep philosophical point it may not rhyme with you immediately it is fairly deep in the signal processing sense that digital to analog conversion can be interpreted as an interpolation problem. What sort of interpolants you use etcetera that is that is the whole different issue, but you are just joining the dots in some way you can either join it through a some sort of polynomial or some other thing depending on what your interpolating functions are ok. So, this is going to be your y of t this is going to be the other y of t, t approaches one faster here it approaches lower. So, hopefully I have illustrated the idea the main idea behind tomorrow's experiment. So, I am going to repeat it once more then we are going to get done yeah. So, the interpretation that it is high pass action etcetera is because I already know it we can discuss whether it is really high pass offline, but the point I want to make is by changing numbers you can change behavior ok not necessarily again we will do. So, it is not the point of the discussion here we can discuss it just after the class that is a finer point ok. So, the main thing that you need to remember is all measurement processing systems which are worth any salt will look like this. Take something from a sensor put it through an ADC process it in a microcontroller reduce something either you reconstruct an analog signal or do something else with it or you store this information in a computer all of them are going to look the same. So, if you can picture a look at a measurement system and say oh this is this is what is happening here right this is the ADC part this is the microcontroller part or the equivalent of the microcontroller part and this is where storage happens or reconstruction happens then we have done our job to communicate the main abstract idea behind this data processing ok. The power of this sort of architecture comes from the fact that you can make y of t very different from u of t depending on what you want to do with u of t by only changing the program in the microcontroller ok. So, it all boils down you understanding all this math that was written there y of k plus 1 blah blah some structure was given similar structures you need to understand the mathematics of it be able to analyze it utilize your information about how different mathematical objects behave and code your microcontroller in such a fashion that you get the sort of behavior you want. This is why you need to know how to analyze equations because you can actually do very drastic things if you do not know what you are putting in there it is not for fun that we write some equations down correct right you play with this you will do crazy things if you change numbers and that is what I want you to observe when you do the experiment I mean it is an experiment. So, just keep changing stuff and you will see crazy stuff happening even for seemingly minor changes plus to minus is a big change, but even seemingly minor changes there will be a big change in the way what you get out behaves ok. So, with this the introduction that you require. So, I hope now you understand why it was important for you to know what an ADC is you have to have physically seen the beast what a DAC is physically seen it what a microcontroller is have some idea of how it looks how to work with it what a cross compiler is it all that is necessary before you get to this point this is a culmination of all our efforts so far after this we are not going to do you know electronics per se we will do sensing ok. We will consider other issues related to sensing not the electronics part of it and the last experiment will put everything together sensing electronics everything for you to be able to estimate the value of acceleration due to gravity in a fashion that you will I hope appreciate ok. So, that is what you will end up doing in this lab before you disperse any questions ok. So, done.