MLDesign Technologies, Inc.

Mainnavigation

Subnavigation

BORDER

 
 
 

Pagecontent

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
  13.     % up/down link and between ES for cross links
  14.     %
  15.     % Author : Horst Salzwedel
  16.  
  17.     loadreplaceAll("./EStar.data");
  18.  
  19.     %addStation("Buenos Aires",I_earth,0.00-34.57,-58.05,0.01);
  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.