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.

Reference

"Cooperative Non-Orthogonal Multiple Access in 5G Systems," Z. Ding, M. Peng, and H. V. Poor, IEEE communications letters, vol. 19, no. 8, 2015.

Comments

  1. hi,do you have any code for SWIPT-CoprativeNOMA

    ReplyDelete
    Replies
    1. Hi Mubasher, I have it! Ping me electronicswithme@gmail.com. I'll send it

      Delete
    2. Please share the code of SWIPT-Cooperative NOMA

      Delete
  2. good 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.

    ReplyDelete
    Replies
    1. Hi FellaDJ, right now I dont have those codes. But we will see about these topics in future posts

      Delete
  3. good 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

    ReplyDelete
    Replies
    1. Sure! We will see about such a system in a future post.

      Delete
  4. Hello, Can you show me how we can show a graph of sum rate vs transmit power in this scenario? thanks

    ReplyDelete
    Replies
    1. Hi, 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

      Delete
    2. Could you add this in your code to show me? That would be very helpful.

      Delete
    3. Hi Amit, I included that part in the code and mailed it to you. Hope it helps!

      Delete
    4. HELLO SIR, Can you please send me the code for sum rate analysis.. thanks in advance my mail id 02asik99@gmail.com

      Delete
    5. Hello Joe, Your work is very useful thank you. can you send me the code for sum rate too.
      my mail is: muguen@hotmail.es

      Delete
    6. can you pls send the sum rate code to this mail id.. rithwin.arman@gmail.com

      Delete
  5. hello, Can u explain why distances(d1,d2) are 1,2 i n this cooperative noma where as in previous posts it is around 1000?

    ReplyDelete
    Replies
    1. Hi, 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).

      Delete
  6. hi , there are any different between use BS or relay
    !

    ReplyDelete
    Replies
    1. 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.

      Based on the application scenario, one BS can act as a relay to the other BS also.

      Delete
    2. thanks a lot ...about the information and code matlab it is very helpful me in my research

      Delete
  7. Hello sir,Can u help me with the topic and matlab codes for Performance Evaluation of MIMO-NOMA-Based Cooperative Communications over different Fading Channels

    ReplyDelete
    Replies
    1. Hi Alpha, that's an interesting suggestion. We'll cover that in a future post

      Delete
  8. Hello first,
    I 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?

    ReplyDelete
    Replies
    1. Hi, you can analyse the BER, spectral efficiency and outage performances of NOMA. I hope the following posts will be relevant:

      https://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

      Delete
  9. Can you plz share the OFDM-IM matlab code.

    ReplyDelete
  10. Hello Joe, Your work is very useful thank you. can you send me the code for sum rate too.
    my mail is: lefteriscipis@gmail.com

    ReplyDelete
  11. 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

    ReplyDelete
  12. Nice post. Kindly do analysis on cooperative noma with decode-and-forward (DF) relay protocol. This is help me greatly.

    ReplyDelete
  13. Hello, do you have any code for co-operative non orthogonal multiple access with physical layer network coding

    ReplyDelete
  14. Hello,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

    ReplyDelete
  15. I 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.

    ReplyDelete
  16. Hello 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

    ReplyDelete
  17. Hello 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

Post a Comment

Popular posts from this blog

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

How to simulate a simple NOMA system (AWGN) using MATLAB?

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