EE 499 · Week 4

Perturbations, TLEs & Time

Why a perfect two-body orbit drifts away from reality, and the time systems that turn an orbit into a ground track.

  1. HW2 review
  2. ideal-model limits
  3. perturbations
  4. TLE refresher
  5. ground track
  6. time systems

By the end: you should be able to explain what an orbit perturbation is and why propagation error grows, name the four dominant perturbations and where each matters, read the orbital fields of a TLE, describe how our ground-track visualizer turns a TLE into latitude and longitude, and follow the chain from UTC through Julian date and sidereal time to Earth rotation.

This week is conceptual. We do not derive perturbation equations and we do not implement a new propagator. Presentation View — study slide by slide →

00 — HW2 help

Working through Homework 2

This section walks through Homework 2 the way you should approach it in an exam: identify what is given, choose the relation that connects the given to the unknown, and check the result against something you already know. The aim is that you can reproduce the reasoning, not that you can recall the final number.

Question 1 — Geostationary orbit characteristics

Given / find: Find the classical orbital elements of a geostationary satellite, its apogee and perigee radii and heights, and its radial (angular) and linear speeds.

Approach: The three geostationary conditions from Week 3 — circular, equatorial, prograde — fix most of the elements immediately. Only the size has to be computed, and it follows from the period through Kepler's third law. Nothing here needs a look-angle formula.

Solution steps:

  1. Circular orbit, so \(e\approx0\); equatorial orbit, so \(i=0^\circ\).
  2. Because \(e\approx0\) there is no distinction between apogee and perigee, so the right ascension of the ascending node \(\Omega\) and the argument of perigee \(\omega\) cannot be determined — a circular equatorial orbit has neither a unique node nor a unique perigee direction.
  3. Semi-major axis: \(a_{GSO}=42{,}164\ \text{km}\).
  4. With \(e=0\), \(r_a=r_p=a_{GSO}=42{,}164\ \text{km}\), so \(h_a=h_p=a_{GSO}-R_E\approx35{,}786\ \text{km}\).
  5. Radial (angular) speed: \(n=\dfrac{2\pi}{24\ \text{hr}}=0.2618\ \text{rad/hr}=7.2722\times10^{-5}\ \text{rad/s}\).
  6. Linear speed: \(v=n\,a_{GSO}=0.2618\times42{,}164=11{,}039\ \text{km/hr}\).

Common mistakes: Reporting \(\Omega=0\) and \(\omega=0\) instead of recognising that both are undefined here — this is exactly the degeneracy the Week 2 laboratory flags. Multiplying \(n\) by the altitude instead of the radius. Treating apogee and perigee as different when \(e=0\). Note also that the posted solution uses the \(24\ \text{hr}\) day; the sidereal day used elsewhere in this course gives \(n=0.2625\ \text{rad/hr}\), a difference of about \(0.3\%\).

Question 2 — Antenna look directions to the Arabsat fleet

Given / find: For Riyadh, Cairo, Casablanca and New York, find the slant range, elevation and azimuth to satellites at \(20^\circ\text{E}\), \(26^\circ\text{E}\) and \(30.5^\circ\text{E}\).

Approach: Test visibility first. Computing look angles for a satellite that is below the horizon wastes time and produces a meaningless answer, so the visibility check is step one, not a check at the end.

Solution steps:

  1. Form the longitude difference \(|\phi_E-\phi_{SS}|\) and take the station latitude \(\lambda_E\).
  2. Read the maximum allowed separation \(|\phi_E-\phi_{SS}|_{\max}\) for that latitude from the visibility curves in the lecture notes.
  3. If \(|\phi_E-\phi_{SS}|<|\phi_E-\phi_{SS}|_{\max}\) the satellite is visible, so continue. Otherwise the satellite is not visible and you stop there.
  4. For every visible case compute \(\cos b\), then the slant range \(d\), then elevation and azimuth using the Week 3 relations.
