%Figure 2.10(a); 'Mobile satellite communication; Principles and trends' by M.Richharia;

%Equation (2.13) of 'Satellite Communication System:Design Principles by M.Richharia;

%Semimajor axis versus rate of change of argument of perigee;

%Matlab source code writeen by AR/MR;Year 2000, V 1.0;

%wdotc = 4.97*(R./a).^3.5*(5*(cos (i*pi/180))^2-1)/(1-e^2)^2;

%where, wdotc = Rate of change of argument of perigee;R = mean equatorial radius (6378 Km)

%a = semi-major axis; i = inclination; e = eccentricity;

R=6378; %Mean equatorial radius;

a=linspace(6378+500,15000+6378,1000);%semi major axis;

figure('color','white');

hold;

i = 45;% inclination;

e = 0.1; % eccentricity;

wdota=4.97*(R./a).^3.5*(5*(cos (i*pi/180))^2-1)/(1-e^2)^2;     

i = 90;% inclination;

e = 0.1; % eccentricity;

wdotb=4.97*(R./a).^3.5*(5*(cos (i*pi/180))^2-1)/(1-e^2)^2;

i = 5;% inclination;

e = 0.1; % eccentricity;

wdotc=4.97*(R./a).^3.5*(5*(cos (i*pi/180))^2-1)/(1-e^2)^2;      

i = 63.4;% inclination;

e = 0.1; % eccentricity;

wdotd=4.97*(R./a).^3.5*(5*(cos (i*pi/180))^2-1)/(1-e^2)^2;

%Plot figure;

plot(a,wdota,'k',a,wdotb,'k',a,wdotc,'k',a,wdotd,'k')

%legend('i=45','i=90','i=5','i=63.4')

axis([700+6378 15000+6378 -inf inf]);

xlabel('Semi-major axis (Km)');

ylabel('Rate of change of argument of perigee (deg/day)');

grid on;

zoom;

[Back to software]


 

%Figures 2.13; 'Mobile satellite communication; Principles and trends' by M.Richharia;

%Semimajor axis versus rate of precession of ascending node (deg/day);

%Equation (2.14) of 'Satellite Communication Systems:Design Principles' by M.Richharia;

%Matlab source code written by AR/MR:Year 2000;

%Graph view changed as required

R=6378; %Mean equatorial radius;

a=linspace(6378+500,15000+6378,1000);%semi major axis;

figure('color','white');

hold;

i = 45;% equatorial axis;

e = 0.1; % eccentricity;

wdota=9.95*(R./a).^3.5*(cos (i*pi/180))/(1-e^2)^2;     

i = 90;% equatorial axis;

e = 0.1; % eccentricity;

wdotb=9.95*(R./a).^3.5*(cos (i*pi/180))/(1-e^2)^2;

i = 5;% equatorial axis;

e = 0.1; % eccentricity;

wdotc=9.95*(R./a).^3.5*(cos (i*pi/180))/(1-e^2)^2;      

i = 63.4;% equatorial axis;

e = 0.1; % eccentricity;

wdotd=9.95*(R./a).^3.5*(cos (i*pi/180))/(1-e^2)^2;

%Plot figure;

plot(a,wdota,'k',a,wdotb,'k',a,wdotc,'k',a,wdotd,'k')

%legend('i=45','i=90','i=5','i=63.4');

axis([700+6378 15000+6378 -inf inf]);

xlabel('Semi-major axis (Km)');

ylabel('Rate of precession of ascending node (deg/day)');

grid on;

zoom;

[Back to software]


 

%Figure 2.19(a); 'Mobile satellite communication; Principles and trends' by M.Richharia;

%Half power beamwidth Vs maximum number of days sun transit occurs at an earth station

%Equation (2.24) of 'Satellite Communication System:Design Principles'by M.Richharia;

 

%days=(beamwidth+0.48)/0.4, where, days = Number of days solar interference occurs at an earth station;

%beamwidth = earth stationantenna 3 dB beamwidth;

%Matlab source code written by AR/MR; Year 2000, V 1.0;

beamwidth=linspace(0,10,10);%beamwidth

figure('color','white');

hold;

days=(beamwidth+0.48)/0.4;

%Plot figure

plot(beamwidth,days,'k')

%legend('i=45','i=90','i=5','i=63.4')

axis([0.1 5 -inf 15]);

xlabel('Half power beamwidth (Degrees)');

ylabel('Maximum no of days');

grid on;

zoom;

[Back to software]


 

%Figure 2.19(b); 'Mobile satellite communication; Principles and trends' by M.Richharia;

%Equation (2.25) of book 'Satellite Communication Systems: Design Principles' by M.Richharia;

%Ground station antenna beamwidth versus maximum duration of sun transit;

