Small Satellites

Home » Space Flight/Orbital Mechanics Excercise » Orbit Properties Exercises

Orbit Properties Exercises

For the Earth remote sensing satellite Landsat 1/2 a Sun and Earth synchronous circular orbit has been selected at which the subsatellite points repeat after 18 days. The orbital period was 103.267 minutes.

clc;
clear all;close all;
T = 103.267*60;         % [s] Orbital period
J2 = 0.00108263;

1. How many orbits are completed within 18 days (round to integer value)?

num = round(18 * 24*3600/T);
fprintf('Number of Orbits(round) =  %d \n', num);
Number of Orbits(round) =  251

2. Calculate the semi-major axis and altitude above Earth’s surface.

mu = 398600;
R_earth = 6378;  % [km] Earth Radius
a = (T^2/(4*pi^2)*mu)^(1/3);
fprintf('Semi-major Axis =  %4.2f [km] \n', a);
H = a - R_earth;
fprintf('Altitude above Earths surface =  %4.2f [km]\n', H);
Semi-major Axis =  7291.23 [km] 
Altitude above Earths surface =  913.23 [km]

3. What is the inclination of this Sun and Earth synchronous satellite? For Earth Synchronous Satellites ( 2*pi*m = n*dFi)

m = 18;     % Number of Days
dFi = 2*pi*m/(num);
fprintf('dFi =  %f [rad]\n', dFi);
Fi_earth = 2*pi*T/(86160);
fprintf('Fi_earth =  %f [rad]\n', Fi_earth);
RAAN =  Fi_earth - dFi ;
fprintf('RAAN =  %f [rad]\n', RAAN);
cosi = - RAAN*a^2/(3*pi*J2*R_earth^2);
inc = acos(cosi)*180/pi;       %Inclination in [deg]
fprintf('Inclination =  %f [deg] \n\n',inc);
dFi =  0.450587 [rad]
Fi_earth =  0.451842 [rad]
RAAN =  0.001255 [rad]
Inclination =  99.252960 [deg]

Consider a satellite in a circular orbit at 800 km altitude and 28.5 inclination. At the time that the satellite passes near a ground station in Los Angeles at a latitude of 34 and longitude of 242, the instantaneous longitude of the ascending node is 150 (longNode). Local smog limits the elevation angle at which one can communicate with the satellite to 8 above the horizon.

R = 800;        % Circular orbit [km]
inc = 28.5;     % Inclination [deg]
GS_lat = 34;    % Latitude  [de]
GS_lon = 242;   % Longitude [deg]

SS_lon = 150;   % Longitude of the ascending node,subsatellite point[deg]
SS_lat = 90-inc;
eps_min = 8;   % [deg]minimum necessary elevation of the ground station

% 1. Compute the follo wing parameters for its pass over the Los Angeles
% ground station

d = 2 *6378;     % [km] Earth visual diameter
D =(6378 + 800); % [km] Distance to the Earth center from Satelite
H = 800;         % [km] Altitude

% a) Earth angular radius [deg],
ro = asin(R_earth/(R_earth + H))*180/pi;
fprintf('a. Earth angular radius = %4.2f [deg] \n',ro);
% b) maximum nadir angle [deg],
xeta_max = asin(cosd(eps_min)*R_earth/(R_earth + H))*180/pi;
fprintf('b. Maximum nadir angle  = %4.2f [deg] \n',xeta_max);
% c) maximum Earth central angle [deg],
lambda_max = 90 - eps_min - xeta_max;
fprintf('c. Maximum Earth central angle  = %4.2f [deg] \n',lambda_max);
% d) maximum distance [km],
Dmax = R_earth* sind(lambda_max)/sind(xeta_max);
fprintf('d. Maximum range Dmax = %4.2f [km] \n',Dmax);
% e) minimum Earth central angle [deg],
lambda_min = asin(sind(SS_lat)*sind(GS_lat) + cosd(SS_lat)*cosd(GS_lat)*...
    cosd(GS_lon - SS_lon + 90))*180/pi;
