In this lecture, we are going to see some more protocols, this is between different from the very price, this is for interconnecting different models with a controller on the onsite ok. So, you will see in any embedded system an I square C and spy protocol be used there at a bus. So, let us have a brief introduction about this and then of course, this is universal synchronous asynchronous receiver transmitter, this is a serial controller serial code controller then and then we will see the general purpose IO as the to complete our discussion on peripherals ok. This we have covered a few portions of peripherals we saw in the last lecture and then this is the continuation of that and with this we will be completing the both the categories of peripherals and interfaces that that will be used in an ARM SOC ok. It will be used for any any any other source to we have particular about what is being used in the process of the ARM SOC ok. So, what is I square C? It is a integrated circuit bus. So, you can see that it is using two ICs between two ICs when you it is not like a bus within the SOC ok. Then it is it is AHB is an example where different modules in the SOC get connected to the bus as the name implies inter integrated that is between two ICs physically there are two ICs in the system and then it is connected through an I square C bus ok. So, there will be some things here there will be some things here and then they they are connected through an I square C. So, there are physical cables a number of lines in the cable and then what is the kind of protocol that needs to be run on both the side of the ICs ok. What kind of signals need to be sent over this line? What is the amplitude and what is the frequency ok and then what is the format? Now, if it is a packet what is the data format where is the how suppose an I square C bus could be used to connect multiple ICs. So, we may have to address one of the ICs in the bus. So, that one of them is called as this kind of various things come similar to may be you know in the particular network scenarios where we have LAN cables and then some system coming and then we have no other computers in another network. So, these connect multiple computers and switches using these multiple computers are connected to an IC. So, what we are seeing is a I square C is a multiple ICs in a PCB or may be multiple PCB you know with the very short distances they are connected multiple ICs in a PCB or multiple PCB they are connected and they also form a kind of you know multiple devices can be there on the strip on the bus and then they communicate with each other. So, it is like since these two address of the thing you know one can transmit and other can receive and similarly the other and other device can transmit the other you know two end points are there. So, you know E 1 end point E 1 and E 2 E 1 can you know transmit something in which E 2 will accept and E 2 will transmit and E 1 will accept. So, this is the kind of communication that we are going to talk when we talk about I square C this is what we mean. So, an inter IT bus is often used to communicate across circuit boards it is a simple low bandwidth short distance protocol. It provides good support for communication with various low on board peripheral devices that are accessed intermittently. So, the I square C bus is not kind of a like an inter IT bus where the communication happens continuously. This is very very you know slow devices. So, once in a while they communicate. So, this is meant for a low bandwidth low the data rate is low as well as the frequency of communication is low as well as the amount of data communication communicated over this bus is also less. Most available I square C devices are made at peak of 400 kms. So, this is not lower than the mdts and dbps bandwidth that they see in the bus. So, some venturing up will be low megahertz may be maximum is megahertz. So, I square C is a easy to use to link multiple devices together since it have built in addressing scheme ok. So, that device coming up ok it is like multiple computers are connected to LAN network. So, each computer with a network card in it or network port in it it will have its own MAC address as you all have to know if you connect MAC address it will need to a particular device which is in the LAN network or you can make ok. So, similar to the any device connected to I square C bus they have their own unique ID ok. That means, you can differentiate it is like a pattern way. So, any device can be connected to I square C and then they can still be there with those clashing with the addresses of other devices. See that is very important when we want multiple devices to co-resist in the bus because we want to uniquely address them. Any device wants to communicate with any other device in the network they need to have unique address on the network otherwise they will not be able to communicate correct. So, in I square C bus what happens is the devices will have its own unique built-in addressing scheme. So, if they will have their own addresses which can be used to differentiate between multiple devices in the bus. So, these are all multiple devices peripheral devices this is kind of a central microcontroller in our case it is on. So, there are only two line SBA and SBA let us see what it might be. It is a two wire serial bus it is a serial bus what is serial bus ok. So, when you have a data bus of new 8 bit wide bus B 0 to B 7 data goes. So, this is a parallel bus because all the particular talk the data on different buses with different lines physical lines constitute one data bus correct there is a parallel configuration parallel bus. So, whereas, in serial bus the data is flowed in terms of time one bit attack type. So, it goes in a sequence. So, you may consider you know you may say that at the physical level a 0 volt sorry 0 volt here and then maybe you know 5 volt here constitutes the 0 level and 1 or it could be that it is like this. So, it is plus 5 volts and minus 5 volts or minus 3 volts or whatever ok or minus 4 volts plus 12 volts. So, this kind of a voltage levels may be there, but it is in peak peak you know it is a serial device that means, what one bit at a time is then over time. So, if you want to send a 8 bit data you have to have 8 clock cycles ok. If I consider this one bit transfer rate as you know may be a tau it takes tau seconds per mille you know per date then it will take 8 tau for sending one that will be byte of data over the bus because it is sent over a serial bus ok. So, this is the kind of serial bus there are no multiple lines coming the data goes like this one after the other and the first one may be MSB or LSB based on the protocol it has to be interpreted according to the protocol. So, the two isochistic signals are serial data and serial clock. So, you can make out from the name itself one is the data bits are going and the other one is a two states when we have a data in a serial bus the problem is suppose you have a data like this this is 8 bit data, but this is the value. Now, what happens the serial bus will look like may be if I say minus is the minus 2 volts is this and then this this will change at all in the data for 4 clocks 4 clock cycles and then another 4 it remains as 1. Now, unless there is some sense of timing whether this is divided into 4 bits or it is divided into 8 bits the receiver will not be able to complain whether it is consecutive 4 zeros have come or consecutive 2 zeros have come because if it is dark late only this time may be 2 0. So, there should be a sense of clock clock needs to be there to stay whether how many bits there are to be you know what is the width of a particular transmission of a bit on the bus ok in terms of time. Then if it is longer for 4 you know suppose tau is a time then you know 4 into tau 4 of period it has been 0. So, it will be considered as 3 4 zeros have come and then 4 once have come. So, once complete data it has to be interrupted this way unless there is a sense of time it is impossible to find out what is going on the bus. So, somebody who is sampling the serial 4 the particular line the receiver needs to know what is the clock. So, that is why its clock is connected and data is also coming. So, data will be interpreted between the clock duration the middle portion number is a value where is 0 or 1 according to the level sampled may be it will sample not only 1 if 2 samples will take and then have a doubt and find out what is the value because due to noise fluctuation there may be some distance it needs to be taken care of and then finally, it decides that ok where it has 0 0 or 1. So, that is how the serial data is sampled and then dv. So, this is a suppose serial transmission of 8 bits by 8 bits of data are 7 bit device address can control. So, now since I told that multiple devices are connected and they each device has its own address assuming that there are 7 bit addresses ok then you can know that how many 128 devices can be and a 7 bit address is there we need address to each of them. In this case any data sent needs to be may be attended with a particular address. So, which is meant for which device and then the data comes calls because it is a serial device may be if it has to be time ok if I am drawing like this you know time 0 is here. So, first address comes and then may be data or I may have to draw it in a different way. So, in time wise this first address is given and then may be it depends on the protocol what is being followed normally a header will come first and then that it happens in any protocol and then control base know what to do with that particular data there anything has to be done along with the particular data there some more know information like start because of the two time protocol. So, the device that initiate the transaction on I said this is term that the master. So, please remember the communication can be this way or it could be this way. So, whoever is initiating the transfer that is for the master. So, they can communicate with each other right under us. So, the protocol should support that the master normally controls the clock signal. So, since master is generating the signal ok the sender has to control the clock signal because that sender only knows what is the data and how much of a broadway it is sending. So, it has to inform the play device also and then the clock rate will be clock also will be generated by the master and then master sends the data also. So, both should be in know should be synchronous. So, that the slave device whichever is receiving the data can amplify it according to the clock and whatever is the data at that moment 0 or 1 it will be interpreted ok. So, today is being addressed by the master it is part of this point. So, always the communicator there is a get start by master ok. If it is started by master then the value will be 1 or 0. So, if it is played and then know know it is like a read and write by master ok. Whether see it is always started by master and then says that whether it has to be a written or read. So, if it is reading that means the slave also send the data the master will read it ok. Otherwise master is writing then it is sending the data. So, this will be initiated by the master, but it will say that which slave device it is communicating with and then who is supposed to write. So, it could be a read access or a write address. The know the master is trying to access the slave either to write into it or read it only. So, it will be starting with this particular address which device it is trying to interact with and then whether it is a read or an a write. So, this will be and this is MSP. So, it is with the time MSP comes first ok with the time this data goes in the serial bus. So, whether this goes it goes in the SDA whatever serial data ok. So, SCL is a clock which is separately running know which is instance has with the particular bit must be with which the data is going and then this data may be sending sent by either a slave device or a master device depends on the data write was the form. But during the data transmission an act bit also sent by the receiver ok for every data ok. And then finally a stop is sent by master and then the communication stops. So, it could be like it can initiate one transfer and then multiple transfers can happen and then a stop happens. So, it could be for the multiple reads or multiple types between the master and state this is what happens ok. So, the master begins the communication by issuing the thought condition the 9 bit pattern is repeated is more best need to be calculated. So, this particular 9 bit ok 1, 2, 3, 4, 5, 6, 7, 8 data and then quantity ok. So, so first of all this technology is combined with this data because slave has to acknowledge that it has received this address and then I think we have to compute it like this. So, this constitutes the 9 bit. So, it is starting with this and then it acknowledges ok. A ok and then the next of the thing and then finally the stop bit is sent by the master to stop the communication. You know the number of bytes transferred is controlled by the master ok similar to any other bytes bus transfer. So, I stress the functioning and I stress the state can hold off the master in the middle of a transaction using what are clock searching. So, what happens is you know it is a device a slave device is low not able to consume at the far rate the master is pumping the data it can it can forcibly make the clock low. It does know when it is this acl or sda right this is the data bus and this is the data simple line and this is the clock the line it is connected to both the slave as well as the master ok. Both master and slave are connected to both of them both the lines ok maybe I will make it or. So, you see that the both lines are connected to both master and slave. So, master is driving the clock no problem let it drive it wants to, but when it is in the low if the slave holds it low for continuous for some more time the master even if it tries to drive it it will not be able to drive it to high because it is already pulling it to low clear it is all connected to the same line. So, this is the some kind of a communication that is the master saying that it is called you know flow control. So, to say that slow down your data ok I am not able to consume it in a way feed with which you are sending. So, it will do a clock searching to slow down the data transmitted over the. So, it will slow down until it is ready to continue ok. So, as you see protocol supports multiple master of course, the, but most system designers include only one master. So, normally there can be multiple master as I told you slaves can be many master can be one or more, but it says that a designer may decide to have only one master. Then the communication between any device between master and slave can happen and both can say you know read from or write from, but it is initiated always from master and the clock is also initiated from master ok, whoever is sending the data ok. So, there may be one or more slave on the bus. Both masters and slaves can receive and transmit data with each especially compatible hardware slave device comes with the predefined device as I told you any device connected to a bus can have a unique address, otherwise you will have to be able to communicate with the device. So, when it is manufactured then it comes to the unique address and then the lower which are which may be configured at the board level see what happens is may be I get an IP from one company they will have some slave device address, it is not like match where it can be unique 40 bit address is there and then we can read the case MAC address could be unique, but it may not be unique. So, what happens is at the board level, you know what we need is between the board or may be multiple boards if you are communicating with the devices which are there should be unique. We are not bothered if suppose another device in a different board has the same device ID as what is in this, because this is not going to be communicating with this device at any cost. So, no problem as long as the devices which are connected to the space to be I say bus in a single board or multiple boards which are connected to each other as long as they are having unique addresses we do not mind you know the same device addresses in the other board. So, that is why what is done is the higher bits are configured by their manufacturer may be and then the lower bits can be configured by the board developer. So, then you can get an unique address for each of the devices in a particular board. So, as this interface is a box interface such an interface between a microcontroller and the serial ICL bus. So, the interface is the you know between the arm ok arm SOC so, I said it is between the chips right the inter IC. So, that should be a controller within the chip it should be inside the chip and then it will drive on the bus ICL there is GA and SBL bit now pins will come out a CL and then they will be driven by the controller which will take care of which will understand the protocol. So, it could be called as a pipe physical level what it has to drive what moments of current and you know what are the addresses right. So, ICL three master features are clock generation. So, master has to generate the clock and start and stop generation because start signal and stop signal only indicates that the state that the data transmitted is number of bytes bytes transmitted how much has to be sent is controlled by the master. So, master sends the clock as well as the start signal and stop signal ok very simple handshake and easy to understand. So, slave features are programmable as per the address detection. So, when a particular master is driving the you know sending a particular device address the device should have slave device should be able to sample it and then find out whether it has been addressed. So, that detection address detection whether it is address which is coming on the bus is same as its own address that has to be that intelligence should be there and then that could be dual addressing capability that means the same device can have multiple same device addresses. So, if we behave like a mainly you know different functionalities each device address may be different. So, two slave addresses to the same particular device and then stop the detection it should direct the stop it. So, that know it it will know that the end transmission has happened in case know for even a by transfer or above transfer sorry above transfer. So, that is all now we say this really it is originally developed I say for communication between devices intelligent in that then example of simple I square decouple is called EEPROM thermal sensors and data block they are connected I square C EEPROM contains parameters needed to correctly configure a memory controller. So, memory controller is there ok memory controller and then it is connected through I square C EEPROM to EEPROM where you can put some information here which can be programmed also electronically from. So, based on data what is written into it on power on it can configure the memory controller. So, that how external memory devices can or you know internal M M you know memory main memory how these memories are to be configured that can be that parameters can be put in EEPROM because we need to store those values in the from permanent storage. So, it cannot be part of the memory just because we want to keep some configurable parameters we do not want to keep the whole memory or memory controller we cannot do that. So, we are providing a small EEPROM which will also be mapped on to some address ok it will be a it is it is not connected to ARM actually it is only on the I square C bus ok. So, if ARM wants to communicate it has communicate to the I square C bus ok because it has got only interface with the I square C. So, normally what happens is on power on this will come up and then it may configure the memory controller or it could be controlled by the program of the ARM and we can change the configuration also based on of the data. So, I square C is used for control processing devices that have separate applications to the data interfaces. So, we can have some interfaces to control processing devices the three devices that are for the devices which have a state C interface that can be connected. For instance this is commonly used in multiple applications where typical device include R of the video decoder mostly some audio or analog devices you know it is not a company name I am trying to any of the devices which you know with generation of signals you will say then they can be connected to the I square C bus ok. So, we saw one kind of a bus now let us see another standard bus that you may come across it is a serial peripheral interface it is called SPI let me give you some three instructions SPI allows ARM for full duplex synchronous serial communication signal device ARM for full duplex is what in a particular channel I consider it as a channel we have device one and device two in case of a half duplex what happens is only one communication is happening at a time but both it can be in both direction ok. So, half duplex is either at a particular time whether it will be D2 or be in a compartment at a point in time D2 will be communicated with a D1 but they cannot do it together that is for half duplex and full duplex means there is some other you know physical interface is available separate pins or separate lines so that this communication access this communication is possible simultaneously that is for full duplex and synchronous means it is the common clock is there and both the devices connected by a common clock so that they receive the data in synchronous with the sender ok so the interface can be configured as a master and in this case it provides the communication clock to the external so interface can be configured as a master then it is similar to what we call the SPI so master always drives the clock so it can be the interface is also capable of operating in multi master configuration in space C 8 or 16 the transfer frame format collection ok there we saw the 8 bit of data here 8 or 16 the transfer from the web for example data order MSB first or LSB so there we saw you know the order was fixed whereas here we we can decide to put MSB first or LSB ok in terms of time what is coming out of the first coming out part whether it is MSB coming out or LSB ok here LSB is coming out here may be you can say that MSB comes out in time 0 ok so that is programmable dedicated transmission reception flags with inter program so you can always say that on receiving one 8 bit data or 16 bit data inter the path so the controller can be programmed that way 1 by transmission and reception buffer with the DMA so it is a 1 by transfer either 8, 8 or 16 bit but the DMA capability is there that means you can transfer directly to memory from the device which is on the file device through DMA ok first signal master in play out data this thing can be used to transfer data in a play mode and receive data in a master mode so I said full input and half input then one may be sending and other way be receiving so same device can be sending in on one pin and then receiving on another pin that is going to fix mode so you can say that you know particular thing whether master is receiving or you know master in the play out this thing you can use to transfer data in play mode and receive data in a master mode ok it depends on the master when we derive in the block so the other person can other device will be accordingly looking at the data you know there are different pins available in the spiders in mode if I master out and slave in data this pin can be used to transfer data in a master mode and receive data in a slave mode so if if a device is in master and then this is play then which pin has to be used for a particular reception or so this is data is coming out ok coming in sorry master in this mi s open here it will be receiving the data ok and then it will be using mo f5 because it is sending the data here out ok so similarly on the slave side because this is a master so let me call it as a master so here slave device slave out so this will be connected to mi s o because this is the slave device this sending it out and then mo f5 will be receiving the slave in data so this is how the both are spiles compatible but the pins are connected like this so you will have communication that will be so clock will be driven by the master and input for it will be an input for slave play then this is an option to select a slave device so multiple again similarly to spy bus and xk3 multiple slave devices may be there and then you can select it to an nsf as to which slave device can be s1 is to slave device can be selected by the master to communicate let the spy master communicate with the slave induce union to over contents of the data so they can communicate over there so see here this is the clock driven by the master and then the bar actually decides the clock duty cycle what is the time we can see of this bar and then data coming in going out as to the parallel data parallel data is communicated you know translated into serial data it has to be transmitted okay ph buffer is a transferred buffer so it depends on so it is a master you know clock is going out so this is the master so master out is MOSI so this is the out so this transfer buffer comes here and then shifted out so if it is lsv first then lsv data goes out or it can consider msv goes out then so this data goes out similarly the data can also be received by this and then it will be coming in the receive buffer and then goes out it will be received by this state so there will be a logic here you know we will be considering using the memory map or may be you know it depends on how it is connected and then they will be configured using these registers what is the bar rate and whether it is input or output and then whether lsv first or msv first all these are all of different controls will be there it will be configured then the communication happens with all the devices and this is the send device select will be happy with me so let us about style interface now let us see what is the ESIR universal synchronous or single receiver it is also the flexible means of full duplicate data actually so u sort is always a full duplicate so there is a one pin txd rxd and then they will be communicating simultaneously you may have used serial port r232 in your earlier status so it communicates over a serial worker and then the ground will be there txd ok it will be connected to rxd and then if txd is connected to rxd so it is like a cross ok 7 and 2 and 3 so it is fine ground is required to know because this could be on a different voltage source and then this device could be on another voltage source so if they want to understand the signal which is being normally it is 7 and 12 or 15 so we need to have a common ground so there should be a ground connection also normally between them ok so it follows an industry standard no it is non returning to 0 that means the signal 0 or 1 is represented by minus value minus 12 volts and 12 volts is what is being normally followed ok so if the signal is never 0 even for a 0 communication suppose continuously if you are writing a 0 it will all be minus 12 volts so both the signal on the line will have some value ok it is not like you have 0 to 5 volts then if you are sending all 0 volts there will not be anything on the line voltage will be sensed on the line so you will not know whether all 0s are coming or neither nothing is granted so the receiver could get confused with the weight of voltage level on the bus so non return to 0 make sure that there is always some voltage level either positive or negative on the line so that the receiver could sense it and then find out whether if it is 0 it means nothing is connected if it is a plus 1 plus 12 it is a positive bits are being solved or if it is totally all negative this is it if it is a synchronous one-way communication and off-duplexing by communication transmitter clock output for synchronous transmission if you want a synchronous transmission it is asynchronous actually it can be asynchronous the transmission could be asynchronous or synchronous if you want a synchronous mode then there should be a process transmitter should also send a clock high speed data communication is possible by using a DNA so it is also DNA it can be in the case programmable data bits are 8 or 9 one way will stop it so what is the start and stop it you know so this is the time so this is the start bit normally it starts with some start bits and then data bits are different and then on stop it can be one or two bits bit so it can be configured you can see that for a 8 bit data 8 bit or 9 bit data this is one extra bit we are adding and then assuming that 2 bits are added as a stop bit then we are actually sending 11 bits for transmitting 8 bits of bits of data so this is the kind of over sketch value ok go ahead so we just separate enable bits for transmitter you can enable them separately you can enable only one of them you can detect receiver buffer tool see one byte is received then it will enter because it is currently at the serial data so it has to wait for complete byte to be received and it could be in terms of millisecond it may take millisecond of time but no processor is working and you know so it needs to wait for that particular 8 bytes one byte is received and then it will enter the processor to copy it from there so that next to the byte can be received from the serial code or a serial line so transfer buffer empty so what happens is processor writes the byte and then initiates the transmission and then it does not wait for the transmission to get over because it is sending it in serial code you know one by one one bit of time it will take a lot of time for that to be you know one byte of transfer data to be transmitted it will take millisecond by the time you know thousands of bytes of instructions can be executed by the processor so processor does not wait for transmission to complete transmission will be done and then once the all 8 are you know start and stop is everything you know 11 bits are sent then the user knows the character you know enters the processor so that next to byte can be written in the end of transmission flag so I know you can check this flag piracy control can be given no odd parity or even parity so what happens is if it is an odd parity suppose no you have 8 bit of data and then piracy which can be added to it so piracy can be odd bit option or even what happens is if suppose you are considering it for odd bit 8 bit of data 8 bit of data it could take any value 0 or 1 from some 8 bit data and then one more stock piracy bit is added to it suppose you use 8 bit data one more bit of piracy is added and if it is configured for odd bit odd number of ones are to be there suppose in the given data only 2 words you know rest of it is of 0 then it will put 1 here so that effectively the 9 bits are odd if you consider it for odd parity if it is for even parity it will be the reward so if it is only 2 1 it will put 0 as its parity or if it is the odd number of ones are there it will put a 1 more 1 so that it will be even so what happens is on the receiving side if the received piracy if it is set for odd parity suppose and then the receiver this is the receiver and this is the transmitter transmitter has taken care of sending 8 odd number of ones in the transmitted data into the data and piracy bit if on receiving side if it receives as an even number of ones that means there is an error that is one bit error has happened it can detect one bit error so it is a kind of an error detection mechanism it cannot hide the error because suppose one bit are changed from odd to even 1 to 0 or 0 to 1 you do not know which bit is corrected so it is not possible to correct this error which correction data correction is not possible but data error detection is possible because you will receive odd parity set so both transmitter and receiver should be aligned on it what parity is going to communicate with and then if it receives something different then you will know that there is an error so it is going to have a mark that tells you to send the data back so that kind of a parity checks can be done multi processor communication enter into new mode is address match is a multiple process is communicating over period mode then one of them should be in use because only one communication may happen here multiple transmission may not happen so all other devices can be new so that So, this is a very complex birth, you know the block diagram, I do not know where it will be to see it from forward distances. So, basically TX and Rx and then we have a transmitter power similar to what we saw in the spine. So, no shift register is there and then the bit has to be set out. Similarly, received data comes here and then it gets collected and then sent out data register ok. You have to wait for all the data to be received that before sending to the data register which will be you know on a APB bus ok. And then the bar rate you know what is the speed with which the bar rate needs to be aligned between the two devices ok. There is no clock between the in the arsenic mode. So, if there is in the absence of clock we have to have some means of pre you know before communicating it should be aligned ok. This is what is going to be my bar rate that means, is the receiver should interpret that 0 or 1 will take this amount of time in terms of second ok. So, whatever whatever means in terms of time how much is that you know bit bit. So, that it can wait for the clock to receive all the 8 bits or 9 bits of data which will be. So, that bar rate generation is one logic which is being actually done in this block.  So, that can be controlled using this. And then if it has to be a synchronous mode suppose you want to communicate through synchronous mode then the clock will be driven by this circuitry which is connected to the other end of the device. So, the sampling and then clock rate bar rate generation is here and then interrupt can be configured using these registers. So, you can say transmit enable receive enable and then know on complete a transmit buffer mp interrupt as we generated or not all these things can be done using this part of the certificate. So, this is an high level overview of what is inside a an user clock ok. Then the last topic general purpose IO. So, it is very simple DPO is a generic screen on an integrated certificate whose behavior including whether it is an input or output screen can be controlled by a user at a friend's hand. So, DPO screens have no special purpose defined and go unused by default. So, you what happens in normally in a a chip ok the DPO screens come out ok. So, it will be called as 0 to know P 0 4 to 0 to 4 0 bit 1 ok to 7 and then there will be another 4 P 1 ok sorry P 1 P 1 4. So, we will have 0 to P 1 7. So, different screens are coming out this is actually individually can be configured as an input or output. So, it can drive a signal or may be you can connect to this LED then we can blink this ok whereas, in the simulator there are some brackets examples you can type out. So, this kind of a different based on the requirement of a system these screens can be configured. So, maybe in a some particular system you need only to input process lots of input. So, all the things provided can be configured as an input, but there may be possibility that you have only you want to output to come out of the chip which needs to be controlled on a many external security and the rest of it as an input. So, anything can be considered. So, the DPO is meant for such a kind of a purpose. So, we do not want to know freeze the number of input ports and output ports in the IC manufacturing itself. It is left to the programmer to configure it that is the purpose of this general purpose IO. So, it does not associate it does not come with some associated signal or something it is just a pre port it can be configured as an input or output. It is helpful to have handful of additional digital control lines that can be configured as input or output having these available from the chip. So, having these available type of instructions. So, so having these available which it can save the hazard having to arrange additional security to provide them it is part of a chip it can be done in software. So, features DPO can be configured to be input or output I told you that it can be detected you know selectively enable or disable it could be input values are readable ok. You can impact in the true software you can read a particular value you know suppose you are configured as an input unless you are able to read whether 0 or 1 is there under particular input line then there is no point in configuration right. So, the input can be read whether 0 or 1 output values can be write a value you can write a particular 0 or 1 into a particular thing and it will be dialed out a signal. So, it is very very very acquired for any embedded application input values can often be used as an IOR maybe you know we can drive the IOR typically for wake up behavior. So, some GPOs have 5 OS tolerant input ok. So, some chips are you know low voltage we know they are operating at 2 volts the GPIO pin levels are high voltage. So, they are like a ADCI told you that different way V reference is there which is a total difference from the supply voltage via IP even the GPIOs also have separate voltage which is much more than what is the operating voltage of the IP. So, this is a very helpful for a embedded applications where you want to interface this with some other device. So, use case scenarios to detect button cluster on the test system to receive interface from external devices or it could be this all if you are if you want to receive some interface if you want to send out some output it can be to build a LED or even buzzer how do you sound a buzzer because if you can change the frequency of this particular pulses going out on a film though you can only send 0 or 1, but the processor is running at a much higher rate ok. Please remember that it is in megahertz or you have explained. So, you can actually consider this pulses going out. So, then you can connect to the buzzer and then you can create this buzzer sound you may be change the frequency of this to generate different sounds along or anything you can be you can generate using the just GPIO output. So, but just changing it 0 to 1 and then in a particular frequency which is audible in the course. So, control power for external devices you can even control the power you know in this the internal can connect to another red light or something which will you know operate and relay will operate and then it will be there and you can control the power given to the another devices. So, with this we have come to the end of this session ok. We have discussed a lot about different kind of protocols and the serial both device and a generic cross-sample purpose idea. So, having seen these devices and maybe having understood some high level features of them I think you will you are in a better position now to look at the manual of a particular source that you have ok. And what are the peripherals and what kind of communication happens now you will have better idea of what is being given in those kind of manual ok. My intent is to give you a overview so that you are comfortable reading those documents to know more output because these are all implemented all these are all implementation specific. No, I cannot say that in a particular register you know if you change this D 0 bit you know it will short transmitting you know it is depends on which tip you are looking at and what implementation with company it is from. So, it is all very implementation specific that is why I did not go in the details of you know registers and similar to what we went through in ARM instructions. But it is you know very much required that you understand the philosophy and how does it operate so that you will be able to appreciate when you come across devices in your design problems or when developing software was embedded system. So, hope this the discussion was very useful and I really enjoyed sharing this information with you wishing you all the very best and let us see in the next session to talk about different feature families and later families of ARM processors and what are the high level features that are supported in them ok. Thank you very much for your attention and your support and it has been a great wonderful time sharing it to you in the next class. Bye bye.


