Okay, you were live Okay Well, thanks everyone for joining this hyperledger meetup and this is hosted by the Denver hyperledger group And I want to thank David for all of his help and collaboration on setting these up for us and today we've got a great presentation from Eddie Saturday again and and Sonia's and what's going to be around creating an open sourcing at Tezos connector for hyperledger firefly And I know that you know both of these gentlemen have been active in hyperledger firefly and being core maintainers there and Really, it's exciting to see that hyperledger firefly now has an additional token that it can connect to With Tezos here and really it's great to hear about this wonderful work that they've been doing with Warner music around the rewards platform and I'm going to turn it over to Eddie here so we can kick this off and go through this great presentation So Eddie over to you Sure thing. Thanks.  This is us And now it's nice. It just locked up my sharing Okay, always happens. I cannot get out of the meeting is being recorded now. Hang on. Let's see what happens here No, it's coming completely The wonderful demo gods have smiled upon us again. Yeah, I hear you Eddie That's always the unexpected challenges Okay, that's actually a good opportunity for a few more people to join us here Well, we're gonna set up so no no problem at all Yeah, we find it that way. I'm sure Yeah, all right. Let's try that again Perfect showing up now There you go So your obligatory anti-trust policy slide that I brought over for you So just kind of about me a little bit and then I'll let Dennis Talk about him a bit and then we'll go from there So any side really been emerging technology CTO for a really long time joined one of through an acquisition last October And have kind of been leading the charge for a enterprise platform Which Warner Media as you mentioned is our first live customer that sites live you guys can go play with it afterwards if you want And then Dennis who's part of my core team. I'll let him introduce himself a bit Okay Thank you for the opportunity to talk about our contribution to the hyper larger firefly project I'm Dennis software engineer at instinct tools since recently. I've been the maintainer of the firefly Hyperlatcher firefly project with the focus on features involving the chain support and Now I'm helping one of company to build a great NFT platform Connecting funds and collectors to their favorite musical artists Athletes and brands. I think I do will talk about it a bit more Yeah, so just quick quick like the why So one of has been working with the Tesla's foundation since to be any of the platform a few years ago has been leading the digital media Side of getting the NFTs on to the Tesla's platform and it's kind of a key Chain for us all of our digital media work Goes on to the Tesla's chain And then my work with hyper ledger foundation goes back a long ways to a really cool IOT project with Intel on sawtooth a really long time ago When it was before there was a hyper ledger foundation and then a lot of work with fabric and key components, so when we decided to build this new B2B platform we immediately focused on hyper ledger as our ledger so the Fabric product is used as our core ledger where we meant the assets that are private to our clients In the case of Warner our public assets and their badges are then minted on the Tesla's chain With firefly being chosen as kind of the core What through API capability for us to be able to interface across multi-chains because our entire design is built that way We immediately noticed there was a gap in the Tesla's capability So there was no chain support for that From the firefly side So we partnered up with instinct tools and brought Dennis on board to our core team to be able to Build this functionality We started on that in the spring of this year and happily were able to open source it just a couple weeks back So it has been pushed out to the community and as Dennis mentioned He was added as a maintainer on the firefly project to support this work and the rest of the chain and I continue to help them where I can on Getting some community support and hoping to get the word out there on why it matters So why like I said why this was built up from the Tesla side is because Warner media has a their media assets going out to the Tesla chain It's a core partner of ours and a funder early on of one of and The first site that's out there is WMG rewards comm. This is their public rewards platform It creates assets both on the fabric side for some of the private assets and then all of the public digital media assets are all out on the Tesla chain The connector that Dennis will walk you through is kind of how we make that all possible We are continuing to work on multi-chain approaches We're talking to some other chains now about how we might be able to onboard them as well as expand some of the EVM Connect capabilities the the Ethereum connector that's already in the firefly community And the whole point of this is the easy on ramp to web3, right? That's why one of was built and it's why one of B2B technology Continues to use this so it's subtracting away the complexity You know from everything from log in to be able to use a username and password or an OAuth provider or social media login in the Warner media case that's Spotify To be able to do that and Create the all of the necessary wallets and interconnects in the back end and make the user not need to know That it's done or why it's done just that they have an account on here that is an easy web2 approach to Create their account and we handle all the web3 stuff in the system So for Warner's specific use cases are all custodial wallets, so we create them and hold them And again the user doesn't need to know but in the future when they want to export an asset Say on the public chain on the Tesla side Enabling the ability to do that easily and put it into their their wallet or even take their wallet out of our platform Which is a functionality we will support in the future when we have a client that wants to do that And in order to make all this work in the multi-chain world and again get rid of complexity that's why we chose firefly and You know it is really powering the majority 90 plus percent of the use cases across the platform today As I mentioned instinct tools is our solution partner for this and Dennis was their key resource that we brought on board to make all this possible So with that I will hand it over Dennis and let him talk about the approach and the stack Sure. I think I will show the screen from here. Okay. Yep. Absolutely If they'll let me start Yeah, there we go. Nice So Our metap agenda comprises three key points Firefly power young I know many of you are familiar with firefly But I want to make sure everyone has a surficial view of the project So I'll start with a few words about firefly Next we will explore the fireflies tech architecture I'll break down how we've structured the application discussing key components and technologies with employed and Lastly will prop up with a demo of the firefly stack which interacts with smart contract deployed on the desert chain in action Discussing key components and technologies with employed So What is firefly, let's take the definition from the official website Hyperlogic firefly is the first on Hyperlogic firefly is an open source super not a complete complete stack for enterprises to build scale secure web three applications In other words, it's a platform which provides you a set of APIs for digital assets data flows and blockchain transactions and Makes it radically faster to build production-ready apps on popular chains and protocols So where does firefly sits in terms of organization and the business well Firefly he described as web three gateway So you can install the firefly within and within your organization and use it to run The private blockchain between the organization which agreed to collaborate in a consortium network and perform business transactions Or you can send and manage the transactions on the public chains interact with defy daos and other chain Related stuff without tools like hyperlogic firefly interacting Integrating blockchain technology with applications can be complex and costly it often involves Writing complex technical code that doesn't directly contribute to the business value of a project But can be expensive to create and maintain if built from scratch so As we can see here firefly provides a set of pipes and connections to different things like Message buses and event manager and all that that kind of stuff Which sits between the those layers that lets you to build a really robust enterprise web three app That can scale and is secure and it's ready for enterprise production So it allows developers to focus on the things that bring value to the business and solve their business Problems and then they don't have to spend time Thinking about how to bring all those pieces together This is a logical architecture of the firefly. Let's take a very brief look at it It consists of two main parts which are firefly core This is an orchestration engine it orchestrates transactions across the block chains shared storage or private data exchange This component is blockchain agnostic. So If your organization is going to work with different chains blockchain connectors common to play Blockchain connector, that's a service which handles blockchain specific operations such as nonce management Transaction building even processing and so on Currently a firefly supports connectors from or for evm chains hyper ledger fabric and recently for tesis as well So if your organization is going to work for example Polygon fabric and tesis chain at the same time You need to set up all three connectors accordingly as part of the firefly stack Before we get to the demo. I want to mention one really cool feature Which we will actively use during the demo is that firefly lets you to build http apis from the smart contracts So for example, we have a web 2 application and we want to call the smart contract deploy it on the blockchain Or for that, we just need to define a contract interface in the form of ffi It's firefly interface format, which is blockchain agnostic and specifies methods and events of smart contract And generate contract api based on that interface Keep that in mind So, uh, it's time to show a demo first We will set up the firefly stack Then we will generate a contract api based on a provided contract interface and after that We will call the contract contract and try to min some tokens Here is the architecture for our demo setup Here we see Firefly core, which I mentioned before it's an orchestrator and provides a set of apis for use by our client Also, we have tesis connector, which builds the transactions to the blockchain and processes responses Also, we can see here such thing as a signatory. It's a service Uh, that's allows us to sign the transactions that comes to the blockchain Uh, so yeah, uh, and it supports uh integrates with many, uh, key management systems such as aws, azure, gcp Uh, ub hsm ledger and so on you can see the full list on their website And also it supports such thing as local signing when, um, you have the public private keys store it locally And it's not for production use case, but it's good to test your things So we will use that, uh That way to Set up in our stack so, uh Let's let's start from running the signatory service Uh Let's open their website. It's sanitary.io Get started So we can choose the option local private key So to run setup and send transactions locally, we need to create two files called signatory ammo That contains the all the information about the service and here we see The type of the storage it's local secret the file pass secret json, which contains the data about our keys and here we see the test account which We are going to use to sign the transactions And below we see the types of transactions which Could be signed by this account So it means that It it it can sign the service will sign only those types of transactions, not the other ones So the full list you also can see In their documentation And the second file is secret json as I mentioned before it contains the keys for our account So let's create those files I did it in advance so we can print the content of the files Here we can compare and see that It's similar but here I'm pointed Then you created account For local signing we can just create an account by using the browser extension For example temple. It's like The same the same extension as metamask but only for tethys so here we can just Create the create the account and type the account name So I've created one for demo purpose. It's here As we can see the address The address is the same So when we run this uh when we See the status also, let's see the secret json file So here is the address of the account and the private key So don't take a screenshot. You just test the account. There is no money And after that we can we can run the service with this command So I'll do this Let's see the docker ui. So the service is up and running now. It's ready to sign the tethys transactions After that We need to set up the rest of the services As relates to the firefly so we can do this Uh using the utility thing as firefly cli So it allows us to run the whole stack Uh in docker. So it's really convenient thing and we will use it to run our stack So let's do this For that we need to type ff in it There's us its name of the chain Uh also stack name demo One mean one instance of the service and then we need to provide the connector config file Which contains the information about our Remote signing service which we configured before So let's see the I've created the file. Let's see The content So the content of the file rpc it means the address of the node which To which we are going to send transactions Uh type of the network is cosnet. It's testnet of the tethys chain And the address of the signature service. We run it in docker So we can call it by name and the port is six seven three two And let's use this config file Now our configuration So we've initiated the stack and now we can run it As you can see now it pulls all the containers and started the configuration So we can wait a minute Really, it doesn't take much time It's there Uh, it's up and ready. So as we can see here, we have the link to the UI and API So as we can see here, there is API was generated By our firefly core Uh With this API you can do many things such as Uh Say send the transactions to the network read them create the networks And Message to other organizations and a lot of stuff So uh now we want uh to Call the To call the contract first we need to generate the API So let's first see our contract and deploy it on the tethys chain Uh, I did it in advance. So it's blockchain explorer We can find our contract It's here So we see the contract It's the similar to ethereum ERC 721 So it also contains the Such stuff for meaning tokens as as mint You can post contract burns some tokens destroy conduct and so on And here we see the storage. It contains the global variables That contains state of the Contract So as we can see here, we have admin address See the flex that it wasn't destroyed the last token ID. We didn't mean Yet nothing. So it's zero and Yeah, uh, so to generate the API for this contract. Let's open the documentation Of firefly Here we see the section tutorials work with custom smart contracts and here is the desert section So, uh, let's start from the beginning here I mentioned the contract deployed Section how to deploy the contract so we can skip that part The firefly interface format This section will contain the information how to build the Firefly interface format for the contracts. Uh, it's In progress yet, so it will be there soon. Uh, so in advance I prepared one so we can skip that that part for now The next step is broadcast the contract interface To broadcast the contract interface We need to send to use this address and send the Firefly interface of our contract that will be broadcasted to the firefly network So let's do this Uh for that I will use Postmon we can use slugger ui, but what's one that's just more convenient for me So I will use that one. Uh, so we see here the overall Contract interfaces Contract interfaces, right So namespace hold name. Let's call it demo version And here we have the firefly interface So, uh, let's for example see the burn method. Uh, it just accepts the array of Uh, IDs token IDs that we want to burn for Destroy it doesn't accept any parameters for mint. We have two parameters ovenure that contains Ovenure of the token that will be minted for the token and Array of the structures that contain token metadata and token ID Talking metadata usually contains the ipfs orl That contains all the necessary information about the token such as token name Or maybe orl to the picture and description and so on So, uh, as we defined the contract interface, we can broadcast it So let's do this And in response we got the interface ID Let's go to the next step When we have the contract broadcasted contract interface, then we can create the htcp API for the contract Using this interface for that we need to use this address and Point here Our interface ID that we generated before and the contract location To link those things together So let's do this Create a htcp API Demo API Interface we can take from here And contract location. Let's take from here and So as we can see its success and here we get the Address of our swagger API. So let's open it This is the API that was generated for our smart contract. Here we have two types of Requests such as invoke and query invoke requests usually You should call when you want to change the state of the contract query To get the data from the contract without the change changing the state In this demo, we will We will use invoke mint methods to mint some tokens. So, uh, yeah And we have this, uh, URL to get the request So let's do this Mint So as we can see here We need to mention APIs our interface That we have created here Demo API name Then invoke method and then mint And also there is a flag confirmed through if we want to do this in synchronous way and wait After the transaction was confirmed in the chain So, uh, then we need to mention here to pass here owner of the token for That will own the token Also, there is token ID and token metadata token metadata as I mentioned before Usually it's ipfs URL here we can use just Random data So let's do this token idea first second because The last as we can see here last token idea Zero so let's do this in order so we can actually mint With id 10 and 11 we just skip some some tokens, but it doesn't tend to So and here we have such option as key Key we need to mention here Uh, with which account we are going to sign this transaction We've configured our signage service Uh for signing transaction By this key so we can we can check it again So there is configuration and the address that we've configured is this one. So we see that it's the same Uh, the request is ready and let's mint some tokens It works. So let's it's x to s as we can see here. Let's see the blockchain explorer Oh, we see the transaction here. Uh, it was minted Uh, and let's see the response There is the input data that we sent before Output it's You know hidders protocol id transaction cache. Uh, actually we can Uh, get get from here just useful. I think it's transaction cash Uh, and to see the more Uh The more information about this transaction We can use another endpoint provided by Our fly core is get operation status So, uh, let's get this operation id And we can call get operation I think can we can Check it from here For the documentation Here I mentioned it So for that we need to call the This api Operations and here we need to pass the our operation id And which status true it means that we will We will get all the information about the transaction including the transaction receipt So Let's get this operation idea Get the operation status collection id And Okay Here we see that it was successful input to the same as with so before Output And here we see the tail section. That's more interesting thing And there is transaction his transaction history From the firefly core And here we see the section receipt So it contains more More information about the transactions Blockchain hash, blockchain number, contract location and How much gas was consumed, how much storage was consumed by this transaction and How much fee did we pay for that and there is an important section such as storage It contains the Global variables as I mentioned before that keeps the state of the storage and we see here that The last token id state was changed to To so let let's open the Explorer and we will make sure that it's true. So the storage To And we also have here Such things as big maps It's also types of the asus variables That contains the data, but they store it There are two types of maps, usual maps and big maps, big maps store it Data in a lazy way. So it just more Consumes more less storage But it's a bit slower to get the data from there And we can see what's inside for example here is map that contains token id and the owner of the token And here's the more detailed information about our tokens, such as token metadata, for example Yeah, actually that's all I wanted to meant to share for today It's been great fun being here. So this connector is in active development We have plans for many features to implement So you're welcome to join our project to use it to make contributions For both suggestions and ask questions. I will be a lot to answer all I can Thank you Okay, Dennis. Well, thanks for that great presentation a lot of wonderful information in there And I think at this point, let's go ahead and look toward the chat for questions that have come in and We can talk about that and then I have a few questions as well. So One of the questions that came in earlier was does firefly enable cross chain transactions? So I don't know if you or anyone want to address that particular one Well, a quick answer to that is no, it doesn't do anything cross chain But it allows you to interact with multiple chains through the same process So If we needed to create something on the private chain and on a public chain We could do a multi step transaction to do that Okay, perfect Curthi, do you have any follow up to that or is that answer your question on that? That's good. Okay, perfect Anybody else have a question they want to ask be a chat or If you want to come off mute and just ask your question directly. We can do that as well So it looks like biata has a question Let's see Thank you. I don't have a question But I'm one of the the Philippines advocates Tezos and I'm I'm really impressed with the presentation. Well done. Well done, Dennis And yeah, if anyone sorry, my dog is like barking So but if there's anyone wanted to ask any questions about our blockchain, you're more than welcome. So, yeah When we we're on discord all the time. So Yeah, feel free to ask us any questions It's nice. Yeah, when you're talking about discord, are you looking at a specific channel for tezos? Or are you looking at discord being another channel within the hyper ledger ecosystem? um, yeah I was thinking about tezos blockchain server and there is like a specific section for technical people deaf talk and deaf help Feel free to check any questions there But yeah, I'm quite new to the ecosystem and I'm more than happy to join your discord channel So if I'm going to convince my Colleagues to to jump there as well. And if you have any questions about our blockchain, we're going to address them Up there as well Okay, perfect It's definitely good to have someone from tezos on and I know a lot of the foundation guys support us. So We we've gotten I saw one of the questions earlier Like we got a lot of support from them as far as As what you know, they're backing and making sure that we understood where we were Luckily, we had Dennis who was able to jump in and and sort most of that out for us. But yeah, when there was questions There was always quick answers Yeah, and that's wonderful and you know what I think is good about the open source community is It's welcoming You know from a global perspective and I know that Firefly was originally focused mainly on ethereum And it's good to see that tezos has been added as an additional token that it really connects up to so Yeah, I wouldn't have in the fabric and ethereum, you know multi-chain site already available there for public and private Play and then us adding tezos to it just continues to grow the capabilities and Firefly has been a great project from the beginning that Nico especially over there has been super supportive and obviously the entire maintainer team and then welcoming Dennis from You know our effort on to their maintainer group has been a a big plus for them Yeah, that's perfect And it looks like david's gone ahead and posted the discord channel for hyper ledger On there. So anybody who wants to jump in and Yeah, if you want to jump in there and engage with the community as well, that'd be wonderful Yeah, there's a firefly channel on there where nico answers a lot of questions And I know Dennis is active on there as well. So Yeah, and I can uh test that it's very active And very responsive as far as anything in the hyper ledger Discord channels Okay, uh, so then the question that I'm going to ask you is Why tezos for your implementations and maybe you can tell us, you know, was that around the cost The speed of the network or what were the main things that? Drift, you know drove the project in that direction Yeah, I mean so tezos foundation was an early supporter of one of right and going live with the Assets around creators and all the digital media stuff and there's been a you know lasting relationship since the very beginning of the one of side Because of the fact that there's a lot of creator Capability and the fact that we continue to push for making sure that you know We have royalties and everything tied to the creators and even with like the release release of creator meant Recently to allow independent creators to come on the platform And create their own nfts and monetize those it's always been For one of about the creator and about the artist and and making sure that they're protected And part of that, you know tezos has been very key From the digital media side Being able to make sure that that was in place and that it was respected and so You know a lot of the the labels and the artists you want to go down that path and you know to protect their assets as they should Um, so us us being involved with tezos was not really an option Right is something we were going to do because of the way it's heavily embedded in the system and then making this available on fireflies because As we roll out this new b2b platform from the one of side and we on board You know, I came in from an acquisition of tap networks, which was a loyalty platform and making that part of a b2b solution Not just the b2c one of portal Tezos is a key player in both, right? So warf has all of their digital media assets that are public on the tezos chain And and so it was a no-brainer for us to build this and support it Okay, and we got another question in the chat that says what information Uh, did you need from tezos and firefly to connect create the connector? All right, I maybe can hand it over to denis if you want to speak on what you needed, but I mean, I can speak to some generalizations. If not What the information actually, um Yeah, the tezos chat was really helpful with tezos communities to answer some questions also like a lot of research and Firefly documentation and firefight Uh, this core channel was really helpful. There are a lot of great maintainers that answer all of the uh, all the questions almost at the same day. So it was really, uh And it's really it was really great to Support this project with such a good community. So yeah Hope answer the question Okay, perfect Okay, perfect uh, let's see The other questions i'm seeing if there's any other ones here Here's one from edgar that might be a great question Do we know why warner decided to put their digital assets on the tezos blockchain? And it's kind of goes back to what i was talking about is it speed cost or it sounds like, you know Familiarity with the platform and already You know, you had done some adoption there. So maybe you want to Well, obviously Warner was an early supporter of one of And as I mentioned tezos was an early investor and supporter as well so That conversation came together originally as I said really about The artist and and protecting their assets and their ability to get royalties and to not have You know their their art be taken Without them being properly compensated for it. So it it came down to that from the beginning cost obviously Like one of has some proprietary minting capabilities that we use to Minimize cost when the initial releases are done and then generate the actual asset when it's Purchased so there's a lot of things that that has supported for us The the power mint technology that that you know, we've kind of pioneered and some other areas, but Yeah, it really came down to just the the interest of the community and the the tezos foundation to make sure that artists were protected and Warner having that as one of their primary things being one of the You know three largest labels in the world When it comes to the media assets and you know, it's it's about protection. It's about The the chain support for us continuing to move down that path and making sure creators get The the rights and the payments that they deserve off of the art that they've created So, you know, just the opposite of us open sourcing this because we wanted it to go to the community People who own ip need to be protected as well, right and their their ip being protected whether it's art or media or You know code doesn't matter right if it's ip it should be protected and the people should be compensated properly for it And then for those that generate from the community, you know, that's That's just an open exchange of value and this is kind of the two coming together. I think Perfect. Yeah, and I and I took a look at at the wmg rewards website that you put together And it looks very nice and it looks like there's also collaboration with Spotify on the account login so Maybe you can talk a little bit about how that tied in for you Sure. Yeah, so So with with Warner right one of the most important things is for their artists To be able to get recognized and to look at how they trend and how they chart and So part of what we do with the badges and all that on the reward site Is that people get badges for you know sharing content early or saving and following artists For the the work the track the early viewers right and and there'll be new features coming out on this every week essentially for the next couple months This week's features were released but not published yet. They'll be published. I think tomorrow to be able to not only do the save and follow on the tracks and artists bit but to be able to look at albums and and You know, there's a new games Games of chance on there to get opportunities to enter into sweepstakes to win tickets and experiences and all that But that's that's kind of part of this is getting it Out there getting an integration right that we use Key cloak as our authentication component another big open source project that we support And that that gives us the ability to add social providers as well as use third-party O author SAML providers to add a way in as well as the username password easy button right that everybody knows so Part of warners is like let's get Spotify as a social login opportunity So that we can automatically link somebody's account and when they save and follow it matters right because they're a premium account Or if they don't have one allow them to create an account and get engaged with Spotify so they can look at warner's artists and be able to you know recognize the The artists or the the tracks or you know the albums that they listen to in a way that helps the artists by pushing them up and Helps the person by winning a badge to say hey, I'm I'm Lizzo's biggest fan Right. That's that's kind of how that that came to be Yeah, that's perfect. And we were talking about badges at the beginning of the session here And I know you've got a good section on there about redeeming badges So you maybe want to talk a little bit about, you know, how warner's using those badges in the ecosystem and You know going in and redeeming and getting those as part of your profile Yeah, so the first the first thing is, you know, there's there's You know by saving and following you're earning a set of badges around that artist and then you can redeem those You know to like the Lizzo and a couple others you can redeem, you know for the women in hip hop badge and that kind of becomes a Badge of honor thing. There's another level that's coming out over the next I think it's two or three weeks away But there's a whole another level that's coming out where you can get some of those badges and those badges will give you unique experiences or unique entries into an experience If you look at the sweepstakes that is Have on there you can you know try to get tickets There's some VIP experiences that you're only going to be Able to enter into that VIP experience if you have a particular badge for that artist or that genre There's a couple festivals that warner is heavily involved in over the next couple of quarters Where in order to get tickets and enter into the sweepstakes for that festival You have to use a token that you've got for doing an action on the platform But also you have to have a certain badge that's token gates the entry into that sweepstakes to say, you know, you have to be I'll use Lizzo again because everybody knows that is but you know, you have to be a Lizzo she has to have saved the Track and you know to have a follow on her platform But you also have to say have the women in In hip hop badge and you have to have a special edition badge That will be available from a later challenge in order to be able to combine those things to be able to get an entry into an exclusive Right, you get a sweepstakes for getting tickets But then this is a VIP experience where it's a backstage or it's a first row or or one of those kind of enhanced experiences And that's kind of where this is evolving to right that set of badges and showing that you're actually a fan And that you are following and listening to their music And even you know some of the string getting of hey, I actually went there and played the song I didn't just click the button and say You know save the track But I actually went to spotify site and through a deeper api integration You actually played at least the first half of of that track so that we know that you really are And not just clicking the button and trying to game the system Yeah, that's perfect. And do they see an evolution here where you know, I know a lot of the concert ticket resellers you know Get all the tickets sucked up and then the individual fans don't have access to them So do they envision this platform as being able to make Tickets available to real fans versus resellers and consolidators in the ticket world That there are certainly a lot of conversations about where this kind of Evolve The the labels do maintain a certain number of tickets Right as a portion of this and making those tickets at least available through the sweepstakes and those sort of things Where you know that it's a fan, right? That's that's the first step down that path but there's uh, you know our Our svp of partnerships posted something about live nation and how to improve their rewards experience by You know gating some of this stuff. He posted on linked in this past week. Thomas fist is his name He's on our side. He's He's posted some stuff about how live nation could improve things, right? but there's a lot of others, you know the the ticket players in the world that You know, maybe the the guy who clicks the fastest shouldn't be the winner It should be the person who actually is the fan and you know, you should hold back some capability for those fans to make sure that they get that experience in taylor swiss an awesome example of Fans paying 10 and 20 thousand dollars for tickets just to go see him because their daughter wants to see the show Right versus like if you had some guaranteed reserve tickets that are for real fans who have had a Past experience of saving and following and listening to their content That's probably a much better Person to sell that ticket to them the guy who's going to resell it for you know huge profit. So Yeah, that's great and i'm looking forward to seeing that evolution take place because You know doing some fan protection and fan offers will be a great Give back to the community. Yeah Um, one of the things that I also see in here, which is super relevant always in the blockchain space is Is a question from edgar in the chat that says how would this scale if 50 of spotify users Signed up tomorrow for The warren and music group rewards program and and really, you know, how do you take on volume is basically what they're getting at Yeah, so I mean it's all designed to scale from the beginning, right? So the entire platform is modular And it's designed to scale from the beginning everything from the firefly connectors to Being able to scale out the actual blockchain the fabric blockchain on the back end Being able to scale the kafka Layer that's in the center that does all the communications and event messaging and brokering I mean so every component is designed to scale now I hope 50 percent don't sign up in the same day because Like that's going to be a horrible especially not if it's tomorrow because that would run my weekend but It is designed to scale and add components right everything that we've built into this platform Is designed to scale up and with some of the firefly features that are coming out over the next couple of releases They'll have some high availability and scaling features built into that as well Which will help us a lot in that space rather than having to break things out to be able to You know deploy a highly available firefly Instances like that's one of the core things that we're looking at we might end up having to You know jump in and help them get some of that stuff move forward faster if this really does grow that fast But I mean we've handled You know a thousand three thousand new users a day Um on this platform as it's ramped up So i'm not worried about where we are now and with we use oracles blockchain platform for fabric on the back end So, you know that's easy to scale like you go and click a couple buttons and add more orders and peers and you know re-change the configuration to redistribute the network We our user system already supports tens of millions Of users as a capability. So again not too concerned about that. So it's really just going to be about You know if the volume happens quickly Us having to scale faster than we would like but everything we built is all automated from the beginning all of our infrastructures terraformed all of our Code is all insubilized. Everything is get hub action deployed. So if we have to scale up, it's built to do that from the beginning Perfect. Yeah, that's a great thing to hear and good answer So one of the things I'm always interested in is making sure that we're building the community and getting more people involved So Dennis and eddie, what would you recommend if somebody's attending the session today or watching it on the youtube channel? For engaging in either firefly or working with You know seeing how they can connect tezos Into firefly and use it for their blockchain deployment. What would you suggest? Well, I'll go first and then hand it to Dennis in general I would say, you know the the discord for hyper ledger foundation is amazing place to start It's linked in the chat. So you should be able to get there pretty easily Right, but there there is a lot of resources there. They're always willing to jump in and help I mean even people outside that just use the community will jump in and talk about how they use case rule that results and success versus others but I mean, I think that discord is a great place to start. There's a bunch of presentations on the hyper ledger foundation's Site talking about how to get involved and where things are. There's a number of Different people who are super active in the community. Like I just did a birds of a feather thing forum in amsterdam popped over to amsterdam for a couple days at the Blockchain expo over there tech x so that we could do a quick birds of a feather thing for the hyper ledger foundation folks So, you know always there's some of us that are always willing to do that Okay, great. Dennis. What's your thought? Yeah, I totally agree with it. If if someone wants to contribute to the project The discord chat you can ask something about connector as recently it's already in hyper ledger repository So you can open pull requests create issues if you have back if you found some bugs you can I'm finishing working on the does connector documentation to to make it easier to jump in into into the Into how to use the this connector and Deploy the contracts and call them and so on. So I I'll be really glad to help so you can you can ask your questions perfect Here's one that's not really fully related to the presentation but maybe eddie if you want to jump in and just respond to this one is we got one that's asking about Explaining the difference between a graduated versus an incubated. I'm sure they're preferring the hyper ledger labs type project Yeah, so firefly has been incubating since this beginning right There's a couple of key components that right one is they have to be mature enough They have to have the test coverage you have to have all the developers signing that there's there's a whole bunch of steps in there Which are well documented in the foundation But two is they also it has to not just be one group of contributors from one Company right because then it's tied to a commercial entity and that puts the project at risk So one of the the key factors outside of just getting all this stuff done was adding someone like Dennis who's from an outside organization rather than it all being The the folks from collido who built and open sourced the original firefly project Right. So one of the key things is having outside committers involved That are you know maintaining the project outside of one commercial entity So there's a whole bunch of hoops that they jumped through Since they started to make sure that they had all the things that were necessary to be an accepted project but that is how you graduate to a Main project rather than being an incubating project within the hyper ledger foundation because there's tons of docs on this if you want the details Perfect Uh, and then we got another question about are there any plans to develop any other connectors beyond what you talked about here with tesos From our side not in the short term Most of the other public chain work we do is with evm compatible change and the existing connector does that There is discussions with some other chains that Are not evm compatible that we may be working within the future for some of our clients And if we do again, we'll jump in to make sure that those connectors Are published where you know, we're talking five months worth of work to get from where we started to where we are now So this is not a not something you just pick up and do quickly or without thought but yeah, if there's You know, if there's one of our customers who wants to go to another chain, we would certainly take this on again I know there are some other people in the community that have reached out to me That are looking at building a connector for other chains outside of these and You know, we'd be happy to support that as well and help them to move along in that process So if you're thinking about it reach out, I'm happy to help you and and you know get the resources you need and You know, I'm sure dentists as a maintainer and all the other maintainers are certainly willing to help As well to push this along like they did ours Yeah, that's perfect. And I think that's always, you know, the way the open source community works is somebody who's willing to jump in and Do something the community will welcome it Yeah, okay I was at a company I couldn't contribute back to 25 years ago But I wasn't allowed to contribute and then somehow there's still some of my code and hctpd So, you know, that there's always a way to make that just happen Understood eddie I'm just gonna post in here. We have also the start here page for hyper ledger And that's a great place if somebody's new to the community and just Join the session here wants to learn more about hyper ledger. You can go there and check it out And uh, I say we're at the top of the hour here And gentlemen any final comments? I really appreciate the session today. It was wonderful and I'm really glad to see the growth of tesos and firefly So Dennis eddie any final comments for us today? Uh, no, I don't think so. No, it was great to be here again as always No, we got another one coming up soon on our did and vc stuff. So, you know, definitely It's great to be part of the community Yeah, we appreciate all the hard work. Yeah, Dennis. Let's go ahead. Yeah, I just wanted to mention that it was really fun so, uh, yeah, and thank you for coming and We'll be glad to help Great. Yeah, well, thanks for your time and for sharing Okay, everyone. We'll have a wonderful day and thanks for joining the session. We look forward to the next great session around uh, what tesos and firefly are doing in the next session we have coming up Sounds good. Thanks everyone. Have a great day


