1 00:00:04,960 --> 00:00:19,999 [Music] 2 00:00:20,640 --> 00:00:24,519 and Welcome to our last session before 3 00:00:22,400 --> 00:00:27,160 lightning talks this afternoon um if 4 00:00:24,519 --> 00:00:30,679 you're not sure it is Saturday afternoon 5 00:00:27,160 --> 00:00:33,160 um please welcome Philipe 6 00:00:30,679 --> 00:00:34,760 whoa please please say farewell to me um 7 00:00:33,160 --> 00:00:37,399 please welcome Filipe Taris who's here 8 00:00:34,760 --> 00:00:41,719 to talk about Wi-Fi is it just blinking 9 00:00:37,399 --> 00:00:44,200 lights Wi-Fi RF other kinds of dark arts 10 00:00:41,719 --> 00:00:44,200 please welcome 11 00:00:46,079 --> 00:00:51,480 philippin hello 12 00:00:48,760 --> 00:00:54,320 everyone so let's just get a quick 13 00:00:51,480 --> 00:00:56,640 introduction through um I do a bit of 14 00:00:54,320 --> 00:00:59,719 statistics and testing at a company 15 00:00:56,640 --> 00:01:01,239 called moris micro we design Wi-Fi chips 16 00:00:59,719 --> 00:01:03,320 but it's not your conventional Wi-Fi 17 00:01:01,239 --> 00:01:06,439 it's actually Wi-Fi Halo which is 18 00:01:03,320 --> 00:01:09,240 basically a longer range lower power 19 00:01:06,439 --> 00:01:12,080 version of Wi-Fi basically for embedded 20 00:01:09,240 --> 00:01:14,720 devices um I have a Blog where you can 21 00:01:12,080 --> 00:01:16,960 read about my ramblings um I also do a 22 00:01:14,720 --> 00:01:20,200 bit of pixel art on the side you can 23 00:01:16,960 --> 00:01:22,520 look at that uh and if you're on fattye 24 00:01:20,200 --> 00:01:24,479 you can find me 25 00:01:22,520 --> 00:01:29,560 there all 26 00:01:24,479 --> 00:01:32,600 right um this would be the updated title 27 00:01:29,560 --> 00:01:34,640 of the talk um risky Devils of un proven 28 00:01:32,600 --> 00:01:38,159 technology I haded together in the 29 00:01:34,640 --> 00:01:41,720 kitchen yesterday and just a picture of 30 00:01:38,159 --> 00:01:44,600 what that looked like that was me in my 31 00:01:41,720 --> 00:01:45,759 apartment room making sure things worked 32 00:01:44,600 --> 00:01:49,159 just before the 33 00:01:45,759 --> 00:01:53,399 talk um all right 34 00:01:49,159 --> 00:01:56,759 so let's cover the statement of the talk 35 00:01:53,399 --> 00:01:58,719 right um is Wii just blinking lights so 36 00:01:56,759 --> 00:02:00,640 let's start talk about light for a 37 00:01:58,719 --> 00:02:03,360 second um 38 00:02:00,640 --> 00:02:08,520 um the basis of light is something 39 00:02:03,360 --> 00:02:12,480 called a photon um this little guy there 40 00:02:08,520 --> 00:02:15,920 uh with a cool hat because he goes fast 41 00:02:12,480 --> 00:02:17,519 um so the way light works is depending 42 00:02:15,920 --> 00:02:18,720 on the different kinds of light that you 43 00:02:17,519 --> 00:02:21,440 have you have something called 44 00:02:18,720 --> 00:02:24,920 wavelength which basically describes how 45 00:02:21,440 --> 00:02:28,120 fuzzy the light is um and of course 46 00:02:24,920 --> 00:02:31,440 light is always going at the speed of 47 00:02:28,120 --> 00:02:33,760 light um you have all of these different 48 00:02:31,440 --> 00:02:36,840 kinds of light you have light that's 49 00:02:33,760 --> 00:02:40,480 used in Wi-Fi Halo which is like about 50 00:02:36,840 --> 00:02:43,400 30 cm in that fuzziness uh you have 51 00:02:40,480 --> 00:02:45,879 light that's used on 2.4 GHz Wi-Fi which 52 00:02:43,400 --> 00:02:50,440 is your standard Wi-Fi and that's about 53 00:02:45,879 --> 00:02:52,800 8 is 8 cm um and then if you go all the 54 00:02:50,440 --> 00:02:55,640 way down and further down and further 55 00:02:52,800 --> 00:02:58,640 down in size you finally have visible 56 00:02:55,640 --> 00:03:01,360 light which is much much much smaller um 57 00:02:58,640 --> 00:03:05,680 about 500 50 58 00:03:01,360 --> 00:03:08,560 nanom um but yes it's all light the 59 00:03:05,680 --> 00:03:11,239 light that's used in your um phone to 60 00:03:08,560 --> 00:03:15,840 communicate with the cell towers light 61 00:03:11,239 --> 00:03:18,760 that's used on uh hem radios and like 62 00:03:15,840 --> 00:03:22,599 there you can see all 63 00:03:18,760 --> 00:03:24,239 photons um and of course light has a bit 64 00:03:22,599 --> 00:03:27,319 of a relationship with 65 00:03:24,239 --> 00:03:28,959 frequency uh which is basically just 66 00:03:27,319 --> 00:03:32,239 it's the inverse of the time that it 67 00:03:28,959 --> 00:03:34,040 takes for the Photon to move that uh 68 00:03:32,239 --> 00:03:37,159 wavelength 69 00:03:34,040 --> 00:03:39,799 amount all right so we have established 70 00:03:37,159 --> 00:03:42,439 that Wi-Fi is in fact light and a lot of 71 00:03:39,799 --> 00:03:45,120 other things are light as well um but 72 00:03:42,439 --> 00:03:47,560 what exactly is Wi-Fi so Wi-Fi is 73 00:03:45,120 --> 00:03:50,360 defined by this standard called dat 21 74 00:03:47,560 --> 00:03:52,200 standard which defines a bunch of things 75 00:03:50,360 --> 00:03:54,280 and over the years it just has been 76 00:03:52,200 --> 00:03:56,079 added and added and added to and every 77 00:03:54,280 --> 00:04:00,200 time you see a new release of something 78 00:03:56,079 --> 00:04:02,159 Wi-Fi 4 Wi-Fi 5 Wi-Fi 6 Wi-Fi 7 uh it 79 00:04:00,200 --> 00:04:04,040 goes on and on and every time it's just 80 00:04:02,159 --> 00:04:06,239 a bunch of new things that gets added to 81 00:04:04,040 --> 00:04:10,720 the same old standard called 82 00:04:06,239 --> 00:04:12,560 a211 um and at its score that standard 83 00:04:10,720 --> 00:04:14,400 basically defines there is something 84 00:04:12,560 --> 00:04:16,400 called the physical layer which 85 00:04:14,400 --> 00:04:20,440 basically defines how do we generate 86 00:04:16,400 --> 00:04:23,120 light how do we see that light how how 87 00:04:20,440 --> 00:04:24,600 that light behaves in general and then 88 00:04:23,120 --> 00:04:28,960 there's something called the medium 89 00:04:24,600 --> 00:04:30,800 access layer um which basically defines 90 00:04:28,960 --> 00:04:33,880 how we control the chaos that's 91 00:04:30,800 --> 00:04:38,280 generated by trying to communicate just 92 00:04:33,880 --> 00:04:42,479 with light PES and blinking lights 93 00:04:38,280 --> 00:04:44,280 um so if we were to break down what is 94 00:04:42,479 --> 00:04:46,360 happening when you're using some Wi-Fi 95 00:04:44,280 --> 00:04:48,199 device to communicate you basically have 96 00:04:46,360 --> 00:04:50,639 your browser that's doing something 97 00:04:48,199 --> 00:04:53,199 there um and it's sending something to 98 00:04:50,639 --> 00:04:54,800 the kernel of the operating system and 99 00:04:53,199 --> 00:04:57,560 that goes through the driver which 100 00:04:54,800 --> 00:05:00,320 basically generates 8 to 11 frames which 101 00:04:57,560 --> 00:05:04,199 is the data unit that's used used when 102 00:05:00,320 --> 00:05:06,400 you are using any Wi-Fi technology um 103 00:05:04,199 --> 00:05:09,440 that gets communicated to whatever Wi-Fi 104 00:05:06,400 --> 00:05:12,680 Hardware you have by any kind of bus 105 00:05:09,440 --> 00:05:14,759 that can be a multiple uh different uh 106 00:05:12,680 --> 00:05:17,960 protocols in this case I just has 107 00:05:14,759 --> 00:05:20,160 exemplified there with USB bus uh and 108 00:05:17,960 --> 00:05:22,720 finally your Wi-Fi Chip is going to do 109 00:05:20,160 --> 00:05:27,120 some magic and it's plugged to an 110 00:05:22,720 --> 00:05:27,120 antenna and you get some light 111 00:05:27,600 --> 00:05:33,479 um and finally and this is the most 112 00:05:31,319 --> 00:05:35,639 complicated bit what exactly are we 113 00:05:33,479 --> 00:05:40,560 saying when we say Wi-Fi is blinking 114 00:05:35,639 --> 00:05:42,120 lights why say blinking um it's a very 115 00:05:40,560 --> 00:05:45,319 specific kind of 116 00:05:42,120 --> 00:05:46,960 blinking um and I'm going to cover a 117 00:05:45,319 --> 00:05:49,680 quick example 118 00:05:46,960 --> 00:05:51,759 of how that blinking pattern would 119 00:05:49,680 --> 00:05:54,759 behave if you were to send something 120 00:05:51,759 --> 00:05:58,520 over blinking lights uh somewhat in a 121 00:05:54,759 --> 00:06:00,319 Wi-Fi standard for Pon AAU for example 122 00:05:58,520 --> 00:06:04,520 if we take the p 123 00:06:00,319 --> 00:06:07,919 that is represented by some uh s uh 124 00:06:04,520 --> 00:06:09,960 number so it's there in binary uh eight 125 00:06:07,919 --> 00:06:13,039 bits and then the first thing that we do 126 00:06:09,960 --> 00:06:15,039 is basically split that in two so we get 127 00:06:13,039 --> 00:06:18,599 the first part which is just five the 128 00:06:15,039 --> 00:06:21,000 second one is zero and then we represent 129 00:06:18,599 --> 00:06:23,759 that in multiple different ways but 130 00:06:21,000 --> 00:06:26,840 people in the RF space usually like to 131 00:06:23,759 --> 00:06:29,280 do it in one very specific way which is 132 00:06:26,840 --> 00:06:31,160 this they create a cartisian plane and 133 00:06:29,280 --> 00:06:33,000 they say I'm going to put the five on 134 00:06:31,160 --> 00:06:35,240 one of the axis and the zero on the 135 00:06:33,000 --> 00:06:37,599 other one so they split the information 136 00:06:35,240 --> 00:06:40,080 into two and one goes to the xaxis the 137 00:06:37,599 --> 00:06:41,919 other one goes into y AIS one of these 138 00:06:40,080 --> 00:06:45,680 points is whatever information you want 139 00:06:41,919 --> 00:06:47,880 to send um however this is just a 140 00:06:45,680 --> 00:06:49,800 preference of from the people that work 141 00:06:47,880 --> 00:06:51,919 with this thing if you wanted you could 142 00:06:49,800 --> 00:06:54,360 represent in a number of ways you could 143 00:06:51,919 --> 00:06:56,199 use a complex number which has two parts 144 00:06:54,360 --> 00:06:58,199 you assign five to one of them zero to 145 00:06:56,199 --> 00:07:01,280 the other one doesn't matter which 146 00:06:58,199 --> 00:07:03,440 direction um you could use a vector 147 00:07:01,280 --> 00:07:07,639 anything that has two components would 148 00:07:03,440 --> 00:07:10,599 do it just fine um but the important 149 00:07:07,639 --> 00:07:13,759 thing here is actually that when you 150 00:07:10,599 --> 00:07:16,919 want to send that as light there is an 151 00:07:13,759 --> 00:07:19,400 interesting property that you can use um 152 00:07:16,919 --> 00:07:22,360 which is basically if you have something 153 00:07:19,400 --> 00:07:24,720 that is oscillating in a sine wave and 154 00:07:22,360 --> 00:07:27,000 something that's oscillating in a cosine 155 00:07:24,720 --> 00:07:29,240 wave they are something that we call 156 00:07:27,000 --> 00:07:32,199 orthogonal that means you can mix them 157 00:07:29,240 --> 00:07:33,759 together and then unmix them apart and 158 00:07:32,199 --> 00:07:36,680 you can still retrieve the information 159 00:07:33,759 --> 00:07:39,000 from both sides so what you can do is if 160 00:07:36,680 --> 00:07:40,759 you want to send the five and zero from 161 00:07:39,000 --> 00:07:43,639 earlier which if you combine them 162 00:07:40,759 --> 00:07:45,720 together represents the p in Pyon uh 163 00:07:43,639 --> 00:07:49,800 what you can do is just have one of 164 00:07:45,720 --> 00:07:52,840 these sides uh multiply a sine wave and 165 00:07:49,800 --> 00:07:55,120 the other one multiply a cosine wave mix 166 00:07:52,840 --> 00:07:57,159 them together and then through the magic 167 00:07:55,120 --> 00:08:00,599 of mathematics you get them both back 168 00:07:57,159 --> 00:08:04,039 together uh on the other end um and 169 00:08:00,599 --> 00:08:06,479 that's how the blinking is done in Wi-Fi 170 00:08:04,039 --> 00:08:09,520 um so essentially instead of just being 171 00:08:06,479 --> 00:08:12,039 onoff blinking it's actually more of a 172 00:08:09,520 --> 00:08:14,759 multiple different levels 173 00:08:12,039 --> 00:08:17,159 blinking um and this thing is called 174 00:08:14,759 --> 00:08:20,199 quadrature amplitude modulation 175 00:08:17,159 --> 00:08:21,840 quadrature because it actually this 176 00:08:20,199 --> 00:08:23,520 property where you have signs and 177 00:08:21,840 --> 00:08:28,120 cosiness can be mixed together and un 178 00:08:23,520 --> 00:08:29,759 mixed uh is basically a 90° phase 179 00:08:28,120 --> 00:08:32,640 difference and that's called a 180 00:08:29,759 --> 00:08:34,440 quadrature um amplitude because when you 181 00:08:32,640 --> 00:08:36,320 multiply things by different values 182 00:08:34,440 --> 00:08:39,599 you're basically making them smaller or 183 00:08:36,320 --> 00:08:42,519 bigger so amplitude and modulation 184 00:08:39,599 --> 00:08:45,240 because anything that's being used to 185 00:08:42,519 --> 00:08:47,240 generate waves in this sense is uh 186 00:08:45,240 --> 00:08:50,240 modulation 187 00:08:47,240 --> 00:08:52,880 scheme um I'll just cover a bit of 188 00:08:50,240 --> 00:08:55,839 encryption because on Wi-Fi Technologies 189 00:08:52,880 --> 00:08:58,240 all right you can have the sequence of 190 00:08:55,839 --> 00:09:00,360 btes you can convert them to something 191 00:08:58,240 --> 00:09:03,600 and then send them through an antenna 192 00:09:00,360 --> 00:09:07,519 all good and all fine however very often 193 00:09:03,600 --> 00:09:10,040 you do want to do that uh secretly or 194 00:09:07,519 --> 00:09:13,279 with some encryptions laed on um so I'll 195 00:09:10,040 --> 00:09:15,760 just cover really quickly uh what the 196 00:09:13,279 --> 00:09:18,160 core principle of encryption is I won't 197 00:09:15,760 --> 00:09:21,240 go too in depth but it's just enough to 198 00:09:18,160 --> 00:09:22,680 get anyone curious um so what is 199 00:09:21,240 --> 00:09:25,120 encryption when we say something is 200 00:09:22,680 --> 00:09:27,560 encrypted are you making it garbled are 201 00:09:25,120 --> 00:09:29,200 you hiding something is it a magic that 202 00:09:27,560 --> 00:09:31,800 you do that only allows you to to see 203 00:09:29,200 --> 00:09:32,720 the result in nobody else um it's 204 00:09:31,800 --> 00:09:36,560 actually 205 00:09:32,720 --> 00:09:38,320 random uh pseudo random to be precise 206 00:09:36,560 --> 00:09:40,399 and the core principle is just if you 207 00:09:38,320 --> 00:09:44,760 have a sequence of numbers let's call 208 00:09:40,399 --> 00:09:48,079 them B1 B2 B3 whatever uh and you have a 209 00:09:44,760 --> 00:09:50,839 sequence of random numbers R1 R2 R3 what 210 00:09:48,079 --> 00:09:52,839 you can do is just sum every single 211 00:09:50,839 --> 00:09:55,440 number with every single random number 212 00:09:52,839 --> 00:09:57,480 and the result is also a random number 213 00:09:55,440 --> 00:09:59,680 let's say that I had three and then 214 00:09:57,480 --> 00:10:01,760 someone gives me a random number I sum 215 00:09:59,680 --> 00:10:03,959 that to three and then I tell the result 216 00:10:01,760 --> 00:10:06,320 to someone they can't tell that I had 217 00:10:03,959 --> 00:10:08,560 three initially because I summ a random 218 00:10:06,320 --> 00:10:11,680 number could be anything right so that's 219 00:10:08,560 --> 00:10:13,279 the fundamental fundamental principle of 220 00:10:11,680 --> 00:10:15,360 encryption and the way that this 221 00:10:13,279 --> 00:10:17,600 actually works is you have this things 222 00:10:15,360 --> 00:10:20,440 called Soo random number generators that 223 00:10:17,600 --> 00:10:23,399 can take a seed um and that essentially 224 00:10:20,440 --> 00:10:25,680 means that they generate a infinite 225 00:10:23,399 --> 00:10:27,720 sequence of sud sudo random numbers that 226 00:10:25,680 --> 00:10:29,519 you can just add to bytes and that's 227 00:10:27,720 --> 00:10:31,200 your encrypted traffic so if if you 228 00:10:29,519 --> 00:10:34,320 actually looked at what bytes are being 229 00:10:31,200 --> 00:10:36,480 transferred in encrypted traffic is all 230 00:10:34,320 --> 00:10:38,839 random bytes one of the big issues in 231 00:10:36,480 --> 00:10:41,519 making things secure is making sure that 232 00:10:38,839 --> 00:10:44,480 random is actually close to actual 233 00:10:41,519 --> 00:10:46,560 random um so close that you cannot 234 00:10:44,480 --> 00:10:47,839 actually use any techniques to retri 235 00:10:46,560 --> 00:10:49,639 information from 236 00:10:47,839 --> 00:10:52,560 that 237 00:10:49,639 --> 00:10:55,440 um all 238 00:10:52,560 --> 00:10:57,480 right and now is the part of the talk 239 00:10:55,440 --> 00:11:00,240 where I do what Matt didn't in talk 240 00:10:57,480 --> 00:11:02,920 before and I'm going to show you a demo 241 00:11:00,240 --> 00:11:07,040 of how of this stuff works interestingly 242 00:11:02,920 --> 00:11:08,839 enough using micro python so it's a nice 243 00:11:07,040 --> 00:11:12,000 compliment 244 00:11:08,839 --> 00:11:14,079 um so the idea here is pretty simple you 245 00:11:12,000 --> 00:11:16,680 have all of this stuff um you can 246 00:11:14,079 --> 00:11:22,720 generate of all of this waves that 247 00:11:16,680 --> 00:11:25,639 somewhat are analog to uh Wi-Fi 248 00:11:22,720 --> 00:11:27,600 and can you actually do it though can 249 00:11:25,639 --> 00:11:30,000 you actually do something that is doing 250 00:11:27,600 --> 00:11:32,720 some communication using this quadrature 251 00:11:30,000 --> 00:11:35,399 amplitude modulation stuff um and 252 00:11:32,720 --> 00:11:37,079 sending some information over as light 253 00:11:35,399 --> 00:11:39,959 and can you actually see how that light 254 00:11:37,079 --> 00:11:43,320 behaves instead of just being invisible 255 00:11:39,959 --> 00:11:45,880 Hocus Pocus light that nobody can see um 256 00:11:43,320 --> 00:11:50,240 the plan for that is using a Raspberry 257 00:11:45,880 --> 00:11:54,079 Pi Peele um which you can Flash with 258 00:11:50,240 --> 00:11:57,519 micropython and then adding some LEDs to 259 00:11:54,079 --> 00:12:00,240 generate light on that and then some 260 00:11:57,519 --> 00:12:02,600 light sensitive resistors to actually 261 00:12:00,240 --> 00:12:04,279 detect that light on the other end and 262 00:12:02,600 --> 00:12:07,279 we want to send some information over 263 00:12:04,279 --> 00:12:09,160 and you want to see what it looks like 264 00:12:07,279 --> 00:12:11,760 um 265 00:12:09,160 --> 00:12:14,079 and because I like to make things very 266 00:12:11,760 --> 00:12:17,240 complicated when they could be very 267 00:12:14,079 --> 00:12:19,680 simple uh I actually built this out of 268 00:12:17,240 --> 00:12:22,680 individual LEDs I could just have used a 269 00:12:19,680 --> 00:12:25,199 normal RGB LED but I actually slapped 270 00:12:22,680 --> 00:12:27,920 together real LED is one of each color 271 00:12:25,199 --> 00:12:31,920 just for the for the fun of it um very 272 00:12:27,920 --> 00:12:34,839 good soldering practice skills 273 00:12:31,920 --> 00:12:38,120 um and then I did the same thing for all 274 00:12:34,839 --> 00:12:39,680 the all the ldrs and that's for 275 00:12:38,120 --> 00:12:40,560 detecting the light that's coming out of 276 00:12:39,680 --> 00:12:44,120 those 277 00:12:40,560 --> 00:12:46,279 LEDs um the problem is though I actually 278 00:12:44,120 --> 00:12:48,600 wanted to detect what color was that 279 00:12:46,279 --> 00:12:50,639 light on because for the fun of it I 280 00:12:48,600 --> 00:12:52,639 wanted to do all of those schemes on top 281 00:12:50,639 --> 00:12:55,720 of some color modulation I wanted to see 282 00:12:52,639 --> 00:12:57,440 some color going around so how do you do 283 00:12:55,720 --> 00:12:59,600 that these guys can only basically 284 00:12:57,440 --> 00:13:01,800 detect 285 00:12:59,600 --> 00:13:03,630 light but they can't say okay which 286 00:13:01,800 --> 00:13:04,959 color is that 287 00:13:03,630 --> 00:13:08,560 [Music] 288 00:13:04,959 --> 00:13:12,639 so H I went to Office Works looking for 289 00:13:08,560 --> 00:13:16,000 some filters and they had these in there 290 00:13:12,639 --> 00:13:16,000 and what happened next was 291 00:13:17,160 --> 00:13:25,360 murder and that's what I get um very 292 00:13:20,800 --> 00:13:29,360 nice F third uh light sensitive 293 00:13:25,360 --> 00:13:29,360 resistors um 294 00:13:29,560 --> 00:13:35,560 however it didn't go too according to 295 00:13:31,920 --> 00:13:38,399 plan so what you guys are seeing here is 296 00:13:35,560 --> 00:13:42,880 basically for every single combination 297 00:13:38,399 --> 00:13:44,720 that I can have with those RGB LED uh 298 00:13:42,880 --> 00:13:45,639 that I created slapping together 299 00:13:44,720 --> 00:13:49,560 different 300 00:13:45,639 --> 00:13:52,880 LEDs on the x-axis this is the response 301 00:13:49,560 --> 00:13:56,160 that I get from the different uh 302 00:13:52,880 --> 00:14:00,240 ldrs so one of them is pretty good that 303 00:13:56,160 --> 00:14:04,199 blue one seems to pick up some frequency 304 00:14:00,240 --> 00:14:07,480 the yellow one also pretty good some 305 00:14:04,199 --> 00:14:09,360 seems to pick around somewhere however 306 00:14:07,480 --> 00:14:11,240 that red one and the yellow one are 307 00:14:09,360 --> 00:14:13,600 pretty similar so they are not really 308 00:14:11,240 --> 00:14:16,040 picking up different things and that's 309 00:14:13,600 --> 00:14:18,160 because blue and green are really 310 00:14:16,040 --> 00:14:21,320 similar even computers are confused as 311 00:14:18,160 --> 00:14:24,360 to what is blue and what is green 312 00:14:21,320 --> 00:14:27,480 um however we don't care too much about 313 00:14:24,360 --> 00:14:29,720 that um because they are just this 314 00:14:27,480 --> 00:14:33,320 similar enough that we can sort of 315 00:14:29,720 --> 00:14:36,320 reconstruct um the the original color of 316 00:14:33,320 --> 00:14:38,279 the light from that So the plan is we 317 00:14:36,320 --> 00:14:42,639 get some information in this case just 318 00:14:38,279 --> 00:14:44,480 some random bits uh we do some quad 319 00:14:42,639 --> 00:14:46,959 amplitude modulation which just means I 320 00:14:44,480 --> 00:14:49,360 multiply cosiness and SS and then I 321 00:14:46,959 --> 00:14:52,040 generate something out of that and then 322 00:14:49,360 --> 00:14:55,240 I want to send that as different colors 323 00:14:52,040 --> 00:14:57,000 and to do that basically I can set up um 324 00:14:55,240 --> 00:15:00,000 all the different colors that we can see 325 00:14:57,000 --> 00:15:02,399 as a single spectrum and I can just 326 00:15:00,000 --> 00:15:04,079 sweep through that Spectrum according to 327 00:15:02,399 --> 00:15:05,880 my wave and that's going to generate a 328 00:15:04,079 --> 00:15:08,880 bunch of colors I can detect that on the 329 00:15:05,880 --> 00:15:11,040 other end and I can figure out what that 330 00:15:08,880 --> 00:15:15,000 what the original information that was 331 00:15:11,040 --> 00:15:19,000 sent was in the first place 332 00:15:15,000 --> 00:15:20,959 um demo time let's hope this works so 333 00:15:19,000 --> 00:15:23,000 what I have here is I actually put all 334 00:15:20,959 --> 00:15:26,199 of that micr controller stuff inside my 335 00:15:23,000 --> 00:15:27,920 bag because it's nice and dark in there 336 00:15:26,199 --> 00:15:29,519 probably quite warm as well they 337 00:15:27,920 --> 00:15:33,000 probably like that 338 00:15:29,519 --> 00:15:33,000 um and I put a camera in 339 00:15:33,440 --> 00:15:38,360 there now if this 340 00:15:38,880 --> 00:15:45,399 works we should just be able to see 341 00:15:41,240 --> 00:15:45,399 inside my bag what's what's going 342 00:15:46,560 --> 00:15:54,560 on all right and my program here is just 343 00:15:51,279 --> 00:15:56,560 a quick micropython program that does a 344 00:15:54,560 --> 00:15:59,399 couple things first it tries to 345 00:15:56,560 --> 00:16:00,680 calibrate the medium because if I do 346 00:15:59,399 --> 00:16:02,759 this inside my bag it's going to be 347 00:16:00,680 --> 00:16:04,160 different if I do it outside somewhere 348 00:16:02,759 --> 00:16:06,639 it's going to be different in every 349 00:16:04,160 --> 00:16:08,839 single place so I'm just going to run 350 00:16:06,639 --> 00:16:11,160 every single color and I'm going to 351 00:16:08,839 --> 00:16:12,839 register what the response is what's 352 00:16:11,160 --> 00:16:15,839 happening with the those different 353 00:16:12,839 --> 00:16:18,279 frequencies of light um and that's going 354 00:16:15,839 --> 00:16:21,880 to calibrate the system so it knows what 355 00:16:18,279 --> 00:16:24,759 is what and after that I'm going to do 356 00:16:21,880 --> 00:16:28,720 something where I send a couple bits at 357 00:16:24,759 --> 00:16:32,839 a time um so instead of the example that 358 00:16:28,720 --> 00:16:35,839 we had with like four bits uh like a a 8 359 00:16:32,839 --> 00:16:38,079 bit number from like the p in Pyon being 360 00:16:35,839 --> 00:16:39,880 split into four bit numbers and then 361 00:16:38,079 --> 00:16:42,600 that being translated into two sine 362 00:16:39,880 --> 00:16:45,079 waves what I'm going to do is just use a 363 00:16:42,600 --> 00:16:47,079 two bit number and then one bit goes 364 00:16:45,079 --> 00:16:48,920 into each one of the axes which means 365 00:16:47,079 --> 00:16:51,319 that it can be either one side or the 366 00:16:48,920 --> 00:16:53,040 other side same for the other axis one 367 00:16:51,319 --> 00:16:55,279 side or the other side that leaves us 368 00:16:53,040 --> 00:16:57,199 with basically four different points uh 369 00:16:55,279 --> 00:16:59,920 so it's just a two bit number that's 370 00:16:57,199 --> 00:17:01,880 being transferred uh um let's see what 371 00:16:59,920 --> 00:17:05,319 it looks 372 00:17:01,880 --> 00:17:09,000 like all right that's the 373 00:17:05,319 --> 00:17:11,160 calibration and now it's sending stuff 374 00:17:09,000 --> 00:17:13,480 and then I wrote a quick program to 375 00:17:11,160 --> 00:17:17,959 actually visualize what's happening 376 00:17:13,480 --> 00:17:22,039 there in a nice way and hopefully this 377 00:17:17,959 --> 00:17:24,000 works all right so what we should be see 378 00:17:22,039 --> 00:17:26,640 what we should be seeing here is 379 00:17:24,000 --> 00:17:29,080 basically each one of the four different 380 00:17:26,640 --> 00:17:34,240 configurations so basically each one of 381 00:17:29,080 --> 00:17:39,160 the four different edges of a square um 382 00:17:34,240 --> 00:17:41,440 being read by the the uh ldrs in here 383 00:17:39,160 --> 00:17:43,799 and that's going to be one of uh each 384 00:17:41,440 --> 00:17:46,240 one of the four corners you can see 385 00:17:43,799 --> 00:17:49,400 there is a lot of variation it's flowing 386 00:17:46,240 --> 00:17:54,240 around a lot but it does follow corner 387 00:17:49,400 --> 00:17:57,280 to corner to corner to corner so this 388 00:17:54,240 --> 00:18:00,200 what you seeing here at the bottom is 389 00:17:57,280 --> 00:18:03,039 what Wi-Fi would would look like if you 390 00:18:00,200 --> 00:18:03,039 could actually see 391 00:18:09,679 --> 00:18:16,520 it and 392 00:18:12,440 --> 00:18:19,360 then back to the 393 00:18:16,520 --> 00:18:21,240 slides all right there are a couple 394 00:18:19,360 --> 00:18:24,240 things that I sort of glossed over in 395 00:18:21,240 --> 00:18:25,960 this they're a bit more complicated um 396 00:18:24,240 --> 00:18:27,840 and two that didn't make it they're are 397 00:18:25,960 --> 00:18:31,520 particularly important in actually 398 00:18:27,840 --> 00:18:34,120 making Wi-Fi work work is or ofdm and 399 00:18:31,520 --> 00:18:37,000 interference ofdm is just a way of 400 00:18:34,120 --> 00:18:39,000 instead of having this let's say two 401 00:18:37,000 --> 00:18:42,480 bits of information being transferred at 402 00:18:39,000 --> 00:18:44,840 time you have multiple channels of those 403 00:18:42,480 --> 00:18:47,480 happening at the same time so you could 404 00:18:44,840 --> 00:18:49,880 have eight different channels each one 405 00:18:47,480 --> 00:18:51,919 two bits across all of them being sent 406 00:18:49,880 --> 00:18:53,960 at the same time and the way that that's 407 00:18:51,919 --> 00:18:56,080 being done is by separating out 408 00:18:53,960 --> 00:18:58,600 different frequencies of light and 409 00:18:56,080 --> 00:19:01,960 creating different channels from those 410 00:18:58,600 --> 00:19:03,960 uh um the end result of that is that 411 00:19:01,960 --> 00:19:06,159 everything basically looks like a 412 00:19:03,960 --> 00:19:07,880 buzzing Mass because there's just like 413 00:19:06,159 --> 00:19:11,080 so much information being transferred 414 00:19:07,880 --> 00:19:14,360 across such a large range of different 415 00:19:11,080 --> 00:19:16,559 uh waves of light um but it's the main 416 00:19:14,360 --> 00:19:19,120 reason that Wi-Fi works so well and you 417 00:19:16,559 --> 00:19:21,559 can get so much data through um the 418 00:19:19,120 --> 00:19:24,080 second thing that's pretty important is 419 00:19:21,559 --> 00:19:27,559 interference um there is a lot in there 420 00:19:24,080 --> 00:19:29,440 I cannot go into detail into any depth 421 00:19:27,559 --> 00:19:31,679 um but 422 00:19:29,440 --> 00:19:34,520 basically the thing is there is not a 423 00:19:31,679 --> 00:19:36,080 single uh just a single Wi-Fi device in 424 00:19:34,520 --> 00:19:37,679 here for example or a single radio 425 00:19:36,080 --> 00:19:39,280 device there multiple different devices 426 00:19:37,679 --> 00:19:42,039 with multiple different protocols for 427 00:19:39,280 --> 00:19:43,919 example Wi-Fi and Bluetooth live with 428 00:19:42,039 --> 00:19:46,440 each other and they use the same 429 00:19:43,919 --> 00:19:48,440 frequencies um so all of this stuff you 430 00:19:46,440 --> 00:19:51,039 need to come up with ways of making sure 431 00:19:48,440 --> 00:19:53,360 people are not talking over each other 432 00:19:51,039 --> 00:19:57,400 um 433 00:19:53,360 --> 00:20:00,159 and still you get uh uh data 434 00:19:57,400 --> 00:20:02,320 through and other than that there is a 435 00:20:00,159 --> 00:20:05,840 million other things they are also 436 00:20:02,320 --> 00:20:09,320 important in Wi-Fi uh from understanding 437 00:20:05,840 --> 00:20:12,880 uh how the chips are made and all the uh 438 00:20:09,320 --> 00:20:16,840 analog uh Magic that goes into making uh 439 00:20:12,880 --> 00:20:19,840 RF chips uh and a bunch of other things 440 00:20:16,840 --> 00:20:22,200 and that's it um I'll take some 441 00:20:19,840 --> 00:20:24,159 questions 442 00:20:22,200 --> 00:20:28,440 now all 443 00:20:24,159 --> 00:20:28,440 right than fipe 444 00:20:29,400 --> 00:20:34,600 all right yeah we have heaps of time for 445 00:20:30,919 --> 00:20:36,840 questions um so please put your hands 446 00:20:34,600 --> 00:20:39,960 up preferably up the back so I get to 447 00:20:36,840 --> 00:20:39,960 like walk closer to the fresh 448 00:20:41,520 --> 00:20:47,960 air um H how is our signal attenuation 449 00:20:45,559 --> 00:20:51,080 like calibrated for in the real world 450 00:20:47,960 --> 00:20:54,640 because um when like things move like 451 00:20:51,080 --> 00:20:56,880 the um like the amplitude changes right 452 00:20:54,640 --> 00:20:59,039 yep so remember that thing that I talked 453 00:20:56,880 --> 00:21:00,720 about just now called fdm that allows 454 00:20:59,039 --> 00:21:03,480 you to send multiple different signals 455 00:21:00,720 --> 00:21:05,520 at the same time what you can do is send 456 00:21:03,480 --> 00:21:08,039 known signals so you're sending multiple 457 00:21:05,520 --> 00:21:09,600 signals at the same time right so one of 458 00:21:08,039 --> 00:21:11,720 these signals or multiple of these 459 00:21:09,600 --> 00:21:13,799 signals can be something that you know 460 00:21:11,720 --> 00:21:15,880 what's in there already it's not data 461 00:21:13,799 --> 00:21:18,080 just for example just a sine wave in the 462 00:21:15,880 --> 00:21:21,080 known frequency just something that you 463 00:21:18,080 --> 00:21:23,640 know um and then when you're reading 464 00:21:21,080 --> 00:21:25,240 that information you can basically know 465 00:21:23,640 --> 00:21:27,080 what the information should be in those 466 00:21:25,240 --> 00:21:28,600 places and when when you read that and 467 00:21:27,080 --> 00:21:30,080 it's different you can basically 468 00:21:28,600 --> 00:21:32,039 computer okay what happened to that 469 00:21:30,080 --> 00:21:34,600 information so it's coming out different 470 00:21:32,039 --> 00:21:36,960 now right so you can know both like in 471 00:21:34,600 --> 00:21:38,960 terms of oh the signal is being Reduce 472 00:21:36,960 --> 00:21:42,120 by attenuation or like there's some 473 00:21:38,960 --> 00:21:44,960 weird effects that can also happen where 474 00:21:42,120 --> 00:21:47,600 uh signals at different frequencies are 475 00:21:44,960 --> 00:21:49,640 being uh attenuated at different levels 476 00:21:47,600 --> 00:21:52,760 and then that sort of like creates a 477 00:21:49,640 --> 00:21:56,440 squished signal or a smoosh signal right 478 00:21:52,760 --> 00:21:58,840 and you can create multiple of those uh 479 00:21:56,440 --> 00:22:01,000 they are called traveling Pilots um 480 00:21:58,840 --> 00:22:02,679 multiple of those at multiple different 481 00:22:01,000 --> 00:22:05,000 frequencies and then you can basically 482 00:22:02,679 --> 00:22:06,880 understand how the shape of your signal 483 00:22:05,000 --> 00:22:07,720 changed when it was transmitted across 484 00:22:06,880 --> 00:22:10,919 the 485 00:22:07,720 --> 00:22:10,919 medium thank 486 00:22:11,919 --> 00:22:15,080 you up 487 00:22:16,480 --> 00:22:21,240 the something I don't understand about 488 00:22:18,760 --> 00:22:23,440 qim is how do you um how do you 489 00:22:21,240 --> 00:22:25,080 determine if a sine wave is the sign or 490 00:22:23,440 --> 00:22:27,559 the cosine how do you how do you lock 491 00:22:25,080 --> 00:22:29,279 that phase to begin with so you mean 492 00:22:27,559 --> 00:22:32,200 like when you're doing the the reading 493 00:22:29,279 --> 00:22:35,279 of the signal yes right so the way it 494 00:22:32,200 --> 00:22:37,520 works is a bit interesting it's based on 495 00:22:35,279 --> 00:22:39,320 sort of like all the if if you want to 496 00:22:37,520 --> 00:22:41,679 look into the math later like you look 497 00:22:39,320 --> 00:22:43,400 into convolution and that kind of thing 498 00:22:41,679 --> 00:22:46,840 um but the basic idea is just you have 499 00:22:43,400 --> 00:22:48,200 your signal uh you do like let's go back 500 00:22:46,840 --> 00:22:50,640 from the beginning actually so you have 501 00:22:48,200 --> 00:22:53,200 the the two different sides you multiply 502 00:22:50,640 --> 00:22:54,840 one by uh cosine the other one by a sign 503 00:22:53,200 --> 00:22:56,279 you sum them together you get some 504 00:22:54,840 --> 00:22:57,600 signal right now you want to you want to 505 00:22:56,279 --> 00:22:59,760 know what was in there in the first 506 00:22:57,600 --> 00:23:02,080 place the way that you do it is very 507 00:22:59,760 --> 00:23:04,520 simple is you get that signal and you 508 00:23:02,080 --> 00:23:07,159 just multiply Again by a cosine and the 509 00:23:04,520 --> 00:23:09,159 other one by a sign and that's going to 510 00:23:07,159 --> 00:23:11,520 give you an approximation of what the 511 00:23:09,159 --> 00:23:13,640 original values are but it's not going 512 00:23:11,520 --> 00:23:15,279 to be perfect you're going to get like 513 00:23:13,640 --> 00:23:17,559 it's going to be basically if it was a 514 00:23:15,279 --> 00:23:20,320 one there before it's going to be like a 515 00:23:17,559 --> 00:23:21,880 waving one essentially and then you pass 516 00:23:20,320 --> 00:23:25,480 that through some filters you get the 517 00:23:21,880 --> 00:23:26,799 one back um but yeah if you want to look 518 00:23:25,480 --> 00:23:30,400 into the math later look into 519 00:23:26,799 --> 00:23:32,600 convolution and that kind of thing 520 00:23:30,400 --> 00:23:32,600 all 521 00:23:35,080 --> 00:23:39,720 right uh just a bit curious is this by 522 00:23:37,720 --> 00:23:42,360 any chance related to the fast forear 523 00:23:39,720 --> 00:23:44,520 transformation because it seems 524 00:23:42,360 --> 00:23:48,640 similar it is in multiple ways 525 00:23:44,520 --> 00:23:51,799 especially the thing about ofdm um so 526 00:23:48,640 --> 00:23:56,559 fundamentally the way that ofdm works is 527 00:23:51,799 --> 00:23:59,480 it's actually a fre trans form right so 528 00:23:56,559 --> 00:24:03,240 um yes very much related and if you are 529 00:23:59,480 --> 00:24:05,960 getting to fdm it's just a fast free a 530 00:24:03,240 --> 00:24:05,960 transform 531 00:24:09,039 --> 00:24:14,039 yeah with that synchronization thing 532 00:24:11,480 --> 00:24:16,919 again like so what if you sampled it at 533 00:24:14,039 --> 00:24:18,240 like a 90° phase difference again so 534 00:24:16,919 --> 00:24:20,559 then you'd have like the cosine when you 535 00:24:18,240 --> 00:24:23,120 multiply it by a sign it would look like 536 00:24:20,559 --> 00:24:24,600 a cosine right mhm so how do you 537 00:24:23,120 --> 00:24:26,080 differentiate between both of them then 538 00:24:24,600 --> 00:24:28,559 if you sample it like 90° phase 539 00:24:26,080 --> 00:24:31,640 difference yep so that because of that 540 00:24:28,559 --> 00:24:34,000 is very important to have 541 00:24:31,640 --> 00:24:35,960 um there's something called cohes 542 00:24:34,000 --> 00:24:37,840 coherence and it's very important to 543 00:24:35,960 --> 00:24:40,559 have synchronized signals when you're 544 00:24:37,840 --> 00:24:44,200 dealing with Wi-Fi or any kind of radio 545 00:24:40,559 --> 00:24:45,600 signal that actually uses this stuff um 546 00:24:44,200 --> 00:24:47,840 there are multiple ways that you can 547 00:24:45,600 --> 00:24:49,360 deal with it but basically what you do 548 00:24:47,840 --> 00:24:51,440 is start if you phase lock the two 549 00:24:49,360 --> 00:24:53,960 systems so you are always like you never 550 00:24:51,440 --> 00:24:55,480 you can never like do the decoding at a 551 00:24:53,960 --> 00:24:57,520 90° angle otherwise you get the 552 00:24:55,480 --> 00:24:59,039 incorrect information so before you send 553 00:24:57,520 --> 00:25:00,440 an information you need to make sure 554 00:24:59,039 --> 00:25:02,480 like either you have very accurate 555 00:25:00,440 --> 00:25:05,600 clocks on board of both systems or you 556 00:25:02,480 --> 00:25:08,159 send some form of like U pilot signal 557 00:25:05,600 --> 00:25:10,600 that allows you to initialize a specific 558 00:25:08,159 --> 00:25:13,600 instant in time and then do like the UR 559 00:25:10,600 --> 00:25:15,840 decoding synchronized way but that's one 560 00:25:13,600 --> 00:25:19,480 of the main drawbacks of like any kind 561 00:25:15,840 --> 00:25:19,480 of system that uses this kind of 562 00:25:20,360 --> 00:25:29,279 thing do we have any more um 563 00:25:25,080 --> 00:25:31,840 questions oh oh hey 564 00:25:29,279 --> 00:25:33,159 are there Wi-Fi systems C say that use 565 00:25:31,840 --> 00:25:34,200 visible light because I've heard of 566 00:25:33,159 --> 00:25:37,080 thing called 567 00:25:34,200 --> 00:25:39,120 lifi which kind of Lights the room while 568 00:25:37,080 --> 00:25:41,880 it's doing the Wi-Fi thing is that can 569 00:25:39,120 --> 00:25:45,399 you talk about that not not like actual 570 00:25:41,880 --> 00:25:47,240 Wi-Fi um there are sort of like um and 571 00:25:45,399 --> 00:25:49,320 by actual Wi-Fi I mean not something 572 00:25:47,240 --> 00:25:51,840 that why was like written in the 573 00:25:49,320 --> 00:25:53,440 standard but if you look into research 574 00:25:51,840 --> 00:25:56,840 papers there are people doing for 575 00:25:53,440 --> 00:25:59,600 example um headlights on cars and doing 576 00:25:56,840 --> 00:26:01,039 actual like Wi-Fi Pro call communication 577 00:25:59,600 --> 00:26:03,520 using those 578 00:26:01,039 --> 00:26:05,360 headlights um and a bunch of other 579 00:26:03,520 --> 00:26:08,320 things like for maritime signals but 580 00:26:05,360 --> 00:26:09,799 there is no like broad application Wi-Fi 581 00:26:08,320 --> 00:26:12,799 like visible light 582 00:26:09,799 --> 00:26:12,799 communication 583 00:26:14,559 --> 00:26:21,520 okay how bright would my Wi-Fi antenna 584 00:26:17,399 --> 00:26:21,520 be if it was a 500 anomet 585 00:26:21,960 --> 00:26:29,679 LED well um the usual power on Wi-Fi 586 00:26:25,720 --> 00:26:33,640 systems rang from like 20 dbm to 30 587 00:26:29,679 --> 00:26:35,360 dbm um so that's like at most one watt 588 00:26:33,640 --> 00:26:40,440 I'm not exactly sure how bright that 589 00:26:35,360 --> 00:26:40,440 looks but yeah it would be a one watt uh 590 00:26:40,679 --> 00:26:47,640 LED all right do we have any more 591 00:26:44,240 --> 00:26:47,640 questions oh 592 00:26:48,039 --> 00:26:54,360 hey so the choice of frequencies in 593 00:26:51,320 --> 00:26:56,039 practice we have the 2.4 and 5 GHz 594 00:26:54,360 --> 00:26:58,559 except except that these are the fre 595 00:26:56,039 --> 00:27:01,159 range uh bands is there any other 596 00:26:58,559 --> 00:27:04,039 reasons be reason behind the different 597 00:27:01,159 --> 00:27:06,200 frequencies um there are two main 598 00:27:04,039 --> 00:27:10,080 reasons possibly a few others but the 599 00:27:06,200 --> 00:27:13,640 two most important ones is first this 600 00:27:10,080 --> 00:27:16,039 ofdm thing basically makes you use a 601 00:27:13,640 --> 00:27:17,480 bunch of different frequencies right so 602 00:27:16,039 --> 00:27:20,000 the more frequencies that you want to 603 00:27:17,480 --> 00:27:22,320 use the more frequencies you need to be 604 00:27:20,000 --> 00:27:26,039 to have available so if you're using 605 00:27:22,320 --> 00:27:28,200 like one Hertz you cannot go like below 606 00:27:26,039 --> 00:27:30,000 zero Hertz right so you're spaced to one 607 00:27:28,200 --> 00:27:32,760 side is basically between 0 Herz and 1 608 00:27:30,000 --> 00:27:37,760 Hertz if you're using 2.4 gz you can use 609 00:27:32,760 --> 00:27:39,960 anything from 0 to 2.4 to over 2.4 right 610 00:27:37,760 --> 00:27:42,240 so one the first reason is just if you 611 00:27:39,960 --> 00:27:44,760 want to have more of those waves at the 612 00:27:42,240 --> 00:27:47,000 same time usually you need a higher 613 00:27:44,760 --> 00:27:49,919 frequency so you can have a higher what 614 00:27:47,000 --> 00:27:52,240 we call bandwidth um so for example in 615 00:27:49,919 --> 00:27:55,360 2.4 it's goingon to have like 40 616 00:27:52,240 --> 00:27:57,440 megahertz and 80 megahertz systems if 617 00:27:55,360 --> 00:27:58,760 you go much further up you get bigger 618 00:27:57,440 --> 00:28:00,279 channels 619 00:27:58,760 --> 00:28:02,840 uh and with those bigger channels you 620 00:28:00,279 --> 00:28:05,760 can get like wider and more information 621 00:28:02,840 --> 00:28:07,480 at the same time that's one second thing 622 00:28:05,760 --> 00:28:10,679 that you have different things is for 623 00:28:07,480 --> 00:28:13,000 example you have a 5G uh wi-fi system 624 00:28:10,679 --> 00:28:15,039 right if you put it in this room and you 625 00:28:13,000 --> 00:28:16,559 go into the Next Room your signal is 626 00:28:15,039 --> 00:28:19,880 actually going to be much lower than if 627 00:28:16,559 --> 00:28:21,279 you had a 2.4 uh gahz Wi-Fi because the 628 00:28:19,880 --> 00:28:23,399 higher the frequency the more it gets 629 00:28:21,279 --> 00:28:24,720 reflected by stuff and everything else 630 00:28:23,399 --> 00:28:26,200 so yeah those are the two main reasons 631 00:28:24,720 --> 00:28:27,519 you have like different frequencies one 632 00:28:26,200 --> 00:28:30,120 is like sometimes you want the higher 633 00:28:27,519 --> 00:28:32,120 penetration you cannot get like the the 634 00:28:30,120 --> 00:28:33,840 higher bandwidth but sometimes you do 635 00:28:32,120 --> 00:28:36,799 want the higher bandwidth and you lose a 636 00:28:33,840 --> 00:28:39,600 bit of pentation so it's a bit of 637 00:28:36,799 --> 00:28:41,799 a balancing 638 00:28:39,600 --> 00:28:43,960 game all right do we have time for one 639 00:28:41,799 --> 00:28:46,960 more 640 00:28:43,960 --> 00:28:48,960 question no if anyone here is feeling a 641 00:28:46,960 --> 00:28:50,440 little bit lost be reassured this was 642 00:28:48,960 --> 00:28:52,880 just a fourth year engineering 643 00:28:50,440 --> 00:28:56,279 telecommunications 644 00:28:52,880 --> 00:28:57,640 subject so so it's okay it's also the 645 00:28:56,279 --> 00:29:02,440 middle of the afternoon and we're about 646 00:28:57,640 --> 00:29:05,120 to go into a break and then into um 647 00:29:02,440 --> 00:29:06,840 lightning talks this afternoon so uh 648 00:29:05,120 --> 00:29:08,960 please join me 649 00:29:06,840 --> 00:29:10,380 with please join with me in thanking 650 00:29:08,960 --> 00:29:15,229 Filipe 651 00:29:10,380 --> 00:29:15,229 [Applause]