%Matlab source code written by AR/MR: Year 2000, V 1.0;

beamwidth=linspace(0,10,10);%beamwidth;

figure('color','white');

hold;

days=(beamwidth+0.48)/0.25;

%Plot figure;

plot(beamwidth,days,'k')

%legend('i=45','i=90','i=5','i=63.4')

axis([0.1 5 -inf 25]);

xlabel('Half power beamwidth (Degrees)');

ylabel('Maximum duration of sun transit on peak day (Minutes)');

grid on;

zoom;

[Back to software]


 

%Figure 2.26; 'Mobile Satellite Communications:Principles and Trends' by M.Richharia

%Number of satellites in a constellation for world-wide coverage - from various researchers;

%See above referred book for references;

%Matlab source code written by AR/MR: Year 2000;

psi=linspace(15,70,100);%create x values(20,30...60,70)

R=cos(10*pi/180)*6378./sin((80-psi)*pi/180)-6378;%Obtain psi from range R;

%various formulae

%Beste D.C (1978) estimate;

beste=4./(1-cos (psi*pi/180));

%Luders R.D (1961) estimate

luders=0.5*(pi./acos(cos(psi*pi/180).^0.5)).^2;

%Theoretical minimum assuming a stationary earth;

stationary=2.5./(1-cos(psi*pi/180));

%Ballard A.H (1980) - Also, table 2.2 of satellite comms book by M.Richharia; See ch 2 references.

earthrad1=6378*[4.232 3.194 1.916 1.472 1.314 1.066 0.838 0.853 0.666 0.598 0.604];

constellationN=[5 6 7 8 9 10 11 12 13 14 15];

%From Adam W.S and Rider L (1987); See references of Ch 2, Satellite Comms book by M.Richharia

earthrad2=[20958 9662 7562 5674 3841 3135 3014 2714 2283 1917 1688 1585 1551 1360 1212 1197 1115 1049 1042 941 868 844 813 766 709 705 666];

constellationN1=[6 8 10 12 15 18 20 21 24 28 32 35 36 40 45 48 50 54 55 60 66 70 72 77 84 88 91];

figure('color','white');

hold;

plot(R,luders,'k',R,beste,'k:',earthrad,constellationN,'kx-',earthrad2,constellationN1,'k.-',R,stationary,'k-.');

legend('Luders (1961)','Beste (1978)','Ballard (1980)','Adams & Rider (1987)','Theoretical bound');

%grid;

axis([500 4500 0 120]);

xlabel('Satellite altitude (Km)');

ylabel('Number of satellites');

zoom;

figure('color','white');

hold;

plot(R,luders,'k',R,beste,'k:',earthrad,constellationN,'kx-',earthrad2,constellationN1,'k.-',R,stationary,'k-.');

legend('Luders (1961)','Beste (1978)','Ballard (1980)','Adams & Rider (1987)','Theoretical bound');

%grid;

axis([4500 25000 -inf 16]);

xlabel('Satellite altitude (Km)');

ylabel('Number of satellites');

zoom;

[Back to software]


 

%Figure 3.44 (a) and (b); 'Mobile satellite communication; Principles and trends' by M.Richharia (MR);

%Data source:ITU-R report; see MR's book for reference;

%Estimated topospheric attenuation due to Oxygen and water for an elevation angle of 10 deg, single transit, at various altitudes;

%Matlab source code written by AR/MR:Year 2000;

altitude=[0 1 2 3 4 5 6];%in km

altitude1=[0 1 2 3 ]

altitude2=[0 1 2 3 ]

altitude3=[0 1 2 3 4]

oxygenAttenuation15=[0.19 0.16 0.14 0.12 0.1 0.08 0.07];%Attenuation (dB) for 1.5GHz;

oxygenAttenuation20=[0.36 0.3 0.26 0.22 0.18 0.16 0.13];%Attenuation (dB) for 20GHz;

oxygenAttenuation40=[1.52 1.29 1.09 0.92 0.78 0.66 0.56];%Attenuation (dB) for 40GHz;

waterAttenuation15=[0.0016 0.001 0.0006 0.0004];%Attenuation (dB) for 1.5GHz;

waterAttenuation20=[1.35 0.92 0.62 0.42];%Attenuation (dB) for 20GHz;

waterAttenuation40=[1.17 0.75 0.47 0.3];%Attenuation (dB) for 40GHz;

cloudAttenuation15=[0.02 0.02 0.01 0];%Attenuation (dB) for 1.5GHz;

cloudAttenuation20=[3.48 3.48 1.74 0];%Attenuation (dB) for 20GHz;

cloudAttenuation40=[13.9 13.9 7 0];%Attenuation (dB) for 40GHz;

rainAttenuation15=[0.009 0.008 0.006 0.004 0];%Attenuation (dB) for 1.5GHz;

