MLDesign Technologies, Inc.

Main navigation

Sub navigation

 
 
 

Content

EOS Power Analysis

The SatLab graph below analyzes the power output of an Earth Observation Satellite under maximum solar gain. The script that generated this graph is shown below.

Figure 1: Calculated EOS power levels
  1. % Demo: EOS satellite
  2. %
  3. % This demo sets up a satellite for earth observation that passes
  4. % over the earth at noon for optimum light conditions
  5. %
  6.  
  7. removeAll;
  8. clearGraphic();
  9. setSimEpoch(2000,3,21,12,0,0);
  10. addEpoch('equinox',2000,3,21,12,0,0);
  11. addSatellite('EOS Sat',7171,0,98,0,0,0,'equinox');
  12.  
  13. %earthstation
  14. earth0 = "Frankfurt";
  15. addStation('Frankfurt', I_earth, 10, 50.05, 8.4, 0.1);
  16.  
  17. dtime      = 100;
  18. alphaleft  = 45 *d2r;
  19. alphatop   = 0 *d2r;
  20. alpharight =-45 *d2r;
  21.  
  22. setSimTime(0);
  23. setSimStepSize(dtime);
  24. t = 0:dtime:120*dtime;
  25. fleft = rotx(alphaleft) * [ 0
  26.                             0
  27.                            -1 ];
  28.  
  29. ftop = rotx(alphatop)*    [ 0
  30.                             0
  31.                            -1 ];
  32.  
  33. fright= rotx(alpharight)* [ 0
  34.                             0
  35.                            -1 ];
  36.  
  37. z_matrix =
  38. [   0 26.75 27.25 27.75 28.25 28.75 29.25 29.75 30.25 30.75 31.25
  39.   100 12.39 12.23 12.14 12.14 11.95 10.64 10.51 10.33 10.14  9.94
  40.    90 12.67 12.59 12.50 12.39 12.26 11.76 11.68 11.36 11.48 11.36
  41.    80 12.77 12.73 12.68 12.63 12.57 12.31 12.27 12.22 12.17 12.11
  42.    70 12.78 12.76 12.74 12.71 12.68 12.55 12.53 12.51 12.48 12.45
  43.    60 12.74 12.73 12.72 12.71 12.69 12.63 12.62 12.61 12.60 12.68
  44.    50 12.68 12.68 12.67 12.67 12.66 12.63 12.63 12.62 12.62 12.91
  45.    40 12.61 12.61 12.61 12.61 12.60 12.59 12.59 12.79 12.88 13.18
  46.    30 12.53 12.53 12.53 12.53 12.53 12.53 12.57 12.63 12.73 12.72
  47.    20 12.46 12.45 12.45 12.45 12.45 12.45 12.45 12.45 12.65 12.45
  48.    10 12.38 12.38 12.38 12.38 12.38 12.38 12.38 12.38 12.58 12.38
  49.     0 12.30 12.30 12.30 12.30 12.30 12.30 12.30 12.30 12.40 12.30
  50.   -10 12.22 12.22 12.22 12.22 12.22 12.22 12.22 12.22 12.22 12.22
  51.   -20 12.14 12.14 12.14 12.14 12.14 12.14 12.14 12.14 12.14 12.14
  52.   -30 12.06 12.06 12.06 12.06 12.06 12.06 12.06 12.06 12.06 12.06
  53.   -40 11.98 11.98 11.98 11.98 11.98 11.98 11.98 11.98 11.98 11.98
  54.   -50 11.70 11.84 11.90 11.90 11.90 11.90 11.90 11.90 11.90 11.90
  55.   -60 11.32 11.62 11.72 11.82 11.82 11.82 11.82 11.82 11.82 11.82
  56.   -70 11.14 11.24 11.44 11.64 11.74 11.74 11.74 11.74 11.74 11.74
  57.   -80 10.95 10.95 11.35 11.45 11.65 11.65 11.65 11.65 11.65 11.65 ];
  58.  
  59. j            = 0;
  60. temptop      = 0;
  61. templeft     = 0;
  62. tempright    = 0;
  63. solarflux    = 1420;
  64.  
  65. alpha        = 0.65;
  66. epsilon      = 0.81;
  67. albedo       = 0.3;
  68. sigma        = 5.67e-8;
  69. capacity     = 660;
  70.  
  71. qir          = 0;
  72. strings_top  = 4;
  73. strings_side = 10;
  74. eview        = 0.045;
  75. dt           = 60;
  76.  
  77. dtc          = dt/capacity;
  78. reference_flux_si = 1353;
  79. voltage      = 28;
  80. current      = zeros(size(t));
  81.  
  82. for i=t,j=j+1;
  83.     stepSim;
  84.     [d,r,a,e,v] = PlanetPosition();
  85.     theta = ftop` * unitvector(a(2),e(2));
  86.     theta = max(0,theta);
  87.     temptop = temptop+((theta*solarflux*alpha)
  88.                       -(epsilon*(temptop^4)*sigma))*(dtc);
  89.     current_top = ((strings_top*theta)
  90.                    *table(z_matrix,(temptop-273.15),voltage)
  91.                    *((solarflux/reference_flux_si)/12));
  92.  
  93.     theta = fleft` * unitvector(a(2),e(2));
  94.     theta = max(0,theta);
  95.     templeft = (templeft+
  96.                ((((theta*solarflux*alpha)+
  97.                   (theta*solarflux*albedo*alpha*eview))
  98.                 -(epsilon*(templeft^4)*sigma)
  99.                 +theta*qir)*(dtc)));
  100.  
  101.     current_left = ((strings_side*theta)*
  102.     table(z_matrix,(templeft-273.15),voltage)
  103.         *((solarflux/reference_flux_si)/12));
  104.  
  105.     theta = fright` * unitvector(a(2),e(2));
  106.     theta = max(0,theta);
  107.     tempright= (tempright+
  108.                ((((theta*solarflux*alpha)+
  109.                   (theta*solarflux*albedo*alpha*eview))
  110.                 -(epsilon*(tempright^4)*sigma)+theta*qir)*(dtc)));
  111.  
  112.     current_right = ((strings_side*theta)
  113.                     *table(z_matrix,(tempright-273.15),voltage)
  114.                     *((solarflux/reference_flux_si)/12));
  115.  
  116.     current(j)=current_top+current_left+current_right;
  117. endfor
  118.  
  119. average=sum(current*voltage)/prod(size(t));
  120. erase
  121.  
  122. window('111');
  123. plot(t,current*voltage,
  124.      t,ones(size(t))*average, 'grid');
  125. title('Power of EOS Satellite')
  126. ylabel('P [Watt]');
  127. xlabel('t [sec]')
  128. wtext(2000,average+10,'Average Power');