Station\(\lambda_E\)\(\phi_E\)\(\phi_{SS}=20^\circ\)\(\phi_{SS}=26^\circ\)\(\phi_{SS}=30.5^\circ\)
Riyadh254537.11 · 49.61° · −132.19°36.85 · 53.86° · −140.83°36.70 · 56.56° · −148.54°
Cairo303136.90 · 53.01° · −158.76°36.81 · 54.60° · −170.08°36.79 · 55.03° · −179.00°
Casablanca33.5−7.537.70 · 41.17° · 136.68°38.01 · 37.14° · 129.82°38.28 · 33.87° · 125.24°
New York40−74Not visibleNot visibleNot visible

Each visible cell reads slant range \(d\ (\times1000\ \text{km})\) · elevation · azimuth.

Common mistakes: Pushing New York through the full calculation and reporting a negative elevation instead of stopping at the visibility test — New York is roughly \(94^\circ\) to \(105^\circ\) of longitude away, far beyond the limit for its latitude. Losing the azimuth quadrant: the sign matters and follows from the signs of latitude and longitude difference. Reading the range column as kilometres when it is thousands of kilometres.

Question 3 — Two stations on one meridian (textbook Problem 3.4)

Given / find: One earth station at latitude \(30^\circ\text{S}\) and another at \(30^\circ\text{N}\) share the same longitude, and the satellite is \(20^\circ\) east of both. Find the look angles for each station and the round-trip time, counting propagation delay only.

Approach: Use the symmetry before reaching for the equations. The two stations are mirror images about the equatorial plane, so the geocentric angle \(b\), the slant range \(d\) and the elevation are identical for both. Only the azimuth differs, because one station looks north of east and the other looks south of east.

Two earth stations on the same meridian, one north and one south of the equator, both in view of a geostationary satellite east of their meridian
The geometry of Question 3: equal elevations, mirrored azimuths.

Solution steps:

  1. Both stations have \(|\phi_E-\phi_{SS}|=20^\circ\) and \(|\lambda_E|=30^\circ\), so both share the same \(b\), the same \(d=37{,}160\ \text{km}\) and the same elevation \(El=48.75^\circ\).
  2. The northern station points \(Az=143.95^\circ\); the southern station points \(Az=36.05^\circ\). The two azimuths sum to \(180^\circ\), which is the symmetry made visible.
  3. Round-trip time: \(\tau=\dfrac{2d}{c}\) with \(c=3\times10^{5}\ \text{km/s}\).
  4. \(\tau=\dfrac{2\times37{,}160}{300{,}000}=0.2477\ \text{s}=247.7\ \text{ms}\).

Common mistakes: Assuming the azimuths must be equal because the elevations are — the elevations match, the azimuths mirror. Reporting the one-way delay of about \(124\ \text{ms}\). Mixing units by using \(c=3\times10^{8}\ \text{m/s}\) with a range in kilometres, which is wrong by a factor of a thousand.

Question 4 — Polar-mount antenna tilt

Given / find: Find the fixed angle of tilt for a polar-mount antenna at your home location, taken here as latitude \(\lambda_E=25^\circ\).

Approach: A polar mount rotates about one axis only, so its elevation is set once and then left alone. That fixed elevation \(El_0\) is the polar-mount relation from Week 3, not the general look-angle elevation formula.

Solution steps:

  1. Slant range on the station's own meridian: \(d=\sqrt{R_E^{2}+a_{GSO}^{2}-2R_Ea_{GSO}\cos(25^\circ)}=36{,}489\ \text{km}\).
  2. Fixed elevation: \(El_0=\cos^{-1}\!\left(\dfrac{a_{GSO}}{d}\sin(25^\circ)\right)=60.7^\circ\).

Common mistakes: Using the general elevation expression instead of the polar-mount one. Bringing a longitude difference into the calculation — the tilt depends only on the station latitude. Taking \(\cos^{-1}\) of a quantity built with \(\cos\lambda_E\) instead of \(\sin\lambda_E\).

