Small Satellites

Home » Posts tagged 'circular orbit'

Tag Archives: circular orbit

Sun-Synchronous Circular Orbit, Inclination vs Altitude (LEO,J2 perturbed)

This code is a MATLAB script that can be used to design and analyze Sun-synchronous orbits. A Sun-synchronous orbit is a geocentric orbit which combines altitude and inclination in such a way that an object in this orbit has an a nodal regression rate which is equals to Earth’s orbital rotation speed around the Sun. The object in this orbit constantly illuminated by the Sun.

Output: Inclination vs Altitude Plot

clc;
clear all;
mu    = 398600.440;      % Earth’s gravitational parameter [km^3/s^2]
Re = 6378;               % Earth radius [km]
J2  = 0.0010826269;      % Second zonal gravity harmonic of the Earth
we = 1.99106e-7;    % Mean motion of the Earth in its orbit around the Sun [rad/s]
% Input
Alt = 250:5:1000;     % Altitude,Low Earth orbit (LEO)
a   = Alt + Re;       % Mean semimajor axis [km]
e   = 0.0;            % Eccentricity
h = a*(1 - e^2);     % [km]
n = (mu./a.^3).^0.5; % Mean motion [s-1]
tol = 1e-10;         % Error tolerance
% Initial guess for the orbital inclination
i0 = 180/pi*acos(-2/3*(h/Re).^2*we./(n*J2));
err = 1e1;
while(err >= tol )
    % J2 perturbed mean motion
    np  = n.*(1 + 1.5*J2*(Re./h).^2.*(1 - e^2)^0.5.*(1 - 3/2*sind(i0).^2));
    i = 180/pi*acos(-2/3*(h/Re).^2*we./(np*J2));
    err = abs(i - i0);
    i0 = i;
end
plot(Alt,i,'.b');
grid on;hold on;
xlabel('Altitude,Low Earth orbit (LEO)');
ylabel('Mean orbital inclination');
title('Sun-Synchronous Circular Orbit,Inclination vs Altitude(LEO,J2 perturbed)');
hold off;

Sun_sync_vs_Alt

Hohmann vs Bi-elliptic transfer

Contents

% In this example we compare be-elliptic and Hohmann transfer.
% The total speed change that required for spacecraft transfer from
% geocentric circular orbit with radius Ri to a higher altitude Rf
clc;
clear all;
Rf  =  125000;   % [km] Final circular orbit
Ri  =  7200;     % [km] Initial circular orbit
Rb  =  190000;   % [km] Apogee of the transfer ellipse
mu  =  398600;   % [km^3/s^2] Earth’s gravitational parameter

% For initial circular orbit
Vc = (mu/Ri)^0.5;
a   = Rf/Ri;
b   = Rb/Ri;

Hohmann transfer

For Hohmann transfer total speed change

dV_H =Vc*(1/(a)^0.5 -(2/(a*(a+1)))^0.5*(1-a) - 1);
% Semimajor axes of the Hohmann transfer ellipse
a_h = (Rf + Ri)/2;
% Time required for Hohmann transfer
t_H = pi/(mu)^0.5*(a_h^1.5);     %[s]
fprintf('Total speed change = %4.4f [km/s]\n',dV_H);
fprintf('Time required for transfer = %4.2f [hours]\n\n',t_H/3600);
Total speed change = 3.9878 [km/s]
Time required for transfer = 23.49 [hours]

Bi-elliptic transfer

For Bi-elliptic transfer total speed change

dV_BE = Vc*((2*(a+b)/(a*b))^0.5 - (1+1/a^0.5) - ((2/(b +b^2))^0.5*(1-b)));
% Semimajor axes of the first transfer ellipse
a1 = (Ri + Rb)/2;
% Semimajor axes of the second transfer ellipse
a2 = (Rf + Rb)/2;
t_BE = pi/(mu)^0.5*(a1^1.5+a2^1.5);     %[s]
fprintf('Total speed change = %4.4f [km/s]\n',dV_BE);
fprintf('Time required for transfer = %4.2f [hours]\n',t_BE/3600);
Total speed change = 3.9626 [km/s]
Time required for transfer = 129.19 [hours]

 

Circular orbital speed and period as a function of altitude for LEO

mu = 398600; % Earth’s gravitational parameter [km^3/s^2]

R_earth = 6378;        % Earth radius [km]

% Plot the speed and period of a satellite in circular LEO as a function
% of altitude
% Low Earth orbit(LEO)
h = 160:1:2000;          %[km]
v = (mu./(R_earth+h)).^0.5;         %[km/s]
T = 2*pi*(R_earth+h).^1.5/mu^0.5;    %[s]
T = T/60;                           %[min]
% Plots
figure(1);
hold on;grid on;
plot(h,v);
xlabel('Altitude [km]');
ylabel('Speed [km/s]');
title('Circular orbital speed as a function of altitude,LEO');
figure(2);
hold on;grid on;
plot(h,T);
xlabel('Altitude [km]');
ylabel('Period [min]');
title('Circular orbital period as a function of altitude,LEO');

Period_Speed_Altitude_01 Period_Speed_Altitude_02

 

%d bloggers like this: