I am struggling with a code.the code for signal transmition in Non Orthogonal Multiple Access. Please help me.
Afficher commentaires plus anciens
clc;
clear all;
n=100;%n0.0f bits for transmit signal
ds1=2;%distance from BS to su1
dp=3;%distance from BS to pu
ds2=4;%distance from BS to su2
%%%the signal from the BS
xp=rand(1,n)>0.5;
xs1=rand(1,n)>0.2;
xs2=rand(1,n)>0.3;
X=xp+xs1+xs2;
%%%the signal received @the su1
for s=0.1:0.01:1%noise variation
N=s*randn(1,n);
ys1=xs1/ds1.^2+N+xp/dp.^2+xs2/ds2.^2
end
5 commentaires
Sadia
le 24 Oct 2017
Modifié(e) : Walter Roberson
le 24 Oct 2017
sir simith how you have write this receiver side equation i.e
ys1 = xs1/ds1.^2+N+xp/dp.^2+xs2/ds2.^2
how will you decode and apply SIC on receiver side? plz answer
haya
le 7 Mar 2019
did you any solution???
kheddara rania
le 30 Mar 2020
CAN i use this code for simulink ??
ahmad almuhands
le 28 Nov 2020
please... i want matlab code of this paper.... thank you
Walter Roberson
le 28 Nov 2020
ahmad almuhands:
This facility exists to assist people in learning MATLAB, and helping them debug problems. We do not write programs for people (unless the programs are very small.)
Réponse acceptée
Plus de réponses (6)
Tahir Arshad
le 1 Mai 2018
1 vote
hello sir, can you please share the matlab code for NOMA specially receiver side. thanks
Sami Hadeyya
le 31 Mar 2020
1 vote
Dear Thanh Nguyen
please share Energy-Spectral Efficiency Tradeoff of Downlink
NOMA System with Fairness Consideration if you have
Thanh Nguyen
le 21 Avr 2017
I am not sure whether my answer can help you about the NOMA.
Firstly, generate the bit sequences for each user separately and then modulate them by a common modulation scheme like QPSK. In this step, the signal for each users is considered equally in power.
Secondly, combine the signals into one stream (I call NOMA modulation in power domain, or in some papers they call Superposition Encoding). In this step, we have to consider the Power Allocation for each user s' signal (reference to others NOMA papers for more detail).
Finally, the sole signal will be transmitted as the same way as you described.
Let consider my suggested pseudo code:
clc;
clear all;
n=100;%n0.0f bits for transmit signal
%%%the signal from the BS
xp=rand(1,n); % signal stream of primary user
pp=0.5; % power allocation for primary user
xs1=rand(1,n); % signal stream of user 1
p1=0.3; % power allocation for user 1
xs2=rand(1,n); % signal stream of user 2
p2=0.2; % power allocation for user 2
%superposition encoding
X=sqrt(pp)*xp+sqrt(p1)*xs1+sqrt(p2)*xs2;
8 commentaires
nikitha nabitha
le 15 Sep 2017
Modifié(e) : Walter Roberson
le 19 Sep 2017
Sir you had said that each user have to be modulated for exampled qpsk modulation right?then do the superposition encoding??
* * * *
* * * *
* * * *
* * * * xp=rand(1,n); % information
* * * *
* * * * %Number_of_bit=1024;
* * * * %data=randint(Number_of_bit,1);
* * * *
* * * * figure(1)
* * * * stem(xp, 'linewidth',3), grid on;
* * * * title(' Information before Transmiting ');
* * * * axis([ 0 11 0 1.5]);
* * * *
* * * * data_NZR=2*data-1; % Data Represented at NZR form for QPSK modulation
* * * * s_p_data=reshape(data_NZR,2,length(xp)/2); % S/P convertion of data
* * * *
* * * *
* * * * br=10.^6; %Let us transmission bit rate 1000000
* * * * f=br; % minimum carrier frequency
* * * * T=1/br; % bit duration
* * * * t=T/99:T/99:T; % Time vector for one bit information
* * * *
* * * *
* * * *
* * * * % XXXXXXXXXXXXXXXXXXXXXXX QPSK modulatio XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
* * * * y=[];
* * * * y_in=[];
* * * * y_qd=[];
* * * * for(i=1:length(xp)/2)
* * * * y1=s_p_data(1,i)*cos(2*pi*f*t); % inphase component
* * * * y2=s_p_data(2,i)*sin(2*pi*f*t) ;% Quadrature component
* * * * y_in=[y_in y1]; % inphase signal vector
* * * * y_qd=[y_qd y2]; %quadrature signal vector
* * * * y=[y y1+y2]; % modulated signal vector
* * * * end
* * * * Tx_sig=y; % transmitting signal after modulation
* * * * tt=T/99:T/99:(T*length(xp))/2;
* * * *
* * * * figure(2)
* * * *
* * * * subplot(3,1,1);
* * * * plot(tt,y_in,'linewidth',3), grid on;
* * * * title(' wave form for inphase component in QPSK modulation ');
* * * * xlabel('time(sec)');
* * * * ylabel(' amplitude(volt0');
* * * *
* * * * subplot(3,1,2);
* * * * plot(tt,y_qd,'linewidth',3), grid on;
* * * * title(' wave form for Quadrature component in QPSK modulation ');
* * * * xlabel('time(sec)');
* * * * ylabel(' amplitude(volt0');
* * * *
* * * *
* * * * subplot(3,1,3);
* * * * plot(tt,Tx_sig,'r','linewidth',3), grid on;
* * * * title('QPSK modulated signal (sum of inphase and Quadrature phase signal)');
* * * * xlabel('time(sec)');
* * * * ylabel(' amplitude(volt0)');
* * * *
* * * * xs1=rand(1,n); % information
* * * *
* * * * %Number_of_bit=1024;
* * * * %data=randint(Number_of_bit,1);
* * * *
* * * * figure(1)
* * * * stem(xs1, 'linewidth',3), grid on;
* * * * title(' Information before Transmiting ');
* * * * axis([ 0 11 0 1.5]);
* * * *
* * * * data_NZR=2*data-1; % Data Represented at NZR form for QPSK modulation
* * * * s_p_data=reshape(data_NZR,2,length(xs1)/2); % S/P convertion of data
* * * *
* * * *
* * * * br=10.^6; %Let us transmission bit rate 1000000
* * * * f=br; % minimum carrier frequency
* * * * T=1/br; % bit duration
* * * * t=T/99:T/99:T; % Time vector for one bit information
* * * *
* * * *
* * * *
* * * * % XXXXXXXXXXXXXXXXXXXXXXX QPSK modulatio XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
* * * * y=[];
* * * * y_in=[];
* * * * y_qd=[];
* * * * for(i=1:length(xs1)/2)
* * * * y1=s_p_data(1,i)*cos(2*pi*f*t); % inphase component
* * * * y2=s_p_data(2,i)*sin(2*pi*f*t) ;% Quadrature component
* * * * y_in=[y_in y1]; % inphase signal vector
* * * * y_qd=[y_qd y2]; %quadrature signal vector
* * * * y=[y y1+y2]; % modulated signal vector
* * * * end
* * * * Tx_sig=y; % transmitting signal after modulation
* * * * tt=T/99:T/99:(T*length(xs1))/2;
* * * *
* * * * figure(2)
* * * *
* * * * subplot(3,1,1);
* * * * plot(tt,y_in,'linewidth',3), grid on;
* * * * title(' wave form for inphase component in QPSK modulation ');
* * * * xlabel('time(sec)');
* * * * ylabel(' amplitude(volt0');
* * * *
* * * * subplot(3,1,2);
* * * * plot(tt,y_qd,'linewidth',3), grid on;
* * * * title(' wave form for Quadrature component in QPSK modulation ');
* * * * xlabel('time(sec)');
* * * * ylabel(' amplitude(volt0');
* * * *
* * * *
* * * * subplot(3,1,3);
* * * * plot(tt,Tx_sig,'r','linewidth',3), grid on;
* * * * title('QPSK modulated signal (sum of inphase and Quadrature phase signal)');
* * * * xlabel('time(sec)');
* * * * ylabel(' amplitude(volt0');
* * * * xs2=rand(1,n); % information
* * * *
* * * * %Number_of_bit=1024;
* * * * %data=randint(Number_of_bit,1);
* * * *
* * * * figure(1)
* * * * stem(xs2, 'linewidth',3), grid on;
* * * * title(' Information before Transmiting ');
* * * * axis([ 0 11 0 1.5]);
* * * *
* * * * data_NZR=2*data-1; % Data Represented at NZR form for QPSK modulation
* * * * s_p_data=reshape(data_NZR,2,length(xs2)/2); % S/P convertion of data
* * * *
* * * *
* * * * br=10.^6; %Let us transmission bit rate 1000000
* * * * f=br; % minimum carrier frequency
* * * * T=1/br; % bit duration
* * * * t=T/99:T/99:T; % Time vector for one bit information
* * * *
* * * *
* * * *
* * * * % XXXXXXXXXXXXXXXXXXXXXXX QPSK modulatio XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
* * * * y=[];
* * * * y_in=[];
* * * * y_qd=[];
* * * * for(i=1:length(xs2)/2)
* * * * y1=s_p_data(1,i)*cos(2*pi*f*t); % inphase component
* * * * y2=s_p_data(2,i)*sin(2*pi*f*t) ;% Quadrature component
* * * * y_in=[y_in y1]; % inphase signal vector
* * * * y_qd=[y_qd y2]; %quadrature signal vector
* * * * y=[y y1+y2]; % modulated signal vector
* * * * end
* * * * Tx_sig=y; % transmitting signal after modulation
* * * * tt=T/99:T/99:(T*length(xs2))/2;
* * * *
* * * * figure(2)
* * * *
* * * * subplot(3,1,1);
* * * * plot(tt,y_in,'linewidth',3), grid on;
* * * * title(' wave form for inphase component in QPSK modulation ');
* * * * xlabel('time(sec)');
* * * * ylabel(' amplitude(volt0');
* * * *
* * * * subplot(3,1,2);
* * * * plot(tt,y_qd,'linewidth',3), grid on;
* * * * title(' wave form for Quadrature component in QPSK modulation ');
* * * * xlabel('time(sec)');
* * * * ylabel(' amplitude(volt0');
* * * *
* * * *
* * * * subplot(3,1,3);
* * * * plot(tt,Tx_sig,'r','linewidth',3), grid on;
* * * * title('QPSK modulated signal (sum of inphase and Quadrature phase signal)');
* * * * xlabel('time(sec)');
* * * * ylabel(' amplitude(volt0');
is this how to modulate and then apply superposition encoding??
X=sqrt(pp)*xp+sqrt(p1)*xs1+sqrt(p2)*xs2;
Faizan Saeed
le 15 Sep 2017
There are some undefined variables like 'data' and 'xs2' in line 14 and 120. please solve this problem. I am also working on a project based on NOMA and i am stuck at simulations so please help.
nikitha nabitha
le 18 Sep 2017
hi sir,how did you generate random numbers in NOMA?
Walter Roberson
le 18 Sep 2017
All those **** are invalid MATLAB syntax; your program cannot run.
Faizan Saeed
le 19 Sep 2017
i have removed ** it still does not work. Sir Robert, do you have any idea about Simulation Code of Non-Orthogonal Multiple Access (NOMA) ?
Jan
le 24 Oct 2018
[MOVED from flags] Chu Duc Hanh wrote on 22 Oct 2018 at 22:48.
Em chào anh, em đang làm luận án liên quan đến NOMA và có một số câu hỏi muốn hỏi anh được không ạ?
Translation for the readers:
Hello, I'm doing a dissertation related to NOMA and have some questions to ask him?
@Chu Duc Hanh: Please use the section for comments to post such a comment. Thanks.
Sami Hadeyya
le 31 Mar 2020
please Iam woking on project based on noma iam stuck at simulations so please help.if there is matlab code
please send it. thanks
shardul thapliyal
le 8 Juin 2020
can we add these random samples without modulation?? how will reciever know what were the individual samples??
simith
le 24 Nov 2017
0 votes
2 commentaires
Walter Roberson
le 25 Nov 2017
Please start a new Question for that.
Daniel Demessie
le 9 Avr 2019
if there is matlab code for power allocation for non orthogonal multiple access
please send it
Daniel Demessie
le 9 Avr 2019
0 votes
thanks so much if you have matlab code for Spectrally efficient Non-Orthogonal Multiple Access (NOMA) please send it
1 commentaire
Jan
le 10 Avr 2019
This is not answer to the question. Please do not hijack other threads by posting pseudo-answers.
Aschalew Ambelu
le 19 Mai 2023
0 votes
Any one can you help me
Matlab code of improving spectral efficiency of MIMO system using polar code, NOMA and M-QAM combining togather
pleace help me
Catégories
En savoir plus sur QPSK dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!