Mistakes that cost marks in every assignment

These are not specific to HW2. They are the recurring errors from Weeks 1 to 3, and they are worth checking before you submit anything.

Radius versus altitudeOrbital radius is measured from Earth's centre, \(r=R_E+h\). Substituting an altitude into a formula that wants a radius is the single most common error.
Degrees versus radiansTrigonometric functions in MATLAB and in most languages take radians. Convert once, at the start, and stay in radians until you report.
Solar versus sidereal dayA geostationary orbit matches the sidereal day, \(86{,}164\ \text{s}\), not the \(86{,}400\ \text{s}\) solar day.
Units of \(\mu\)\(\mu_E=398600.4418\ \text{km}^3/\text{s}^2\). If you work in metres you must use \(3.986\times10^{14}\ \text{m}^3/\text{s}^2\). Mixing the two silently produces answers wrong by \(10^{9}\).
Semi-major axis of an ellipse\(a=(r_p+r_a)/2\) uses radii, not altitudes, and not the perigee radius alone.
Answer without a sanity checkCompare against something known: LEO periods are roughly 90 minutes, GEO is close to 24 hours, GEO altitude is near \(35{,}786\ \text{km}\).

01 — Limits of the ideal model

Why a perfect orbit slowly stops being true

Everything in Weeks 1 to 3 rests on one idealisation: two point masses, one gravitational force, nothing else. Under that assumption the orbit is a fixed ellipse in inertial space, and the six classical elements are constants. Only the true anomaly \(\nu\) changes with time.

Real satellites do not behave that way for long. Earth is not a point mass and not a sphere, the atmosphere does not stop abruptly, and the Sun and Moon pull on the satellite as well. Each of these adds a small acceleration on top of the two-body term:

\[\ddot{\mathbf r}=-\frac{\mu}{r^3}\mathbf r+\mathbf a_{\text{perturbing}}\]

The perturbing acceleration is tiny compared with the main gravitational term — often smaller by a factor of \(10^{3}\) to \(10^{6}\). That is exactly why the two-body model is such a good first answer, and also why it is misleading: a small acceleration integrated over many orbits becomes a large position error.

This is why a prediction that is excellent for one orbit can be useless after a few weeks, and why tracking data must be refreshed. It is not that the mathematics of Weeks 1 to 3 is wrong; it is that the model those equations describe is incomplete.

02 — What is a perturbation

A small departure from the ideal problem

An orbit perturbation is any acceleration acting on the satellite that the two-body model does not include. The word is deliberate: these are not corrections to a mistake, they are physical effects that the idealised problem left out.

The useful consequence is that the six classical elements stop being constants. Instead of describing a fixed ellipse, they become slowly varying quantities — the orbit is still an ellipse at any instant, but that ellipse drifts, rotates and changes size over time. Engineers often describe perturbations by how the elements respond:

Secular

A steady drift in one direction that accumulates without limit, such as the rotation of the orbital plane. These dominate long-term prediction error.

Periodic

An oscillation that repeats each orbit or each day and averages out. These matter for precise pointing but not for long-term drift.

Resonant

An effect that builds up when a perturbation period matches an orbital period, most familiar as east–west station-keeping in GEO.

For this course the important distinction is the first one: secular effects are the reason an ideal propagation degrades with time, and the reason a TLE has an epoch attached to it.

03 — The four main perturbations

What actually pushes a satellite off the ideal ellipse

Four effects account for nearly all of the departure from two-body motion for Earth satellites. Which one dominates depends almost entirely on altitude.

Earth oblateness (\(J_2\))

Earth is not a sphere: it bulges at the equator by roughly \(21\ \text{km}\). The resulting non-spherical gravity field is described by a series of coefficients, of which \(J_2\approx1.083\times10^{-3}\) is by far the largest — about a thousand times bigger than every other term.