We're trying to look at more complex communication signals than we've seen examples for. So we saw some examples with just single sine waves and now we're starting to work in and see we saw some examples where we add two sine waves together and it gives us a slightly different shape. And in general any communication signal, however complex it is, a key point is that we can decompose that signal into the summation of sine waves. So that's a key point in especially analyzing and designing signals. Think of anything, any shape, any periodic signal can be broken down as just one sine wave plus another plus another, some combination. And the example we went through, we started with a simple sine wave, we added another one and we get this other shape which we'll see in a moment. Then we added a third component, so I refer to those individual sine waves we add together as components. We added a third component and a fourth component and we saw the shape changing and we eventually got to, where was it? We started with a single sine wave, we added some, a second one, we haven't drawn that here but we added a second sine wave and we ended up with this red one. So we generate a different signal. And then we added a third component and we got this one and then a fourth component, so four sine waves added together, the signal four, we got this one and we said that if we keep going and there was some pattern there in adding components, this one had 30 components, 30 sine waves added together. And the point is that we're getting close to a digital signal, a square wave. And in theory, if you keep adding components following the pattern that we were following, it would become a perfect square wave. That is, these offshoots would not be here, it would be perfectly straight. Why do we do that? We'll now go backwards. The point is that given some signal, say a square wave, you can break it down to just the summation of sine waves. And each sine wave has a peak amplitude and a frequency and that's what we're interested in. Component sine waves that make up this signal, what are their peak amplitudes and frequencies? Any signal, doesn't matter what the shape is, we can just decompose into summation of sine waves and then for each of those sine waves, look at their peak amplitude and frequency and that's of importance to us and that's what we're getting to now. So a signal made up of component sinusoids or sine waves, easier to say for me, a signal made up of summing sine waves, those series of sine waves, we can look at different characteristics of them. We'll often look at the component which has the lowest frequency, maybe component one is 2 hertz, the second one is 6 hertz and then 10 hertz. So we talk about the one with the lowest frequency, 2 hertz and often those other components may be a multiple, an integer multiple of the first one. So we'll see in our examples that the component with the lowest frequency will refer to as the fundamental frequency and the components which are integer multiples of that fundamental frequency will refer to as harmonic frequencies. And because a signal now is made up of summing multiple sine waves each with their own frequencies we refer to that set of frequencies in the signal as the spectrum of the signal. So when we come back to our examples we'll see if a signal has components with 2, 6 and 10 hertz, the spectrum of that signal is 2, 6 and 10 hertz. It contains three components with those particular frequencies. And the width of that spectrum ranging from 2 hertz up to 10 hertz will refer to the bandwidth of the signal, so 8 hertz in that case. So these are important characteristics which are going to be useful when we look at real communication systems. And we've plotted our signals in the time domain where it's a signal amplitude versus time, that's the plots that we've seen all the time, but we can view the signal in the frequency domain from a different perspective. Because now we know the signals are made up of adding sine waves each sine wave has a particular frequency and a particular peak amplitude we can plot those components of peak amplitude versus frequency and that's a signal plot in the frequency domain, not versus time but versus frequency. And it turns out analysing designing signals in the frequency domain is usually much easier than in the time domain. It tells us some quick information about the signal of interest. So let's draw those plots. We started last lecture but let's continue and complete the plots of our signals in the frequency domain and then we'll look at the last set of characteristics. So this one, let's start with this one. I think we draw it but we'll draw it again. This signal, S2, you have it, so on your handouts it's this page. We have the signal equation. It was 4 over pi sine 4 pi t plus 1 third 4 over pi sine 12 pi t, two components and the characteristics of those two components, the amplitude of the first component is 4 over pi and the frequency was 2 hertz. Remember this general equation, 2 pi f t. We have 4 pi t, so f, the frequency must be 2 hertz. The second component has one third the amplitude of the first, 4 over pi times a third and a frequency of 6 hertz, 12 pi t implies f, the frequency is 6. So this is the plot of the signal in the time domain. Now let's plot it in the frequency domain and we did it before but let's do it again and you can draw it underneath here on this grid. Let's see if I can draw it. There's our axis and this is what we say the peak amplitude on this axis and we write it as uppercase s as a function of frequency and here this axis is not time but frequency in hertz in our case. So our signal has two components so we look at the peak amplitude and the frequency of those two components. Let's give some scale to this so let's say we have 2, 4, 6, 8, 10 and we may keep going. That's the frequencies and the peak amplitude let's say this point is 4 on pi and a third of that which is about right here is one third of 4 on pi. There's our axis let's draw our signal so our signal in the frequency domain we just draw impulses for each component where the impulse is at the frequency of that component and the height of the impulse is the peak amplitude of that component. So we have two components back to our equation. The first impulse is at frequency 2 hertz amplitude 4 on pi the second impulse is at one third 4 on pi frequency of 6 hertz at 2 hertz and at 6 hertz and just draw the dot there to indicate that's an impulse. There's our plot finished. It's just a different view of the same signal. Here we have a plot versus frequency and the one above is a plot versus time and the third representation is the equation. So we can write that signal as an equation, we can plot it in the time domain or we can plot it in the frequency domain. It's all the same signal. Why do that? Why plot in the frequency domain or why look at it in the frequency domain? It turns out it's easier to analyze and to design and to extract the key features of the signal and we'll see that shortly. Well we can see it in this example. Let's say in the exam I give you this plot. You don't know the equation but I give you the plot. I ask you to write the equation. Given the time domain plot write the equation for the signal well you need to work out how many components it has and for each component the peak amplitude and the frequency. It's not obvious from here. It's not obvious if you don't know the equation in advance what are the peak amplitudes of the individual components and what are the frequencies of those components. So that would be a hard exam question. But an easier one would be if I gave you this plot and I ask you write the equation for this signal. Well you'd know that this equation has two sine waves added together because there are two impulses. The first one would have a frequency of two hertz, the second one six hertz and you know the peak amplitudes of those two components. So you know A, you know F and you don't know anything about the phase so maybe you would assume the phase is zero. This doesn't capture the phase in the plot, it only captures the amplitude of frequency. So this one is easier to work back to the equation than the time domain plot and that's generally what we deal with when we look at communication signals, the frequency domain. But the other characteristics we can see from this plot, what's the spectrum? Actually let's start, what's the fundamental frequency? What's the fundamental frequency of this signal? Well we said it's the lowest frequency or another way we can think of it. When we have multiple components we have one frequency and the others are integer multiples of that one, then that one frequency is the fundamental frequency. So we have two hertz and six hertz or two hertz and three times two hertz. So we can say the fundamental frequency is two hertz and the harmonics, there's one harmonic in this case, harmonic frequencies in this case six hertz. The spectrum of this signal is the range of frequencies inside it, so we'll just list them, two and six hertz. So think of the spectrum as a list of frequencies. And the bandwidth is the width of that spectrum, the maximum minus the minimum. Those characteristics, especially the bandwidth, that's a key one of interest, is easily obtained by looking at the frequency domain plot. Bandwidth, just the difference between the minimum component and the maximum, four hertz. So you can quickly see the bandwidth from the frequency domain plot. Using those characteristics from the time domain plot, not so easy. Although one thing that we can see in the time domain plot, the fundamental frequency is two hertz. So the resulting signal, we have two components, the resulting signal has a frequency of two hertz. Let's look at the time domain. A frequency of two hertz means a period of one divided by two seconds, half a second. Is that true in our time domain plot? The period, the signal repeats every half a second. So that fundamental frequency tells us the frequency and period of our resulting signal. Let's continue and look at the frequency domain plots of our other signals. So complete them. I think you can try for signal three and four at least. I think maybe you did it last lecture, but just complete the frequency domain plots for the last two examples and also list those four characteristics. The frequency is the spectrum and the bandwidth. That is, you've done it for signal two. Make sure you complete it for signal three. Draw it here. List those characteristics. Signal four. As you can remember the pattern, the equation we went through. For the signal and the frequency domain. You could even try for signal 30. Maybe you don't want to draw it, but you could maybe calculate the characteristics. Signal three I think we did last week, last lecture. Do we have it? Right. We've done that. Signal three. Three components, frequencies of two, six and ten hertz and the peak amplitudes one times four over pi, one third times four over pi, one fifth times four over pi. The fundamental frequency, they're all multiples of two hertz. Two hertz, three times two, five times two. So when we plot in the frequency domain, three impulses at two, six and ten and the corresponding amplitudes. Fundamental frequency, I will not list the harmonics, we just list the spectrum which contains them and the bandwidth. They're all multiples of two hertz so the fundamental frequency is two hertz. The spectrum is just the range of frequencies, think of it as a list. And the bandwidth will be eight hertz in this case, the difference between two and ten. So we talk about, we say that this signal occupies a bandwidth of eight hertz. It uses a range of frequencies which is a width of eight hertz in this case. The previous signal, the red one, occupied a bandwidth of four hertz. And that will be a key characteristic of communication signals, the bandwidth. Any questions? Find the bandwidth of the signal four. The fundamental frequency in this case when all the components are integer multiples of one frequency, then that's the fundamental frequency. So in our case, they're all multiples of two. One times two, three times two, five times two. Two is our fundamental frequency. They don't have to be integer multiples of one of them. So in the examples we use, they are, but they don't have to be. Yep, sorry. The harmonics are the other ones. So the fundamental is two, the harmonics are the six and ten in this case. They're the multiples of two. So we can say that two is the fundamental frequency. If you look at the plot in the time domain, the frequency is two hertz. The harmonics are those other frequency components, six and ten hertz. But I'm not so interested in the harmonics in here because that information is captured in the spectrum. Remember that this time domain plot was created from adding three sine waves. The first sine wave, the very first one that we plotted, had a frequency of two hertz. And the resulting signal also has a frequency of two hertz. So it matches the first component. The other two components, which have a signal of six and ten hertz, cause these small deviations at the top and the bottom. Any other questions? The bandwidth is eight because we define the bandwidth as the width of the spectrum. The spectrum is the range of the components in the signal. So it ranges from two up to ten. Ten minus two is eight. So that's the definition in this case of the bandwidth of our signal. We'll soon see why it's very important. It's a key characteristic of our signal. Find the bandwidth of signal four. I'll let you plot it, I will not plot it. Signal four, and in particular find the bandwidth. And maybe also the bandwidth of signal 30. Signal four, I didn't write the full equation, but it had the first three components plus this fourth component. I will not plot it, but the characteristics, fundamental frequency, we had two, six, ten, and fourteen hertz. They're all multiples of two. The spectrum, two, six, ten, and now the fourth component, fourteen hertz. And the bandwidth, it goes from two to fourteen hertz. So a bandwidth of twelve hertz. You can plot those four impulses as well. And the bandwidth of signal 30, anyone calculate? One hundred and sixteen. The harmonics, so in this case the fundamental frequency is two hertz. The spectrum also contains six, ten, and fourteen. So the harmonics are six, ten, and fourteen. The others. First harmonic, the second harmonic, and the third harmonic. So six, ten, and fourteen are the harmonics. The key things we're generally interested in are the fundamental frequency and the bandwidth. The bandwidth will have an impact upon how good the signal is, the quality of the signal, and how much data we can send. And the fundamental frequency or the frequency of the signal will have an impact upon how that signal can propagate through different media. So you should be able to plot our signals in the frequency domain. For simple signals you can plot in the time domain, but maybe that's not so easy without a computer sometimes now. But you should be able to take a signal equation and plot in the frequency domain or vice-versa. Given the frequency domain plot, write the equation. And answer questions about characteristics like, what is the bandwidth of this signal? Simply from the frequency domain plot. Where was it? This is just an animation I'll go to from Wikipedia that shows, tries to illustrate the changing from time domain to frequency domain. Maybe I'll bring it up tomorrow. Makeup we'll discuss later, let's see if we can zoom in. So we have a signal in the time domain, the red one, we can think of it as made up of multiple components. This one has six components. So if we look at those individual components, look at their peak amplitudes, we can plot them in the frequency domain. So here's our frequency domain plot, the six impulses. So we'll let that loop through and it'll come back. This is just trying to illustrate how we convert from time domain, a signal with six components. We look and extract those six components, six sine waves. And then we can plot them, if we look at those individual six sine waves, we look at the frequency of each component and the peak amplitude and they give us six impulses. And that's our frequency domain plot. So that just tries to illustrate that step. Let's finish on our examples. This signal, S30 had 30 components. So the first component had a frequency of two hertz, so same as before, two, four, six, ten and it kept going. If you follow the pattern it will go two, four, six, ten, twelve, fourteen and so on. And there's 30 components, so you find the 30th and find the bandwidth. This signal would have a much higher bandwidth than the previous ones. So now we want to talk about why do we care about the bandwidth. These are just example signals. We can have any shape signal, break it into sine waves, find the bandwidth of that signal. And they're usually much more complex than this. What will we look at? In some signals, or in fact in practice, often there's not just two components, three components, there are many components or an infinite number of components for a digital signal. So when we have many impulses, rather than trying to draw many impulses, we approximate with a line to capture those impulses. I'll try and illustrate that and we'll come back and see what this shape represents. So let's say we have a signal, we will not draw it in the time domain, but in the frequency domain we have a signal, what will we draw? And it has many impulses, the shape of the signal that there are impulses at many different points. And I'll just draw a lot. And note that the signal doesn't have to be just going down like that. In fact often it's mirrored on both sides. So we may have many impulses and similar on the other side. Often the signals we deal with are not just on one direction but they are effectively mirrored on both sides. So this is just approximate, there's no significance to the values I'm using here, just the shape that I'm interested in. So that may be the frequency domain plot of another signal. And if there are many more components, so many more impulses, often we don't plot the individual impulses, we look at the pattern that it forms, the peaks of those impulses. So you can see the approximate shape on this one, it's sort of going very small, it goes up and it goes around and then down. So often instead of plotting just for real signals, instead of plotting just the impulses we'll plot that curve that captures the peaks and that's what we'll see in practice. So again it's just the plot of the signal and the frequency domain but not showing the actual impulses. And usually in practice it will become very, very small here and in some case it will go to infinity but we cannot plot to infinity. So we'll usually have some cut-off and say once the impulses are very, very small let's ignore them. They're very close to zero. And in different technologies they usually define where that cut-off is. Which components are so small that have very little impact upon the signal? The amplitude is almost zero. That's what I've tried to capture in this one, here's just another signal. The blue line instead of drawing the impulses usually we define some cut-offs and say any components less than this low cut-off or higher than the high cut-off let's ignore them. Let's assume that they're all zero just for simplicity and let's focus on the peaks, the high points and use those cut-offs to define the bandwidth. So the bandwidth is from the lowest point to the highest point. But if the lowest point goes to zero or one of the points goes to infinity we cannot work out the bandwidth, it's infinite. So in practice some of the impulses are so low that we can ignore them. So a common cut-off in practice is to say when the impulses are less than 70 percent of the peak the highest point let's ignore them. So these points let's ignore them anything beyond here, anything lower than the low cut-off and let's say the practical bandwidth of this blue signal is from this point to this point whatever the frequencies are. And there's a center frequency, the middle point and we're usually interested in that which is closely corresponds to our fundamental frequency. When we saw the fundamental frequency we really plotted just this half of the curve. Now it's mirrored on both sides. We don't want to go into the details of why we get this and why it's 70 percent but the main point is in real communication signals we can look at it in the frequency domain and usually we can identify approximately the bandwidth. The main range of frequencies used and that's a key point of our signal. And the other key point usually is the center frequency. So the center frequency and the bandwidth of a signal are very important in communication systems. So let's just list those characteristics. So in practical signals say when I'm sending a Wi-Fi signal from my laptop to the access point. If we look at that signal in the frequency domain there'll be many impulses and it'll be very a shape which is not easy to draw but we could observe that. And we'd see that there's approximate bandwidth and some center frequency. So the bandwidth so we define some cutoff frequencies the lowest and the highest frequency of interest to us. The bandwidth is the width between them and the center frequency is the middle point or the mean of those two cutoffs. And another term that we'll introduce is a channel or a communications channel is refers to a medium that will carry signals with a particular frequency and bandwidth. So when I transmit a signal using my Wi-Fi transmitter on my laptop to the access point I transmit a signal with a particular bandwidth and a particular center frequency and we talk about on transmitting on a channel. If anyone's configured their Wi-Fi access point you can usually select an option, channel 1, channel 6, channel 11. So those channels correspond to a range of or a center frequency and a particular bandwidth. And we'll see some examples using Wi-Fi maybe next week or the week after and look at some real signals. Today we focus on the theory. So what we've arrived at going from simple signals of a sine wave, any signal can be created by adding sine waves together and that resulting signal we've arrived at has a spectrum, a range of components and the things of interest of those frequency components the width of that spectrum, the bandwidth of the signal and the center frequency or the fundamental frequency of the signal of interest. Does anyone know the center frequency and bandwidth of Wi-Fi? 2.4 gigahertz. I think some of you if you've used Wi-Fi you may see references to 2.4 gigahertz. That's something the approximate center frequency of the signal that we use. In fact it varies. See if we can find an example. When you connect to a Wi-Fi access point my wireless LAN device on my laptop is using center frequency 2.462 gigahertz. So it's not exactly 2.4, it's 2.462 gigahertz. So that's the center frequency when I transmit. Because I'm connected to a particular, I'm using a particular channel. I don't know the channel number but in Wi-Fi there are usually 11 channels available. Channel 1 through to 11. When you set up the access point you can specify which channel to use and I'm using channel which has a frequency, center frequency of 2.462 gigahertz. So that's the center point. But if we looked at the signal, it's not shown here but if we observed it, it's actually a range of frequencies. It's not just one frequency. It's a range of frequencies which are transmitted. What is the width of that range? It's usually defined by the people who create Wi-Fi and in this case I know it's 20 megahertz. The bandwidth of the typical Wi-Fi signal is 20 million hertz, 20 megahertz. It's not shown here but we can look up that details to find that. So with Wi-Fi, here's the center frequency and the bandwidth is 20 megahertz. If we wanted to plot that, it would look like this. The center frequency would be the 2.462 gigahertz and the difference between this low cutoff and the high cutoff would be 20 megahertz if we looked at that signal. Before we look at the correspondence between bandwidth and data rate, any questions? Any questions about frequency domain plots? So the next quiz and especially the exam, there'll be questions of interpreting the plots and signal equations. Move on. Why do we care about a signal frequency or a signal bandwidth? Well, there's some different issues involved. When we transmit a signal, the range of frequencies that we can use is usually limited. We cannot use any frequency. And the electromagnetic spectrum is the range of frequencies available to send signals. I think in the next topic we'll show some plots of the spectrum but all the possible frequencies we can use, they are limited so it becomes a scarce resource. When something is limited and two people want to use it, the more that you use, maybe the more the cost involved. So it turns out that the more frequencies you use to transmit a signal, the higher the cost of doing that, whether it's a financial cost or some limitation in terms of laws. So generally the more frequencies our signal uses, the higher the cost. Therefore when we want to have a communication signal and we want low cost, transmit a signal with a low bandwidth, a low range of frequencies. Higher bandwidth, higher cost. There's some other factors though. The center frequency and the range of frequencies we transmit, the way that the signals propagate differ depending upon the frequencies. And the easiest example that I think you know is you've got your old TV remote control, what, infrared, maybe an infrared remote control. Does it work through walls? If you put the remote, take the remote into this room and the TV is in the other room and try and change the channels, generally it will not work. When you use Wi-Fi, if the access point is here and I go out the door or into the other room, can I connect to this access point? Generally yes. Wi-Fi, the signals will propagate through the walls. They'll be reduced in strength to some extent, but they will propagate through. Infrared generally will not go through walls because they are using different frequencies and the physical nature of the frequencies and how they hit different obstacles determines whether they'll go through the wall or not and other obstructions as well. So depending upon the frequency, the signals propagate differently. So if I want to build a communication system which just covers a few meters, maybe infrared is okay. But if I want to cover a whole building, infrared and the range of frequencies there is not appropriate. So the frequencies we choose impact on how our signal will propagate. The other factor, the more frequencies we use or the larger the bandwidth will generally impact upon the amount of data that we can transfer. The general rule is that the larger the bandwidth, the higher the data rate. So larger the bandwidth, higher the cost. We need to use more frequencies. Larger the bandwidth, higher the data rate. So there's a trade-off. We want low cost but high data rate generally. But also the frequencies we use depend upon how it can be work in the physical environment. So that's why we care about signal frequency and bandwidth. There's another issue. When we transmit a signal, the range of frequencies which are transmitted through a particular medium is usually limited. I cannot transmit any range of frequencies. There's usually a physical limit. If I send a signal through an electrical cable, the range of frequencies that can transfer is usually limited. Or a law or regulation that says you're not allowed to transmit a range of frequencies larger than a bandwidth of 20 megahertz. So there are limits on how much we can transmit. So in practice, when people design communication systems, they usually have a limit on the bandwidth that they can use. So we say, here, you can use a bandwidth of B hertz. You can't use any more. Then the challenge is, design a signal that gives us the highest data rate. We care about a high data rate. But is the best quality. And the quality will arise in minimizing errors, which we haven't talked about much yet. Let's try and illustrate that point. The idea is that the thing between the transmitter and receiver is called the medium. The medium between my laptop and the access point is the air. But the laws or the regulations of using Wi-Fi say that I cannot transmit a signal larger than 20 megahertz. The government creates a law or a regulation saying that's the limit when you use Wi-Fi. So there's a limit on the bandwidth of the medium. I think the thing that the signal goes through. If we have a limit of say B hertz, if we transmit a signal of some shape, if the signal has a bandwidth larger than B, not all components of the signal will be received. For example, if bandwidth is 20 megahertz, but I try to transmit a signal which is a bandwidth of 30 megahertz, not all 30 megahertz will be received. Only 20 megahertz will be received. The medium limits what can be received. The result is the received signal will look different from the transmitted signal. And that can be a problem. Generally we'd like the received signal and the received data to be the same as the transmitted signal, the transmitted data. But if we transmit a signal with a large bandwidth through a medium with a limited bandwidth, then what's received will not be the same as what's transmitted. And that can lead to errors. Now I'll just try and illustrate, and you've got it on your handout. We'll not draw them, but you've got it on, where is it? The next page here. Some explanation. This example, let's say that this is our transmitted signal, the square wave. Maybe it represents a sequence of 10 bits, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, similar to that. So here's our example transmitted signal. This is what I want to send to the other side, a square wave. We know that we can break that into the summation of sine waves. That's what we've just studied. So we can determine for each sine wave the frequency and amplitude and plot this signal in the frequency domain. Now what I've done using some simple software is taken this signal in the time domain and plotted it in the frequency domain. I'm not a good programmer, so it doesn't come out very nice, but you can sort of see the impulses here. It approximates. Instead of drawing a perfect impulse, you see the triangle type shape. You see that in the time domain, there are components, here's 0 to 20 kilohertz, there are components around 2 and 4 kilohertz, very high amplitude, and it gets lower as we go up to 100 kilohertz, so it's very low here. Here's our transmitted signal in the time domain and the frequency domain. I want to send that to someone. What's the bandwidth approximately of our transmitted signal? Goes from about 0 up to in this plot about 100 kilohertz. So it's at least 100 kilohertz. In fact it keeps going. If you kept plotting, it would keep going, but it'd be very small down here. It's in fact infinite bandwidth. Let's say it's 100 kilohertz. The bandwidth of our transmitted signal is 100 kilohertz. We transmit a signal. If we transmit it through a medium which has a limit of B kilohertz, what will be the received signal? The next page plots several cases. So what I do is I consider this transmitted signal through a medium of what if the bandwidth was 4 kilohertz or 8 or 12 or 16 up to 20 and that's what the next page plots. The top one, this is the time domain. The dashed line is our transmitted signal, the original signal. Had a bandwidth of about 100 kilohertz, but if we can only transmit 4 kilohertz, then really all that we get to transmit is the first components. The bandwidth which we can transmit is just the first 4 kilohertz. So this is the received signal in the frequency domain and the blue one is the received signal in the time domain. Is the received signal the same as the transmitted signal? Is the received signal the same as the transmitted signal? Receive is blue, transmitted is the dashed black line. No, it's not the same. Do you think it represents the correct data though? When you see some similarities, yes, you can see that it's sort of low at this point. It goes high here, then low here and so on. So it follows the general shape, but of course it's not identical and it's maybe not perfect. Maybe at this point, does it represent a 1 or a 0? Is it high or low? It may be hard to tell, it's sort of in the middle, whereas our transmitted signal is definitely low at this point, but our received signal is maybe up here at 0.4. So there may be some problems at the receiver in interpreting what this blue signal means. Does it mean 0 or 1? That's if our medium bandwidth was 4 kilohertz. The next plot is if the medium bandwidth is 8 kilohertz, a larger bandwidth. It means more of our transmitted signal is received. More components. The components of the first 8 kilohertz and in the time domain it looks like this blue one. Of the two time domain signals, 4 or 8 kilohertz, which one do you think is the more accurate representation of the transmitted signal? 4 or 8? Which one, which blue one looks closer to the original black one? It looks closer. By allowing us to transmit a larger range of frequencies, higher bandwidth, we can get a more accurate received signal. It's of course not identical, but the shape is getting closer. And if we increase the bandwidth that we're allowed to send, it doesn't change much in this case, but I think in some cases it gets a bit closer. The 16 is maybe even closer, especially at the peaks at the top. It seems to be flatter instead of going up and 20 kilohertz doesn't change much at all. But you can see for the later signals, the received signal is almost the same as transmitted. Similar shape. The point with a medium, with a limited bandwidth, the larger bandwidth we can use, the more accurate the received signal will be compared to the transmitted signal. That is, the received signal will be closer to the transmitted signal if we have a larger bandwidth. Or the other point, with a small bandwidth, there's a larger chance of getting errors. There's a larger chance in this case of the receiver thinking, ah, I've got a signal. It's high here. It means bit one. But what the transmitted signal was, in fact low, bit zero was transmitted. So there could be an error at the receiver. Larger the bandwidth, given all other things the same, less chance of errors at the receiver. So that example tries to illustrate that point. And maybe we can summarize some of those trade-offs that we're interested in with the signals. With bandwidth of our signal. Or the range of frequency we can use is a limited resource. We cannot use any frequency. Other people want to use them. So generally, the greater the bandwidth we use, the higher the cost involved. If you want to set up your own telephone network, maybe as a competitor to Tru and AIS, then you need to pay a license to use the range of frequencies. The larger the bandwidth of those frequencies, the more frequencies you use, the larger you pay, the more you pay for the license. Millions of baht in terms of the licenses to use the frequencies. More bandwidth, more cost. That's a problem. Generally, the more bandwidth we use, given everything else is the same, the more bits per second we can send. The greater the data rate. And if you've maybe dealt in the details with Wi-Fi, you can buy access points, the normal bandwidth is 20 megahertz. But you can buy devices which will double the bandwidth to 40 megahertz. And it doubles the data rate. Instead of being able to send it, say, 54 megabits per second, if you double the bandwidth, really use two channels at the same time, you get double the data rate, 108 megabits per second. So higher bandwidth, higher cost, but higher bandwidth, higher the data rate. So we have a trade-off there. And the last thing, if you can see down the bottom, the lower the bandwidth, the more chance of errors. We tried to illustrate that is, if we use a small bandwidth, the more chance that the receiver receives the wrong signal and makes an error in interpreting the data. High bandwidth gives us high data rate and high accuracy, but it costs more. So we need to consider those trade-offs. Everyone following? All right, so maybe if you missed the last 20 minutes or didn't capture all the points, these are the main points to pick up on. Trade-offs between bandwidth and cost and data rate and accuracy. That's why we care about bandwidth. We don't care about the frequency. Like I said, infrared will not go through walls, Wi-Fi will. Different frequencies propagate in different manners. Everything up until now we've assumed when we transmit a signal, our communication system is perfect. Nothing goes wrong, but we know in life everything can go wrong. So we need to look at what can go wrong in a transmission system. The impairments. When I transmit a signal, it propagates through some medium and then is received. What can go wrong between the transmitter and receiver? What can impair that signal? In a perfect communication system, we would assume that if we transmit a signal, the received signal is exactly the same. That would be a perfect communication system. But unfortunately, we don't have a perfect communication system. We have impairments. The real communication systems, the received signal is different from what's transmitted. Why is it different? Well, the things that call us the differences we call the impairments. Now, the three main impairments, attenuation, distortion and noise. In this topic, we're only going to talk about attenuation and noise. Distortion needs a little bit more time to explain, so we'll try and avoid that. And attenuation and noise are the two main things that we'll see arise in most systems that we deal with. So let's explain attenuation and noise. So in general, we now have a transmitter that's going to transmit a signal. So the transmitted signal comes out. The signal, we'll say, is attenuated. What does attenuation mean? Gets weaker. Something is attenuated, it gets weaker. So we'll explain that. There may be also distortion on the signal. So the signal is transmitted. It's attenuated and distorted. And then there may be other sources of energy nearby, which create noise. And we can think from the transmitted signal, which is then attenuated and distorted, we get some output signal. There's some noise. If we add the noise and the output signal together, that's what's received. So mathematically, if we look at the sine waves or the signal equations, we can say we start with a transmitted signal. It maybe gets weaker. We add in noise, and that's what we receive. And now the receiver must interpret that signal. Given that received signal, what's the data? What's attenuation? Quite simple. Signal gets weaker over distance. So I will not do it, but if I turned off my microphone, when I speak, there's a signal that comes out of my mouth of a particular amplitude. And as it propagates through the air, the people who are close out in the front will receive that signal slightly weaker from what it was when it came out of my mouth, because it gets weaker across distance. And the people at the back of the room, it will be even weaker. It'll be quieter at the back. And that's attenuation. As any signal propagates, it gets weaker and weaker. The signal strength reduces. So if this was our transmitted signal, it has an amplitude, it goes up to one here, approximately.  Maybe it looks like this. Same shape, but the amplitude is shrunk. Maybe down to 0.2 or whatever. So attenuation just means our signal strength gets weaker across distance. There are some details about how much it gets weaker, and it depends upon the frequency components. And different frequencies attenuate in different ways. Higher the frequency, attenuates more than lower frequency. And that leads to distortion, which we're not going to explain. So distortion is something about that the different frequencies are impaired in different ways. But we'll keep it simple and just look at attenuation. The amplitude gets smaller across distance. The further you go, the weaker it gets. Up to a point where the receiver will not be able to make any sense of the signal. So if I do turn off the microphone, you can hear me if it's off. So I'm transmitting a signal in all cases, and the signal was always propagating. It was going to your ears, but in the last case when I was talking so quietly, the signal propagated and got weaker and weaker, and when it got to your ears, it was at a level that your ears could not discern it, could not make out that signal. So there's a point such that a receiver, if the signal is too weak, it will not be able to recognize that that's a data signal. So we need to generally transmit a signal of a particular strength such that when it attenuates, the received signal is large enough such that the receiver can understand that. How much does a signal attenuate across distance? It depends upon different factors. If I talk in this room, then the signal propagates quite well through air. But when the signal hits the walls, it attenuates by a much larger factor. It gets very weak. Same as our Wi-Fi and our other signals. If you have your Wi-Fi inside this classroom, the signal will be quite good at the back. But in the neighbouring room, we may receive it, but it will be quite weak because when the signal tries to pass through the wall, it's attenuated by a large amount. There are different mathematical models and experimental models by how much the signal is attenuated, which we'll see in the next topic on transmission media. Approximately, the amount of attenuation is proportional to the distance squared. Doubling the distance quadruples the attenuation. Increasing the distance, so if you plot, you think the further the distance goes, it gets very weak quite quickly. But we'll see that in transmission media. Attenuation is the first impairment. Distortion will skip over. Interesting, but no time for this course. Noise is the other major thing we want to talk about. I transmit a signal to the receiver. The receiver receives my signal, but the receiver may also receive signals from other sources. Any other source that creates a signal that the receiver receives is called noise. Any unwanted input is noise. What's the noise in this room? When I'm talking to you, I'm sending a signal to you. What noise do you hear? The air conditioner. Other people talking, moving paper and so on. So that's all noise from your perspective. My signal is the data signal. Everything else that you hear is noise. In fact, if you turned off the air, no one spoke, there would still be noise from the environment. So there's what we call any, there's noise from phones and different sources outside. And in electrical systems, there's noise from the electrical components. So there's always sources of noise. There are different types of noise. Thermal, intermodulation, crosstalk and impulse. I think we don't need to, you don't need to remember the difference between all of these. We'll go through the four, but it's not so important to know the names of them. Just be aware that there are different sources. Thermal noise in a communication system is always present. Electrons move with a different temperature and that creates some very small amount of noise and you can calculate how much. So there's always thermal noise, but it's usually very small. Very, very low that it has little impact in many cases. Similar, if you turn off the air and the lights and everyone stopped talking, there would still be a small amount of noise basically from the environment. Intermodulation noise is when we transmit a signal which contains different frequency components. Some frequency components cause noise on others, interfere with others. So from a single signal transmitted, then some of the components can interfere with other components. Usually that's caused in practice if there's a problem in the transmitter. The transmitter has an error or is an electrical problem, it may cause such noise. Or we try to transmit too high. I will not do it, but if we turn the amplifier up very high, then the different components can cause some interference or noise on each other. Cross talk is when we have different sources transmitting. Quite simple, I'm talking and then someone else is talking at the same time, then the receiver is receiving my voice and the other voice at the same time and they interfere. So the other voice can be considered noise. When two transmitters transmit in the same vicinity, then the receiver can hear both transmissions and one of them is considered noise compared to the other. In communication systems, maybe you have a cable and there's a signal transmitted along the cable and there's another cable nearby lying next to it, which also has a signal transmitted. They may cause interference or noise on each other, cross talk is the name there. And the last thing is usually some impulses from some disturbances like lightning hits some communication system or some electrical disturbance and there's a high peak of noise and that can cause problems as well. We say noise is additive. So the noise from the air conditioner, from the lights, from people talking, from outside. What you receive, the total noise you receive is the summation of all those components that produce noise. We add them together to get the total noise. One way we can illustrate that, considering just attenuation and noise, we transmit a signal. This is the original signal, the black one. Attenuation means the signal gets weaker. So after attenuation, this blue one comes out here. Same shape, but just different height. Then there's maybe some noise sources, maybe from the environment. Maybe for some period of time there was some small electrical disturbance where the noise went high. Often the noise varies randomly. So this is a plot of the signal noise. If we add the red one to the blue one, we get the purple one. That's what's received. So we say it's additive here in that the attenuated signal plus the noise equals the receive signal. So the receiver receives this. Let's say the data transmitted was 1, 0, 1, 0. What's received? Well, the receiver needs to look at this and see, is the signal high? Okay, it looks high, one's received. Here it looks low most of the time, maybe zero's received. Although at this point it's high. So there may be a problem here. What's received may not tell us what the correct data is. So the receiver takes this signal and tries to interpret what was the data. The more noise, the more attenuation, the more chance the receiver will make errors. It will think it's got data which wasn't transmitted. And I think that's sufficient to cover the impairments that we need to look at. So primarily attenuation and noise. There are other components but that's in this introduction and that's the main impairments we'll look at. Next week we'll summarize on what was learned about signals and we'll finish on looking at some equations that relate bandwidth with data rate. Some capacity equations. Let's do that next week.


