Posts

Showing posts with the label 5G

What is SWIPT (Energy harvesting) NOMA?

Image
As we are moving towards more and more advanced communication systems, the power consumption of devices becomes an important issue. For example, in a wireless network made up of thousands of IoT sensors, drainage of battery may cause the sensors to die. To address this issue, there is a push towards green communication technologies like RF energy harvesting devices. NOMA requires successive interference cancellation , which as we know, is a computationally intensive task. This places a burden on the battery life.  When we studied the cooperative NOMA system , we used user cooperation where the near user acted as a relay to the far user. This user cooperation was natural because the near user has the far user's data anyway. But does the near user have enough power to relay that data? What if relaying drains the near user's battery? This is where RF energy harvesting could help.  Download the MATLAB code here What is RF energy ha...

Single Carrier NOMA (SC NOMA) - How many users can it support?

Image
We saw how non-orthogonal multiple access (NOMA) can somehow magically break the capacity limitation faced by the other traditional orthogonal multiple access (OMA) schemes. OMA schemes like TDMA, FDMA, CDMA, OFDMA separates the users in time, frequency, code, subcarrier domains respectively. No two users are allowed to share the same resource simultaneously. If this condition is violated, interference would occur and both users would lose their data. For a moment, let's consider an OFDMA network with 64 subcarriers. If we assign one orthogonal subcarrier per user, the maximum number of users we can simultaneously serve is 64. If the 65th user requests a connection, his call must be dropped or he must wait for one of the other users to finish transmitting. This is because we don't have any more orthogonal subcarrier to assign to the new user. This orthogonality bottleneck imposes a capacity limitation on the number of...

BER of 3 user Non-orthogonal multiple access (NOMA) with QPSK modulation

Image
Next post: Single Carrier NOMA - How many users can it support? In a previous post , we saw how to plot the bit error rate (BER) of a two user NOMA. There, we used BPSK modulation for both the users. Can we multiplex more than two users in a single carrier in NOMA? Of course. In this post, we are going to multiplex three users, each following QPSK modulation, in a single frequency carrier. Download MATLAB code for 3 user NOMA here System Model Let us consider a wireless network consisting of three NOMA users, numbered U1, U2 and U3. Let $d_1$, $d_2$ and $d_3$ denote their respective distances from the base station (BS) such that, $d_1 \gt d_2 \gt d_3$. Based on their distances, U1 is the weakest/farthest user and U3 is the strongest/nearest user to the BS.  Let $h_1$, $h_2$, and $h_3$ denote their corresponding Rayleigh fading coefficients such that, $|h_1|^2 \lt |h_2|^2 \lt |h_3|^2$ . (The channels are ordered this way bec...

How to do power allocation in NOMA? (with fairness to far/weak user)

Image
Next post: NOMA with more than two users Power allocation is very important in non orthogonal multiple access (NOMA). In the previous post " Does power allocation affect NOMA? ", we saw how the bit error rate (BER) of NOMA has a strong relationship with the values of power allocation coefficients. We used fixed power allocation till now. That is, we fixed the values of $\alpha_1$ and $\alpha_2$ irrespective of the channel conditions. But there are better ways to optimize $\alpha_1$ and $\alpha_2$ dynamically based on the values of channel state information (CSI).  There are a few different dynamic power allocation schemes each trying to accomplish a specific goal. The goal could be maximizing the sum rate, maximizing the energy efficiency, etc., The power allocation scheme we are going to see in this post is a simple one whose goal is to provide user fairness. Let's call this fair power allocation ...

What is cooperative non orthogonal multiple access (NOMA)?

Image
What is cooperative communication? Next post: How to do power allocation in NOMA? We know that NOMA involves successive interference cancellation (SIC) , where one user decodes the message of the other user, from the superposition coded received signal, before decoding his own message. Specifically, the near user decodes the information of the far user while performing SIC. There is no escaping this step. The near user must decode the far user's data anyway. Now that the near user has far user's data, he may as well relay that information to the far user to aid him. Since the far user has a poor channel with the transmitting base station (BS), the retransmission of his data by the near user will provide him diversity. That is, he will receive two different copies of the same message. One from the base station, and one from the near user who is acting like a relay. Thus, we can expect the outage probability of far user to decrease. This concept is called cooperat...

Does power allocation affect NOMA?

Image
Next post: How does user cooperation help NOMA? Till now, we simulated various performance parameters like bit error rate (BER), capacity and outage probability of NOMA by using fixed power allocation method. By fixed power allocation, we mean that regardless of the channel condition, we always set $\alpha_1 = 0.75$ (for far user) and $\alpha_2 = 0.25$ (for near user). This is one way to allocate power. And the advantages of this fixed power allocation method are: No computation required No knowledge of channel state information (CSI) is required But this is not the optimum way to allocate power. If we write a simple MATLAB code to plot the BER as a function of power allocation coefficients, we get a plot like this: ( Download the code here ) Some notes about this plot In this plot, we consider user 1 to be the far user and user 2 to be the near user. Also, we have used fixed power allocation method. That is, we did not alter the coefficients based on channel conditi...

What is the effect of imperfect SIC in NOMA? (MATLAB code)

Image
Next post: Does power allocation affect NOMA? We saw how to simulate a two user downlink non orthogonal multiple access (NOMA) system in the previous post . There, we plotted the capacity, outage probability and bit error rate (BER) of NOMA by MATLAB simulation. In doing so, we assumed the case of perfect successive interference cancellation (SIC). But in reality, it is not always possible to carry out SIC perfectly. That is, we have an imperfect SIC scenario. A quick look at system model & notation Before looking into what imperfect SIC is, let's take a look at the network model that we are going to use. This is how our network is going to look like. We have a downlink NOMA network with two users. The base station (BS) has two separate messages to transmit to each user. User 1 is the far user/weak user and, user 2 is the near user/strong user. As a quick refresher, remember that the received signals at the far user ($y_1$) and near user ($y_2$) can be repres...

How to simulate BER, capacity and outage probability of NOMA (Rayleigh fading) using MATLAB?

Image
Simulation of BER of Non orthogonal multiple access (NOMA) in Rayleigh fading channel - MATLAB code with explanation Next post: What happens when SIC is imperfect? In the previous post , we saw how to simulate a simple two user NOMA network over an AWGN channel in MATLAB. We also plotted the BER vs SNR graphs of both the users and observed the waterfall trend. The AWGN assumption simplified the channel model and allowed us to learn the basic skeletal operation of NOMA. In this post, we will use MATLAB to simulate the capacity, outage and BER performance of a two user NOMA network by following a more realistic model namely, Rayleigh fading model. The MATLAB code to plot BER, capacity and outage probability of NOMA are also available for download in this page . So, let's get started! Wireless channel is prone to multipath propagation and fading. Several channel models are available to capture the effects of fading. Each model deals with a particular scenario....