MATLAB Listing

%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;