Wow Wow The precision I can't Put on see all that wait, my shirt's in the living room. Why don't you have it on? I'm trying to look worried if an event he has on pants Jordans. Where is your shirt? It is, t-shirt Let's get this party started. I didn't want to do this clip No, no, no, no. What's going on, Infinite Fam? Welcome back to another video. If you guys are new to the channel, make sure you guys hit that subscribe button, turn on your post notification bell, leave a positive comment down below for a chance to get a whap. If I chance to win a shout out in the next video. That is right now, you guys are probably saying, wow, this is really the pressing title and you guys are acting really, really happy. It's not what you think it is. My mom's going on vacation to say the least. But she's leaving us and she always leaves us when she goes on vacation and we miss her and we're bored. She's going to the same destination like every time. It's either Jamaica or Puerto Rico. She's been to Jamaica. I kid you not, maybe like six times within the past like three years. And Puerto Rico, how many times do you think she's been to Puerto Rico? Oh my goodness. I can't even keep count. It's a lot. That's all I have to say. They're going over there to handle some business, but we all know she gonna get turned over there. I know. We don't know how to get down, mom. Without us. Honestly. But yeah, right now we've got to go grab something and we'll see you guys there. You may be asking yourselves, why they're not at Chick-fil-A? Did Chick-fil-A blow up? Did they burn down? What happened? We're turning over a new leaf. That's how you say it, right? Yes. We are turning over a new leaf.  It won't be the first time he says something to put on camera.  You're not lying. So yeah, we're turning over a new leaf. We're at Panera, brother. We're trying to eat slightly healthier. Okay. It's hard eating healthy as it is. Very hard. Especially if you live in an area like us where there's nothing but getty everywhere, which means like crappy food. Yes. Like junk food. I'm also a changed man. All right. Okay. So my calorie intake has to be 1800 a day. I'm trying to lose a pound and a half a week.  Listen, you got to start somewhere. Okay. So rather this than Chick-fil-A. And I don't have to explain myself to you. And I'm trying to keep it as healthy as possible. So I got a Caesar salad and soup. It's only like 200 or something calories. So it's not too bad. How are you going to live off that? What do you mean? How are you going to survive? I'll be fine. I always eat soup and salad. That's just leaves. Okay. That's just bread. I have a bread roll here. So I could dip it in my soup. You want to dip my bread roll? Why am I holding the bread roll? I think it's acceptable just to leave me as if I'm not your only son. You think it's all right to abandon your only kid? The boy buy. Go somewhere. You think it's all right to do that? Tell them 23, what does that matter? Exactly. All right, but you always told me I was going to be your first born, your baby boy, dah, dah, dah. You know, all that sappy stuff. You are my first born and you are my baby boy. Okay. And you're leaving me. And you're just leaving. Just like that. Exactly. You don't even care. Look at that.  She look at, look, she don't care. She don't care. I do care. While you're going to be over there having fun and all that, I'm going to be crying myself to sleep every night in depression. Really? Really. Really? I'm going to be going through it every single night. Yeah, what do mommy withdraws? Mommy withdraws.  What?  Underneath that tree, there's not one gift for me. You're so nosy. I'm starting to think I really don't matter. That's what I'm starting to think. I know you didn't go through those gifts. I can tell there's nine in there for me. I know you didn't go through those gifts. I should. Who? Who's Elias? The first one. First one is a different boy's name. Don't laugh with her. Don't laugh with her. My Christmas tree. You're replacing me. I am never replacing you. You're replacing me. No, that's all right. It's fine. I get it. I'm never doing that. No, I get it. I understand. I move out and this is what happens. I get it. I was supposed to live here until I was like 40. I get it. Well, you moved out. This is how I get treated.  Why are you taking me to my next trip? Who's taking you? You don't even get me a gift. You want me to take you somewhere? Yeah. I don't like neither of you. As long as I'm coming. Exactly. Hello. I don't like neither of y'all. I really don't. I have my suitcase ready. I'll just take it out, wash it and put it right back. Why you got two of them? Why you got two? How long are you staying? Well. How long are you staying? That is to be determined. What do you mean that it's to be determined? To be determined. You can't just be doing that. Oh, watch me. You have a dog to take care of.  That's your brother. You can take care of him. All right, and what about my sisters? They're covered. How? They're covered.  Look at this boy. Guys, should we take this dog home? Ma, are you still giving up the dog? Why? Are you still giving him up? Why? Because you said you wanted to. Isn't he so cute? Guys, should we take him home? Comment down below if you think Blooper needs a brother. Oh my God. Come here. Oh. Come here. He loves them, he loves guys. I'm just throwing out over the fact that you're leaving me. We're back to that. So you're just going to disregard what I said. Isn't he cute? I just don't matter anymore, right? Because the dog, you're trying to find it a home, right? You're trying to find him a home? Me, you're just leaving. You have a home. I guess, but you worry about the dog more than me. I'm not trying to find the dog a home. The dog has a home. Okay, well, you're trying to find him new parents. Like you guys. Okay, but you don't, you just leave me. You don't worry about finding me new parents. You better go figure out what that was. That's what you get for leaving. Whatever. King, you want to come home with us? He just loves me. You want to come home with us? Guys, we don't know what he's mixed with. He's like mixed with a lab and something else. You hear those chalice? So we just left my mom's house. I can't believe she's actually leaving for a vacation. I out there, her have a good time, right? Selfish, just selfish, so selfish. But anyway, and I'm joking for the ones that don't catch my soul, I'm joking. But yeah, we left, we're on our way back home. I have a serious question for you guys. You guys saw King, the big dog that we were just playing with before. Should we really take him in and keep him for ourselves? My mom really does want to find him a good home and she said honestly that we're probably the only people that she would give him up to. But I'm a little hesitant about it. I've never had two dogs at one time. We've had Bear for a little bit, but that was only for like a month or two. But my biggest issue is Blooper. Blooper is already five years old. He's accustomed to being the only dog in the house and I'm not gonna lie, he kind of runs the house. So I don't really know if he will be accepting to having another dog. Like it was a little rough with Bear. It was like, I don't know, they gave me anxiety. Yeah, it was really tough. Like I feel like having Bear and Blooper was a lot of just jealousy involved. Like Bear was very territorial over me and Blooper is very territorial over me.  So I feel like them fighting with each other just made me so nervous. And honestly, Bear is really, really jealous. And I'm kind of, it's just the way it is though, but I'm kind of upset. It took like a month for them to finally like accept each other. But that's usually how long it takes. But my biggest issue I feel is Blooper is five years old. King is five months old. So when Blooper in the future goes, I don't wanna talk about it because I'm gonna get sad. But with Blooper in the future goes, I don't want King to fall into a depression or something like that. And then he's all messed up because Blooper passed away or whatever the case is, then King is gonna be like, I'm alone. So that's like my biggest issue. The age difference, I don't know. Could you guys chime in and let me know if I'm just being too dramatic? I don't know what's the word I would use, but I'm very hesitant about it. My biggest worry with it is the size difference because King is huge and Blooper is so tiny. And like Blooper is very dainty and sensitive. So I would hate for him to get hurt. I feel like on camera, Blooper doesn't look as small as he really is. He's really, really small in person guys. Yeah, he's really small and King is very big. And he's also, I wouldn't say aggressive, but he's in his teething face, so he bites a lot.  So it's very scary. I feel as though if we do get a dog in the future, we would have to get a smaller dog. But I don't know, we just really wanna know your input because a lot of people have multiple dogs out there that are small and big. So we just want your advice on everything. Her thing is the size difference. Mine is the age difference because I'm thinking long term. But I don't know, guys chime in, let us know what you guys think down below. And we're actually gonna go see the little wow wow right now. Baby, I miss you baby. He gets so excited and he starts to choke. Oh, there he goes. Guys, for our friends, he's the same size as my bag. Oh, dude, no he's not. Yeah, he is. No, he's not. Almost the same size. No, he's not. Look at this, look. I'm saying my purse. Oh, I thought you meant the chips. The purse, yeah, give or take. So he is really tiny. Oh, yeah, mommy loves you, Shug. All right, guys, so as you guys can tell, obviously we're back home. We're gonna close out the video right here. I don't know why I'm so tired.  I don't know, I'm really tired. But we're gonna close it out here.  It is time for today's post notification shout out. Today's post notification shout out was out too. Mickey Johnson, thank you so much for your love and support. Isaiah and I love you. If you guys want a post notification shout out. I was like, oh, yeah, I did this one. All you guys gotta do is like, comment, share, and subscribe. Tell them, turn on your post notification bells and I'll see you in the next ever post in the video. Bro, he's like, stop touching me, you're irritating. I don't touch my paws. And we'll catch you guys in the next one. Later, ma'am. Close it out, close it out.


