Tutorial: OFDM Packet Transceivers

Video thumbnail (Frame 0) Video thumbnail (Frame 1925) Video thumbnail (Frame 6990) Video thumbnail (Frame 14282) Video thumbnail (Frame 16963) Video thumbnail (Frame 27535) Video thumbnail (Frame 28845) Video thumbnail (Frame 30240) Video thumbnail (Frame 31713) Video thumbnail (Frame 35887) Video thumbnail (Frame 39573) Video thumbnail (Frame 41823) Video thumbnail (Frame 43222) Video thumbnail (Frame 44696) Video thumbnail (Frame 47487) Video thumbnail (Frame 49097) Video thumbnail (Frame 51991) Video thumbnail (Frame 55974) Video thumbnail (Frame 60951) Video thumbnail (Frame 62087) Video thumbnail (Frame 70868) Video thumbnail (Frame 76015) Video thumbnail (Frame 77994) Video thumbnail (Frame 81674) Video thumbnail (Frame 83174) Video thumbnail (Frame 84674) Video thumbnail (Frame 86174)
Video in TIB AV-Portal: Tutorial: OFDM Packet Transceivers

Formal Metadata

Tutorial: OFDM Packet Transceivers
Intro on how to write an OFDM-based PHY/MAC/App
Title of Series
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Release Date

Content Metadata