rainAttenuation20=[16.3 14.2 11.3 6.9 0];%Attenuation (dB) for 20GHz;

rainAttenuation40=[43 37.3 29.6 18.3 0];%Attenuation (dB) for 40GHz;

% Plot figure;

figure('color','white');

hold;

plot(altitude,oxygenAttenuation15,'k',altitude1, waterAttenuation15,'k*--',altitude,oxygenAttenuation20,'k',altitude,oxygenAttenuation40,'k',altitude1,waterAttenuation20,'k*--',altitude1,waterAttenuation40,'k*--');

legend('Oxygen attenuation', 'Water attenuation')

xlabel('Altitude (km)');

ylabel('Attenuation (dB)');

grid on;

figure('color','white');

hold;

plot(altitude2,cloudAttenuation15,'k',altitude3, rainAttenuation15,'k*--',altitude2,cloudAttenuation20,'k',altitude2,cloudAttenuation40,'k',altitude3,rainAttenuation20,'k*--',altitude3,rainAttenuation40,'k*--');

legend('Cloud attenuation', 'Rain attenuation')

xlabel('Altitude (km)');

ylabel('Attenuation (dB)');

grid on;

[Back to software]


 

%Figure 3.50: 'Mobile satellite communications:Principles and Trends' by M.Richharia;

%Fade versus number of channels available for various percentage of mobiles undergoing fade;

%Matlab source code by AR/MR

figure('color','white');

hold;

EIRPdbW= [30 30  30 30 30 30 30 30 30 30 30]; %EIRP/ch (dBW);

EIRPw = 10.^(EIRPdbW./10);%EIRP/ch (W);

fadedB=linspace(0,10,11);%Fade level (dB);

fade=10.^(fadedB./10);%Fade level (Number);

EIRPWF=EIRPw.*fade;%EIRP/ch at faded level;

X1=1/100; % 1;

X2=10/100; % 10;

X3=25/100; % 25;

X4=50/100; % 50;

X5=0/100; % 50;

X6=100/100; % 50;

%Number of channels for different fractions, satellite EIRP=70 dBW;

N1=(10^7)./(EIRPw.*(fade*X1+1-X1));

N2=(10^7)./(EIRPw.*(fade*X2+1-X2));

N3=(10^7)./(EIRPw.*(fade*X3+1-X3));

N4=(10^7)./(EIRPw.*(fade*X4+1-X4));

N5=(10^7)./(EIRPw.*(fade*X5+1-X5));

N6=(10^7)./(EIRPw.*(fade*X6+1-X6));

%Plot figure;

plot(fadedB,N1,'k',fadedB,N2,'k',fadedB,N3,'k',fadedB,N4,'k',fadedB,N5,'k',fadedB,N6,'k')

%legend('Faded channels (1%)','Faded channels (10%)','Faded channels (25%)','Faded channels (50%)','Faded channels (0%)','Faded channels (100%)')

xlabel('Fade (dB)');

ylabel('Number of channels');

grid on;

[Back to software]


 

%Figure 3.52; 'Mobile satellite communication; Principles and trends' by M.Richharia;

%Plot of supportable bit rate against satellite EIRP for various types of terminals;

%Matlab source code written by AR/MR;

rb=[2.4 24 64 128 256 512 1200 2400];%kbits/sec

rb=0:1:2400;

rb=rb*1000;%bits/sec

%C/No=Eb/No+10log(rb) : Eb/No=4.5 ...(1)

EbNo=4.5;

CNo=EbNo+10*log10(rb);

rb=rb/1000;%convert rb to kbit/sec