fprintf('e. Minimum Earth Central Angle =  %4.2f [deg] \n',lambda_min);
% f) minimum nadir angle [deg],
xeta_min = atan(R_earth/(R_earth + H)*sind(lambda_min)/...
    (1 - R_earth/(R_earth + H)*cosd(lambda_min)))*180/pi;
fprintf('f. Minimum nadir angle  =  %4.2f [deg] \n',xeta_min);

lambda = lambda_min:0.5:lambda_max;
xeta = atan(R_earth/(R_earth + H)*sind(lambda)./...
    (1 - R_earth/(R_earth + H)*cosd(lambda)))*180/pi;
figure(1);
hold on;
xlabel('Earth central angle \lambda [deg] ');
ylabel('Nadir Angle \eta [deg] ');
plot(lambda,xeta);
hold off;
eps = acos(sind(xeta)*((R_earth + H))/(R_earth))*180/pi;
figure(3);
hold on;
plot(xeta,eps);
xlabel('Nadir Anglee \eta [deg]');
ylabel('Spacecraft elevation angle  \epsilon [deg]');
chk_angle = xeta + eps + lambda;
figure(2);
hold on;
plot(xeta,'b');plot(eps,'r');plot(lambda,'k');
plot(chk_angle,'g');
legend('\eta','\epsilon','\lambda','\eta + \epsilon +\lambda');
xlabel('[deg]');
ylabel('[deg]');
% g) Minimum distance [km],
Dmin = R_earth* sind(lambda_min)/sind(xeta_min);
fprintf('g. Minimum range Dmin = %4.2f [km] \n',Dmin);
% h) maximum angular rate [deg/min],
% Period T the time in view is
T = 2*pi*sqrt((R_earth+H)^3/mu)/60;
omega = 360/T;
fprintf('h. Angular Rate = %4.2f [deg/min] \n',omega);
% i) Azimuth range for full ground station pass and [deg]
dFi =2*acos(tand(lambda_min)/tand(lambda_max))*180/pi;
fprintf('i. Azimuth range dFi = %4.2f [deg] \n',dFi);
% j) the time in view [min].
%fprintf('Period T =  %4.2f [min] \n',T);
T_view = T/pi*acos(cosd(lambda_max)/cosd(lambda_min));
fprintf('j. Time in view = %4.2f [min] \n\n',T_view);
a. Earth angular radius = 62.69 [deg] 
b. Maximum nadir angle  = 61.63 [deg] 
c. Maximum Earth central angle  = 20.37 [deg] 
d. Maximum range Dmax = 2523.03 [km] 
e. Minimum Earth Central Angle =  5.51 [deg] 
f. Minimum nadir angle  =  36.46 [deg] 
g. Minimum range Dmin = 1031.34 [km] 
h. Angular Rate = 3.57 [deg/min] 
i. Azimuth range dFi = 149.86 [deg] 
j. Time in view = 11.01 [min]

For a Keplerian orbit with a period T = 205 min, eccentricity e = 0.4 and true anomaly = 60 [deg] determine how much time [s] has passed

%since the perigee passage.
T = 205*60; % [sec]
e = 0.4;
theta = 60; % [deg]
% Eccentric Anomaly E
E = 2 *atan(tand(theta/2)*sqrt((1 - e)/(1  + e)));
fprintf('Eccentric Anomaly E =   %4.2f  [rad] \n', E);
% Compute the mean anomaly M from the formula
M = E - e * sin(E);
fprintf('Mean Anomaly M =   %4.2f [rad]  \n', M);
t = T*M/(2*pi);
fprintf('time passed since the perigee passage =   %4.2f  [s] \n', t);
Eccentric Anomaly E =   0.72  [rad] 
Mean Anomaly M =   0.46 [rad]  
time passed since the perigee passage =   896.89  [s]

Published with MATLAB® 7.10

Advertisement

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Recent Post

%d bloggers like this: