NOMA vs OMA - Capacity comparison

As a candidate multiple access technology for 5G, non-orthogonal multiple access (NOMA) offers greater transmission capacity than current orthogonal multiple access (OMA) techniques. This increase in achievable rate is possible because NOMA allows simultaneous transmission of multiple user data in the same frequency carrier.

At the transmitter end, the users are multiplexed in the power domain by using superposition coding. At the receiver end, successive interference cancellation (SIC) is carried out to remove interference and to separate the individual user messages.

In this post, we will compare the achievable rate offered by NOMA and OMA schemes.


System model

Let's consider a downlink communication scenario with a base station (BS) and $N$ users. Let $h_i$, denote the channel from the BS to the $i^{th}$ user. There are $N$ such channels, $h_1$, $h_2$, ... $h_N$.

Let us assume that user 1, with channel $h_1$ is farthest from the BS and hence, the weakest user. User 2 is the next and so on. User $N$ is the nearest/strongest user. This means the channel conditions of the users are arranged as follows: $|h_1|^2 < |h_2|^2 < ... |h_N|^2$

Signal model for NOMA

Let $x_1$, $x_2$, ... $x_N$ denote the messages to be transmitted to the users. The BS performs superposition coding with these messages and transmits the following NOMA signal into the channel: $$x_{NOMA} = \sqrt{P}\left(\sqrt{\alpha_1}x_1 + \sqrt{\alpha_2}x_2 + ... \sqrt{\alpha_N}x_N\right)$$
(1)
where $P$ is the total transmit power. $\alpha_1$ ... $\alpha_N$ represent the power allocation coefficients. Since the channels are ordered as $|h_1|^2 < |h_2|^2 < ... |h_N|^2$, the power allocation coefficients must be ordered as $\alpha_1 > \alpha_2 > ... \alpha_N$

We can represent $x_{NOMA}$ concisely as follows: $$x_{NOMA} = \sqrt{P}\sum_{i=1}^{N}\sqrt{\alpha_i}x_i$$
(2)
The received signal at user $i$ is given by, $$y_{i,NOMA} = x_{NOMA}h_i + w_i$$ 
(3)
where $w_i$ is the AWGN with zero mean and variance = $\sigma^2$.

Substituting for $x_{NOMA}$ from (1), we get, $$y_{i,NOMA} = \sqrt{P}\left(\sqrt{\alpha_1}x_1 + \sqrt{\alpha_2}x_2 + ... \sqrt{\alpha_N}x_N\right)h_i + w_i$$
(4)
Let's examine how (4) will look like for user 1 (the farthest user).

$$y_{1,NOMA} = \sqrt{P}\left(\underbrace{\sqrt{\alpha_1}x_1}_\textrm{desired and dominating} + \underbrace{\sqrt{\alpha_2}x_2 + ... +\sqrt{\alpha_N}x_N}_\textrm{interference}\right)h_1+ w_1$$
(5)

What is the decoding rule for user 1?
    Since user 1 is allocated the highest amount of power, the message intended for him will be dominating in the received signal. So, he just performs direct decoding, treating the messages intended for all other users as interference. Thus, the SINR for decoding user 1's signal is given by, $$\gamma_{1,NOMA}= \dfrac{\alpha_1P|h_1|^2}{\alpha_2P|h_1|^2+\alpha_3P|h_1|^2+...+\alpha_NP|h_1|^2+\sigma^2}$$
(6)

Next, let's look at user 2's received signal,
$$y_{2,NOMA} = \sqrt{P}\left(\underbrace{\sqrt{\alpha_1}x_1}_\textrm{undesired but dominating} + \underbrace{\sqrt{\alpha_2}x_2}_\textrm{desired}+\underbrace{  ... \sqrt{\alpha_N}x_N}_\textrm{interference}\right)h_2 + w_2$$
(7)
What is the decoding rule for user 2?
    Since the user 1 is allocated the highest power, his message will be dominating the received signal of all the other users. So, first user 2 should directly decode user 1's message, then perform SIC to remove it from $y_{2,NOMA}$. If the SIC operation is perfect, the resulting signal would be, $$y'_{2,NOMA} = \sqrt{P}\left( \underbrace{\sqrt{\alpha_2}x_2}_\textrm{desired and dominating}+ \underbrace{ ... \sqrt{\alpha_N}x_N}_\textrm{interference}\right)h_2 + w_2$$