Its main effect is secular: the orbital plane rotates, so the right ascension of the ascending node \(\Omega\) drifts steadily, and the argument of perigee \(\omega\) rotates within the plane. This is the dominant perturbation for most orbits, and it is not always unwanted — Sun-synchronous orbits are designed so that the \(J_2\) drift of \(\Omega\) exactly matches Earth's motion around the Sun.

Atmospheric drag

The atmosphere thins gradually rather than ending, so satellites below roughly \(1000\ \text{km}\) fly through measurable air. Drag opposes the velocity and removes energy from the orbit.

Its signature is distinctive: because drag acts most strongly at perigee where the satellite is lowest and fastest, it lowers apogee first and gradually circularises the orbit, after which the whole orbit decays until re-entry. Drag depends on atmospheric density, which varies strongly with solar activity, and on the satellite's area-to-mass ratio. This is the effect that the \(B^{*}\) term in a TLE is there to capture.

Sun and Moon gravity

The Sun and Moon attract the satellite as well as Earth. Because the perturbation grows with distance from Earth while Earth's own pull weakens, third-body effects are negligible in low orbits and significant in high ones.

For geostationary and highly elliptical orbits they are a leading effect, driving slow changes in inclination and node. Uncontrolled GEO satellites accumulate inclination at roughly \(0.8^\circ\) per year, which is why north–south station-keeping consumes most of a GEO satellite's fuel.

Solar radiation pressure

Sunlight carries momentum, so photons striking the satellite exert a small but continuous force. Unlike gravity it does not scale with mass, so it matters most for spacecraft with a large area-to-mass ratio — large solar arrays, or anything lightweight.

It is most important at high altitude where drag has vanished and the satellite spends most of its time in sunlight, and it is interrupted whenever the satellite passes through Earth's shadow.

04 — TLE refresher

Reading a two-line element set

A two-line element set is the standard published description of a satellite's orbit: two lines of exactly sixty-nine characters in a fixed-column format. It carries a set of mean orbital elements together with the time they describe and a drag term.

EpochThe instant the elements describe, written as a two-digit year and a fractional day of the year, in UTC. Every element in the set is valid at this moment; propagating away from it is where error accumulates.
Inclination \(i\)Angle between the orbital and equatorial planes, in degrees. Same quantity as in Week 2.
RAAN \(\Omega\)Right ascension of the ascending node: where the orbit crosses the equator going north, measured from the vernal equinox.
Eccentricity \(e\)Orbit shape. Stored with an assumed leading decimal point, so the field 0006703 means \(e=0.0006703\).
Argument of perigee \(\omega\)Angle from the ascending node to perigee, measured in the orbital plane.
Mean anomaly \(M\)Where the satellite is along the orbit at the epoch, expressed as the angle a fictitious uniformly-moving satellite would have. Convert to true anomaly through Kepler's equation, as in Week 1.
Mean motion \(n\)Revolutions per day. This is how a TLE encodes orbit size: invert Kepler's third law to recover \(a\).
\(B^{*}\) drag termA ballistic coefficient standing in for how strongly the atmosphere affects this satellite. It is not a classical orbital element — it exists purely so the propagator can model decay.

Mean motion gives the semi-major axis through the relation you already know:

\[n=\frac{2\pi}{T},\qquad a=\left(\frac{\mu_E}{n^{2}}\right)^{1/3}\]

A full field-by-field decoder, including the fixed-column layout and the parsing traps, is available in the TLE explainer lab.

05 — How our visualizer works

From orbital elements to a ground track

