What is cooperative non orthogonal multiple access (NOMA)?
What is cooperative communication?
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 cooperative communication/cooperative relaying. We can see that NOMA naturally allows cooperative communication because the near user has the far user's data because it must decode it anyway.
What are the advantages of cooperative communication?
- The advantage of cooperative communication is that we have established two links to transmit the same message. Even if one link is in outage, chances are the other link is good. The probability that both links simultaneously go into outage is very less compared to the probability that any one link fails.
- We get reduced outage probability and hence diversity gain without the need of additional antennas (i.e., MIMO).
- Another advantage is that relaying can virtually extend the coverage area of the base station.
System model
Now that we have seen what cooperative communication is, and how it is useful to our network, let us design a cooperative NOMA network. We are going to consider downlink transmission where there is a base station (BS) and two NOMA users. We have a near user who has a stronger channel with the BS and a far user with weak channel conditions.
The transmission occurs in two time slots. Let's call the first time slot as direct transmission slot and the second slot as relaying slot.
(i) Direct transmission slot
In the direct transmission slot, the BS uses NOMA to transmit data intended for the near user ($x_n$) and the far user ($x_f$). The near user does SIC to decode the far user's data first, and then proceeds to decode its own data. The far user just performs direct decoding.
At the end of the direct transmission slot, the achievable data rates at the near user and far user are,
\begin{align}
R_n &= \dfrac{1}{2}log_2(1 + \alpha_n\rho|h_n|^2)\\
R_{f,1} &= \dfrac{1}{2}log_2(1 + \dfrac{\alpha_f\rho|h_f|^2}{\alpha_n\rho|h_f|^2 + 1})
\end{align}
Notation
- $\alpha_n$ - power allocation coefficient for near user
- $\alpha_f$ - power allocation coefficient for far user
- $h_n$ - channel between BS and near user
- $h_f$ - channel between BS and far user
- $\rho$ - transmit SNR = $\dfrac{P}{\sigma^2}$, where $P$ is the transmit power and $\sigma^2$ is the noise variance
- As usual, $\alpha_f \gt \alpha_n$, and, $\alpha_n + \alpha_f = 1$
We have this factor of $\dfrac{1}{2}$ in front of the achievable rates because we have two time slots of equal duration and $R_n$, $R_f$ are the achievable rates during the first time slot alone.
(ii)Relaying slot
The next half of the time slot is called relaying slot. As we saw, the near user already has the far user's data because he decoded it in the previous time slot. In the relaying time slot, the near user just transmits this data to the far user. The achievable rate of the far user at the end of the relaying slot is, $$R_{f,2} = \dfrac{1}{2}log_2(1 + \rho|h_{nf}|^2)$$
Here, $h_{nf}$ is the channel between the near user and far user. We can already see that $R_{f,2} \gt R_{f,1}$ because of two reasons:
- There is no interference from other transmissions
- There is no fractional power allocation. The whole transmit power is given to the far user
Diversity combining
Now, at the end of the two time slots, the far user has two copies of the same information received through two different channels. The far user can now use a diversity combining technique. For example, he can use selection combining to choose the copy which was received with high SNR. After selection combining, the achievable rate of the far user would be, $$R_f = \dfrac{1}{2}log_2(1 + max(\dfrac{\alpha_f\rho|h_f|^2}{\alpha_n\rho|h_f|^2 + 1}, \rho|h_{nf}|^2))$$
If we DID NOT use cooperative relaying, the achievable rate of far user would be, $$R_{f,noncoop} = log_2(1 + \dfrac{\alpha_f\rho|h_f|^2}{\alpha_n\rho|h_f|^2 + 1})$$
The factor of $\dfrac{1}{2}$ is not here because the entire time slot will be used for transmission in non-cooperative communication.
If we DID NOT use NOMA, for example, if we use TDMA, we will allocate half of the time slot for transmission of far user data. Hence, the achievable rate of far user would be, $$R_{f,OMA} = \dfrac{1}{2}log_2(1 + \rho|h_{f}|^2)$$
MATLAB simulation
Now, let's simulate this network using MATLAB and plot the outage probabilities. Please refer this post for How to simulate outage probability for NOMA?
If we plot the outage probabilities, we get a graph like this. You can download the MATLAB code here.
From this graph, we order the performances of different schemes as: cooperative NOMA > non-cooperative NOMA > OMA. So, cooperative communication is clearly beneficial.
hi,do you have any code for SWIPT-CoprativeNOMA
ReplyDeleteHi Mubasher, I have it! Ping me electronicswithme@gmail.com. I'll send it
DeletePlease share the code of SWIPT-Cooperative NOMA
Deletegood evening Sir, I'm working on NOMA, can you help me with codes like the comparison between NOMA and OFDMA, A Suboptimal Scheme for Uplink NOMA in 5G Systems, in downlink ... please thank you very much.
ReplyDeleteHi FellaDJ, right now I dont have those codes. But we will see about these topics in future posts
Deletegood evening Sir, I'm working on NOMA and OMA , can you help me with codes like BS sends signal to two users when there is a moving relay to receive signal from BS and decoded and forward signal to one user of them thanks
ReplyDeleteSure! We will see about such a system in a future post.
DeleteHello, Can you show me how we can show a graph of sum rate vs transmit power in this scenario? thanks
ReplyDeleteHi, to find sum rate, we have to write capacity equation for user 1. Then, we have to find the mean capacity of users 1 and 2 and add them
DeleteCould you add this in your code to show me? That would be very helpful.
DeleteHi Amit, I included that part in the code and mailed it to you. Hope it helps!
DeleteHELLO SIR, Can you please send me the code for sum rate analysis.. thanks in advance my mail id 02asik99@gmail.com
DeleteHello Joe, Your work is very useful thank you. can you send me the code for sum rate too.
Deletemy mail is: muguen@hotmail.es
can you pls send the sum rate code to this mail id.. rithwin.arman@gmail.com
Deletehello, Can u explain why distances(d1,d2) are 1,2 i n this cooperative noma where as in previous posts it is around 1000?
ReplyDeleteHi, distances are set based on the transmit power. Greater the transmit power, longer the transmission range can be. In the previous posts transmit power is like 10 to 40 dBm, whereas in this post it is -114 to -74 dBm (with a noise power of -114 dBm in both cases).
Deletehi , there are any different between use BS or relay
ReplyDelete!
Hi, considering a downlink communication example, the BS is the transmitter of the information to the intended user. The relay is an intermediate device (like another BS or another user or a dedicated transceiver) which receives the information from the BS and forwards it to the intended user.
DeleteBased on the application scenario, one BS can act as a relay to the other BS also.
thanks a lot ...about the information and code matlab it is very helpful me in my research
DeleteYou're welcome!
DeleteHello sir,Can u help me with the topic and matlab codes for Performance Evaluation of MIMO-NOMA-Based Cooperative Communications over different Fading Channels
ReplyDeleteHi Alpha, that's an interesting suggestion. We'll cover that in a future post
DeleteHello first,
ReplyDeleteI am a university student and I have an assignment on Performance analysis of NOMA for Cellular Communication. While doing research for this assignment, I came across your work. Which of the works on your page contributes to my homework. Performance analysis of NOMA for Cellular Communication. then what should I understand? Is it his comparison with Noma or something else?
Hi, you can analyse the BER, spectral efficiency and outage performances of NOMA. I hope the following posts will be relevant:
Deletehttps://ecewireless.blogspot.com/2020/04/how-to-simulate-ber-capacity-and-outage.html
https://ecewireless.blogspot.com/2020/04/what-is-effect-of-imperfect-sic-in-noma.html
Hope this helps
Can you plz share the OFDM-IM matlab code.
ReplyDeleteHello Joe, Your work is very useful thank you. can you send me the code for sum rate too.
ReplyDeletemy mail is: lefteriscipis@gmail.com
Hello Joe, Your work is really very helpful. Can you send me the code for NOMA using QAM? My mail is silky.er@gmail.com
ReplyDeleteNice post. Kindly do analysis on cooperative noma with decode-and-forward (DF) relay protocol. This is help me greatly.
ReplyDeleteHello, do you have any code for co-operative non orthogonal multiple access with physical layer network coding
ReplyDeleteHello,thanks a lot for your useful posts and i have understood the Noma clearly from your posts ,please could you add post Cognitive Radio with Noma ......thanks a lot
ReplyDeleteI must express my sincere gratitude for offering the MATLAB codes. But while you have provided a matlab code for a practical outage, it would be preferable if you also provided a code for a theoretical outage. If the two results are same, it clears up all confusion. Thanks, sir.
ReplyDeleteHello Joe, I am huge fan of your work, i saw your blog related to MIMO NOMA and it was really helpful in the end of that you mentioned you will use beamforming with NOMA, can you provide any data or code related to that it will be very helpful
ReplyDeleteHello sir.. This article helped me a lot but I have a silly doubt.. The near user has far user's data. Can the near user act as a eavesdropper to make some changes in the data of far user?? Is there any affect on confidentiality of the message of the far user ??
ReplyDelete