A bit of Orbital Mechanics

When I read about the failed insertion [1] of several Galileo satellites, I was intrigued whether they would have enough propellant on board to sufficiently alter their orbit. My gut said no, but I decided to do the math to find out. Below is my working – note though that I’m self taught so this may be wrong :) Also note that the numbers I’ve given below are rounded, so there may be rounding errors, and I’ve made numerous simplifying assumptions such as not needing to fix the LAN or Mean anomaly.

The TLDR is that nope, they’re way short (assuming my maths works out). DeltaV requirements are as follows (m/s):-

  • Best case deltaV needed: 587+70=657
    • Fix inclination: 432
    • Fix Perigee: 369
    • Fix Inclination+Perigee at the same time: 587
    • Fix Apogee: 70
    • Fix Apogee+Perigee at the same time: 675
  • Best case available deltaV: 250

Intro to terms

For those not familiar with orbital mechanics etc, I thought I’d define a few terms:-
Delta V (dV): Change in velocity needed/available.
Apogee (s_a): The furthest point of an orbit from the earth
Perigee (s_p: The closest the orbit gets to the earth
Inclination (i): The angle between (in this case) the rotation of the earth, and the orbit. 0 degrees means the orbit is around the equator, whereas 90 degrees means a polar orbit, going over the n/s poles
Semi-Major Axis (a): All non-escape orbits are ellipses. The Semi-Major Axis is half the distance between extremes of the orbit.
Isp (I): The Isp is a measure of the efficiency of an engine, in units of seconds.
Gravitational Coefficient (G): A constant you need to know
Mass of the earth (M): Another constant you need to know
Radius of the earth (R): Another constant. We’ll assume the earth is a sphere.
x,y,z: X is parallel to earth’s surface, in line with equator, Y is parallel to earth’s surface, towards the north pole. and z is towards the center of the earth.
Eccentricity (e): A measure of how far from a circle the orbit is – 1 is a circle.

A quick aside – all the formulae use SI units (kg, m, s), hence don’t forget to change km to m… And note that the Apogee and Perigee are altitudes above the earth’s surface, so you need to remember to add the radius of the earth a lot of the time.

dV needed

So, first of all, let’s extract some of the numbers we need from the article, and a couple of other pages.
Current Apogee: 25922km
Current Perigee: 13700km
Current Inclination: 47
Desired Apogee, Perigee: 26189km
Desired Inclination: 55.04
Eccentricity (e): 0.23

The most efficient way to fix the orbit will to a) change the inclination at apogee, then b) raise the perigee, then c) drop the apogee. A lot of burns combine (b) and (c) into a single circularisation burn, which is generally inefficient. An alternative is to combine (a) and (b).

The formulae we’ll need here are:-
Semi-major axis: a = R+(s_a+s_p)/2 [4]
Velocity in orbit: v = \sqrt{GM[2/r-1/a]} where r is current radius, i.e. distance from center of earth


When at Apogee, the satellite is moving parallel to the earth’s surface. Its velocity v will have north/south and east/west components of v_y and v_x respectively.
v_x = v.cos(i),  v_y = v.sin(i)
Plugging numbers in, we get the following current situation:
a = 26189km, v_a=3076ms^{-1}  => v_x=2099ms^{-1}, v_y=2251ms^{-1}

Using the same v_a but changing i, we can get the new v_x, v_y:
v_{x\_new} = 1763, v_{y\_new} = 2522

Therefore, we can see the burn we need is (dv_x, dv_y) = (v_x, v_y) - (v_{x\_new}, v_{y\_new})
(dv_x,dv_y) = (-335, 271) => dv = \sqrt{dv_x^2+dv_y^2} = 431ms^{-1}

Raise Perigee

To raise the perigee, we burn along the line of the velocity vector, injecting energy into the orbit. So, we start with the current velocity at apogee v, then find out the new velocity needed v_{a\_new} for the new semi-major axis a_{new}.
First we computer a_{new} using the desired perigee rather than the current perigee. We then calculate what velocity we’d have at apogee using a_{new}.
That gives us: a_{new} = 31100km, v_{new\_peri} = 3446 therefore dv = 369ms^{-1}