Everybody I'm evil rabbit. We are back here on Forza Horizon 4 in a basically street tuned E46 With a Y body, so we are here today just to have a little snow fun because the snow season is upon us now And we are on snow tires, so I'm not sure if I should be changing this off snow tires, but I Think no tires likely to be repeat You would think they wouldn't be It would be a good choice to have on the car in the snow, but It might be too grippy for what I want to do There is some guy in this car park up here, so we may go see if we what he's doing over there So winter season is upon us Here in Forza Horizon 4 it is nice to be back behind the wheel of the SimRig It's been a minute for sure and doing a lot of a torque drift and stuff like that I cut that too short Yeah, I don't know if us no tears is the right choice for me right now We are gonna go Check out this man's leaving every time I come into the parking lot when somebody's there they decide to leave it's sad because You know, I kind of just want to Rip my way into the parking lot and try and maybe get some random tandems But we are gonna rip ourselves in here. Like I said, we're just here having a little snow fun on the wheel and Just doing some Snow sliding, I think snow tires might be too grippy for what I'm trying to do So we probably should have put not snow tires on it because uh Yeah, it's actually a Really grippy surprisingly it's kind of hard to break traction Which is surprising with a brutal drive car in the snow Well, we are trying We probably should have kept our normal tires on it because They studded snows I thought would still give me enough slide but they seem to You seem to not give me enough slide so we're gonna switch those tires real quick. All right, so now we have Street tires on so the car should have a little bit more slide to it Yep, there we go That's a little bit more slide like I wanted So what I want to know is what is your guys's winter choice of car? because uh, I Know a lot of people are switching to All-wheel-drive cars and stuff like that because it is a winter season. What is your winter choice for a car now? Whether be drift car or normal driving car. I do prefer my 20 to be Subaru that I use In the snow season, but uh, I wanted to bring this pretty much stock It's about a little over 400 horsepower to get intake exhaust and some Injectors and stuff, but otherwise This car is just how Pretty much a stock car. It does have a rear diff and a Clutch as well as the wide body and drift suspension obviously So we are here today just to have some fun in the snow because it is a winter season now so there is a section that uh, my teammate urgent and good friend decided to show me last winter season and I tried it when it was summer season in the game, but I totally forgot to Bring it to channel, but it's this nice little like back roads section That is kind of fun to just uh slide around in And it kind of loops itself around so it's kind of cool So it's kind of a section that you would find in real life that you might be uh wanting to just Rip except for that snowplow don't hit that or you'll rip yourself Like if you found this road Like in real life You would probably send it In a real drive car if there was nobody around Or if it was just your friends to have a little fun on it See i'm actually surprised that it's Not sliding more than uh It is I thought it would be kind of uncontrollable But uh, I don't want to hit that car trying to do this, uh Legit style try not to wreck, but I thought it would slide more. That's a snowplow Don't hit the plow That plow uh kind of a oh, I guess let's let's go on the other side of the arrow So like I said, what is your favorite? snow uh Snow car to drive in the winter season on for the rising four if you play it if you guys Are catching the grimps The fact that I'm in it why about e26? Probably because you guys came to the store to show you know that I'm going to probably be building a replica of my uh crow e46 here in horizon four Don't hit the snowplow Try and drift around the snowplow Excuse me, and uh This is the start of it because the Y body is here as well as The rims are somewhere. I just got to find them but This is uh the start of it trying to just Have a little snow fun. That's a really long ebrake grab So like I said, this car doesn't slide as much as I thought it would so And I figured it might slide a lot more so we may switch up cars To have a little more snow fun, but this section is actually uh a lot of fun to drive Especially if you've got a friend and you uh Are throwing tandems. Oh, that's gonna hurt.  I do enjoy drifting in first person as well I don't do it as much on the streams or channel because it's not as uh What is that viewer, uh viewer friendly to see In first person that it is in third because you can see more In third person than you can at first so That's uh, I know a lot of people go. Why am I in third person on a wheel? That's why so we are in first person right now. I'm gonna try and uh Do some slides I'm actually surprised at how much it can rip This car actually has that man just went flying It's kind of weird because he's using paddles because his e46 is a Automatic e46 in the game Oops We just caught the snow berm I'm sure there's some other Fun snow roads that we could hit What was this what's this guy doing here? Just hanging out Luckily he's a ghost so we can't uh hurt me too bad Uh It was a big thing that happened horizon three A lot of people will be drifting and people just run in and just start ramming you I think we're gonna flip this back the other way and go the other way So I may bring out One of my other drift cars That has a little bit more power I feel will slide a little bit more than this one will Because this is just the the start of the e46 Because uh, we're gonna be doing a full e46 build on this so What other drift cars do I have that have a decent amount of power? Oh Old man drift car 616 horsepower old bmw I'll take it the fours edition bmw set with drift suspension and uh I believe a turbo and all that So this should be fun old m5 Yep, that has a lot more wheel spin Than that e46 does But we're just gonna kind of nonchalantly cruise this car and see if you can't have some fun with it Trying to think which way I want to go Strutting on some gold uh hre wheels Yeah, see this car has A lot more power A lot more slidiness and uh All I gotta do is really clutch kick it just to catch it out The snow is a lot of fun to drive as long as you don't get tagged by a snow plow I find the snow pretty fun to drive in the game. I did love blizzard mountainous horizon 3 And uh the fact that we get some season changing and try some fours definitely a lot of fun Trying mongees through these cars I Hit the brakes hope and I could kick that back with just the weight but I probably uh Should have pulled the hammering because I understeered a little bit Not only do I drift on torque drift I drift here too Obviously if you guys have been a member of this channel for a very long time You guys know this thing is a big part of this channel So I think we're gonna try and see what uh season events We have for this year this year this season I should say because I know there are seasonal events And I want to find out where they are I want to find out what everybody's doing Actually don't see Seasonal events Slightly confused Oh, there's one Uh, there's the another one That's actually right down the street from us So we're gonna drive our way down there see what seasonal events and what we can win I do have some wheel spins that I will probably be doing as well before we end the episode off here today Hope you guys are enjoying the week this friday. Thank gosh. It is the weekend It's going to be a lot of fun coming up here This weekend to have some friends coming over having a little get-together That dude just sailed I feel like he is uh trying to get the danger and I'm over here just plowing the streets With this uh m5 So I am very curious like I said in the beginning episode. What is your favorite winter car to drive? And uh, is it real or drive? Is it all the drive? What a drive train is it? I do love my 22b as well as my r34 um They are nice all the drive cars to drive In the snow But I do also enjoy uh some nice High-speed snow drifting and some nice snow drifting For sure So I'm very curious what cars that this uh championship is going to make us use in the snow You slide a lot in the snow I love the grip changes between each season so Clutch in there we go. Oh wrong button So let's see What we got for the seasonal event Uh, we can re-win Replacement it's highly skilled. We can win the Vox Carlton And then we can win an alien morph suit 90s collector All right, so we got 90s collection That's going to be uh interesting going to definitely want to do that for the Vox And then we have the other one which is down the way Which we will not look into right now. We look into that one for an episode because we are going to be on winter for a while Seasonal danger sign All right So it is kind of cool that they give us all this stuff So everybody's up there. I don't know what's going on. Oh fours is on just ended So I think we're going to pop our wheel spins real quick and uh see what we can get on our wheel spins and um Hopefully we can pull some good. We got nine plus regular and a super So we'll save the super for last I say nine plus we have 14 wheel spins so Definitely going to hopefully get some good stuff for the wheel spins I wanted that r33. I don't know why I wanted that r33, but I did And I think we'll take that low as I do see a fours edition car there. I feel like these wheel spins are kind of broken and I'll take 110 grand I'm up to 4.6 million. I know it's not a lot. There's some people that have a lot more than I do But it's good for me to have a good amount of money. I want The car underneath that I wanted the the one underneath that I don't really want the morgan I'm never going to use the morgan, but I think I might bring out the morgan and drift it in the snow We can do that But we always need, you know, some uh, some yellow pants Oh So many closing options in this game And floral shoes floral trainers. Yeah, because I'm going to rock some floral trainers If I got to change my outfit for the winter because I am just rocking a Keep calm a clutch kick wife beater Old school Porsche So wheel spins are kind of failing me today And we're not really getting anything good I would have taken that zr1, but no, I'll take you know money and stuff. I guess So we do have a jeep renegade It's kind of a cool grab. I guess I could drive that in the winter to some jeep stuff Go mountain climbing What do we got now? What are you? Oh 300 r2000 lotus That's a fun little car I'm excited actually to grab that one. I know it's kind of a normal car, but I'm kind of excited to get that one What do we got next camo pants? Yeah, I'm not gonna wear some camo car goes So we got four more wheel spins and then a super wheel spin left Hopefully we can get a good pull Legendary yellow bikers gloves. Well, I mean, I guess I wear them for like driving gloves in the game So I could switch them out between blue and yellow if I really want to 97 civic type r Hmm, I don't know if I'm ever gonna use a 97 civic type r. I might know somebody that'll want a 97 civic type r though But that right there the Malone shirt Water Malone shirt Oh boy Forza You give us more outfits and stuff, but you know, you haven't given us Anything really good in the wheel spins 35,000 We got one final wheel spin that one super wheel spin to end this episode off So hope you guys enjoyed this episode a little snow drifting a little fun in the snow season getting back to the full Full forza content all next week. So look forward for that as well as some live streams We did get another suv So we're gonna finish this off with a super And hopefully we'll get something good. I don't want to know the bmw. I already have them But I guess I could sell it if I get it And make some money back Jaguar f type and pen grand Not a very good pull At all So let's see We could probably pull out that little lotus Do some donuts real quick and uh That would pretty much be it because uh I don't feel like this is gonna drift very well Because it won't have an angle kit, but uh, we're gonna give it a shot So like I said, make sure you guys follow me on facebook twitch twitter and instagram all which found the description box below This is not a good car to be in the snow with Because it's all open nice and cold and it probably Oh, yeah, there's no No angle at all So I think that's gonna do it here for this episode here on forza horizon 4 Hope you guys come back next week for the full list of content Hopefully we'll be bringing game of drifts back to the channel here on forza horizon 4 The team so look forward to that coming to the channel if you guys remember game of drifts It was a lot of fun. Hopefully we'll be doing game of drift this week with the team or some of the team to Get game of drift back on the channel and then be bringing More games of drift with you guys as subscribers to the channel as well. At least now we get to drive on the lake Now that the lake is frozen we get to uh Do some uh Really awesome sliding And some really insane jay turns So as always I thank you guys for coming back. I like thank you guys for watching and appreciate all the support So until next time I'm evil rabbit. I'm out


