Determining Macro Cell Coverage Based on Okumura Hata in Matlab

Note

Chapter 1 Introduction

1.1 Background

1.2 Problem

1.3 Objective

1.4 Benefit

1.5 Scope and Limits

Chapter 2 Literature Review

2.1 Signal Strength

2.3 Hata Path Loss

2.4 Link Budget

2.5 MATLAB

Chapter 3 Experimental Method

3.1 Place and Time of Experiment

3.2 Tools

3.3 Program

%Hata Model%Frequency 150 – 1000 (MHz)
f = 900;
%Base station height 30 – 200 (m)
Hb = 40;
%Mobile Height 1 – 10 (m)
Hm = 1.5;
%Distance 1 – 20 (km)
d = 1:20;
%Urban Area Loss small medium city (dB)
asm = (((1.1*log10(f))-0.7)*Hm)-((1.56*log10(f))-0.8);
Lusm = 69.55 + (26.16*log10(f)) – (13.82*log10(Hb)) – asm + ((44.9 – (6.55*log10(Hb)))*log10(d));
%Urban Area Loss large city (dB)
if f <= 200
al = (8.29*(log10(1.54*Hm).^2))-1.1;
Lul = 69.55 + (26.16*log10(f)) – (13.82*log10(Hb)) – al + ((44.9 – (6.55*log10(Hb)))*log10(d));
else if f >= 400
al = (3.2*(log10(11.75*Hm).^2))-4.97;
Lul = 69.55 + (26.16*log10(f)) – (13.82*log10(Hb)) – al + ((44.9 – (6.55*log10(Hb)))*log10(d));
else
‘frequency range undefine’;
end
%Suburban Area Loss small medium city (dB)
Lsusm = Lusm – (2*(log10(f/28).^2))-5.4;
%Suburban Area large city (dB)
Lsul = Lul – (2*(log10(f/28).^2))-5.4;
%Rural Area small medium city (Quasi-Open) (dB)
Lrqosm = Lusm – (4.78*(log10(f).^2))+(18.33*log10(f))-35.94;
%Rural Area large city (Quasi-Open) (dB)
Lrqol = Lul – (4.78*(log10(f).^2))+(18.33*log10(f))-35.94;
%Rural Area small medium city (Open Area) (dB)
Lrosm = Lusm – (4.78*(log10(f).^2))+(18.33*log10(f))-40.94;
%Rural Area large city (Open Area) (dB)
Lrol = Lul – (4.78*(log10(f).^2))+(18.33*log10(f))-40.94;
subplot(2,1,1);
plot(d,Lusm,d,Lsusm,d,Lrqosm,d,Lrosm);
grid on;
subplot(2,1,2);
plot(d,Lul,d,Lsul,d,Lrqol,d,Lrol);
grid on;
%Product Loss%u = urban %s = surban
%r = rural
%Total Path Loss (dB)
Lptu = Lul;
Lpts = Lsul;
Lptr = Lrol;
%Building Attenuation (dB)
Abdu = 15;
Abds = 12;
Abdr = 0;
%Vhide Attenuation (dB)
Avu = 0;
Avs = 0;
Avr = 0;
%Body Attenuation (dB)
Abu = 2;
Abs = 2;
Abr = 2;
%Fade Margin (dB)
Mfu = 5.6;
Mfs = 5.6;
Mfr = 5.6;
%Feeder loss per meter (dB/m)
Lf_m = 0.0646;
%Feeder loss (dB)
Lf = Hb*Lf_m;
%Product Loss (dB)
Lpu = Lptu + Abdu + Avu + Abu + Mfu + Lf;
Lps = Lpts + Abds + Avs + Abs + Mfs + Lf;
Lpr = Lptr + Abdr + Avr + Abr + Mfr + Lf;
%MS_BS RX Power%u = urban %s = surban
%r = rural
%MS TX Power (dBm)
Pm = 30;
%MS Antenna Gain (dBi)
Gm = 2;
%MS Feeder Loss (dB)
Lm = 0;
%BS TX Power (dBm)
Pb = 47;
%BS Antenna Gain (dBi)
Gb = 20;
%BS Diversity Gain (dB)
Gd = 3.5;
%BS Duplexer Loss (dB)
Ld = 0.8;
%BS Jumper/Connector Loss (dB)
Lj = 0.9;
%BS TX Filter Loss (dB)
Ltf = 2.3;
%Other Loss (dB)
Lo = 0;
%BS RX Power
Sbu = Pm + Gm – Lm + Gb + Gd – Ld – Lj – Lpu – Lo;
Sbs = Pm + Gm – Lm + Gb + Gd – Ld – Lj – Lps – Lo;
Sbr = Pm + Gm – Lm + Gb + Gd – Ld – Lj – Lpr – Lo;
%MS RX Power
Smu = Gm – Lm + Pb + Gb – Ld – Lj – Ltf – Lpu – Lo;
Sms = Gm – Lm + Pb + Gb – Ld – Lj – Ltf – Lps – Lo;
Smr = Gm – Lm + Pb + Gb – Ld – Lj – Ltf – Lpr – Lo;
plot(d,Smu,d,Sms,d,Smr);
legend(‘Urban’, ‘Suburban’, ‘Rural’);
title(‘Received Power’);
xlabel(‘Distance (km)’);
ylabel(‘Power (dBm)’);
grid on;
a = 20; b = 20; ang=0:0.01:2*pi;
x1=d(1)*cos(ang);
y1=d(1)*sin(ang);
x2=d(2)*cos(ang);
y2=d(2)*sin(ang);
x3=d(3)*cos(ang);
y3=d(3)*sin(ang);
x4=d(4)*cos(ang);
y4=d(4)*sin(ang);
x5=d(5)*cos(ang);
y5=d(5)*sin(ang);
x6=d(6)*cos(ang);
y6=d(6)*sin(ang);
x7=d(7)*cos(ang);
y7=d(7)*sin(ang);
x8=d(8)*cos(ang);
y8=d(8)*sin(ang);
x9=d(9)*cos(ang);
y9=d(9)*sin(ang);
x10=d(10)*cos(ang);
y10=d(10)*sin(ang);
x11=d(11)*cos(ang);
y11=d(11)*sin(ang);
x12=d(12)*cos(ang);
y12=d(12)*sin(ang);
x13=d(13)*cos(ang);
y13=d(13)*sin(ang);
x14=d(14)*cos(ang);
y14=d(14)*sin(ang);
x15=d(15)*cos(ang);
y15=d(15)*sin(ang);
x16=d(16)*cos(ang);
y16=d(16)*sin(ang);
x17=d(17)*cos(ang);
y17=d(17)*sin(ang);
x18=d(18)*cos(ang);
y18=d(18)*sin(ang);
x19=d(19)*cos(ang);
y19=d(19)*sin(ang);
x20=d(20)*cos(ang);
y20=d(20)*sin(ang);
%plot(a+x1,b+y1,a+x2,b+y2,a+x3,b+y3,a+x4,b+y4,a+x5,b+y5,a+x6,b+y6,a+x7,b+y7,a+x8,b+y8,a+x9,b+y9,a+x10,b+y10,a+x11,b+y11,a+x12,b+y12,a+x13,b+y13,a+x14,b+y14,a+x15,b+y15,a+x16,b+y16,a+x17,b+y17,a+x18,b+y18,a+x19,b+y19,a+x20,b+y20);
fill(a+x20,b+y20,[0.4 0 0],a+x19,b+y19,[0.6 0 0],a+x18,b+y18,[0.9 0 0],a+x17,b+y17,[1 0.2 0],a+x16,b+y16,[1 0.4 0],a+x15,b+y15,[1 0.7 0],…
a+x14,b+y14,[1 0.9 0],a+x13,b+y13,[0.8 1 0],a+x12,b+y12,[0.6 1 0],a+x11,b+y11,[0 1 0.3],a+x10,b+y10,[0 1 0.5],a+x9,b+y9,[0 1 0.7],…
a+x8,b+y8,[0 1 0.9],a+x7,b+y7,[0 1 1],a+x6,b+y6,[0 0.7 1],a+x5,b+y5,[0 0.6 1],a+x4,b+y4,[0 0.4 1],a+x3,b+y3,[0 0.3 1],…
a+x2,b+y2,[0 0.2 1],a+x1,b+y1,[0 0 1]);
colorbar(‘YTickLabel’,{‘0’,Smu(2),Smu(4),Smu(6),Smu(8),Smu(10),Smu(12),Smu(14),Smu(16),Smu(18),Smu(20)});
grid on;
xlabel(‘X-distance (km)’); %# Add an x axis label
ylabel(‘Y-distance (km)’); %# Add a y axis label
subplot(3,1,1);
fill(a+x20,b+y20,[0.4 0 0],a+x19,b+y19,[0.6 0 0],a+x18,b+y18,[0.9 0 0],a+x17,b+y17,[1 0.2 0],a+x16,b+y16,[1 0.4 0],a+x15,b+y15,[1 0.7 0],…a+x14,b+y14,[1 0.9 0],a+x13,b+y13,[0.8 1 0],a+x12,b+y12,[0.6 1 0],a+x11,b+y11,[0 1 0.3],a+x10,b+y10,[0 1 0.5],a+x9,b+y9,[0 1 0.7],… a+x8,b+y8,[0 1 0.9],a+x7,b+y7,[0 1 1],a+x6,b+y6,[0 0.7 1],a+x5,b+y5,[0 0.6 1],a+x4,b+y4,[0 0.4 1],a+x3,b+y3,[0 0.3 1],…
a+x2,b+y2,[0 0.2 1],a+x1,b+y1,[0 0 1]);
colorbar(‘YTickLabel’,{‘0’,Smu(4),Smu(8),Smu(15),Smu(17),Smu(20)});
grid on;
xlabel(‘X-distance (km)’); %# Add an x axis label
ylabel(‘Y-distance (km)’); %# Add a y axis label
subplot(3,1,2);
fill(a+x20,b+y20,[0.4 0 0],a+x19,b+y19,[0.6 0 0],a+x18,b+y18,[0.9 0 0],a+x17,b+y17,[1 0.2 0],a+x16,b+y16,[1 0.4 0],a+x15,b+y15,[1 0.7 0],…
a+x14,b+y14,[1 0.9 0],a+x13,b+y13,[0.8 1 0],a+x12,b+y12,[0.6 1 0],a+x11,b+y11,[0 1 0.3],a+x10,b+y10,[0 1 0.5],a+x9,b+y9,[0 1 0.7],…
a+x8,b+y8,[0 1 0.9],a+x7,b+y7,[0 1 1],a+x6,b+y6,[0 0.7 1],a+x5,b+y5,[0 0.6 1],a+x4,b+y4,[0 0.4 1],a+x3,b+y3,[0 0.3 1],…
a+x2,b+y2,[0 0.2 1],a+x1,b+y1,[0 0 1]);
colorbar(‘YTickLabel’,{‘0’,Sms(4),Sms(8),Sms(15),Sms(17),Sms(20)});
grid on;
xlabel(‘X-distance (km)’); %# Add an x axis label
ylabel(‘Y-distance (km)’); %# Add a y axis label
subplot(3,1,3);
fill(a+x20,b+y20,[0.4 0 0],a+x19,b+y19,[0.6 0 0],a+x18,b+y18,[0.9 0 0],a+x17,b+y17,[1 0.2 0],a+x16,b+y16,[1 0.4 0],a+x15,b+y15,[1 0.7 0],…
a+x14,b+y14,[1 0.9 0],a+x13,b+y13,[0.8 1 0],a+x12,b+y12,[0.6 1 0],a+x11,b+y11,[0 1 0.3],a+x10,b+y10,[0 1 0.5],a+x9,b+y9,[0 1 0.7],…
a+x8,b+y8,[0 1 0.9],a+x7,b+y7,[0 1 1],a+x6,b+y6,[0 0.7 1],a+x5,b+y5,[0 0.6 1],a+x4,b+y4,[0 0.4 1],a+x3,b+y3,[0 0.3 1],…
a+x2,b+y2,[0 0.2 1],a+x1,b+y1,[0 0 1]);
colorbar(‘YTickLabel’,{‘0’,Smr(4),Smr(8),Smr(15),Smr(17),Smr(20)});
grid on;
xlabel(‘X-distance (km)’); %# Add an x axis label
ylabel(‘Y-distance (km)’); %# Add a y axis label

3.4 Input

3.5 Output

Chapter 4 Discussion

4.1 Signal Strength in MS (Mobile Station)

4.2 Increase MS Power

4.2.1 Minimizes Hata Path Loss

4.2.2 Increasing Tool Specifications

Chapter 5 Closing

5.1 Conclusion

Bibliography

Mirror

this blog contains all my articles licensed under creative commons attribution customized sharealike (cc-by-sa) where you can sell but mention the open one here

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store