1 00:00:00,000 --> 00:00:05,604 2 00:00:05,604 --> 00:00:06,830 PROFESSOR: Hi. 3 00:00:06,830 --> 00:00:08,900 Today I'd like to talk to about a new module called 4 00:00:08,900 --> 00:00:10,140 Signals and Systems. 5 00:00:10,140 --> 00:00:12,280 Our previous module on programming, we focused on 6 00:00:12,280 --> 00:00:14,710 object-oriented programming and state machines as 7 00:00:14,710 --> 00:00:16,350 different methods by which we could model 8 00:00:16,350 --> 00:00:17,790 the physical world. 9 00:00:17,790 --> 00:00:20,100 In this module we're going to talk about a new way to model 10 00:00:20,100 --> 00:00:22,070 the physical world called the discrete linear 11 00:00:22,070 --> 00:00:24,140 time-invariant system. 12 00:00:24,140 --> 00:00:27,320 You might say, Kendra, why do I need to do that, or why 13 00:00:27,320 --> 00:00:28,620 would I move away from state machines. 14 00:00:28,620 --> 00:00:29,590 I seem to be able to model 15 00:00:29,590 --> 00:00:32,850 everything using state machines. 16 00:00:32,850 --> 00:00:35,200 The short answer is, you want to be able to move away from 17 00:00:35,200 --> 00:00:36,450 state machines, because you want to be able 18 00:00:36,450 --> 00:00:37,610 to predict the future. 19 00:00:37,610 --> 00:00:39,645 But I'm not really going to be able to get to how you're 20 00:00:39,645 --> 00:00:42,250 going to be able to predict the future until 21 00:00:42,250 --> 00:00:43,890 two videos from now. 22 00:00:43,890 --> 00:00:46,680 So for now we'll introduce discrete linear time-invariant 23 00:00:46,680 --> 00:00:48,920 systems and also talk about different knowledge 24 00:00:48,920 --> 00:00:51,000 representations you might encounter them in, so that you 25 00:00:51,000 --> 00:00:55,200 recognize them when you see them and can manipulate them 26 00:00:55,200 --> 00:00:58,670 as needed to talk to other people about them. 27 00:00:58,670 --> 00:00:59,920 Let's go to the board. 28 00:00:59,920 --> 00:01:02,250 29 00:01:02,250 --> 00:01:03,920 Last time we talked about state machines. 30 00:01:03,920 --> 00:01:06,560 We're able to use them to model pretty much any system. 31 00:01:06,560 --> 00:01:09,140 32 00:01:09,140 --> 00:01:12,980 We can model the evolution of a particular process over time 33 00:01:12,980 --> 00:01:17,010 using a record of all previous inputs and outputs and 34 00:01:17,010 --> 00:01:20,780 possibly previous states, if we 35 00:01:20,780 --> 00:01:22,650 included that in our output. 36 00:01:22,650 --> 00:01:26,900 But the problem with state machines is that they, like 37 00:01:26,900 --> 00:01:29,810 most programming, encounter the halting problem. 38 00:01:29,810 --> 00:01:32,460 At some point your program can reach a little complexity at 39 00:01:32,460 --> 00:01:35,660 which you cannot determine what it's going to do without 40 00:01:35,660 --> 00:01:38,710 actually just running it and seeing what happens. 41 00:01:38,710 --> 00:01:40,170 This is great for researchers. 42 00:01:40,170 --> 00:01:44,530 This is the method by which people go out and have to find 43 00:01:44,530 --> 00:01:46,630 something or discover something instead of being 44 00:01:46,630 --> 00:01:48,140 able to like, simulate it using a machine. 45 00:01:48,140 --> 00:01:51,260 But if you want to be able to promise things to other people 46 00:01:51,260 --> 00:01:54,730 or predict what's going to happen, then it helps if you 47 00:01:54,730 --> 00:01:58,310 can model something that has a high level of complexity by 48 00:01:58,310 --> 00:02:00,130 abstracting away the complexity and interacting 49 00:02:00,130 --> 00:02:04,190 with it as though it has features that indicate that 50 00:02:04,190 --> 00:02:06,580 it's going to behave in a particular way. 51 00:02:06,580 --> 00:02:09,020 So if you want to make a control system that does a 52 00:02:09,020 --> 00:02:13,110 particular thing, or look at an existing system and say, 53 00:02:13,110 --> 00:02:17,790 well, I know that your power plant's going to blow up in 54 00:02:17,790 --> 00:02:22,200 five years, because of this, it helps if you have some 55 00:02:22,200 --> 00:02:28,660 understanding of particular classes of systems and what 56 00:02:28,660 --> 00:02:30,700 kind of long term behaviors those particular classes of 57 00:02:30,700 --> 00:02:33,090 systems generate. 58 00:02:33,090 --> 00:02:35,650 And that's why we look at discrete LTI. 59 00:02:35,650 --> 00:02:37,480 It's a particular class of system -- 60 00:02:37,480 --> 00:02:40,150 in particular discrete LTI is what we're going to look at in 61 00:02:40,150 --> 00:02:41,230 6.01 because it's fairly simple. 62 00:02:41,230 --> 00:02:43,200 But once you've learned how to deal with the system in that 63 00:02:43,200 --> 00:02:47,560 manner, you can use the skills that you've learned there to 64 00:02:47,560 --> 00:02:50,590 approach more complex feedback problems or more complex 65 00:02:50,590 --> 00:02:51,840 control problems. 66 00:02:51,840 --> 00:02:54,930 67 00:02:54,930 --> 00:02:57,430 First, an incredibly brief review of linear 68 00:02:57,430 --> 00:02:58,680 time-invariant systems. 69 00:02:58,680 --> 00:03:01,380 70 00:03:01,380 --> 00:03:03,700 When you're talking about a linear time-invariant system, 71 00:03:03,700 --> 00:03:05,590 both the inputs and the outputs are going to be real. 72 00:03:05,590 --> 00:03:09,220 We're not going to deal with the complex plane at all. 73 00:03:09,220 --> 00:03:14,090 If you were to model your LTI system using a state machine, 74 00:03:14,090 --> 00:03:16,740 that state machine would be dependent on a fixed amount of 75 00:03:16,740 --> 00:03:21,240 previous inputs, outputs or states. 76 00:03:21,240 --> 00:03:23,730 You give some amount of leeway for start state or the fixed 77 00:03:23,730 --> 00:03:26,900 number of states before you get to your fixed amount of 78 00:03:26,900 --> 00:03:29,250 data structure that represents your current state. 79 00:03:29,250 --> 00:03:32,330 80 00:03:32,330 --> 00:03:35,840 But if you're running a linear time-invariant system, the 81 00:03:35,840 --> 00:03:38,200 amount of information that you need to figure out your state 82 00:03:38,200 --> 00:03:42,260 in a long term sense is always finite and fixed. 83 00:03:42,260 --> 00:03:46,850 84 00:03:46,850 --> 00:03:49,130 In terms of functional expressions, you've probably 85 00:03:49,130 --> 00:03:53,180 seen these associated with linear time-invariant systems. 86 00:03:53,180 --> 00:03:55,200 Know that this also means that you can represent linear 87 00:03:55,200 --> 00:04:02,280 time-invariant systems as additions or scalar 88 00:04:02,280 --> 00:04:04,440 multiplications of your existing function. 89 00:04:04,440 --> 00:04:07,430 90 00:04:07,430 --> 00:04:09,800 So that's out of the way. 91 00:04:09,800 --> 00:04:11,310 These are all true of LTI. 92 00:04:11,310 --> 00:04:13,190 We're going to focus on discrete LTI. 93 00:04:13,190 --> 00:04:15,760 One, because we can use a discrete state 94 00:04:15,760 --> 00:04:17,220 machine to model it. 95 00:04:17,220 --> 00:04:19,180 And two, because it makes it easier to 96 00:04:19,180 --> 00:04:21,720 represent using computers. 97 00:04:21,720 --> 00:04:23,550 Once you've got that digital abstraction, you don't have to 98 00:04:23,550 --> 00:04:26,620 worry about having access to a truly continuous function. 99 00:04:26,620 --> 00:04:32,900 100 00:04:32,900 --> 00:04:33,006 All right. 101 00:04:33,006 --> 00:04:34,460 Now that you know what we're going to talk about, how do 102 00:04:34,460 --> 00:04:36,730 you talk about it to other people? 103 00:04:36,730 --> 00:04:38,310 Here are the different representations that you might 104 00:04:38,310 --> 00:04:41,150 see a discrete linear time-invariant system in. 105 00:04:41,150 --> 00:04:42,630 One of them is called a difference equation. 106 00:04:42,630 --> 00:04:44,640 And you've probably encountered this in one of 107 00:04:44,640 --> 00:04:45,890 your math classes. 108 00:04:45,890 --> 00:04:47,940 109 00:04:47,940 --> 00:04:51,320 It says that you're going to take a sample from a signal y 110 00:04:51,320 --> 00:04:54,530 at some sort of given time step, typically n. 111 00:04:54,530 --> 00:04:56,030 And when you're writing out a difference equation that 112 00:04:56,030 --> 00:04:58,760 represents an entire system, you usually see y of n on one 113 00:04:58,760 --> 00:05:02,050 side on the left, and then everything that represents the 114 00:05:02,050 --> 00:05:04,580 functional component on the system on the right, which in 115 00:05:04,580 --> 00:05:09,760 this case determines what determines the output 116 00:05:09,760 --> 00:05:11,280 at every time step. 117 00:05:11,280 --> 00:05:13,270 In this very particular case, we're talking about an 118 00:05:13,270 --> 00:05:17,940 accumulator, which means that at every time step the output 119 00:05:17,940 --> 00:05:23,520 is determined by the input plus the previous output. 120 00:05:23,520 --> 00:05:29,020 So at every time step we take the input and whatever it is 121 00:05:29,020 --> 00:05:32,280 we were outputting before and output it again. 122 00:05:32,280 --> 00:05:36,720 123 00:05:36,720 --> 00:05:37,970 Pretty straightforward. 124 00:05:37,970 --> 00:05:41,160 125 00:05:41,160 --> 00:05:43,050 If somebody described to you a difference equation in words, 126 00:05:43,050 --> 00:05:45,120 you could probably turn it into a equation at this point. 127 00:05:45,120 --> 00:05:48,250 128 00:05:48,250 --> 00:05:50,880 Note that even though there are variables associated with 129 00:05:50,880 --> 00:05:54,080 these samples, they are still very particular samples. 130 00:05:54,080 --> 00:05:56,740 And the thing that you're interested in is probably not 131 00:05:56,740 --> 00:05:57,760 even the samples at all. 132 00:05:57,760 --> 00:06:00,010 It's the relationship between the samples, when they were 133 00:06:00,010 --> 00:06:03,130 sampled, and relative to one another, and how that relates 134 00:06:03,130 --> 00:06:05,720 to the output at a given time step. 135 00:06:05,720 --> 00:06:08,520 If you then want to talk about an entire signal, then you can 136 00:06:08,520 --> 00:06:10,080 use an operator equation. 137 00:06:10,080 --> 00:06:12,730 And you'll probably see these things when you do any sort of 138 00:06:12,730 --> 00:06:14,245 research on control theory or feedback. 139 00:06:14,245 --> 00:06:17,160 140 00:06:17,160 --> 00:06:20,700 Instead of representing the sample of the signal y at a 141 00:06:20,700 --> 00:06:24,220 given time n, we're just going to talk about the overall 142 00:06:24,220 --> 00:06:28,715 signal capital Y. Likewise, instead of talking about x at 143 00:06:28,715 --> 00:06:31,830 a given time n, we're going to talk about the signal capital 144 00:06:31,830 --> 00:06:37,410 X. 145 00:06:37,410 --> 00:06:39,820 Remember that I said that the most important part of this 146 00:06:39,820 --> 00:06:41,530 equation is the fact that there's a different 147 00:06:41,530 --> 00:06:43,390 relationship between these two signals and when you were 148 00:06:43,390 --> 00:06:44,640 sampling from them. 149 00:06:44,640 --> 00:06:47,340 150 00:06:47,340 --> 00:06:53,080 When we want to represent this relative delay, we represent 151 00:06:53,080 --> 00:06:59,310 it using an R. And in particular, I want to note the 152 00:06:59,310 --> 00:07:06,940 fact that the degree of R represents the amount of delay 153 00:07:06,940 --> 00:07:10,250 associated with the sample from a particular signal. 154 00:07:10,250 --> 00:07:19,020 So if I wanted to make this n minus 2, I would reflect that 155 00:07:19,020 --> 00:07:28,137 change in my operator equation by changing the degree of R. 156 00:07:28,137 --> 00:07:30,110 And because we're working with a linear time-invariant 157 00:07:30,110 --> 00:07:34,900 system, if we wanted to scale this by 2, it'd be the same as 158 00:07:34,900 --> 00:07:36,730 scaling this by 2, et cetera. 159 00:07:36,730 --> 00:07:43,770 160 00:07:43,770 --> 00:07:46,390 Now I can talk about signals. 161 00:07:46,390 --> 00:07:48,910 What if I want to talk about a physical manifestation of the 162 00:07:48,910 --> 00:07:51,500 relationship between these signals, and/or what if I want 163 00:07:51,500 --> 00:07:55,480 to use something kind of like circuit diagrams to talk about 164 00:07:55,480 --> 00:07:57,630 what kind of signal manipulation I'm going to do? 165 00:07:57,630 --> 00:08:00,600 166 00:08:00,600 --> 00:08:03,600 This is where block diagrams come in. 167 00:08:03,600 --> 00:08:05,720 Block diagrams are incredibly PowerPoint-friendly. 168 00:08:05,720 --> 00:08:08,370 Block diagrams mean that everybody is on the same page, 169 00:08:08,370 --> 00:08:10,510 because all you have to do is trace out the arrows. 170 00:08:10,510 --> 00:08:14,030 Block diagrams mean you're going to do a combination of 171 00:08:14,030 --> 00:08:19,120 gains, delays and adders to visually represent the 172 00:08:19,120 --> 00:08:21,160 relationship between your output signal and any input 173 00:08:21,160 --> 00:08:24,280 signals that you have. 174 00:08:24,280 --> 00:08:26,830 Up here I have actually drawn an accumulator. 175 00:08:26,830 --> 00:08:30,500 And it's got a box around it, which will be 176 00:08:30,500 --> 00:08:33,500 relevant in two minutes. 177 00:08:33,500 --> 00:08:37,559 But right now you can ignore it. 178 00:08:37,559 --> 00:08:39,820 I've got my input signal, or my input signals, are 179 00:08:39,820 --> 00:08:41,590 typically on the left. 180 00:08:41,590 --> 00:08:44,370 And the progression of gains, delays and adders associated 181 00:08:44,370 --> 00:08:47,320 with the block diagram represent the relationship 182 00:08:47,320 --> 00:08:50,780 between the input signals and the output signal. 183 00:08:50,780 --> 00:08:52,350 And then I'll have my output signal on the right. 184 00:08:52,350 --> 00:08:57,320 185 00:08:57,320 --> 00:09:00,570 Most people indicate flow with arrows, in part to make things 186 00:09:00,570 --> 00:09:01,590 easier to read. 187 00:09:01,590 --> 00:09:04,580 But typically, you only need the arrow indicating where 188 00:09:04,580 --> 00:09:09,080 you're sampling from and what your output's 189 00:09:09,080 --> 00:09:10,330 going to look like. 190 00:09:10,330 --> 00:09:13,280 191 00:09:13,280 --> 00:09:17,800 In this case in order to get Y, and in the general sense, I 192 00:09:17,800 --> 00:09:21,670 can backtrace from the signal that I'm interested in through 193 00:09:21,670 --> 00:09:29,820 my diagram and figure out what values I'm 194 00:09:29,820 --> 00:09:31,640 actually interested in. 195 00:09:31,640 --> 00:09:37,990 So in this particular case, Y is a linear combination of X 196 00:09:37,990 --> 00:09:42,710 and whatever this represents, which is RY. 197 00:09:42,710 --> 00:09:50,700 198 00:09:50,700 --> 00:09:56,900 If I did want to put a 2 here, I've been talking about gains, 199 00:09:56,900 --> 00:09:59,300 delays and adders, but this diagram doesn't 200 00:09:59,300 --> 00:10:00,220 contain a gain yet. 201 00:10:00,220 --> 00:10:03,140 So let me show you how you would include a gain. 202 00:10:03,140 --> 00:10:10,790 203 00:10:10,790 --> 00:10:13,770 Gains are typically represented by the value of 204 00:10:13,770 --> 00:10:16,240 the gain inside an arrow. 205 00:10:16,240 --> 00:10:18,540 It looks like an op-amp from schematic diagrams. 206 00:10:18,540 --> 00:10:19,790 We'll get to those later in circuits. 207 00:10:19,790 --> 00:10:24,520 208 00:10:24,520 --> 00:10:26,330 It's not essential that the arrow point in the direction 209 00:10:26,330 --> 00:10:29,480 of flow, but people might look at you funny if you don't put 210 00:10:29,480 --> 00:10:32,140 it in the direction of flow. 211 00:10:32,140 --> 00:10:34,160 And the other thing that I think I want to note here is 212 00:10:34,160 --> 00:10:43,750 that if you see a minus sign here, it means X minus 2RY, 213 00:10:43,750 --> 00:10:48,800 which is the same as putting a negative value on your gain. 214 00:10:48,800 --> 00:10:52,340 So right now, we're back to X plus 2RY. 215 00:10:52,340 --> 00:10:55,908 216 00:10:55,908 --> 00:10:57,390 OK. 217 00:10:57,390 --> 00:10:59,440 We've got to block diagrams. 218 00:10:59,440 --> 00:11:01,400 You might be saying at this point, Kendra, what are block 219 00:11:01,400 --> 00:11:03,900 diagrams good for other than PowerPoint presentations and 220 00:11:03,900 --> 00:11:06,440 possibly arguing with my friends over what's going on. 221 00:11:06,440 --> 00:11:09,250 And I say, they're really good for abstraction. 222 00:11:09,250 --> 00:11:17,940 223 00:11:17,940 --> 00:11:22,050 I could draw a box around this and abstract it away into a 224 00:11:22,050 --> 00:11:27,280 function and say, if I put something into this box, and I 225 00:11:27,280 --> 00:11:32,480 want to get something out where the action that happens 226 00:11:32,480 --> 00:11:37,450 in here is identical to this schematic, then I can find an 227 00:11:37,450 --> 00:11:41,310 equation that actually represents that operation. 228 00:11:41,310 --> 00:11:44,740 And the way I do that is I'm going to take my operator 229 00:11:44,740 --> 00:11:55,840 equation and solve in particular for Y over X. In 230 00:11:55,840 --> 00:12:01,430 this case, with the 2, Y over X is going to be 1 231 00:12:01,430 --> 00:12:02,750 over (1 minus 2R). 232 00:12:02,750 --> 00:12:13,690 233 00:12:13,690 --> 00:12:19,080 Note that if H is equal to the expression Y over X, and I 234 00:12:19,080 --> 00:12:27,380 multiply H by X, I get out Y. 235 00:12:27,380 --> 00:12:30,490 This concludes my coverage of motivations for learning about 236 00:12:30,490 --> 00:12:33,410 discrete LTI systems and also the different representations 237 00:12:33,410 --> 00:12:36,760 that we will want to use when talking to other people about 238 00:12:36,760 --> 00:12:38,240 discrete LTI. 239 00:12:38,240 --> 00:12:40,720 At this point we can also start talking about how we get 240 00:12:40,720 --> 00:12:42,780 to the point where we can start predicting the future. 241 00:12:42,780 --> 00:12:45,260 And then in the video after that I'll actually start 242 00:12:45,260 --> 00:12:46,510 talking about poles. 243 00:12:46,510 --> 00:12:47,615