In the previous lecture we have discussed in detail the aspects of orthogonal frequency division multiplexing. If you remember in orthogonal frequency division multiplexing the idea was to put your data in parallel narrow band frequency channels and in this way you are able to parallel parallelized transmission into several easy to equalize channels. In this lecture we are going to use GNU radio in order to come up with an FFT based implementation of the OFDM system. We will show that by parallelizing the channels in the frequency domain we are essentially getting rid of the effect of the inter-sample interference to a reasonable degree because you are splitting it into parallel channels but this inter-sample interference of course manifests in the frequency domain as different gains. We will do this with various PSK or QAM modulations and see how OFDM affects the receiver design. In our exploration of OFDM by first building a traditional system that does not use OFDM and then gradually add the OFDM related elements. So our first task will be as usual grab a random source and once we place the random source we will use QPSK therefore we will set the maximum to 4 and use the byte data type. Next we will grab a constellation object and encoder so controller for command f and type constellation and we will get the encoder also connect these up we will make the constellation my const and we will make this object use my const and we need a throttle controller for command f we'll say throttle we'll connect the throttle next let us also grab an RRC kind of pulse so that we can get the pulse shaping also so let's actually increase the sampling rate to let's say 192 0000 and let's limit our symbol rate to 8000 therefore we'll create another variable called SPS controller for command f we'll say variable we'll grab the SPS variable our SPS will be SAM rate double divide so that we get an integer 8000 next we will grab the RRC filter tabs controller for command f we'll say RRC so we have our RRC filter tabs here let's call these RRC underscore tabs and symbol rate is 8000 that gives us our RRC filter we'll then perform an interpolating FIR filter operation so we'll grab controller for command f say interpolating FIR filter and this interpolation is going to be SPS and the tabs are going to be RRC tabs this is what we have been doing so far a very traditional approach to generating the sampling signal we can view this on a QTGUI sync as well so controller for command f we'll say FREQ and we'll get the QTGUI frequency sync and we can connect it and if we view this you'll find that you're using the bandwidth between say minus 8 to minus 4 to 4 kilohertz rather if you want you can just perform an amount of averaging and if you perform the average you'll see that you're using somewhere between minus 4 to plus 4 of course there's a 1.3 factor because of the root trace cosine so it's going to be about minus 5 to 5 and this makes complete sense now our next task is going to be to view this in the context of the OFDM modulation to perform OFDM modulation what we will do is we will take this output of the encoder or from the throttle and we will then perform an inverse discrete Fourier transform as you've seen in the lecture the simplest way to implement OFDM is to take your symbols and to take an inverse DFT of those and then put them out in this exercise you will find use for some new elements of GNU radio let us first create a variable control f and say variable that defines the FFT size that we will use so I'll call it FFTSIZE this is because it'll be convenient to change later and we will set it to let's say 4 now we will then just disconnect this over here and we need to perform the DFT over here and then I find the in fact the inverse DFT and then pass it to this interpolating FIR filter to perform the DFT we have the FFT block controller for command F will say FFT you have this FFT block under the Fourier analysis heading now unfortunately this FFT block takes the takes vector input not stream input the reason for this is that FFT is essentially FFTs are essentially conducted on streams as opposed to just numbers so in other words you have to group these in blocks of FFT size pass it to the FFT block and then convert the output back to a stream and then view it in the frequency sync now this operation is going to require a bit of work because you cannot directly connect the throttle over here because a vector cannot be converted you know converted to a stream directly or a stream cannot be converted to a vector directly therefore let us first perform a stream to vector operation so I'll look for controller for command F I'll say S-T-R-E-M we'll say stream to vector if I say stream to vector and double click on the stream to vector and I say number of items as 4 and I connect this over here of course I must not just make the number of items for number of items should be 4 and the vector length to be 1 and then over here in the FFT block we need to make some changes the first thing is that the FFT size we will set to FFT S-I-Z-E then we want the inverse DFT so we will set this to reverse next by default the FFT block uses a black man Harris window that essentially alters the way you see the spectrum this is very useful when you perform spectral analysis but in this case we want to just view the spectrum directly so we will set this to just all once so we'll say square bracket 1 times FFT size that will give us an all ones of FFT size length shift essentially performs a rotation of the FFT so that it's easy to view we don't want any shift okay so now you can see that the connection is proper now after performing the inverse DFT we can connect this back over here using a vector to stream so you can have a vector to stream block and you connect the vector to stream block over here double click the vector to stream set the number of items as FFT size and your set now the stream to vector should not be for should be FFT size so that we can change it whole sale now if you execute the flow graph you get a similar spectrum which makes sense because you're essentially sending very similar data but it would be useful to see how our symbols appear or how the spectrum appears if we just switch on and switch off different parts of the frequency range to do this we have we can use multiple approaches I'm just going to use an approach wherein I'm going to demultiplex the stream and then multiplex it back to take only certain parts of the subcarriers let me explain what I'm going to do I'm first going to place for QT GUI ranges so controller for command F I'll say range and I'm going to switch on and switch off each of these FFT size each of these four streams so I'll double click this I'll call this S1 I'm going to set the default value to one start at zero stop at one step one so this is like an on-off switch I'm going to create four copies of this control C control V controls and control V again and control V again I'm going to call this S2 I'm going to call this S3 I'm going to call this S4 now I am going to first enable and disable these streams using these ranges so let's split this over here by deleting this and to control for command F will say stream demux a stream demux takes a stream and outputs them in parallel so that you can perform operations in parallel let's move this to make some space let's actually move this to the side we'll double click this stream demux we want FFT size number of outputs and the lengths are square bracket 1 times FFT size what this will do is this will take the stream and split it into four parallel elements now if I connect the output of my modulation here I now have the demuxed values I can then find a stream multiplexer by just searching for stream mux and just perform the inverse operation let's do a bit of neatness later let's make this neat later now this stream mux I will double click once again I'll call it square bracket 1 times FFT size number of inputs to be FFT size and connect this stream mux output here now in between these I'm going to switch these on and off using these ranges so what I will do is I will create four constant sources which act as multipliers so I'll do control F for command F I'll say multiply const okay and I'm going to just double click on this const and say this call this S1 connect this over here connect this over here and do control C control V this is the second one control C control V third one control C control V fourth one this should be S2 this would be S3 this would be S4 connect them out connect this and connect this over here now if I execute this flow graph you can now see the same spectrum but let's switch off everything first by making everything zero first you see that there is no spectrum let us now switch on only S1 now if you switch on S1 and let's make the averaging high you can see that the part of the spectrum that is being used is only near zero and it's actually occupying only about one fourth of the spectrum which makes sense now you can see the shape if I now just make the second one on you can now see a similar shape that appears however it appears at around two kilohertz which makes sense because we are splitting it we can split we're splitting essentially the spectrum into four parts the third one if it is on alone appears split it appears at the end about half of it appears near the four kilohertz mark the other half appears near the minus four kilohertz mark this is an artifact of the sampling theorem that is something which you've seen in DSP and makes sense now the next one will appear at around minus two kilohertz let's check so now if you see this center it's around minus two kilohertz therefore what this has essentially done is that you have split this particular signaling method into four parallel subcarriers now one thing to check is what happens if there are more subcarriers now an easy way to do this would be to just increase FFT size over here if you can make this let's say eight now unfortunately in case of eight you need more you know more ranges and more kind of constants to multiply let's actually go ahead and do it so I'm just going to take copies of this okay I'm just going to select all these hit control C and control V will give me the copies and just place them to the right I'm going to call this S5 S5 this SS6 this is a seven this SS8 and then I'm just going to add four more multiply constants so control C I'll do control V control V control V control V now let us connect the out four over here and make this S5 out five over here make this S6 out six over here make this S7 out seven over here and make this S8 everything checks out now we can execute our flow graph once more now executing our four flow graph let's keep only S1 on so I'm going to reduce this reduce this this this this this this increase the FFT averaging window we want none of course I think that's another thing so we can double click on the FFT yeah window is fine so with the averaging you can see that this spectrum is definitely narrower than earlier this around zero now if I look at the second one it comes up around 1 kilohertz so you're breaking 8 kilohertz into 8 parts so the second center is along 1 kilohertz the third one is at around 2 kilohertz let's check the center it's at 2 kilohertz the fourth one will be at 3 kilohertz roughly the fifth one will be split between 4 and minus 4 as you can clearly see this is again an artifact of the sampling theorem and if you remember your DSP the way you compute the DTFT it's between minus pi and pi and repeated that's why this happens and therefore you are able to see that you have effectively parallel parallelize the channels and this spectrum essentially confirms that we are able to put our data in parallel so now that we have done this we are now clear that using OFDM makes your data appear in the frequency it uses the same spectrum it doesn't have any other spectral characteristics that are altered but the data appears in the frequency domain and is split in such a way that the channel essentially is parallelized our next aim would be to confirm the equalization ease of OFDM wherein we will make sure that even in the presence of a channel we are able to use OFDM effectively to equalize using one tap equalization in this in this case to keep things simple let us perform a symbol equal to sample rate that is we'll assume there is one symbol per sample simulation we'll quickly do the same things we do by adding a random source and a constellation so what if for command F random source we'll make this 4-pite and we'll have a constellation constellation object constellation encoder connect the encoder we'll call it my const we haven't created it yet copy this call this my const and our constellation is ready we'll add a throttle now we need to perform convolution along with a channel but remember when you have a channel you need to also add a cyclic prefix that accounts for the channel let us assume that the channel will have at most three tabs so let's create a channel controller for command F we'll say variable and let's say that our channel is called H and its value is let's say 1.0 1 0.2 plus 0.3 J 0.1 minus 0.05 J this is our base band channel let us say and we are going to perform a convolution with this channel okay so now we first have to add OFDM and our cyclic prefix has to have length at least two so as you control F for command F let's bring in our stream T MUX and let's also have an FFT size variable control F for command F and sorry it's a variable we'll double click we'll call our variable FFT size let's keep it at 8 currently okay so now the lengths 1 times FFT size number of outputs FFT size we don't need stream T MUX we only stream vector I'm sorry I'll delete this so we just need controller for command F we'll say stream sorry we will see stream to vector sorry so we'll grab a stream to vector this should be number of items FFT size next we'll grab the FFT block controller for command F we'll say FFT of course we need to set the FFT size based on our variable only then the stream will be accepted we'll set this to reverse we'll set this to square bracket 1 times FFT size shift should be no FFT set now we will convert this back to a stream but demultiplex it so controller for command F we'll say vector to stream and then we'll have to set this to FFT size and then we should demultiplex this so that we can add a cyclic prefix so I'll do controller for command F we'll say stream D MUX now let's actually do one thing let's actually use the app let's actually use the arrow keys to rotate this so I'm just going to use the right arrow key to rotate this and I'm going to use the right arrow keys to rotate this this stream D MUX will have length square bracket 1 times FFT size and number of outputs will be FFT size okay so let's make this little more visible now let's actually rotate this once more okay now I need to add a cyclic prefix which means I am going to add a stream MUX that has extra places where I can add the cyclic prefix so I'm just going to grab a stream MUX I'm going to double click this and let's say my cyclic prefix length is 3 so I'm just going to say lenses square bracket 1 times FFT size plus 3 and this should be FFT size plus 3 so now I'm going to get this big stream MUX which has FFT size plus 3 length I'll use right arrow key to rotate left arrow key to rotate it now I'm going to connect the back parts directly because the cyclic prefix comes in the front once you connect the back parts you can then connect the out 7 back to in 2 out 6 back to in 1 out 5 back to in 0 this essentially has brought you the cyclic prefix why because you have the actual symbols prefixed with the last 3 this will ensure that performing the convolution does not affect you now we can bring in the channel controller for command F we'll grab the interpolating FIR filter and this of course the interpreting FIR filter also has to be rotated so left arrow left arrow twice and the tabs are H that performs the convolution and now we have the output and we will add noise controller for command F we'll say noise to grab a noise source we'll use the left arrow to rotate the noise source also the add controller for command F we'll say add rotate this also the noise source will have noise STD as its amplitude we need a range controller for command F we'll say range this range has noise STD as its standard deviation default value 0 start at 0 we'll start at 0.01 stop at say 3 and step 0.01 default value should be 0.01 and start at 0 I think this is fine now we have the noise source as well and then we have our output now we know that our output is going to definitely get affected by the channel now our next task is let's move the constellation object over here so that we get some space let's move this okay yeah now we have a better flow graph now at the receiver our first task is to remove the cyclic prefix and then perform equalization but we will show that the equalization is going to be very simple because just a single tap equalizer now again there are now two ways to remove the cyclic prefix one is to again do a stream demux and then take these take the multiple sources of FFT size plus three sources and then put three of them to the nut to another source and then get it back but we're actually just going to take a simpler approach so I'm just going to use us a key block called keep MNN controller for command F I'll say keep MNN this keep MNN I'll rotate it is an interesting block it allows you to keep only M out of N elements starting with an initial offset in our case the first three elements of every block are always going to be the cyclic prefix so what I can do is I can start with an initial offset of three and keep only FFT size out of FFT size plus three elements so if I connect this I have removed my cyclic prefix then my only remaining task is to take the FFT and then get see what I get back so I'm going to go a little bit down okay and I'm going to just do a controller for command F I'll say stream to vector I'm just going to take the stream to vector and use the right arrow to rotate it connect the stream to vector over here double click this will be FFT size then I'm going to grab an FFT block and just reverse it control C and control V now this FFT block I will double click and instead of reverse I'll say forward then again I will grab the vector to stream control C control V rotate it to the appropriate direction and then I'm now going to view these eight constellations separately on a QT GUI constellation sync so control F for command F as a QT GUI and there is a constellation sync over here and here is the thing I'm going to double click this and I'm going to say number of inputs is eight and now I'm going to demultiplex this stream and view them so I'll just copy this control C control V I'm just going to rotate this and I'm going to demultiplex and view these streams on a single constellation sync now after connecting these we are set we can run this flow graph okay we get some pattern okay of course one issue with the is that all these seem to have the same kind of color to do that you can double click on this and you can essentially just go to the configuration and change the color so first is blue second is red let's say third is green fourth is black fifth is cyan sixth is let's say magenta seventh is I think we'll say dark red and eighth will say dark blue I think we'll settle with this now if I execute the flow graph now there is a scaling issue because the FFT scales the output and we haven't really handled the scaling but let's look at only one of these by changing this interestingly you see a QPSK like constellation that is rotated now a rotation of a QPSK constellation as you're aware all you need to do is a single multiplication could to derotate let's look at the second stream aspect that also has a QPSK like constellation the third one again a rotated QPSK constellation the fourth one is also a rotated QPSK constellation so the impact of the inter-symbol interference introduced by the channel is not at all significant because you only need to do a scaling of this output in order to recover it of course as you can see the amplitude of some of these is higher or lower than the amplitude of others this is because the channel in the frequency domain exhibits frequency selectivity that causes some parts of the signal to be better than others so therefore different subcarriers have different weights but if you notice something carefully the amplitude of data zero and data one will be close the amplitude of the subcarrier two and three will be close amplitude of three and four will be close amplitude of four and five will be close but the amplitude of the first and the let's say fourth may be different first and let's say the sixth are quite different the reason is because the channel varies gracefully in the frequency domain also and this is what is manifesting if you change the channel let's say we change it to something more like 0.7 plus 0.7j and minus 0.1 let's say minus 0.4 now you have a different channel and with this different channel you will see again different characteristics let's look at the subcarriers one by one this is one second third fourth fifth sixth you can see that's very weak seventh is also weak eighth is here now if you don't believe me that this is some you know this is working very well just to make you believe it let's look at another constellation let's choose quam 16 and then just verify that things are correct we'll just set the constellation to quam 16 and the random source to go from 0 through 16 and there's lots of dots let's view only one of them as you can clearly see this is a quam 16 constellation just rotated this is another quam 16 just rotated even this is a weak quam 16 just rotated there's also a very weak quam 16 just rotated so the magic of OFDM is that the parallelization of the channels essentially results in only single tap equalization being required and this greatly simplifies the equalization almost like your transmission is pre-equalized without having to know anything about the channel so if you want to learn more about OFDM in GNU radio there are sophisticated OFDM implementations that perform allocation of your data to OFDM frames transmission reception and all those that is something you can explore yourself in this lecture we built from scratch a simulation of a an OFDM system in GNU radio of course a baseband OFDM system and we saw that even in the presence of a channel when you have a channel the channel's effect can be to an extent handled by making your bandwidth into several parallel narrow band channels using the DFT we saw that whenever you sent any constellation because of the use of OFDM and because of the conversion of the channel into several narrow band channels each sub channel or subcarrier underwent only a multiplication effectively by a complex number which is easier to equalize therefore OFDM can be used to effectively translate a wide band channel with frequency selectivity into several narrow band channels which have roughly frequency flat nature which makes it very very useful today a useful kind of standard and which is why it is used in several you know useful wireless and wired standards in fact Wi-Fi LTE and several other modern wireless standards also employ OFDM to good effect thank you