What's going on guys got Kyle here with laden sports cards, and we are ripping. This is P'nini won football 10 box break number 29 Pick your team style now. It says that there we go. We have Peter M with the I just sort this one second Got Andre K with the Saints. We got Anthony D with the Texans Brady are Bradley R with the Falcon Steelers Christopher B with the Niners. We got Edward E with the Titans Bucks Greg L has the Jets. We got Hudson P with the Packers James D has Ravens Got Jason A with the Bills Bengals Vikings Browns and the Commanders Jose S has the Dolphins. We got Lee G with the Broncos Matt P with the Lions Max K has the Colts. We got Paris with the Eagles Paul Paul C has Rams Peter M has Bears Price I has the Chiefs and the Panthers Reed M. That has the Cowboys Ronald R has Chargers got Todd C with the Patriots Tristan R with the Cardinals Tyler W has the Jaguars Raiders Giants and Wong K has the Seahawks Alrighty guys. Good luck on this one. Let's see what we got One football ten boxer Brady Anderson. I don't think I've heard of that name. So I wouldn't have gotten that one box one Wait, Babe Ruth played for the Orioles. I did not know that Alrighty guys box one. We have to 199 Alec Pierce on the RPA their dual RPA for the Colts That is Max K with the Colts to 199 Alec Pierce starting us off box to Babe Ruth play for the Orioles That is just throwing me off right now, man.  Oh Nice one here. We've got Jags number to five. It's gonna be day one auto Trayvon Walker Nice one there Jags on the first pick in the draft of five Tyler W with the Jags Nice one there. It's PYT. Oh, yeah Box three. I got what you're saying. Okay. So the one was Orioles and the other two weren't I gotcha. I gotcha That's uh, that's forest regimen remarks beers and hot dogs. That's how you get it done Saints got quadratic RPA there to 99 Crystal Lave Nice one there saints with a million colors and nice patch there like three three color patches Saints that's Andre nice one there to 99 on the quad relic RPA box four cheese 1921 man those uh Those those pictures are getting clapped this one is Steelers Bradley it is Kenny Pickett on the formula one That one is seven out of ten boom There you go Bradley nice picket here on the day one or the formula one dual Jersey RPA that is sick Some nice number patches there. I love these formula ones Nice Kenny. There's seven of ten. There you go Bradley That'll do my friend. That'll do mag the mag Mag the mag Right number five. All right. We didn't do very good on that one rich. What else you got? What else you got? You got another one for us. I Don't think Sean even saw that question, but This one is for the Patriots to 199. We've got Bailey zappy. Nice one there. That one is 490 199 Little triple-color patch there nice one Pats Box six this one is jets It is dual relic RPA to 199 Breeze Hall Nice one there for the Jets This little number patches box seven it's a 99 this one is for the Bears. We've got Vilas Jones, Jr It's a 99 on the another three-color patch there RPA Dot bears Those last spot mojo Peter appreciate that Peter Three more nice Got Falcons now This one is the 49 RPA is Desmond Ritter. It's been a nice 10 boxes here Falcons this time who's got the Falcons that is Bradley? Bradley got the Falcons and the Steelers I don't do for you sir to 49 Go with your Kenny And two more is that messy again? Need to stop him man, somebody's got to stop him. Oh, this one's sick Six of seven for the Niners on the quad auto here or quad relic auto is George Kittle Nice one there one of the best um tight ends in the league Niners are Christopher B. Nice Kittle there six of seven that one's from last year. I thought it was looking weird 2021 That's from last year on the Kittle nice one there Niners and last one Played two games that year and threw 81 yards in a touchdown Hmm my last one here. It is for the Jags again It is for the Jags again to 49 Trayvon Walker Gonna get a second one there for the Jags That one is Tyler Another Trayvon there all righty there and that will do it for 2022 Needy one football 10 box number 29 pick your team style got Sunday fun day up next