The orbit and ground-track visualizer already in the course implements exactly the chain built up in Weeks 1 to 3. Nothing in it is hidden; it is worth knowing the stages because the same pipeline appears in every ground-track tool.

  1. Orbital elements. Start from \(a,e,i,\Omega,\omega\) and the mean anomaly at epoch — the same information a TLE carries.
  2. Two-body propagation. Advance the mean anomaly at the constant rate \(n\), then solve Kepler's equation \(M=E-e\sin E\) for the eccentric anomaly and convert to true anomaly. This is the step that assumes a perfect Keplerian orbit.
  3. Position in the inertial frame. Place the satellite in the perifocal frame, then rotate into ECI with \(R_z(\Omega)R_x(i)R_z(\omega)\). In ECI the orbit does not move.
  4. Earth rotation. Rotate from ECI to the Earth-fixed frame by the Greenwich angle \(\theta_g\), which advances at one revolution per sidereal day, \(86{,}164.0905\ \text{s}\).
  5. Latitude and longitude. Convert the Earth-fixed position to a sub-satellite point, \(\phi=\arcsin(z/r)\) and \(\lambda=\operatorname{atan2}(y,x)\).
  6. Ground track. Plot successive sub-satellite points on the map. The familiar westward drift of each successive pass is Earth turning underneath a fixed inertial orbit.

Where SGP4 would change this

SGP4 is the propagator that TLEs were actually designed for. Substituting it would change one stage of the pipeline and leave the rest intact.

TodayStep 2 is ideal two-body motion. The elements are treated as constants and only \(M\) advances.
With SGP4Step 2 would include the perturbation effects that TLE mean elements assume — principally \(J_2\) and higher zonal harmonics, plus atmospheric drag through the \(B^{*}\) term.
ConsequenceThe predicted position would stay realistic much longer, because the secular drift of \(\Omega\) and \(\omega\) and the decay of the orbit would be modelled rather than ignored.
UnchangedSteps 3 to 6. Once you have a position, the transformation to Earth-fixed coordinates, the sub-satellite point and the plotting are conceptually identical.

We are not implementing SGP4 in this course and the visualizer is not being changed. The point is to know which single stage carries the modelling assumption, and what upgrading it would buy.

06 — UTC

One clock everybody agrees on

Coordinated Universal Time is the global civil time reference. It is generated from atomic clocks, and it is kept within a second of Earth's actual rotation by inserting occasional leap seconds. Local time zones are defined as offsets from it.

Satellite work needs a common time reference for an obvious reason: a position is meaningless without the instant it applies to. Ground stations on different continents must agree on when a pass begins, ranging measurements must be timestamped consistently, and orbit determination combines observations taken hours apart from different sites. All of it is done in UTC.

This is also how a TLE anchors itself. The epoch field is a UTC instant, written as a two-digit year followed by the day of the year including the fraction of a day. An epoch of 24145.51782528 means day 145 of 2024, at 0.51782528 of a day after midnight UTC — a little after 12:25 UTC.

07 — Julian date

Time as a single running number

Calendars are hostile to arithmetic. Months have different lengths, leap years interrupt the pattern, and subtracting two calendar dates requires special-case logic. Orbital mechanics needs to do arithmetic on time constantly — how many seconds since epoch, what is the interval between two observations — so it uses a continuous count instead.

The Julian date is that count: a single number giving the days, including the fraction of a day, elapsed since a fixed reference instant. Because it is just a number, the interval between two times is a subtraction, with no calendar logic at all.

Worked example. The standard reference epoch J2000.0 is 1 January 2000 at 12:00 UTC, which has Julian date

\[\text{JD}_{\text{J2000}}=2\,451\,545.0\]

Ask for 1 January 2024 at 00:00 UTC. From 1 January 2000 to 1 January 2024 is 24 years containing 6 leap days (2000, 2004, 2008, 2012, 2016, 2020), so

\[24\times365+6=8766\ \text{days}\]

That carries us to 1 January 2024 at 12:00 UTC. Midnight is half a day earlier, so

\[\text{JD}=2\,451\,545.0+8766-0.5=2\,460\,310.5\]

The half-day offset is the usual source of error: a Julian day begins at noon, not at midnight. Some software avoids this with the Modified Julian Date, \(\text{MJD}=\text{JD}-2\,400\,000.5\), which does start at midnight.