Changing inclination and raising perigee

We can combine the previous steps into a single step. To do this we take the v_{new-peri} from the “Raise Perigee” step, and use that instead of v_a in the calculations used for the “Inclination” step. This gives the following results:
v_{x\_new2}=1975, v_{y\_new2}=2825 => dv=(-124,574) => dv = 587ms^{-1}

As we can see, it’s more efficient to do this than separate – 587 vs 431+369

Drop Apogee

At this point, the perigee is at the correct altitude, but the apogee is too high. To fix this, at the perigee we do a retro burn to remove energy from the orbit. Using the semi-major axis calculated at the “Raise Perigee” step, we calculate the new semi-major axis for a circular orbit a_{circ} and use this to calculate v_{circ\_peri} at the perigee. Subtracting v_{circ\_peri} from v_{peri} we can get the dv needed.
Plugging the numbers in: a_{circ}=29900, v_{circ\_peri}=3653, v_{cur\_peri}=3723 => dv = 70ms^{-1}

Circularise Perigee+Apogee in one step

An alternative to separately raising the perigee and then dropping the apogee (the traditional hoffman transfer), a burn can be made when the satellite is at the correct altitude, to change both the perigee and apogee at the same time. This is normally sub-optimal, but let’s see what happens.

We start with the orbit after the inclination is fixed. When the satellite is between apogee and perigee, it has a velocity vector which is both parallel to the earths’ surface (v_{xy}) and towards the earth v_z. To calculate this, we need the angle down at which the satellite is travelling (\theta). To calculate this, we start with the specific angular momentum of the satellite [5]:
h = \sqrt{ a(1-e^2)GM } (where M is the mass of the earth+satellite)
The angle \theta = cos^{-1}(h/rv) where r = radius at desired apogee/perigee, v is velocity magnitude at that point.
This angle can then be used to get v_{xy} and v_z in the same way as we did in the inclination. The desired v_{z-desired} = 0 as we want a circular orbit, with v_{xy\_desired} = v_{circ\_peri} i.e. the velocity of a circular orbit.
Plugging in the numbers, we get:
\theta=10.5, v_{xy}=3327, v_z=619, v_{xy\_desired}=3653, v{z\_desired}=0
We can therefore calculate the needed delta-v:
dv=(269, 619) = 675

As can be seen, the 675 ms^{-1} needed to do both is much greater than the 369+70 needed to do a Hoffman transfer.

Available dV

Looking at the above, the best case scenario is to fix the inclination and perigee at the same time, and then the apogee. That would take 587ms^{-1} + 70ms^{-1} = 657ms^{-1} deltaV.

The galileo satellites have an empty mass of 660kg, and carries 73kg of Hydrazine. It uses MONARC-1 [2] motors, each developing 1N of thrust with an Isp of 230s.
To find the flow rate (i.e. mass of Hydrazine per unit time) we use the following (from [3]): \dot{m} = F_{thrust} / I_{sp} . g_0
Using that we can get a total burn time t_{burn-max} = m_{fuel} / \dot{m}
Plugging in numbers, that gets us a burn time of t_{burn-max} = 16710s for a single motor. Using multiple motors will increase the thrust, but decrease the burn time by the same ratio.

While F_thrust may be constant over time, mass doesn’t. However, we’ll simplify with a best-case scenario, using the empty mass with F=ma for t_{burn\_max} seconds.
This gives us dv_{empty} = (F_{thrust}/m_empty) * t_{burn\_max} = 250ms{-1}

This is much less than any basic maneuvers – a best case of 657 is needed.


1 http://www.spacenews.com/article/launch-report/41647europeanized-soyuz-delivered-galileo-satellites-to-useless-orbit
2 http://www.moog.com/literature/Space_Defense/Spacecraft/Propulsion/Monopropellant_Thrusters_Rev_0613.pdf
3 http://en.wikipedia.org/wiki/Specific_impulse
4 http://en.wikipedia.org/wiki/Elliptic_orbit
5 http://en.wikipedia.org/wiki/Specific_relative_angular_momentum