(8)
After SIC, user 2's required message is the dominating term. So, now user 2 can directly decode his message from $y'_{2,NOMA}$ by treating all the remaining users' messages as interference. Thus, the SINR at user 2 to decode his own message is given by, $$\gamma_{2,NOMA} = \dfrac{\alpha_2P|h_2|^2}{\alpha_3P|h_2|^2+...+\alpha_NP|h_2|^2+\sigma^2}$$
(9)
We can extend the same thought process to obtain the decoding rule for users 3, 4 and so on. For example, user 3 has to first decode user 1's signal, perform SIC to eliminate it, then decode user 2's signal, perform SIC again, and then decode his own signal.

In general, for any user $i$, the SINR to decode his own signal is given by, $$\gamma_{i,NOMA} = \dfrac{\alpha_iP|h_i|^2}{\alpha_{i+1}P|h_{i}|^2+...+\alpha_NP|h_i|^2+\sigma^2}$$ 
(10)
This expression can be concisely written as, $$\gamma_{i,NOMA} = \dfrac{\alpha_iP|h_i|^2}{\sum_{j=i+1}^{N}\alpha_jP|h_i|^2 +\sigma^2}$$ 
(11)
The achievable rate for any general user $i$ can be written as, $$R_{i,NOMA} = log_2(1 + \gamma_{i,NOMA})$$
(12)
Finally, the sum rate of all the NOMA users is given by, $$R_{NOMA} = \sum_{i=1}^{N}R_{i,NOMA}$$
(13)

Signal model for OMA

Next, let's take a look at normal OMA transmission, As an example, let's consider TDMA. To serve $N$ users, TDMA requires $N$ time slots. In the first time slot, user 1's signal is transmitted, in the second time slot, user 2's signal is transmitted and so on. Also, let's assume that all the time slots are of equal duration. Let's say, in the $i^{th}$ time slot, user $i$'s signal is transmitted. Then, the transmit signal is given by, $$x_{i,OMA} = \sqrt{P}x_i$$
(14)
Comparing equations (1) and (13), we see that NOMA has the advantage of simultaneous transmission with controllable interference, while OMA users enjoy interference-free reception. The received signal at user $i$ will be, $$y_{i,OMA} = \sqrt{P}x_ih_i + w_i$$
(15)
Now, the SNR of the $i^{th}$ OMA user is given by, $$\gamma_{i,OMA} = \dfrac{P|h_i|^2}{\sigma^2}$$
(16)
The achievable rate for the $i^{th}$ OMA user is given by, $$R_{i,OMA} = \dfrac{1}{N}log_2(1 + \gamma_{i,OMA})$$
(17)
Finally, the sum rate of OMA is given by, $$R_{OMA} = \sum_{i=1}^{N}R_{i,OMA}$$
(18)

MATLAB SIMULATION


Now that we have the mathematical expressions, let's plot a graph to compare the capacity of OMA and NOMA. Let us consider a network with $N=3$ users and compare their performance. The capacity plots look like this:



We can observe that at low SNR, OMA performs slightly better than NOMA. This is because, NOMA users suffer from interference (due to simultaneous transmission), while OMA users do not experience any such interference. At high SNR, however, NOMA outperforms OMA by offering high capacity. 

In addition, NOMA accomplishes this while utilizing minimal resources. In this example, TDMA requires 3 times slots to complete the whole transmission. If the duration of 1 time slot is 1 ms, TDMA requires 3 ms to complete the transmission. NOMA, on the other hand, completes the transmission in a single time slot itself (i.e., in 1 ms). This significantly reduces the latency. This demonstrates the usefulness of NOMA in future communication technologies.

Reference

"A tutorial on Nonorthogonal multiple access for 5G and beyond," M. Aldababsa et al., Wireless communications and mobile computing, https://doi.org/10.1155/2018/9713450 

