Machine Learning for 5G Wireless Systems - MATLAB
Video Player is loading.
Current Time 0:00
Duration 30:11
Loaded: 0.55%
Stream Type LIVE
Remaining Time 30:11
 
1x
  • Chapters
  • descriptions off, selected
  • captions off, selected
  • en (Main), selected
    Video length is 30:12

    Machine Learning for 5G Wireless Systems

    From the series: MathWorks Wireless Series: Transforming the Next Generation of Wireless Communication

    Dr. Satya Kumar Vankayala, Samsung R&D Institute, India

    Overview

    Machine Learning is transforming the way the next generation 5G system is designed. Using Machine Learning to solve the 5G wireless problems has shown a better performance than the traditional method of communication system design.

    In this talk, you will learn about various ways in which Artificial Intelligence (AI) techniques can be used to solve the 5G and next generation problem statements.

    • Use case of Log Likelihood Ratio(LLR) computations, which is an integral part of the communication decoder design.
    • How a neural network based computation scheme, which is trained to mimic the performance of soft decoding is yielding better accuracy, where MATLAB was used for initial algorithm design.
    • How neural network can be incorporated in various state of art technologies such as Centralized, Virtual and Open Radio Access Network (C-RAN, V-RAN and O-RAN).

    About the Presenter

    Dr. Satya Kumar Vankayala | Staff Engineer | Samsung R&D Institute, India

    Dr. Satya has Architected & designed various AI algorithms for 5G & 6G Physical, Medium Access Control (MAC) & Operation Admission Management (OAM) systems and championed AI transformation of existing hardware dependent non-machine learning algorithms with AI algorithms. He is Artificial Intelligence focused researcher with a Ph.D. in Electrical Communication Engineering from Indian Institute of Science, Bangalore in 2017. He has strong exposure to emerging communications and networking technologies (5G/6G, Open-RAN, Network Slicing) and a senior member of IEEE who has co-authored 25+ IEEE research papers and filed more than 44 patent applications with 17 US patents granted.  

    Recorded: 11 Mar 2022

    Yeah, so hello and good afternoon to everyone. So today I will be covering one of the module, which is in the physical layer. I will broadly explain you the interesting research problems which academia people and industry people are interested in. And later on, I will present one of the interesting problem to everyone. So in case if you have any questions, feel free to ask me anytime.

    usually, in the industry they use proportional fairness based schedules in most of the industries and most of the products. So proportional fairness schedule is not optimum in terms of throughput. There is always a scope to improve the throughput using machine learning. And so far, some of the researchers have shown that 20% to 30% gain in the throughput. So there is still, there is a lot of scope to improve the system throughput.

    And coming to address the problem, beamforming is also one of the interesting problem one can consider. And there are some papers on it. And channel estimation is also very much important for especially for industry. So based on that, we will allocate the resources using proportional fairness based algorithm.

    So that is also an interesting problem. So other one is when ML based reposition estimation algorithms, where you reposition is very much important while allocating the resources. So if you see the 5G architecture, a number of beams are increasing when compared to 4G number of beams are much, much higher. And due to short range coverage as for 5G base station, so location of the UV is becoming very much critical for multiple services. So we can also use ML algorithms to compute the UV location.

    And next one is interference estimation. So one way to increase the throughput of overall system is to increase the number of base stations. That's one way. There are multiple ways. One is by introducing MIMO other one is non-terminal multiple access. And other one is identifying the number of base stations. If you increase the number of base stations, as you know, that in the 5G system the coverage area is short. It's mostly happens in line of sight based communication.

    So there are some pre-SINR, post-SINR modules. So these modules are usually, they at the base station. Based on the Pre-SINR I mean that information will be used in the subsequent modules. For example, if the SINR extremely low, when compared to the expected SINR, then you don't need to decode it. So that is one thing, and that is one application I say.

    Other one is computing log likelihood ratio using ML. So far we are using some approximations. And these approximations also can be improved using ML algorithms. That I will be concentrating on the ninth problem. And coming to the tenth problem.

    So it is a static load estimation on the base station. So one can use this and increase or decrease the transmit power of the base station, and offload some of the carriers to other base stations and so on. So these are some of the interesting problems.

    So why we are discussing about ML and AI is So far in 4G systems, most of our algorithms or modules are implemented in the hardware. So once you implement some algorithm, so you have to replace the whole hardware or some part of the hardware to replace with the new algorithm. So right now, cloud architecture is being used. ML and AI framework is also part of the cloud architecture.

    So for example, over an open trend which is considered and which many players in the industry and academia are in that. And what you will learn which is also another variant of the cloud based architecture. So we can leverage this cloud based architecture. And ML algorithms also, we have the computing power in this cloud. So we have to revisit all this existing 4G and 5G modules.

    Physical layer, that can be physical layer or it can be Mac layer, or it can be higher layer. So coming to my tech-talk, so I will explain the problem statement and the motivation, why that is so important. And then base station architecture to overview, a simple base station architecture overview. And later I will make the base station architecture much simpler, so for academic people.

    And later on, background for this problem. So whatever concepts are needed I will try to explain. And later on, existing approximations. And then propose solutions and some of the simulation results. And later on I will explain you the applications. And finally I will conclude my talk.

    So Log Likelihood Ratios, you must have heard of this term, especially. So it's an integral part of all the wireless receivers. So it can be Wi-Fi, it can be 3G, 4G it can be 5G, doesn't matter. So these are lower values are usually computed and then they are going to fit to the decoding modules. And computing these LLR values exactly is computationally very expensive.

    So I will show the expression some of the expressions little later in the talk. And you will get to know how expensive they are. And many people across the companies and academia people as well as industry people have done some approximations. And different companies will use different approximations and get paid and so on.

    So the main object of this talk is to leverage ML algorithms and how that will reduce the latency of decoding time. And as I mentioned, the industry trend right now is we are all moving towards software based solutions. And we are moving towards cloud based solutions. Some people are interested in implementing an O-RAN, they can have virtual RAN of their own.

    Basically, so we can example, if most of the processing is done in the cloud, you can turn off some of the servers. For example, if the base station load is less. For example usually in the afternoon times, so usually traffic will be less. So you can turn off some of the servers. Each server can be used for a couple of base stations. For example, maybe five or six base stations can be run on a single server.

    So I will just illustrate the simple base station architecture, how it is done. So IQ samples will get it from the radio unit. And then we will do pre-processing then we'll do the pre-SINR computation. And later on, we will do timing and frequency offset for those samples. And later on, we'll estimate the channel.

    And once you estimate the channel, we will compute the RNN metrics, and then we will do a equalization using MMSE or any other receiver. So just I am trying to give some flavor of the base station architecture. Once the MMSC processing is done, then we will do IDFT. And later on soft decoder will be there where we'll be computing log likelihood ratio values. And then it is fed to the decoder and so on.

    I will share the expressions, as I mentioned, I will share a little later. So computing these LLR values accurately is quite challenging, as I mentioned. So there is a trade-off between accuracy and block error rate. So there are various approximations used in the industry. So one can compute these LLR values using hardware or software. As I mentioned earlier, we'll be moving towards a cloud based architecture so we would like to compute everything in the software.

    So all these things can be done using O-RAN, RAN- Radio Intelligence Controller. So you can learn and you can train your algorithms and so on. I will explain a little later that part. So the question main question is, can we improve the blood performance without increasing the complexity of a large module. Answer is, yes, we can do that. I will show you how we have done.

    And one can also explore other works which are there in the literature. For example, so let us say we have used in the 4G systems also called by BPSK 4 QAM, 16 QAM, 64 and 26 QAM. But coming to 5G, we also have 1024 QAM and 4096 QAM. So for each symbol, we have to compute log base two of, again, variance of a modulation scheme, in gram scheme.

    OK so we have to compute, for example, if you are going for 1024 QAM. So you have to compute 10 LLRs for each symbol. So a data packet can have multiple symbols. It can be in the order of tens too, it can even go up to beyond one lakh. Maybe in the 5G system it can be up to 10 lakh also. It can go up to 10 lakh.

    So as we-- package sizes are increasing from technology to technology. For example, if the 4G technology package sizes are relatively less when compared to 5G. And 6G packet sizes can be expected to be much, much larger than 5G package sizes. So there is a need to compute LLR values efficiently. So right now, so far, we are doing in a sequential way. Right now using cloud architecture one can do these things parallelly as well.

    So, I'll just give the flavor of patents which are there in the example. Some others have done a linear approximation of a LLR function. And that is one approximation. Other people have also approximated LLR in latest second one. They have also approximated this whole exponential function using exponential and square and cosine functions. And then another approach they have used the BP algorithms to approximate the LLR expressions.

    So all these approximations are there. And they're all patented. And can see some of the references there below. And let me consider a simple model. Right now whatever I have explained, that's how it is done usually. Like there are in the industry. There will be some changes here and there.

    But let me show a system where LLR messages will be there. Message will be encoded and then modulated and transmitted over the air. And then there will be an equalization. For example, it can be a MMSE receiver and then LLR values are decoded and so on. So I'll consider the simple communication model. And I will try to explain but whatever algorithms we have derived, all these are applicable for all systems. It can be like 3G, 4G, 5G or any Wi-Fi systems also.

    So for example, just consider a simple case where they're like we consider 16 QAM scheme. For example, if it is 16 QAM scheme, so these are all possible symbols. Let us say a red dot represents a received signal character one. And we need to compute these distances usually to compute their LLR values. So for example, if this 16 QAM you have to find 16 distances if you want to find optimal LLR value.

    So just, try I'm trying to explain you the motivation why this is so complex. Next one is, so simple LLR expression for i-th bit. For example, for a symbol, you can have yen LLRs. Yen is a function of modulation scheme. If this n QAM and log base too often, so as I mentioned if it is a 16 QAM we will have log base 2 of 16 equal to 4.

    So we have to compute 4 LLR values. So how we compute? So assuming that it is a-- let us say we assume that it is a Gaussian noise. And a log of probability of bit i-th bit is 0 given the received signal, divided by probability of bit i-th. Bit is 1 given the received signal. So these expressions turns out to be this.

    And so we do some approximation here. So assume that it is a max log approximation. There are a number of approximations in the literature. Assume that this is a max log approximation. And this is the approximately equal to max of minus of dm.

    And the approximation is used-- I mean this approximation is very good at high SINR, frankly speaking. And may not be that good at low SINRs. So we are going to compute for four bits, LLR0, LLR1, LLR2, LLR3 so on like this. When 0 is equal to 0, given that 0 is equal to 1, given the received signal and similarly for bit 1. Bit 1 can be 0, given the r divided by bit 1, probabilities are all probabilities by the way.

    And so if you do this approximation using max log, you will get these expression, LLR values. And these are all very good at higher SINR as I mentioned. So in case if the user experiences bad channel, then these values will not be that accurate. So what we have done is so we thought, OK, why can't we train the neural network with the exact LLR values.

    What is the exact LLR values? Exactly LLR value is this situation. Very low LLR expression is this one without any approximation. All right so we thought, well, no why don't we train the neural network with these values. So what we have done, we will explain it to you down the line.

    So the computation complexity as I told, that it is increasing with the modulation scheme and package sizes are increasing. So there is a need for faster decoding. So we felt that this is one of the approach which will decode fast.

    So you can see this neural network, simple neural network. So input is a sample, with a complex number. So once you read that complex number, received signal is a complex number, right. So once you feed this in complex number, if this is at 10 at 1024 modulation scheme, then we'll have 10 layers. So we have one hidden layer, one input layer, one output layer. So these LLR values will be estimated using this neural network. So we just need one hidden layer.

    And so this is not even a dense neural network. So to give you a brief idea about what is dense neural network, so every node for example in the hidden layer node will be connected to a next layer nodes, every node. But in this picture, it is not connected, right. So some of the weak layer, weak links we have removed it using some algorithm, which I will explain to you down the line. OK?

    So we have some activation functions here. Of course whenever there is a neural network there will be activation functions we can-- a performance of the neural network will be function of activation functions, which we are going to choose. And number of layers, number of nodes, and so on. So what we have done, so basically so what we did is we came up with different neural networks for different modulation scheme.

    So for example, 16 QAM scream the output and input so we have picks number real part and imaginary part. We are going to feed it and one middle layer. So we have, in this picture, we have shown that the middle layer has eight nodes. Similarly, we have different neural network for 64 QAM. So input is same.

    Complex number output will be log base 2 of 64 is 6. So we will have 6 LLR values for each of the middle layer, hidden layer or middle layer we have eight nodes. So what we did is we used MATLAB to generate so exact values of LLR values for a given complex number. So if you see the diagram of this one, received one.

    So usually we will clip it up. So right now, the values are minus 3A, minus A and plus A and 3 right. So we'll have some clippers. So voltage values will not exceed beyond that one and they will be lower clipper also. Like example, let us say 5A is a maximum value, which we can store. And lower value is minus 5A. There is a clipper operation.

    So we know that-- so values will range, real value as well as imaginary value, will range from minus 5A to plus let us assume that. So what we have done is we actually generated a random number. We use MATLAB to compute exact LLR values. Those expressions, exact expressions we can do that. And those values are saved.

    For each modulation we have done like this. We have done for one like random points we have generated. And then we have computed exact values of LLR values using exponential functions. And those values are used for training the neural network. Initially, we started with the two hidden layers. And later on we felt that, OK, one hidden layer is doing our job.

    So there is a little trial and error in that part. And number of nodes also initially we have come up with some 16 nodes in the middle layer. And later on we reduced it to eight nodes and we also reduced further. I will explain you how the performance will vary with respect to the hidden layer nodes and number of layers as well.

    So we have generated random values and LLR values for that. And we have stored it in the file. And we use that for training that. So basically, we have to train it based on-- I mean beyond one lakh, we didn't find any improvement frankly speaking. So one lakh samples are good enough for this architecture.

    So based on the BPR, back propagation algorithm, the weights will be updated in the neural network. And we found that accuracy is increasing with respect to the samples. But beyond one lakh, it's of no use. So you can find the reference from MATLAB below. You can also use the code, some part of the code, or you can also rewrite a remaining part of the code accordingly.

    So what we have done is we started with the dense neural network and then later on, we-- so if you see this, for example, this node is not connected directly to this node. I mean, sorry, here it is connected. And this node is not connected to this node. So this connections, especially if you see here clearly, so this wire is not connected to this node for example, and even this node. So wire is connected to the only four nodes. And wire is connected to only four nodes right.

    If wire is connected to all the eight nodes and wire node is also connected to all the eight nodes, then it is called dense, that layer is dense. Similarly, in the hidden layer also, each node can connect it to all the remaining 10 nodes. So in this picture it is clearly you can observe that. Every node is not connected to next layer subsequent nodes. So initially we started with the dense. Means every node is connected to every node in the next layer.

    So we have come up with some logic how to remove the irrelevant nodes. And we have put up some constraint on connections as well. Each node should have certain number of connections. That is a kind of criteria we have chosen. And we removed the connections, weak connections. So in a gradually, not at a time.

    So for example, we removed 5% of connections initially, whose link weights are very less. For example, we have put up some threshold, and based on the threshold, we remove those weak connections. And we ensure that there will be minimal number of connection also. That criteria also we have come up with. And we trained it. We again retrained it, keeping the same weights.

    So this process we repeated it with different sparcities. I will show the next slide. So here, for example, sparsity 10% means 10% of the connections were removed. And 20% sparsity means so we don't remove 20% at a time. So we remove it some let's say 5% or 10% and gradually we reduce the connections.

    And so 20% sparsity means 20% connections are removed and 30% so and so on. You can clearly observe that MSE error is non-decreasing function, frankly speaking. So sometimes it so-- when you remove 10% connections, or 20% connections, we have not observed much change. But performance is more or less same. And MSE loss is also more or less same.

    So we have also played around with number of nodes in the hidden layer. We have eight nodes and six nodes and four nodes. So with eight nodes, this is the MSE error, red one. And with the assuming that if there are only six nodes for 16 QAM this is MSE error. Obviously, if the nodes are less, MSE error will be more or remains same.

    Coming to if the four nodes, then that is giving much higher MSE error. Similarly for 64 QAM also you can see that the trends are similar. So of course number of nodes if you reduce in the hidden layer, MSE will increase. That is seen clearly. And with respect to sparsity, MSE error also will increase.

    I mean sparsity, if you increase the sparsity what happens is that computation complexity will come down. And you'll be decoding it faster. So you'll be decoding faster, but at the cost of blood performance. MSE error will be more and blood will be more. So similarly, so you might have heard of various services in the 3G, 4G, 5G, services.

    For example voice quality, voice -VOIP calls, and video calls, web browsing, online gaming, and so on, there are multiple applications. So all these are having different quality of service constraints. For example, certain service, let us say Y service will tolerate certain number of packet losses. And it can also tolerate certain delay hard deadline. Delay hard deadline delay means if you transmit a packet right now at this point of time, within couple of milliseconds, receivers should be able to decode it.

    Let us see if I speak, "hello" right now. If I say "hello" then if you decode it after 1 minute, it doesn't make any sense. So there is a hard deadline delay. So those hard deadline delays are different for different services in the standards. You can go to the standard's and you can see those tables.

    Based on that also you can program it. For example, you can choose a certain sparsity and certain number of hidden layer nodes. For voice application, let us say voice application I will go for six nodes. And if it is a video call, let us say I will choose nodes. If it is a web browsing let us say I can choose only for nodes.

    Web browsing usually is elastic data, I mean the deadlines are a little relaxed. And you can choose up to you. It's all up to you how you want to provide service to your customers. So this kind of programming can be done using this machine learning algorithms and by exploiting the cloud architecture. Earlier it is a hardware based solutions.

    Usually we will not maintain-- usually people doesn't like to maintain different hardware for a different services, right? Right now you can exploit this all these architectures and you can train much more efficiently. So these are the blood performances.

    And if you train the neural network with approximated values using your neural network, for example, QAM screen with the 20% sparsity, we have shown that it is pretty close to the self decoding. Self decoding means exact value. With the exact value we are going to decode the data. With 50% sparsity, we have slightly higher packet loss. It can be clearly seen that.

    And it is quite intuitively it is true. If you increase the sparsity, you will have more number of errors. So this is open architecture. You can refer to this or an organization. And you can see how the works are being done there.

    So you can train your models here, right side trained modules. Whatever machine learning algorithms you want you can implement in your own way and train them. And there are two types of RIC here. RIC means RAN intelligence controller, a real time and a non-real time. So you can train your models and go as well. Or you can also collect the data, can come up with machine learning algorithms and implement this appropriate basis.

    I already implemented in the cloud systems in the software modules. So whatever modules which I have illustrated in the beginning of the tech-talk base station architecture, where PSNR and timing and frequency offset, and channel estimation, and so on. All those things can be implemented in the high PHY. I have a module part audio and these-- so again if you want to train some part of the module you can use this trained module using it to interface.

    So this is our cloud architecture. This is the hardware part, physical layer, lower part what is called hardware, and there is the interface front. So you can assume that it is a cable. Yes, so you can see, as I mentioned it is programmable and it is flexible. You can for different users, for example, a user who has source mobile.

    Let's say you can actually decode with a certain sparsity if the user supports MIMO, Let us say you can actually opt for different sparsity and so on. All these things can be programmable here. Everything became software. Yeah so right now, I mean using this MATLAB and 5G toolbox you can expedite your research activities.

    And most of the 5G codes are available in 5G toolbox. Maybe you have to do some changes here and there based on your problem. And most of the machine learning algorithms are already there in the drag and drop mechanism. Facility is also there. So they have friendly GUIs and you can use those GUIs without even knowing machine learning, you can implement all those algorithms.

    So these are the advantages. Your research activities can be expedited and so on. And documentation is good and you have good examples. You can contact them in case if you need any help. So all these things can be deployed easily. And based on the QoS and so on, you can choose your architecture. So this is the end of my tech-talk. In case if you have any questions, do let me know.