How can I plot Nakagami-m fading channel?

How can I plot Nakagami-m fading channel? How to do simulation like Rician and Rayleigh fading channel? Does anyone have a code?

3 Comments

I also need the code of Nakagami fading channel Mofadal Alymani..
clc; clear all; close all;
colors=['r','g','b'] ;
m = 1;
x = [0:0.05:3];
for w = 1:3
for ii = 1:length(x)
y(ii)=((2*m^m)/(gamma(m)*w^m))*x(ii)^(2*m-1)*exp(-((m/w)*x(ii)^2));
end
plot(x,y,colors(w))
hold on
end
xlabel('Support');
ylabel('PDF');
title('probability density function')
hleg1 = legend('w=1','w=2','w=3');
set(hleg1,'Location','NorthEast')
axis([0 3 0 2]);
grid on

Sign in to comment.

Answers (3)

I also really need the code to simulate the nakagami channel. Can anyone please help?

1 Comment

Hi Muntaseer, were you able to find the way to simulate Nakagami channel? I need the same

Sign in to comment.

Hi Mofadal,
For Nakagami-m fading channel I would like you to go through the file exchange provided by the Jamal Ahmad

1 Comment

This is not an answer for my qustion. I know how to do a PDF of Nakagami distribution. I saw this link before.
I need a code or a function like "comm.RicianChannel", so I can do a sumilation of Nakagami channel.
Thanks for your comment.

Sign in to comment.

Hope this reply finds you well. Please see the following link for the generating the different distributions i.e., Nakagami-m, Rayleigh, Rice, etc. https://www.mathworks.com/matlabcentral/fileexchange/7309-randraw
You can use the following code line to draw Nakagami distibution with shape parameter of m and n random numbers;
h=randraw('nakagami', 1, [1,n]); %m=1 case of Rayleigh

3 Comments

Could you please tell me how can i get the Rayleigh case by using Nakagami distribution following code 'h=randraw('nakagami', 1, [1,n]); %m=1 case of Rayleigh'.
I know , when m=1; case of Rayleigh but what about scale parameters n ( in other words omega) ?.
Which n value do I need to choose as the scale parameter to obtain Rayleigh case by using following nakagami -m distribution matlab code 'h=randraw('nakagami', 1, [1,n]); %m=1 case of Rayleigh',
use this command to get help : randraw('nakagami')
you can use this function :
randraw('nakagami', [m, omega], sampleSize)

Sign in to comment.

Asked:

on 24 Jan 2020

Commented:

on 25 May 2023

Community Treasure Hunt

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

Start Hunting!