Dear students, in this topic we shall discuss the tubular reabsorption, that is reabsorption process in the kidney tibule. The glomerular filtrate flows sequentially through the various or successive parts of the renal tibule. On the tibule, useful substances are selectively reabsorbed back into the blood. Reabsorption occurs in every segment, however the substance is absorbed and their relative concentration changes with the segment. First we shall discuss reabsorption in the proximal convoluted tibule. The cells of proximal convoluted tibule reabsorb about 60 to 70 percent volume of the ultrafiltrate. That means the ultrafiltrate is reabsorbed in proximal convoluted tibule. In ratio wise this portion reabsorbs about 99 percent or even more than 99 percent of glucose, amino acids and other organic nutrients. This reabsorption involves diffusion, facilitated diffusion, active transport and co-transport mechanisms. Proximal convoluted tibule also actively absorbs various ions like sodium, potassium, magnesium, phosphate, bicarbonate and sulphate ions. It also reabsorbs some ions passively. These reabsorbed materials enter the paritubular fluid, which is reabsorbed in the tibule. They diffuse into the paritubular capillaries, which quickly return these substances back to the blood flow or circulation. Now we shall discuss reabsorption in the loop of Henley. Loop of Henley is important for the reabsorption of water. Reabsorption is a proximal convoluted tibule that continues in the descending limb of loop of Henley, because this loop is freely permeable to water. It has numerous water channels which are made by aquaporin protein. The descending limb has no channel for solute, so it is not permeable for solutes. For solute reabsorption, descending limb of loop of Henley does not exist. Now unlike the descending limb, the ascending limb contains ion channels, but not water channels. Therefore, the reabsorption of ions from this limb does not reabsorbs water from this limb. Overall, the loop of Henley reabsorbs about half of the water and two-thirds of the sodium and chloride ions which enter into it in the filtrate form from the proximal convoluted tibule. This absorption takes place by a special mechanism which is called counter-crunt exchange or counter-crunt multiplication. Now we shall discuss reabsorption in the distal convoluted tibule. The initial filtrate of the distal convoluted tibule is about 15 to 20 percent distal convoluted tibule. The cells of the distal convoluted tibule actively reabsorb sodium and chloride ions. This distal convoluted tibule contains ion pumps which reabsorb tubular sodium in exchange for potassium ions. This portion of the distal convoluted tibule also reabsorbs bicarbonate ions to regulate the urine pH.