Demonstrate a pointing budget using PBudget.

A pointing budget must account for all misalignments and attitude errors.

See also FindDirectory, PBudget

Contents

%---------------------------------------------------------------------------
%  Copyright (c) 2001-2002, 2007, 2017 Princeton Satellite Systems, Inc.
%  All rights reserved.
%---------------------------------------------------------------------------
%  2017.1 Update code from str2mat to char, which is now preferred
%---------------------------------------------------------------------------

clear variables used in demo

%------------------------------
clear desc categ errors

k           = 1;
desc        = 'SSA temperature effects';
categ       = 'Bias';
errors(k,:) = [0.0150 0.0150 0.0000];

k           = k + 1;
desc        = char(desc,'SSA optics w.r.t. cube');
categ       = char(categ,'Bias');
errors(k,:) = [0.0250 0.0250 0.0000];

k           = k + 1;
desc        = char(desc,'SSA cube to MRC');
categ       = char(categ,'Bias');
errors(k,:) = [0.0250 0.0250 0.0000];

k           = k + 1;
desc        = char(desc,'Antenna B.S. w.r.t. antenna RC');
categ       = char(categ,'Bias');
errors(k,:) = [0.0180 0.0180 0.0000];

k           = k + 1;
desc        = char(desc,'Antenna RC w.r.t. MRC');
categ       = char(categ,'Bias');
errors(k,:) = [0.0150 0.0150 0.0150];

k           = k + 1;
desc        = char(desc,'Attitude sensing');
categ       = char(categ,'Bias');
errors(k,:) = [0.0012 0.0012 0.0012];

k           = k + 1;
desc        = char(desc,'S/C disturbance torque');
categ       = char(categ,'Diurnal');
errors(k,:) = [0.0080 0.0080 0.0080];

k           = k + 1;
desc        = char(desc,'S/C disturbance torque');
categ       = char(categ,'Bias');
errors(k,:) = [0.0031 0.0031 0.0031];
kSK1        = k;

k           = k + 1;
desc        = char(desc,'Antenna thermal distortion w.r.t. SSA RC');
categ       = char(categ,'Diurnal');
errors(k,:) = [0.0100 0.0100 0.0100];

k           = k + 1;
desc        = char(desc,'Attitude sensor & actuator noise/resolution');
categ       = char(categ,'Short Term');
errors(k,:) = [0.0200 0.0200 0.0200];

k           = k + 1;
desc        = char(desc,'SA stepping transients');
categ       = char(categ,'Short Term');
errors(k,:) = [0.0000 0.0500 0.0000];

k           = k + 1;
desc        = char(desc,'S/C disturbance torques');
categ       = char(categ,'Short Term');
errors(k,:) = [0.0000 0.0000 0.0000];

fName = fullfile(FindDirectory('SCData'),'SpacecraftPointingBudget.txt');
[cep,r,s,t,cList] = PBudget(errors,desc,categ,0,0,fName);

fprintf('\n\n------------------------------------\n')
disp('Spacecraft Pointing Budget')
disp('------------------------------------')
fprintf('%s\n','Circular error (3 sigma):');
fprintf('   %2.4f\n'  , cep  );
fprintf('\n%s\n','Azimuth and elevation errors:');
fprintf('   %2.4f\n' , r    );
fprintf('\n%s\n','Summary by category:'  );
for m = 1:size(cList,1)
  fprintf('   %s\n', cList{m}    );
  fprintf('      %2.4f\n' , s(m,:)        );
end
fprintf('\n%s\n','Totals:')
fprintf('   %2.4f\n' , t    );



%--------------------------------------

------------------------------------
Spacecraft Pointing Budget
------------------------------------
Circular error (3 sigma):
   0.2271

Azimuth and elevation errors:
   0.1118
   0.0779

Summary by category:
   Bias
      0.0451
      0.0451
      0.0154

Totals:
   0.0779
   0.1118
   0.0482