%Pathloss=20(log(4pi*41680*1000/0.15) ...(2)

Pathloss=20*log10(4*pi*40000*1000/0.2);

%EIRP=C/No+Path loss-G/T-228.6 ...(3)

GT=0;

EIRP1=CNo+Pathloss-GT-228.6;

GT=-5;

EIRP2=CNo+Pathloss-GT-228.6;

GT=-15;

EIRP3=CNo+Pathloss-GT-228.6;

GT=-25;

EIRP4=CNo+Pathloss-GT-228.6;

%Next with varying fade margin

%Add fademargin to EIRP estimated in(eq 3)

GT=0;

fademargin=2;

EIRP5=CNo+Pathloss-GT-228.6 + fademargin;

GT=-5;

fademargin=3;

EIRP6=CNo+Pathloss-GT-228.6+ fademargin;

GT=-15;

fademargin=6;

EIRP7=CNo+Pathloss-GT-228.6+ fademargin;

GT=-25;

fademargin=10;

EIRP8=CNo+Pathloss-GT-228.6+ fademargin;

% Plot: figure('color','white')

hold;

plot(rb,EIRP1,'k',rb,EIRP2,'k',rb,EIRP3,'k',rb,EIRP4,'k',rb,EIRP5,'k:',rb,EIRP6,'k:',rb,EIRP7,'k:',rb,EIRP8,'k:');

xlabel('Bit rate (Kbit/sec)');

ylabel('Satellite EIRP (dBW)');

axis([0 70 -10 50]);

figure('color','white')

hold;

plot(rb,EIRP1,'k',rb,EIRP2,'k',rb,EIRP3,'k',rb,EIRP4,'k',rb,EIRP5,'k:',rb,EIRP6,'k:',rb,EIRP7,'k:',rb,EIRP8,'k:');

%legend ('G/T=0','G/T=-5','G/T=-15','G/T=-25');

xlabel('Bit rate (Kbit/sec)');

ylabel('Satellite EIRP (dBW)');

axis([100 2000 0 70]);

%grid on;

%zoom;

[Back to software]


 

%Figure 5.2;'Mobile satellite communications - Principles and Trends' by M.Richharia (MR);

%Polarisation loss versus Mobile and satellite antenna axial ratios; 

%Equation (4.17) Ohmori, Wakana and Kawase (1998)-See MR's book for reference;

 

AmdB=linspace(0,10,10);%beamwidth

figure('color','white');

hold;

Am = 10.^ (AmdB/20);

AsdB=0;

As = 10^ (AsdB/20);

ploss0 = (Am.^2 + As^2 + 2*Am*As)./((1+Am.^2)*(1+As ^2));

AsdB=1;

As = 10^ (AsdB/20);

ploss1 = (Am.^2 + As^2 + 2*Am*As)./((1+Am.^2)*(1+As ^2));

AsdB=2;

As = 10^ (AsdB/20);

ploss2 = (Am.^2 + As^2 + 2*Am*As)./((1+Am.^2)*(1+As ^2));

AsdB=3;

As = 10^ (AsdB/20);

ploss3 = (Am.^2 + As^2 + 2*Am*As)./((1+Am.^2)*(1+As ^2));

AsdB=1;

As = 10^ (AsdB/20);

%ploss5 = ((1+Am*As).^2)./((1+Am.^2)*(1+As ^2));

%ploss5 = (Am.^2 + As^2 - 2*Am*As)./((1+Am.^2)*(1+As ^2));

AsdB=2;

As = 10^ (AsdB/20);

%ploss6 = ((1+Am*As).^2)./((1+Am.^2)*(1+As ^2));

%ploss6 = (Am.^2 + As^2 - 2*Am*As)./((1+Am.^2)*(1+As ^2));

AsdB=3;

As = 10^ (AsdB/20);

%ploss7 = ((1+Am*As).^2)./((1+Am.^2)*(1+As ^2));

%ploss7 = (Am.^2 + As^2 - 2*Am*As)./((1+Am.^2)*(1+As ^2));

plot(AmdB,10*log10(ploss0),'k',AmdB,10*log10(ploss1),'k',AmdB,10*log10(ploss2),'k',AmdB,10*log10(ploss3),'k');

%plot (AmdB,10*log10(ploss5),AmdB,10*log10(ploss6),AmdB,10*log10(ploss7));

%legend ('AsdB=0','AsdBmax=1','AsdBmax=2','AsdBmax=3','AsdBmin=1','AsdBmin=2','AsdBmin=3');

%legend ('Axial ratio - satellite (dB)');

axis([0 10 -inf inf]);

xlabel('Axial Ratio - Mobile (dB)');

ylabel('Polarization Loss (dB)');

grid on;

%zoom;

[Back to software]


 

%Figure 6.13; 'Mobile satellite communication; Principles and trends' by M.Richharia;

%Orbital altitude versus satellite antenna diameter;

%See 'Mobile satellite communications :Principles and Trends' by MR for reference;

%Matlab source code written by AR/MR;

figure('color','white');

hold;

height=1:1:40000;%orbital height;

CNodB=48;%C/No=48dB;

EIRPdB=-6;%dBW;

kdB=-228.6;%k=-228.6dB/K;

CNo=10^(CNodB/10);%Convert to number;

EIRP=10^(EIRPdB/10);

k=10^(kdB/10);

eta=0.5;

Ts=500; %Constant;

d=height.* sqrt(CNo*32/eta*k*Ts/EIRP)*1000;%satellite antenna diameter;

%CNo=Carrier to noise power spectral density;eta=antenna efficiency;k=Boltzman constant;Ts=System noise temperature;

%EIRP = Effective isotropically radiated power;

%Plot figure;

plot (height,d,'k');

axis([0 12000 -inf 4.5]);%changed from 0 - 12000;

%legend;

xlabel('Orbital altitude (km)');

ylabel('Satellite antenna diameter (m)');

grid on;

[Back to software]