In practice you convert the TLE epoch to a Julian date once, and every later question — how many seconds have elapsed, what is Earth's rotation angle now — becomes ordinary arithmetic.

08 — Sidereal time

Earth rotating beneath the orbit

Weeks 1 to 3 put the orbit in an inertial frame: ECI does not rotate, so the orbital plane stays fixed relative to the stars. A ground track, however, is drawn on a rotating Earth. Converting between the two viewpoints requires knowing how far Earth has turned, and that angle is what sidereal time measures.

The distinction matters because Earth's rotation relative to the stars is not the same as its rotation relative to the Sun. In one day Earth also moves along its orbit around the Sun, so it must turn slightly more than one full rotation for the Sun to return to the same meridian. The solar day is therefore about four minutes longer:

\[T_{\text{sidereal}}=86{,}164.0905\ \text{s}\approx23^{\text{h}}56^{\text{m}}04^{\text{s}},\qquad T_{\text{solar}}=86{,}400\ \text{s}\]

An orbit is fixed with respect to the stars, so it is the sidereal rate that governs how the Earth slides beneath it. The specific quantity needed is Greenwich Mean Sidereal Time — the angle \(\theta_g\) from the vernal equinox, which is the ECI \(x\)-axis, round to the Greenwich meridian, which is the Earth-fixed \(x\)-axis. Knowing \(\theta_g\) is exactly knowing the rotation between the two frames:

\[\theta_g(t)=\theta_g(t_0)+\omega_E\,(t-t_0),\qquad \omega_E=\frac{2\pi}{86{,}164.0905}\ \text{rad/s}\]

09 — The full chain

From a timestamp to a point on the map

The three time concepts are not separate topics. They are consecutive links in one chain that connects a clock reading to a ground track, and every satellite tracking tool walks it.

  1. UTC
  2. Julian date
  3. sidereal time
  4. Earth rotation angle
  5. ECI → Earth-fixed
  6. latitude & longitude
  7. ground track
UTC → Julian dateTurn the calendar timestamp, including the TLE epoch, into one continuous number so intervals become subtraction.
Julian date → sidereal timeUse elapsed time to find the Greenwich mean sidereal angle \(\theta_g\) at the moment of interest.
Sidereal time → Earth rotation\(\theta_g\) is the rotation between the inertial and Earth-fixed frames.
ECI → Earth-fixedRotate the propagated inertial position by \(-\theta_g\) about the polar axis.
Earth-fixed → latitude, longitude\(\phi=\arcsin(z/r)\), \(\lambda=\operatorname{atan2}(y,x)\).
Points → ground trackPlot the sub-satellite points in sequence.

Steps one to three are time-keeping, step four is a coordinate rotation, and steps five and six are geometry. The orbital mechanics of Weeks 1 to 3 supplies the inertial position that enters at step four.

10 — Check yourself

Reason across the week

1 · Perturbations

Which perturbation dominates for an uncontrolled satellite in a \(400\ \text{km}\) circular orbit?

2 · Time systems

Why is sidereal time, rather than solar time, used to find Earth's rotation angle for a ground track?

11 — Week summary

An ideal model, and what it leaves out

The two-body model is exact for a problem that does not quite exist. Real orbits feel Earth's equatorial bulge, the residual atmosphere, the Sun and Moon, and sunlight itself. These perturbations make the classical elements drift, which is why an ideal propagation degrades with time and why every TLE carries an epoch.

Perturbations

Small accelerations outside the two-body model. \(J_2\) and drag dominate low orbits; third-body gravity and radiation pressure dominate high ones.

TLE

Mean elements plus an epoch and a drag term, designed for a propagator that models perturbations.

Our visualizer

Two-body propagation into ECI, then Earth rotation, then a sub-satellite point. SGP4 would replace only the propagation stage.

Time

UTC gives a common instant, Julian date makes it arithmetic, sidereal time gives Earth's rotation angle.

Return to course overview