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;