Animation of Comm Links for GlobalStar

The two SatLab maps below come from an analysis of a communication system using the GlobalStar stellite syste. This system has 6 earth stations, two communicating locations (Phoenix and Rome . Routes are calculated with the Diklstra routing algorithm and displayed on the animated map. The first map below shows the routing at the end of the simulation, the second map shows the coverage of GlobalStar satellites at the end of the simulation. The two communicating locations(Phoenix and Rome) are shown on the map. Figure 1: Route map between Phoenix and Rome Figure 2: Circle coverage view of the GlobalStar system at the end of simulation
Script - DemoRouteEStar
1. function demoRouteEStar
2.     %
3.     % demoRouteEStar
4.     %
5.     % This demo loads the satellite system GlobalStar
6.     % with 6 ES and 2 MS and simulates this system over
7.     % 10 min. In the demo the routing paths between Phoenix
8.     % and Rome and between Rome and Phoenix are shown.
9.     % The used routing algorithm is the Dijkstra algorithm
10.     % and routing is only possible between MS and LEO
11.     % satellites for the uplink, between satellites and MS
12.     % for the downlink, between satellites and ES for
14.     %
15.     % Author : Horst Salzwedel
16.
18.
20.     setSimEpoch(2000,3,26,8,0,0);
21.
22.     ES1 = "Honolulu";
23.     ES2 = "Seattle";
24.     ES3 = "Dallas";
25.     ES4 = "New York";
26.     ES5 = "Reykjavik";
27.     ES6 = "Berlin";
28.     MS1 = "Phoenix";
29.     MS2 = "Rom";
30.
31.     t = 0:10:200;
32.
33.     % initialize values for Iridium
34.     earth1 = NodeNumber(MS1) + 1;
35.     earth2 = NodeNumber(MS2) + 1;
36.
37.     % other values
38.     n   = NumberOfNodes(4);
39.     nES = NumberOfNodes(1);
40.     nMS = NumberOfNodes(2);
41.     nS  = nES + nMS;
42.
43.     % open display
44.     id   = 1;
45.     iLEO = nS + 1;
46.     z    = zeros(n-iLEO+1);
47.
48.     % time steps
49.     for i1 = 1:max(size(t))
50.         tnow=t(i1);
51.         clearGraphic(id);
52.         setSimTime(tnow);
53.         g_all=GeoPosition(4)*r2d;
54.         [d,r,a,el,v] = RelPosition ();
55.
56.         % visibility between ES
57.         v(1:6,1:6) = [110000
58.                       111000
59.                       011100
60.                       001110
61.                       000111
62.                       000011];
63.         v(iLEO:n,iLEO:n) = z;
64.
65.         % cost = 10E10*ones(104);
66.         cost = zeros(104);
67.         cost(1:56,1:56) = d.*v;
68.         cost(1:6,57:104) = cost(1:6,9:56);
69.         cost(57:104,7:8) = cost(9:56,7:8);
70.
71.         % routing
72.         routes1 = RoutingDijkstra(cost,earth1,earth2);
73.         nr = max(size(routes1));
74.
75.         for j=1:nr
76.             if(routes1(j) > 56)
77.                 routes1(j) = routes1(j) - 48;
78.             endif
79.         endfor
80.
81.         setLineColor(id,"white");
82.         lon1 = g_all(2,routes1);
83.         lat1=g_all(1,routes1);
84.         drawPline(id,lon1,lat1);
85.
86.         % end of routing calculation
87.     endfor
88.
89.     fprintf(stdout, "press space ...\n"), pause();
90.     demos
91.
92. %endfunction
93.