Asked by Praveen Pawar
on 18 May 2018

Users are uniformly distributed in the circular area and base station is at the center. If the distance is varied then their corresponding rate should also be different. Here is the code, I am getting the approximate same rate for all users. Where is the mistake in my code? any suggestion is very thankful.

n_users=10;%no. of users

N0dbm=-124; %%%noise power

N0 = 10^((N0dbm-30)/10);

P_MBS=20;%Power in watt

MBS_XY = [0 0];

r_MBS=100;

alpha=0.3; %bandwidth allocation

FREQ = 2.15;

angle_users = 2*pi*rand(n_users,1);

r_users = r_MBS*sqrt(rand(n_users,1));

%x and y coordinate of users

X_users = r_users.*cos(angle_users)+ MBS_XY(1);

Y_users = r_users.*sin(angle_users)+ MBS_XY(2);

XY_users=X_users + 1i.*Y_users;

MBS_XY = MBS_XY(1)+1i*MBS_XY(2);

%%Calculate channel gain

dist_users = abs(XY_users-MBS_XY);

path_loss = 10*alpha*log10(dist_users) + 27.3 + 26*log10(FREQ);

shadowing = 4*ones(size(dist_users));

shadowing = shadowing.*randn(size(shadowing));

sub_power_array = 10.^((shadowing-path_loss)./10); % caculate shadowing

size_h = size(sub_power_array); % caculate h

h = sqrt(0.5)*randn(size_h)+sqrt(0.5)*randn(size_h)*1j;

% final power array

channel_gain = (abs(h)).^2.*sub_power_array;

G_MBS = channel_gain;

%%%%

%%Rate

R_MBS = log2(1+(P_MBS.*G_MBS)./N0); %%Rate or shannon capacity

Answer by KALYAN ACHARJYA
on 18 May 2018

Edited by KALYAN ACHARJYA
on 18 May 2018

The output is not same, where you got the same results if you vary the n_user

KALYAN ACHARJYA
on 18 May 2018

??

Praveen Pawar
on 18 May 2018

KALYAN ACHARJYA
on 18 May 2018

Sign in to comment.

Opportunities for recent engineering grads.

Apply Today
## 0 Comments

Sign in to comment.