Subject Area
GNU Radio is a powerful tool for signal processing of any kind. It is very much suited for setting up any kind of communication link. In this tutorial, we will discuss how to set up a PHY that can be attached to an application and MAC layer in order to experiment with arbitrarily configured wireless networks. Tutorial overview: * OFDM blocks basics * How to set up links between nodes * How to start working on MACs
Point (geometry) Trail Presentation of a group Multiplication sign Software developer Mathematical analysis Variance Mereology Product (business) Arithmetic mean Computer animation Universe (mathematics) Video game Right angle Family Conformal map Physics Identity management
Point (geometry) Complex (psychology) Dataflow Link (knot theory) State of matter Multiplication sign Set (mathematics) Event horizon Data transmission Power (physics) Frequency Medical imaging Complex number Operator (mathematics) Representation (politics) Diagram Amenable group Personal area network Identity management Standard deviation Graph (mathematics) Bit Signal processing Frame problem Symbol table Arithmetic mean Personal digital assistant Telecommunication Computer science Video game Right angle Transmissionskoeffizient Quicksort
Presentation of a group Group action State of matter Plotter Multiplication sign View (database) Workstation <Musikinstrument> Set (mathematics) Computer programming Dimensional analysis Bit rate Different (Kate Ryan album) Videoconferencing Arrow of time Endliche Modelltheorie Arm Block (periodic table) Electronic mailing list Bit Sound card Connected space Wave Digital photography Numeral (linguistics) Order (biology) Triangle Configuration space Quicksort PRINCE2 Spacetime Point (geometry) Dataflow Computer file Streaming media Metadata Element (mathematics) Number Operator (mathematics) Boundary value problem Analytic continuation Traffic reporting Graph (mathematics) Rectangle Signal processing Computer animation Visualization (computer graphics) Logic Personal digital assistant Transmissionskoeffizient
Dataflow Email Graph (mathematics) Information Block (periodic table) File format Length Code Multiplication sign Streaming media Mereology Disk read-and-write head Revision control Digital photography Computer animation Personal digital assistant Configuration space Selectivity (electronic) Object (grammar) Codierung <Programmierung> Family Computer worm Spacetime
Group action Length Multiplication sign Equaliser (mathematics) 1 (number) Sheaf (mathematics) Set (mathematics) Function (mathematics) Parameter (computer programming) Disk read-and-write head Estimator Meeting/Interview Position operator God Email Block (periodic table) Electronic mailing list Sound effect Bit Price index Category of being Digital photography Message passing Process (computing) Telecommunication output Pattern language Summierbarkeit Right angle Quicksort Figurate number Resultant Inverse function Connectivity (graph theory) Streaming media Metadata Revision control Frequency Broadcasting (networking) Boundary value problem Alpha (investment) Computer architecture Standard deviation Planning Symbol table Signal processing Computer animation Personal digital assistant Transmissionskoeffizient Finite-state machine Object (grammar) Window Computer worm
Default (computer science) Mathematics Computer animation Meeting/Interview File format Virtual machine Rewriting Configuration space Continuous track Object (grammar) Disk read-and-write head Computer worm
Graph (mathematics) Computer animation Demo (music) Meeting/Interview Block (periodic table) Quicksort Streaming media Limit (category theory)
Type theory Roundness (object) Computer animation Link (knot theory) Meeting/Interview File format Block (periodic table) Video game Streaming media Error message Event horizon Parsing
Dataflow Observational study Multiplication sign Flash memory Function (mathematics) Mereology Damping Information security Email Graph (mathematics) Block (periodic table) Control engineering Feedback Graph (mathematics) Sampling (statistics) Planning Bit Line (geometry) Signal processing Word Message passing Digital photography Computer animation output Arithmetic progression
Graph (mathematics) Block (periodic table) Surface Moment (mathematics) Adaptive behavior Variance Hidden Markov model Staff (military) Mereology Cartesian coordinate system Computer font Bit rate Meeting/Interview Personal digital assistant Universe (mathematics) Transmissionskoeffizient Traffic reporting
Existential quantification Process (computing) Multiplication sign Transmissionskoeffizient Logic gate
Area Noise (electronics) Word Computer animation Transmissionskoeffizient Right angle Function (mathematics) Series (mathematics)
Stochastic process Group action Electric generator Theory of relativity Block (periodic table) Multiplication sign PC Card Shape (magazine) Theory Power (physics) Computer animation Meeting/Interview Thermal radiation Canadian Mathematical Society Linearization Video game Right angle Musical ensemble Logic gate Spectrum (functional analysis) Computer worm
Ocean current Noise (electronics) Mathematics Befehlsprozessor Computer animation Meeting/Interview Personal digital assistant Mathematical analysis Maxima and minima Transmissionskoeffizient Disk read-and-write head Event horizon
Area Email Algorithm File format Multiplication sign Digitizing Sampling (statistics) Perturbation theory Function (mathematics) Mereology Data transmission Band matrix Broadcasting (networking) Meeting/Interview Personal digital assistant Synchronization Order (biology) Cuboid Transmissionskoeffizient Resultant
Email Functional (mathematics) Touchscreen Information Inheritance (object-oriented programming) Length File format Block (periodic table) Information overload Constructor (object-oriented programming) Mereology Disk read-and-write head Computer programming Message passing Bit rate Vector space Lecture/Conference Buffer solution output Summierbarkeit Quicksort
Point (geometry) Dataflow Implementation Game controller Presentation of a group Length Equaliser (mathematics) Translation (relic) Function (mathematics) Complex number Operator (mathematics) Software testing Diagram Form (programming) Physical system Boss Corporation Algorithm Email Electric generator Graph (mathematics) Block (periodic table) Electronic mailing list Coordinate system Signal processing Frame problem Symbol table Type theory Word Radius Process (computing) Computer animation Integrated development environment Vector space Buffer solution Right angle Object (grammar)
Scheduling (computing) Euler angles Multiplication sign Equaliser (mathematics) Source code 1 (number) Parameter (computer programming) Meeting/Interview Different (Kate Ryan album) Single-precision floating-point format Square number Endliche Modelltheorie Series (mathematics) Area Block (periodic table) Software developer Electronic mailing list Sampling (statistics) Sound effect Bit Maxima and minima Digital photography Message passing Arithmetic mean Vector space Configuration space Right angle Summierbarkeit Quicksort Reading (process) Point (geometry) Filter <Stochastik> Dataflow Overhead (computing) Connectivity (graph theory) Dichotomy Graph coloring Theory Wave packet Causality Complex number Term (mathematics) Operator (mathematics) Boundary value problem Software testing Form (programming) Module (mathematics) Dependent and independent variables Graph (mathematics) Information Physical law Planning Line (geometry) Incidence algebra Symbol table Signal processing Computer animation Personal digital assistant Blog Charge carrier Point cloud Computer worm
Point (geometry) Web page Dataflow Game controller Multiplication sign Source code Set (mathematics) Mereology Metadata Number Power (physics) Frequency Bit rate Different (Kate Ryan album) Software testing Graph (mathematics) Validity (statistics) Information Block (periodic table) Cartesian coordinate system Limit (category theory) Sequence Message passing Arithmetic mean Computer animation Vector space Personal digital assistant Speech synthesis Website Transmissionskoeffizient Right angle Quicksort Procedural programming Spacetime Directed graph
Trail Matching (graph theory) Multiplication sign Cartesian coordinate system Metadata Number Type theory Data mining Message passing Mechanism design Computer animation Lecture/Conference Self-organization Transmissionskoeffizient Quicksort
Point (geometry) Slide rule Functional (mathematics) Validity (statistics) Computer file Block (periodic table) Code Software developer Multiplication sign Metadata Twitter Arithmetic mean Message passing Computer animation output Quicksort
Computer animation Multiplication sign Reduction of order
Computer animation INTEGRAL Authorization Regular graph
Cross-correlation Computer animation
Area Computer animation
Computer animation Different (Kate Ryan album) Special unitary group
Theory of relativity Computer animation Multiplication sign Design by contract Data structure
and all brothers of this talk is actually you through it with you guys to go home right here on the right so it's very important that like nobody feels like the behind this stuff and not go ahead and conformational presentation time associated rather the work of the of the mean and the variance of life the so just like very quickly what myself during the production all track like you find a guy around identity right so the most common name University of doesn't sit around with the characters from having contributed to the radio so for a for a couple of years now and I think that mainly was because the villages wealth or garbage you abuse the graduated analysis I'm a developer of this research currently there is there but they so again that's of Canis but this is to pass Festival so about how old to build Phys using those 2 M and the whole point of this part is that you should be
able to uh may find that actually knowing all the you like say you come from the computer science in that you know a lot about link layers that of American life and important but things and just need something connected devices of of air then um like I like to make this process is you possible you guys thought and amenities this is kind of like 1 of every comics and you have that um there are some some issues and a whole lot of uh of point out the most 1 once it OK just very quickly when I'm talking about of what is the means
since orthogonal frequency-division multiplexing and it really is just a way to get a lot of data over here so I mean there's there's all kinds of ways to and all the others can become a a couple of issues pretty much every standard nowadays um and like this is this might get too far out details but it's 1 of supporters in here what we do is we transmit from data on different from in the same time and so like you have a look at this picture here you can sort of like time-frequency diagram and so basically that we have complex symbols that represent that of the common way of you cooperate in the communications and sort of like you can see this complex symbols there's of spread out in time and frequency and like if you don't want complex symbols are this image like you have a look at this so you take bits in this case if you take 2 bits and then you mapped them onto a complex number in this picture was copied straight out of data to events that so this is how all very very real stuff that I'm talking about again and when I talk about of dim symbols that talk about symbols transmitted at the same time we're not talking about subcarriers and talk about this narrowband transmission 1 frequency when I'm talking about frame of ideas here from like a set of all the and symbols the and if you like this is some kind of a textbook representation of an of them transmitter come so I guess there should be an narrow here this is something like it's really become now it's a complex symbols and we have this identity operation which for reasons I don't wanna explain here but you do this frequency division multiplexing um between symbols we we added got time which recall psychic prefix and from here on it's just standard and transmit power within so um the question is how can we like to implement all of this in the radio like this 1 the idea that for example Wi-Fi um use of them but it doesn't use the fact that right so you have like and use and use of different sizes of say SHE over Wi-Fi users would violently my setting up a short packets and download something to get longer packets and this is kind of something like you have the standard of slowed markedly in in kind of it be difficult to implement some of his you have states in greater flow graph because of the way in which this is something else that is all possible have some OK this 1 called
feature of new radio some still quite new and lecture reiterate that before I go into the actual presentation article text reading books like just like you may end up like you actually knows sort of what you read it as it is only doesn't get more wanted to make a list is like has has no idea about the radio program I this is so like this is kind of what Thomas adult earlier um so these rectangles of blocks and we put the data in your book the process something happens and these arrows represents of the connections of the boffins between these blocks and we can sort of like you mentioned we have a sound card important every related data filtering the national like data going through all the time the when we had the market like this king DB bit awkward so we introduced this concept of text stream blocks and blocks the operator really exactly like other books that they understand the concept of and practice of so we have here a set number of items they go into this block in a book knows that this is the 1st is the last item and dimension from the filter so of if you have filter continuous because you have a lot of overlap between um my this is something we got rid of this concept um and as a couple examples of text reports that I'm going to show actually have them right here so this this nothing close the block lists and most space because this is a very very simple flowgraph you'll just generate a signal doesn't matter what and don't bother about this what you there but the idea is like when you coming out of here you have an infinite stream I don't produce data all the time and this plot does the transition rate goes from 1 uh mn state to the other thing is like from the uh um like from a 10 thousand the point of view there's not much of a difference so all this gets handled in the same way by the new radio station but here we get an idea about how this works and this is the reason this true because we have tags that denote the position of of creating a sine wave here but could be anything else the bits and what you can see here but you will triangles are actually had no review of the facts so a resume into this um here like you see like this is the start of a packet and this is the start of the next packet in between we have something don't doesn't matter what and I actually using the arm like the trigger feature to to trigger on had the wealth of visualizing data collection of plot it of all they always starts at the packet boundary and if you have a look at this up with this sort of gives me Prince attack and attack is a kind of 0 additional metadata that we have attached to a specific item and you'll see that every year an abortion like every I will every every time is a packet starts like will get 1 of these out there every 128 item is a is a packet mark OK so this is something I really need to talk about affordances that 1st of all I um this kind of 2 sets of of the encoder and like would talk about here all the hands on the new set of problems which are like we have a look at these files in case you're talking about this later on the video and these are these all they use these new elements because we used to call the numerator which are also used by these blocks and there's also kind of an old state where we have these features here again the and um 1 thing that I always wanted when I was working on this is what I wanted to be truly parametrized so I have is like the radio flow graphs and those of the and I that would be able to do this sort of like a configuration that those for example Wi-Fi then change the configuration when it was something else entirely like um idea I want the difference so this is sort of the idea of how and this should be let's sensible boundaries between logical processing steps so you can add your visualization instrumentation that anywhere photograph and debug graphically what Tom top modeling so let's have a look at the transmitter the transmitter is available as an example in the
can read a companion on order it's going to be altered OK so you can see that is comprised of lots of different cities like steps so basically finishes here laughter all this about how is
this a case of space uh mn it it starts off the CRC block which is obviously a part of your family tradition we need that in case of we always do that because we need some way to verify that the receiver been receiving good stuff and the reason I'm piloting this is because it's already 1 of these tags stream lots of value because as I said we want putting any length of time and then we will do is add 4 bytes of CSC at the end up with a new package for what longer than you and I want you to understand about because otherwise you would know where the CSC felt and then we go through some to the next so we're actually see this is so this is the payload this is what we want to transmit and this actually get split up and in the top half we have any block all packets generator which um calculates the head of now this is conflict very configurable because if we have a look at it in the um the flow graph what is the double click is to show you the configuration you can see that actually is an object which we pass the ball the ball has conceptual idea of what it does and how it actually does is implemented somewhere else and um so there's a thing called header formats and this exists in my photograph as well up here and you can see this is
just like is something we we generate from our Python code selective encoding at both the and packet header generator divided by giving it some information about what I wanted the and they never go back to the flow graph this step
takes on the 1 5 of this object here it centers on the other side it has a look at the payload and then calculates ahead announced outputs on I'm on this channel obviously we also need to translate it for you and your self that's kind of obvious I so the data comes in here that we always have had people from provide which is this is not going be suitable later on you'll see why I reserve the to unpack this and then we have 2 streams like this is great which correspond to the head bits that correspond to payload yeah so this and this is sort of the next steps these 2 channels and here we have back to this compensable the more from in an interesting thing here is like we can use any kind of uh modulate on both of these a past and they can be different ones they are actually not so um this enables us to use different modulation them the head of the payload of religion you know exchange 1 of these blocks for something completely fancy and do something somewhere I mean of them has all these specials modulation of the effect of signal properties that we consider just change 1 of these blocks and that's the nice thing about architecture is that this is 1 component we would change there's no real dependencies which means that like books left to right and it affected we can just change 1 of these blocks so we we have strict boundaries what happens after this we have complex symbols we don't care what they are and the next processing block will always the right thing and the next in this case we have a multiplexer which still understand act on that's also born because our said they'll they'll probably be differently so this guy has look at what's coming in and so does the right thing at the alpha and the actual transmitter this is actually it was always so 1st of all we have to choose distribute the conventional the last thing in the time frequency plane and this is also where we add pilot symbols that you don't know how the communications of the work place we we're transmitting on the data for the receivers job is to figure out what was transmitted we have to sometimes transmit stuff that receiver already know is going to be there is of give a clue what happened over the year and that we have enough of the which is um and this is also very nice about the whole thing the effort she does not care about packed partners and is now you take 1 of the people that this thing and then takes the next 1 so these text 3 blocks and there and the non text stream blocks the interoperate as next critical feature psychic prefix just as the God of all was talking about earlier and positive role somewhat later now mn this is kind of the the problem that we had earlier having with all the versions of the of the anchor now this is the time frequency plane anything that's whites can occupy a tale of a set of all that we need also have plants and and they could be anywhere so Wi-Fi kind of looks like this we have sort of head and then we transmit pilot symbols on the same frequency over time and then um official broadcasting standards they do something like this where those of you who has and some of this needs to be configurable this set an example of wages change parameters will do the right thing so um this is this is the high on that it to all right assume you know what I'm talking about and um we just denote the position of pilot symbols by indices and in this case we only have 2 subcarriers which transport this puzzle so this is actually enough in this case we sort of have to give it a list and we sort of group said like this on the 1st um of dim sum we have pilots here and here then is empty which is what is empty and so on and so on and of course because of add headers that kind of stuff OK the um receiver at the shit receivers have the same in both but it has like 1 1 problem use of facing and this is you know when receiving example from in that and then eventually of patterns of figure out how long is and maybe even what kind of modulation reusing and how to do that because there only as I said before you have the right to like you whatever then and this um block all the head of the of the month to solve this problem so it takes like this signal as an important and it also takes a trigger signal so someone else has fewer 1 of them and so so we get the data and then eventually we're guessing OK this is this a fact and then this blocks of wakes up until then fill the started the sort of put the whole um and then of just takes the header because that's going to tell us about the rest send that to some other processing path and wait result and when we know of when we know some metadata about the actual pair of them because of said the payload to the next you more and this is how we kind of it's not really a state machine of something although is actually section inside this is just like I'm like the output of 1 half will depend on the input of another the the OK so when we get the the header which is always a fixed length I mean anything else would make sense if you had variable handling use like the the 1st part of of the header and for of to figure out the rest and then you think twice then discuss the inverse steps of of of of the embassy but don't wanna go into the details because it's pretty much the same as before except for we have to figure out how the channel with tried different things move equalization estimation but this guy's interesting this is a like eventually will get the same bits of interest on the head of and here we have the had a pass and this is exactly the inverse function here generator windows and the interesting thing is if we have a look at this is actually takes the same object that we had before so um this is my this is my photograph and it was my had no surrealist
the the head of formant objects called had a
and this example actually also contains the receive Jane change they play around
with it and I have a look at the receiver I just for
their um I see didn't put that had a formats in here to it defaults to the right values that I using the same object that so I mean in practice you don't produce the same object in neurotransmitter run on the same machine but yet the same configuration OK so like to rewrite caterpillar months takes care of used this pseudo stateful some problems that we get the data and we also get like some examples when the packet starts we evaluate the head and then we can transfer the payload OK so this is where it it's
interesting and thing is crossed the however everything will work fine OK so I can do and here right so this is a very fine the before we had a look at the whole thing I just want to show um something
about how all of them tags streams work while I'm running demos anyway so this is what happens like understand transmitting random data and this all this ball just limit of graph is sort of stops the block I as I go back from 1 to make the Amazon is going packetized 5 100 bytes into 1 package but just by definition and then calculate the CRC and the on so run
this no what I'm sorry about the formatting but you can see parser should be small businesses the data before we have the because see like every 100 a enlightened we get a um a new packet and afterwards like every 100 for life because we've added the CRC now by
them did something like this it is clear from the and the streaming data directly into this this into this block I get an error message
like this missing link that we get a lot of remaining which were are what know so so you can type tags streams AK packets into blocks in the understanding of that you can't do the other way round event crashing into this error
OK so um this is
the receiver chain and when I kind of skipped over a bit earlier was this part so I have this um the other part of my graph which will actually detect packets OK and yet we just use that word costly Cox because the way we set up the that the header is suitable for this kind of and I don't want to go into the signal processing details here but just imagine that this guy Gold will find the beginning of a pack annals of output a high signal on this plane an input into the trigger and then we also his mother's stuff so and but eventually will get will still get samples that were received for my user device and um pipe them into the same and then down here this is what we what I was going on this there's also the transmit things between through different uh receive float progress of Nbsub flow against the men have a look at this this is my uh the part of my photograph that decodes the header but you can see there's something going on in this study we get these dotted lines right and this is because what we can what we have here is actually a feedback loop that is not not exactly that that which you think of when you like no control engineering as asynchronous they this is just a message OK so you know I you know what I often have the background and we have we can learn these directly in security flow graphs we can them in blocks that's final work there we can't like do real feedback that this is different because this block can wait until it receives a message like I would just like to asynchronously there's no reason to stay but the timing OK so this is that's what that's how the receive what is like any rest of the OK cool so I've provided all of these examples in the actual hereditary by geographical flash examples of final a lot of people that something is easy I others gonna grab is start transmitting now the I'm going to fond death of hope that in this way the because the hand so I and I've got about 10 different people asking the same question is always the same as what it is like this in the bag I guess the name of this flow
graph kind of gives where he will happen um so 1st of all all of the like the O stand transmitter and receiver they've been packed into hierarchical blocks means that experiment you the like that go ahead and like trying to connect all these subcomponents himself late 1st get is running in a drive experimenting on the rest HMM so yeah so his that 0 stand transmitter I'm going to transmit whatever I don't care I In this case I'm actually resampling to this is just to adapt something rates and dump them into my device I I'd like to discuss that back before on this and tell you about my set out the mn so this is a without the need to compare the University of specs on on that later right now you know this is this is report of the kind of thing probably start working on a guess you use of getting into the whole subject and very popular devices at the moment but I'm not gonna plug but this is of the intended to raise a CLS Albemarle which is talking to my use the you can get of and the deputy chief out and I went 20 dollars yeah so I I I use that that's for this example because I wanted to let show you that you're part of the most expensive stuff to get all running unless you do like this so 1st of all at the receiver here we good they don't care nothing going on because of the transmitting I'm going to start the transmitter and it works then we'll see data coming in here by so we're gonna see down here application of tried this before and after but of benefits is way OK transmitters running receiver receivers is nothing actually see nothing at all that and how to use the staff of the variance I should never
generated Outline of session given so I'm out of the surface of calling the um when it was my research this is all this is actually a problem using the locus of any of the of this year's from your your your alright to what would the the department of the the all right there is
talking all kinds in the thank what if there were a few minutes so gate adjustment the Hey something's going on but without receiving any data what is your the ideas you know and and you know a lot of time and addressing the job alone the path the now I'm actually I'm going to do here is in close this transmitter a receiver I'm going to leave the transmitter running and start my welcome common at this sorry in the
yeah I just realized that in the and the the OK so i'm understood as I friend the the there are my answer is like this is not this is kind of kind of going the right way but from the latter started the transmit the receiver you receive here here's increase of noise for for what I did wrong was Walt admitted of it right because I wanted to show you would is I an and and piping the output of this straight into the use of using and the reason this is a problem areas things can start the transmitter from right you know the
all right so series amplitude values commented earlier stage between minus 1 and I am going way of of the cervical is living like this is not a word and this is what most people do wrong so OK please click in the you can see here that I'm actually reducing the the the amplitude by a lot and was my that the
marginal I do non spontaneous so we get a nice of spectrum like it's very I this is really really is work signal-to-noise ratio and when you start playing around with this what you're aiming for that uh um the so let's start
receiver again the the I hadn't and thing I can run these guys at the same time I know
what's and or OK
so I here you can see it why all these tags is actually from the cis isomer after receiving packets now and um like the the payload I was sending was actually a random signal so this is like some over I mean sometimes useful to transmit apparently comport just to make sure that you get in the right I think so this is the actual receiver working fine fantastic OK so 1st and make sure you actually get a nice spectrum at the receiver and and you'll be fine so couple of couple of himself CMS problem that we call the powers that the generative power ratio and which is why we get this living things so that other um what relations this action of quite is difficult play around with the gains about the tragedy of science and in in doubt like go back to gate to reducing on both sides also will help you the linearity this feature called um the you can centered in the hierarchical block yet some unluckiness slavery would guess that helps to use the out of band radiation his own life if you wanna get this perfect rectangular of shape and the need to set this to a non-zero value but is that the theory you should also be able to proceed with this kind of setup OK
and so like wx Korea aim for something like this and you don't need these matters these massive a signal to noise ratio but what you need is love cases OK so in the stem analysis and demonstrating I'm using to 52 of event which is much um to this modulation if of do the math get my friends of 375 kilograms um but that's that's like the maximum value is always less than that because I don't account for our head of and ad folder correct here from all soda but let's let's run the whole thing again just to give you an idea about what's like the current work um since the receiver transmitter that actually works there we go we're receiving
something and now what is going to have a look at my CPU usage
and me for a low bandwidth and transmission is actually occupying a lot of my course at so I mean of obviously sampling both the transmitter and receiver and I also know that most of the year you policy areas the synchronization of that has to run all the time and I'm currently working on a um like hot release that accelerated um detector that uses full that on talked about and that's going to help a lot of reduces for the part of nodes this where all talk to me in this case so
the big question is like I'm you can use most of the box the showed you like this thing about the beginning of the sample hopefully work by them but if you wanted to your own stuff what do you so as a set like trying to use the books as much as you can because a lot of dividing importance on in news and like mentioned you might have to change 1 of order and you and you want win stop playing around like I recommend going this way 1st of all I um synchronization detection is very specific to the for all so when you get it it it could work for Wi-Fi signal within you have a a mn digital broadcast signals for example will not a neuron detection synchronization algorithm um but you you can have with the examples like what's already there right something that use the same output which is used to reduce the of the background the header formats is also like something you have to change that with red make that is used possible so and this is Audio and you can go that program but as a result it doesn't really matter of this life and
this is probably easier to read but I I said that the relevant parts of this is the sum of the base class for ahead of all OK and what you do is you override this class and add your own info basic these are the 2 the 2 most important um methods you have to override their over overload the header format and the head and like it's really simple set up you um it needs to know the packet length he needs to um is enough about the way that and it will operate on this a vector of facts and the fact is that many of the things you right right right something to the fact that you can also read from the thank you this stuff in the previous and the pastor as the mentioned voice in the same effort because they they can share approach and it's the same thing or idea has an input buffer which it sort of reads from a what's their stuff into the text really straightforward like does not nothing you need to know what the rate of that because the overriding then you need to create 1 of these blocks and 4 of them into the impact generate a pass and then you have your functionality available the the no so the size of the header is as if it so you from In this this by constructing constructing but not the way the past hour yes OK so you can this is the constructor called and the header length is actually part of the of this and also the only because here but it'll be um 1 of the uh 1 of the people that and you can you can query that anything even change it later but um that he should do that in running in 1 of your program running the you know that satisfy over a single thank you know so you will get you get information to get information about the it from that and the so OK thank you back for right the questions going on what you have it was of this on screen and there's later
Ogiso all right that is so this
is a very minor operation about this whole thing and using the the the Government of the books I using any others in the village and not using the most of the you get a very and the idea of this among his neck was just demonstrating is actually um like about pull it up in control what you see the problem and India was possible forms 1 is actually a hierarchical block that um the year is like in most of the thing a lot of the uh the processing is actually going into you know buffers and coordination and their simplicity and so you can see that the small walks in and the what do you think yes it is absolutely very much so because I mean you can always that that's the big question also for reduced that granularity roses um you monolithic implementation so but for example was going to close these so it's analogous this this is the whole receiver flow graph like I can add instrumentation books at any point there so for example this equalizer um and the output of the equalizer should prove give me blocks that complex symbols that already in some look like my uh like the constellation diagram a meaningful so say I'm not too late for some say the the head of that this is the header passes giving me for the data than I have all the tools of can read used to debug this and like this the the frame equalizer has the same concept as the packet header generators that the actual DSP algorithm is actually not in the book itself and you can change the use the ordering by passing different from uh objects now this is it can be difficult to debug this in a standalone thing because I like we have all the QA um infrastructure and the radio so we can write right radius your boss plus 5 that's the really easy because he needs to be created from test data they have a huge list of complex numbers that use of copying pasting idiocy violence is really annoying and this is so much easier because it is like given noisy data from and see the output is correct I mean and like that in my doing this right now I because this is something I'm pretty confident believe words so uh and environment and that's 1 actually the type ropes so um present on the committee we a translation so use like job in him the system vector length here
of and
also known as my so um right and I think I need to change this to always money to do the wx there have already have 6 and thing the thank you and the my it's considering the workings yeah so and this is like for learning about of the M and stuff this is absolutely invaluable because you can like shake every single um point in time like
everything like this but in terms of performance you might have a trade off I mean you have a trade obviously there just isn't enough of 1 you have this information about response but there is a and you working with the so you this us and this incident yeah I think this is actually in terms of development time this is this is treated like a attitude earlier like it'll it'll um uh like my cause of the river right so that's that's a big problem it is this is a cubis k thing this equalizers actually does not the source states that you know that you know what I'm talking about so you get like with like this square thing um so this is already the cradle of you to be OK um also yeah so we you can see you can see like the difference of color here and here like dark blue means of operating on vectors and in this case 1 vector is always 1 of the and symbols so you get like you get like the time-frequency plane the operate on that eventually you meet some some block that knows of where the actual payload there's little picks up that's what the serialized as and you have a look at the um configuration like you get um this variable yet and um his it's like gives me a list of carriers that would the and for example there and that's what I like about this this model approach like say they you could do use finds itself like use different modulations different subcarriers many can like this may add 2 of these like at the end of this like pick out the ones that you're the people in the world yeah and right and that's that's what I like about this model approach and also like very um when when I mentioned earlier that's that this so that enforces like logical boundaries like once you leave the year um was it so so once you leave the complex domain go back to bits like there's nothing here that cares about where they were before right and that's that's really important because you can sort of get the bark different components individually and from what would be the sum of all of this is the argument only it's actually him there the allow surrounded by that have to the yeah it gains are there effect but it's you wouldn't see much of the huge cloud of millions of blogs itself because um yeah this is you can be in the form of of law without some form of yeah making use of lots of some of the blocks and then later we will be there but it doesn't give you true reading of your actual because like the scheduling overhead is taking over the actual processing overhead because you have some new OK so babies and we have no way of accumulating that are interesting in this sort of light put all the information from 1 hierarchical block into uh when you combine it in the performance on the training again to find is that it is that OK and so on right so this is like how you how did you do max this because like maybe you care about fire later when they day you want something that works for you and your that of effect and um the but the problem is if you think in terms of financing this continuous streaming API work acting like you were 5 and know what filters and modulators enabling the self-training in our blocks this work that as your grandmother Max different like usually operator P years so who use of that handle the packet wise 1 at a time and you have a really like different quality of this package needs to be transmitted at this time on this request don't don't care how I would say your experiment max like need that to work like this had a bit of a dichotomy between these series of them areas I now the what we need here are what we call messages or asynchronous operations in theory some of them you and like the bottom line and we had a relatively of natural use this feature for different reasons it's actually really the designs to uh to be able to run you run max at this photograph um I don't From this you can do much works so and actually um like going between the boundaries light years streaming back and forth in this flow graph so um dotted lines mean straight lines mean synchronous samples for then so imagine I had something generating packets and the to pass them to the fire and stuff happens in gets sees a transmitted received and then we sort of eventually go back to the MAC layer and we have all these um so the message testing boxing generated that do all these things and
thereby from running and you'll see following stuff so I have to form blocks the generated messages at different intervals from so there's 1 that generates a vector of zeros and this is about here and there's another 1 that just since the their message test which is like you see going up and running at different rates so imagine the the testing could be a control signal I think a lot know different frequency your power your transmitter or something like that and obviously the vector of zeros with the data is transmitted and this is how we operate asynchronously in Korea the the on now what you always need to your axis like you have to have a limited right like information by the information and this is works in both a things in here it doesn't matter like it's all the same but we can also have metadata on the filing possible and what metadata the the the the important greater and we have a look at TI which the documentation which is a part of the rate of the speech to my user page like we know there's a couple of tags that have special meanings and very interesting in this case are assigned to a site because they control the actual timing then so I the can appeal demultiplexer can also understand that and any other tags well um so it seems that you not that hard to go ahead and start playing around the 1st of all transceivers the problem was all like reading this would be a valid URI flowgraph um but we have a source and sink they may even be the same device like we knew how to do place for the same antenna like this is what happens here uh and um the here this going like this is sort of a flow graph that would have an oath stem transmitter on the 1 hand and 1 side and receiver in the other so um and this is what I wanted say so this is sort of a I the like this is of a pseudo makable it'll produced packets wanted time and if I start the procedure again the so this is running out of space here what father yeah I think my devices being occupied in but um the point is that I am transmitting right not non-continuous enough of his and other packets and at the receiver will pick them up there so OK so have a look at this this green onion and you can see it from a set of counting up packets this is the sequence number I think is really common at 1 that in between both receiver-transmitter aren't really that aren't really working in the world yeah exactly so um this is yeah point yet of pretty pretty much anywhere
onto this is something that you I look as I can I can also also do that like a wide application that does this so is mine this gonna start a receiver here and the transmitter on this side but red and so organs like types of new mining finally stopped and so the this is sort of what the receiver sees against that like the message is decoded they also get some metadata about my packets of woodpecker number 0 9 of the first one was lucky like sometimes they obviously don't get through because of um inventiveness here the 1 possumus anything but the thing is in government using a AIC the other over the use of P 4 track for receiver than but then I can simply than LCD receive time here and I wanna implement from going back off mechanism CS emaciate a something that you feel like it's really simple and so like the
the easiest possible match with looks like something like this could create you can read and
thank so
so this is this is pseudo code like this 1 actually do anything but is still valid Python corridors of were everything that wouldn't it I get my point across so this is a generator block and it sort of has these ports waking like within the year of asynchronous data enables the car so this this is like a talk to the final and fuel about so so the layer above with um I call this function for a given the data and then um this matter will figure out when to transmit the actual time attach as many of the presence of signal and the past downwards to the to the filing and the same goes in the seaside so the final layer will know about the inputs that um ports resource operates inside this function and it'll pass message the message contains metadata and the actual trend at receive data this this needs to be evaluated somehow and then we can um send this to the next to the next slide of we running out of time you that's fine like this this kind of stuff like you want specific development around this before we reserve laughter powerful um so when trying to bring up across is like is that using the use of methods for implementing these things are really really simple yeah what is it that is 1 of the few with the with the 1 over the 40 minute will all be around the mean and what do you do when you don't really useful and that you know so if you have an array of like the 1 of the things that we we the end of the year
and the year in which we of all all the time in thinking that and that is the use
of the will of the people in the room we will have the is we you the the user
and the problem so it's something that has a 20 dB and then you have to be careful because we don't do it because of the reduction in the in the in the
integration of the continent and the mind and so the other thing that think it is like this house a I don't think this kind of thing is that the authorities
comes from within the regular price of land at the end of a and we
in the in the in the in the in the in the considered giving you have been reading the creation you think the beginning of the fact
that the original the original there's also a lot of the the correlation of the of the of the of the
of the of the of of the the and what want and in the in
the in the in the the the the the the the integral of the
of the of the of the of the of the of of the people on the on the kind of thinking about it
and I want to the and the the the test and
I think that we will use the a and in the area of the of the of the of
the of the of the of the of a and you know the the the the the the
value of the difference in the movement of the 2nd coming from the sun because any
kind of a lot of the you know about the the union of all the
wonderful and experiences in relation to the solution of the with the the the the the the you don't know what the solution but it's the kind of thing 24 times in a the the contract of the of the of the of the of the of the of the structure of the summary of the of the of the of the of the of of the of the we prove that we use today