Comments

  1. kindly add the reference paper.

    ReplyDelete
  2. Thank you, much appreciated!!

    ReplyDelete
  3. Line number 34 in the code
    In place of mod hi square in the formula we have to take sum of all absolute values right. But you just considered absolute values. I don't understand that can you please explain?

    ReplyDelete
    Replies
    1. Hi Satwik, 'h' is a vector of channel coefficients. When we do |h|^2, we are considering the squared absolute value of one particular entry of h. And then we repeat the same for all the entries of h. Instead of using a 'for' loop, the matlab command (abs(h)).^2 implements this operation more efficiently.
      Hope this helps.

      Delete
  4. What are the units of distances(d1,d2,d3)?

    ReplyDelete
  5. Dear Joe, when using SIC to cancel the interference, do the value of the power allocation coefficient ${\alpha _1},{\alpha _2},{\alpha _3},...,{\alpha _N}$ was included in the transmission packet so that the receiver know the decoding order ?

    ReplyDelete
    Replies
    1. Hi Minh,
      The receiver should know the values of power allocation coefficients to perform SIC. So, they can be included in the transmission packet. Alternatively, if the receiver knows the power allocation strategy of the transmitter, the values may be calculated by the receiver itself

      Delete
  6. Average achievable sum-rate versus the power budget at the base station PBS for C-NOMA and NOMA with different pairing schemes ( what programming it in matlab .. please )

    ReplyDelete
  7. Average sum rate versus the power budget at the base station PBS for C-NOMA and different means of the D2D channel gain ( what programming it in matlab .. please )

    ReplyDelete
  8. Comparisons between different relaying modes of cooperation in C-NOMA system for fixed and adaptive relaying power control with different power budget at the BS ( what programming it in matlab .. please )

    ReplyDelete
  9. Comparisons between different relaying modes of cooperation in C-NOMA system for fixed and adaptive relaying power control with different power budget at the user device ( what programming it in matlab .. please )

    ReplyDelete
  10. Average achievable sum-rate versus the power budget at the base station PBS for C-NOMA and NOMA with different pairing schemes ( what programming it in matlab .. please )

    ReplyDelete
  11. Computational time of the hungrian method scheme versus that of SCA-based approach in noma ( what programming it in matlab .. please )

    ReplyDelete
    Replies
    1. Hi, thanks for the suggestions. Will try to cover these topics in a future post!

      Delete
  12. Dear Joe, thank you so much about these short notes and codes it is very help me i am doctorat student ....i want ask you if you have code matlab Cognitive Radio with NOMA .. please share with me if you can

    ReplyDelete
    Replies
    1. Hi, glad to know you found the blog helpful.
      Right now I don't have codes on CR-NOMA. Will make a post on that soon.

      Delete
  13. Hello, I am phd scholar doing my research work for infusion of CR with NOMA technology, if you can share MATLAB code for CR/NOMA....Thanks

    ReplyDelete
    Replies
    1. Hi, sure, we'll cover that in a future post

      Delete
  14. hi i wanna ask, what does n0 mean means in line 24 and 25? thank u

    ReplyDelete
    Replies
    1. Hi nameless, No and no are the noise power in dBm and linear scales

      Delete
  15. hi i wanna ask question
    i think in OMA Bw/3 not like NOMA each user use all the BW and we know n=N*BW so i think must be (noise /3) in the eqations or what is wrong plz tell me & Thanks

    ReplyDelete
    Replies
    1. Hi Abdelrahim, considering TDMA as the OMA scheme, each user gets 1MHz bandwidth (and hence the noise power over that bandwidth), but gets to transmit only for one-thirds of the time-slot duration. Hence the 1/3
      Hope this helps

      Delete
    2. Hi I have one question,
      In case of 2 users NOMA, Is it necessary both users perform better than OMA?

      In case of 2 users, is it necessary that both users NOMA should perform better than OMA ( considering TDMA ) ?. In NOMA, If we allocate more power to far user, then it will perform better than OMA far user but near user will suffer and has less sum-rate. In terms of overall sum rate also, even for the same channel condition, OMA performance is little more than NOMA performance.
      In NOMA, if we calculate the power allocation coefficient of far user according to the channel condition, its value came near half which make it useless to calculate power coefficient using channel condition and we have to allocate power randomly.

      Delete
  16. Please upload code for BER comparison for NOMA vs OMA.

    ReplyDelete
    Replies
    1. sure, will do it soon!

      Delete
    2. also i need this plz in this week

      Delete
    3. Hi Abdelrahim, I've already shared the code with you in mail

      Delete
    4. i think u are did write here on your website
      thanks alloooooooooooooot bro

      Delete
    5. Can u share this Ber comparison for NOMA vs OMA with me too?? Thank u in advance!!

      Delete
    6. This comment has been removed by the author.

      Delete
    7. Hello Joe. Can you send me the code too? tamim4463@gmail.com

      BER for NOMA vs OMA

      Delete
    8. hi GT_24 and MRT, you can download the BER comparison code from this link:
      https://drive.google.com/file/d/1TUi4D_bUIoEw9X74fWQFYkyjNi_n550h/view?usp=sharing

      Delete
  17. Hi Joi
    Thanks for you brilliant explanation and coding
    very helpful

    could i ask why we divide by N in OMA

    Ri,OMA=1/N * log2(1+γi,OMA)

    while in NOMA we did not divide by N

    ReplyDelete
    Replies
    1. Hi mohamed, think of N as the number of orthogonal resource blocks (frequency/time/code).
      For example, in a N=4 user network with time slot duration of T = 4 ms, OMA (TDMA) will allocate (T/N = 1 ms) to each user. So transmission happens only for 1 ms to each user. But in NOMA each user will get the 4 ms time slot. Hence the 1/N factor for OMA, and not for NOMA.
      Hope this helps

      Delete
  18. hi Mr.Joe 
    how are you ?plz i have an important question , i see all your codes , and my question is > if we don't need to put exactly values like a1=0.75 , a2 = (1-a1)*a1 , a3 = (1-(a1+a2))*a1,a4 = (1-(a1+a2+a3))
    what we must dowing  to do the power allocation coefficient automatically ??

    if we do distance for each user what we must doing or tell me any automatically thing plzzzzzzzzzzzzzzzz 

    thanks alot for your help 

    ReplyDelete
    Replies
    1. Hi Abdelrahim, one way to do this is, a_i = (1/d_i)/((1/d1)+(1/d2)+...+(1/dn)),
      where i = 1,2,...n
      n is the total number of users,
      d_i is the distance of user i from BS

      Delete
    2. i did that and it is working thanks alooooooooooooooot bro

      i send a last question on your email plz bro answer to me plzzzzzzzzzzz
      my doctor waiting me and im stuck plz help me quicly its the last question

      thanks alot

      Delete
  19. hi Mr.Joe
    capacity unit (bit/s)
    and equation of capacity = BW *log2 (1+SNR)

    your code solve spectral efficiency cauz you write unit (bitpers/Hz)
    and equation you write= log2 (1+SNR)

    So what is the correct ?
    is that capacity or Spectral efficiency ??


    another question i have
    what is meaning achavable rate is that the same of capacity or what ??

    Plzz answer Mr.Joe

    Thanks

    ReplyDelete
    Replies
    1. Hi Abdelrahim, the terms capacity and spectral efficiency are sometimes used somewhat interchangeably and can be understood from the context. For example, see this stackexchange post: https://dsp.stackexchange.com/questions/1519/information-theory-units-of-channel-capacity#:~:text=In%20a%20first%20course%20in,of%20bits%2Fs%2FHz.

      Delete
    2. thanks aloot Mr.Joe

      Plz i have the last question

      i need you edit the code to be when the SNR 0dB or less the results be equal ZERO
      and after that start get positive results
      My doctor need something like that today
      i try to let BW=10^6
      but i need in the zero values get zero or somthing be good to doctor
      Plzzzzzzzzzzzzzzzzzzzzzzzzz help me plz plz bro

      THANKS ALOT

      Delete
    3. Hi Abdelrahim, SNR = 0dB means, in linear scale snr = 1. so log2(1+1) > 0.
      So we wont get zero. Hope this helps.

      Delete
  20. Why power P and alpha values are square root

    ReplyDelete
    Replies
    1. Hi, P and alpha are power terms. In the signal equation, we are representing their amplitude (in volts or amps). So we use square root.

      Delete
    2. Please explain the general equation for uplink NOMA and OMA . Thank You.

      Delete
  21. HI Joe ,could you please send matlab code for BER Comparison of NOMA and OMA.
    sreenu.sunkaraboina@gmail.com

    ReplyDelete
    Replies
    1. Hi, you can download the code here:
      https://drive.google.com/file/d/1TUi4D_bUIoEw9X74fWQFYkyjNi_n550h/view?usp=sharing

      Delete
    2. HI Joe ,could you please send matlab code for power allocation Comparison of NOMA and OMA.
      ramezhosny1010@gmail.com

      Delete
  22. Hi joe ,In MC NOMA, Is noise power is same as SC NOMA or No=ktB/S?
    S=No.of sub channels
    what about power ?

    ReplyDelete
  23. Hello Joe
    Thank you for explanation of downlink NOMA and OMA in terms of achievable and sum rate. please share the general equation of achievable and sum rate for uplink NOMA and OMA. Thank You.

    ReplyDelete
  24. Hello Joe
    Thank you for explanation and codes. Please explain the general equation of achievable rate and sum rate for uplink NOMA and OMA.

    ReplyDelete
  25. Please explain the above model for uplink case. Thank You.

    ReplyDelete
  26. Hello Joe. Please explain the concept of both uplink NOMA and OMA. Thank You

    ReplyDelete
  27. hello Joe
    first of all I want to thank you for the help you offer us through your posts.
    because I'm a little confused with SNR transmit and and SNR receve. Why in many simulations (downlink) use the SNR transmit since the results concern the receiver
    More over
    Line 4 you mention that the transmitting power Pt = -114: 5: -54; % in dB
    transmit power should not have negative values?
    whether it is receiving power?

    thanks in advance,

    ReplyDelete
  28. Hi Joe,

    First of all, your blog is a gem! I can't thank you enough for the time and effort you take to make these articles filled with concise yet meaningfull explainations.

    I have a small question. You have explained why the rate of TDMA is scaled by 1/N factor. My question is how about FDMA (or OFDMA) and CDMA? Will the rates also be factored by 1/N. Also unlike TDMA, taking the case of FDMA, the No (or no) will be different for each user right?

    Thanks in advnace!

    ReplyDelete
    Replies
    1. Hi Joe,

      Good work that you are doing with your blog. Keep up the good work! I also wished to ask this same question asked by nashy_nash. How do you deal with other OMA strategies (FDMA, OFDMA, etc.). Also it will be quite helpful if you could demonstrate the user pairing in NOMA using multi-carriers (MC-NOMA) in addition to the pairing in time-domain that you have recently posted.

      Thanks in advance.

      Delete
    2. Hi nashy_nash and warry,
      thank you very much for the feedbacks!
      Regarding OMA, capacity of all OMA schemes are scaled by the 1/N factor. For FDMA, usually, all users are assigned the same bandwidth. So No will be same for all users.

      Sure, as suggested by you, I will try to make a post about user pairing in MC-NOMA soon

      Delete
  29. hi,
    Can you compare fairness index or tell me the response of NOMA and OMA?
    I tried to implement but I am getting OMA is better than NOMA for same channel coefficient ( gain).

    Thanks and Regards

    ReplyDelete
  30. Hello Joe, is NOMA a wideband tranmission or a narrow band transmission? How is code domain NOMA different from CDMA? Please provide an answer if possible.

    ReplyDelete
  31. Comparing sum-rate performance of NOMA and OMA. In case of 2 users NOMA, Is it necessary both users perform better than OMA?
    Details doubt arise while stimulating the code:
    In case of 2 users, is it necessary that both users NOMA should perform better than OMA ( considering TDMA ) ?. In NOMA, If we allocate more power to far user, then it will perform better than OMA far user but near user will suffer and has less sum-rate. In terms of overall sum rate also, even for the same channel condition, OMA performance is little more than NOMA performance.
    (I have also read your article on calculating power allocation coefficient but still have some doubt)
    In NOMA, if we calculate the power allocation coefficient of far user according to the channel condition, its value came near half which make it useless to calculate power coefficient using channel condition and we have to allocate power randomly.

    Thanks and Regards,
    Sandeep

    ReplyDelete
  32. hello everyone please i need Matlab code NOMA qpsk or Pbsk with AWGN channel. Thanks

    ReplyDelete
  33. can you please provide matlab code for ofdm data rate vs noma data rate comparison.

    ReplyDelete
  34. I am doing a project in NOMA. can you please help me with that. I wan to compare data rates of ofdm and noma. i also want to observe the rates when we change number of users. And compare manual and automated power allocation in NOMA.

    ReplyDelete
  35. hey .. can i have the code for downlink NOMA plz

    ReplyDelete
  36. Hello Joe,
    Thank you for the explanation and for uploading posts.
    Could you please upload the NOMA Vs OMA Capacity comparison for the Uplink case with system model, mathematical analysis, and Matlab code?
    Thank you.

    ReplyDelete
  37. Hi Joe, I have a confusion with units in the code. Pt is -144 taken in dB and No= -84 in dBm.
    SNR=Pt-No is measured in dB. How it is possible? we should covert No into dB, then only we have to calculate SNR right. Please correct me if I am wrong.

    ReplyDelete
  38. Hi Joe. Thanks for sharing this beautiful content.

    In MATLAB code, while calculating the SINR for user 2 and user 3 in NOMA case, the channel power gain is miswritten. Please correct me if I am wrong.

    ReplyDelete
  39. In the equations 6 and 9, the channel h should be same in numerator and denominator. For reference please see "Power Domain Non Orthogonal Multiple Access (NOMA) in 5G Systems: Potentials and Challenges" equation 4.

    ReplyDelete
  40. Hi,
    what would happen to NOMA and OMA capacity, when we keep increasing the users?

    ReplyDelete
  41. Hi joe, I would like to ask the SNR code for the capacity of NOMA user 2 is pt(u)*a3*g1,not pt(u)*a3*g3?

    ReplyDelete
  42. help me :(
    i tried in case of 5 users but got error : subscripted assignment dimension
    mismatch.

    Error in dungluongkenhfor5users (line 42)
    C_noma_sum(u) = mean(C_noma_1 +
    C_noma_2 + C_noma_3 + C_noma_4 +
    C_noma_5); %Sum capacity of NOMA
    code:
    clc; clear variables; close all;

    %SNR range
    Pt = -114:5:-54; %in dB
    pt = db2pow(Pt); %in linear scale

    N = 10^4;

    d1 = 5; d2 = 4; d3 = 3; d4=2; d5=1; %Distance of users
    eta = 4; %Path loss exponent

    %Rayleigh fading coefficients of both users
    h1 = (sqrt(d1^-eta))*(randn(N,1) + 1i*randn(N,1))/sqrt(2);
    h2 = (sqrt(d2^-eta))*(randn(N,1) + 1i*randn(N,1))/sqrt(2);
    h3 = (sqrt(d3^-eta))*(randn(N,1) + 1i*randn(N,1))/sqrt(2);
    h4 = (sqrt(d4^-eta))*(randn(N,1) + 1i*randn(N,1))/sqrt(2);
    h5 = (sqrt(d5^-eta))*(randn(N,1) + 1i*randn(N,1))/sqrt(2);
    %Channel gains
    g1 = (abs(h1)).^2;
    g2 = (abs(h2)).^2;
    g3 = (abs(h3)).^2;
    g4 = (abs(h4)).^2;
    g5 = (abs(h5)).^2;

    BW = 10^9;
    No = -174 + 10*log10(BW);
    no = (10^-3)*db2pow(No);

    %Power allocation coefficients
    a1= 0.3; a2 = 0.25; a3 = 0.19; a4 = 0.1825; a5 = 1-(a1+a2+a3+a4);

    C_noma = zeros(1,length(pt));
    C_oma = zeros(1,length(pt));
    for u = 1:length(pt)

    %NOMA capacity calculation
    C_noma_1 = log2(1 + pt(u)*a1.*g1./(pt(u)*a2.*g1 + pt(u)*a3.*g1 + pt(u)*a4.*g1 + pt(u)*a5.*g1 + no)); %User 1
    C_noma_2 = log2(1 + pt(u)*a2.*g2./(pt(u)*a3.*g2 + pt(u)*a4.*g2 + pt(u)*a5.*g2 +no)); %User 2
    C_noma_3 = log2(1 + pt(u)*a3.*g3/(pt(u)*a4.*g3 + pt(u)*a5.*g3 + no)); %User 3
    C_noma_4 = log2(1 + pt(u)*a4.*g4/(pt(u)*a5.*g4 + no));
    C_noma_5 = log2(1 + pt(u)*a5.*g5/ no);
    C_noma_sum(u) = mean(C_noma_1 + C_noma_2 + C_noma_3 + C_noma_4 + C_noma_5); %Sum capacity of NOMA

    %OMA capacity calculation
    C_oma_1 = (1/3)*log2(1 + pt(u)*g1/no); %User 1
    C_oma_2 = (1/3)*log2(1 + pt(u)*g2/no); %User 2
    C_oma_3 = (1/3)*log2(1 + pt(u)*g3/no); %User 3
    C_oma_4 = (1/3)*log2(1 + pt(u)*g4/no);
    C_oma_5 = (1/3)*log2(1 + pt(u)*g5/no);
    C_oma_sum(u) = mean(C_oma_1 + C_oma_2 + C_oma_3 + C_oma_4 + C_oma_5 ); %Sum capacity of OMA

    end
    SNR = Pt - No;
    figure;
    plot(SNR,C_noma_sum,'linewidth',2); hold on; grid on;
    plot(SNR,C_oma_sum,'linewidth',2)
    xlabel('SNR (dB)');
    ylabel('Achievable rate (bps/Hz)');
    legend('NOMA','OMA');
    title('Capacity of NOMA vs OMA');
    ylim([0 max(C_noma_sum)+1]);

    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)