How can i generate Nakagami fading channel ?

57 views (last 30 days)
Salah Abdou
Salah Abdou on 13 Dec 2020
Commented: Mohammad Ali on 22 Aug 2022
I am doing some wireless communications simulations using Matlab. There are two famous channel models Rayleigh fading and Nakagami fading. I can easily generate Rayleigh fading h=(randn(1,1)+1i*randn(1,1))/sqrt(2).i want to genrate Nakagami fading. If anyone has experience please share the code with me. Thanks
  1 Comment
Mohammad Ali
Mohammad Ali on 22 Aug 2022
For nakagami channel you have to write two line instead of one. first you have to define the pdf as
pd = makedist('Nakagami','mu',m,'omega',omega);
Then to generate a random smaples from above pdf write as
h = random(pd,N,Itr);
where (N,Itr) is size of channel.

Sign in to comment.

Answers (1)

Angga Dwiki Wicaksono
Angga Dwiki Wicaksono on 27 Jul 2021
% The channel coefficient with PDF Nakagami-m distributed random variable
pd1 = makedist('nakagami',m_h,o);
h1 = (random(pd1,N,Nt) + j*random(pd1,N,Nt)).*sqrt(0.5); % Tx-IRS % There is no pathloss
h2 = (random(pd1,Nr,N) + j*random(pd1,Nr,N)).*sqrt(0.5); % IRS-Rx % There is no pathloss
%The SI channel between the transmit and receive antennas of Use
pd2 = makedist('nakagami',m_I,oI);
hI = (random(pd2,Nt,Nr) + j*random(pd2,Nt,Nr)).*sqrt(0.5) ;% Rx-Tx

Categories

Find more on Communications Toolbox in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!