Case Study: Reading the Sky — Determining the ISS Orbit from a TLE

"The satellite tells you nothing. The two lines of numbers someone determined for it tell you everything — for a while."

Executive Summary

Every night, apps on millions of phones draw a glowing arc across a map and announce when the International Space Station will pass overhead. Behind that arc is an orbit determination: radar and optical tracking, reduced to a two-line element set (TLE), propagated forward to your sky. In this case study we take a single ISS-like TLE apart and rebuild the orbit from it — size, altitude, period, apsides — then place the station in time, predict a pass, and confront the central limitation of the whole enterprise: a TLE is a perishable answer. We will watch a several-day-old element set drift a hundred kilometres off, compute the resulting residual, and then sharpen it in one Kalman-style update with a fresh radar range. It is orbit determination in miniature, on the most-watched object in the sky.

Skills applied

  • Decoding a TLE's mean motion to recover the semi-major axis, altitude, and period (§13.2).
  • Reading eccentricity as apogee/perigee and the period as a ground-track shift (§13.2; Ch. 8, Ch. 9).
  • Solving Kepler's equation to place the station in time (Ch. 8, §8.6).
  • Computing a residual from an aged prediction, and interpreting it via perturbations (§13.5; Ch. 12).
  • Fusing an aged prediction with a fresh measurement in one scalar Kalman update (§13.6).

Background

A TLE is the compressed public output of orbit determination: a handful of mean orbital elements at an epoch, meant to be propagated with the SGP4 model. We will use an illustrative ISS-like element set (treat the exact digits as Tier 3 — realistic, not from a specific catalog entry):

Element Value
Inclination $i$ $51.64^\circ$
Eccentricity $e$ $0.0006$
Mean motion $n$ $15.50\ \text{rev/day}$
Mean anomaly $M$ (at epoch) $45.00^\circ$

Everything below flows from those numbers plus $\mu_\oplus = 3.986\times10^{5}\ \text{km}^3/\text{s}^2$ and $R_\oplus = 6{,}371\ \text{km}$.

Phase 1: Recover the orbit's size and period

The mean motion is the richest number on the line. Convert it to SI and invert Kepler's third law: $$n = 15.50\ \frac{\text{rev}}{\text{day}}\times\frac{2\pi}{86{,}400} = 1.1272\times10^{-3}\ \text{rad/s},$$ $$a = \left(\frac{\mu}{n^2}\right)^{1/3} = \left(\frac{3.986\times10^{5}}{(1.1272\times10^{-3})^2}\right)^{1/3} = (3.137\times10^{11})^{1/3} \approx 6{,}795\ \text{km}.$$ The period is $T = 2\pi/n = 5{,}574\ \text{s} = 92.9\ \text{min}$, and the mean altitude is $6{,}795 - 6{,}371 = 424\ \text{km}$.

Sanity check: $86{,}400/5{,}574 = 15.5$ orbits per day (matching $n$), and $\sim 424\ \text{km}$ at $\sim 93\ \text{min}$ is exactly the ISS's neighborhood. The two lines of digits have given us the size and pace of a real orbit.

Phase 2: Apsides and the ground-track shift

The near-zero eccentricity says the orbit is almost circular, but "almost" is worth quantifying with the apsis formulas of Chapter 8: $$r_p = a(1-e) = 6{,}795(0.9994) = 6{,}791\ \text{km}, \qquad r_a = a(1+e) = 6{,}795(1.0006) = 6{,}799\ \text{km}.$$ So the altitude breathes between about $420\ \text{km}$ (perigee) and $428\ \text{km}$ (apogee) — an $8\ \text{km}$ swing, consistent with the ISS's gently elliptical, drag-managed orbit.

Now a prediction the whole enterprise exists for: where does the next pass fall? Each orbit takes $T = 5{,}574\ \text{s}$, during which Earth rotates beneath the station. Relative to the stars Earth turns $360^\circ$ in one sidereal day ($86{,}164\ \text{s}$), so the ground track shifts westward by $$\Delta\lambda = 360^\circ\times\frac{5{,}574}{86{,}164} = 23.3^\circ$$ of longitude per orbit. That is why successive ISS passes over a region march westward by about $23^\circ$ each time — a number a sky-watching app is quietly using every time it schedules your viewing.

Phase 3: Place the station in time

The TLE gave the mean anomaly $M = 45^\circ$ at epoch. To know where the ISS actually is, we must convert to the true anomaly through Kepler's equation (§8.6) — the step a novice skips and a professional never does. With $M = 45^\circ = 0.7854\ \text{rad}$ and $e = 0.0006$, one Newton step from $E_0 = M + e\sin M$ is already overkill: $$E \approx M + e\sin M = 0.7854 + 0.0006(0.7071) = 0.785824\ \text{rad} = 45.02^\circ.$$ Converting, the true anomaly is $\nu \approx 45.05^\circ$.

Interpretation: because $e$ is tiny, $M$, $E$, and $\nu$ agree to a few hundredths of a degree — for this nearly circular orbit the shortcut of "mean equals true" happens to be nearly harmless. But do not learn the wrong lesson: on the geostationary transfer orbit of Chapter 8 ($e = 0.72$), the same mean anomaly would place the true anomaly tens of degrees away. The method is mandatory; only its magnitude is small here.

Phase 4: The catastrophe of a stale TLE — a residual

Here is the sting. A TLE is a snapshot, and the real ISS is perturbed — atmospheric drag lowers and reshapes its orbit continuously, and the station periodically boosts itself. Propagate a several-day-old TLE and the prediction drifts. Suppose that when we point a radar where our aged TLE says the ISS will cross a reference point, the station actually arrives $12\ \text{seconds}$ late. Convert that timing error to an along-track distance using the orbital speed: $$v = \sqrt{\frac{\mu}{a}} = \sqrt{\frac{3.986\times10^{5}}{6{,}795}} = \sqrt{58.66} = 7.66\ \text{km/s},$$ $$\text{along-track residual} = v\,\Delta t = 7.66\times12 = 92\ \text{km}.$$ A $92\ \text{km}$ residual is enormous for pointing a narrow radar or a laser — and it is entirely typical of a TLE gone stale by a few days. Sanity check: the LEO orbital speed $7.66\ \text{km/s}$ matches the $\sim 7.7\ \text{km/s}$ we expect at $\sim 420\ \text{km}$; and a $12\ \text{s}$ error at $\sim 7.7\ \text{km/s}$ landing near $90\ \text{km}$ is the right order of magnitude. The residual is the honest measure of how far our knowledge has decayed.

Phase 5: Sharpen it with one measurement

We do not have to throw the aged orbit away — we can update it. Treat our stale-TLE along-track prediction as an estimate with a large uncertainty (say $\sigma_{\text{pred}} = 50\ \text{km}$, reflecting days of drag drift), and let a fresh radar range fix pin the along-track position to $\sigma_{\text{meas}} = 1\ \text{km}$. The scalar Kalman update of §13.6 fuses them. The gain is $$K = \frac{\sigma_{\text{pred}}^2}{\sigma_{\text{pred}}^2+\sigma_{\text{meas}}^2} = \frac{2500}{2500+1} = 0.9996,$$ so the filter throws almost all its trust onto the sharp new measurement, snapping the estimate essentially onto the radar fix and collapsing the uncertainty to $\sigma^+ = \sqrt{(1-K)\,\sigma_{\text{pred}}^2} = \sqrt{(0.0004)(2500)} = 1.0\ \text{km}$. One good measurement has recovered nearly everything the aging TLE lost.

In operations this is exactly why catalogs are re-determined constantly: a batch least-squares fit (§13.5) to a fresh arc of tracking produces a new TLE every day or two, and between updates a filter blends the aging prediction with whatever new observations arrive. A determined orbit is never done; it is a running estimate that must be fed or it starves.

Discussion Questions

  1. Phase 2 found the ground track shifts $\sim 23^\circ$ west per orbit. How does this number explain why a given city sees the ISS on some nights and not others?
  2. In Phase 3 the mean and true anomalies agreed to hundredths of a degree. For what kind of orbit would ignoring Kepler's equation be a serious error, and why?
  3. The Phase 4 residual was $92\ \text{km}$ from a $12\ \text{s}$ timing error. Which perturbation of Chapter 12 is the dominant cause of a LEO TLE going stale, and in which direction (faster/slower) does it push the station?
  4. In Phase 5 the gain was $K = 0.9996$. What would the gain be if the radar were as uncertain as the prediction ($\sigma_{\text{meas}} = 50\ \text{km}$)? What does that tell you about when a measurement is worth trusting?

Your Turn: Extensions

  • Option A (analysis). Take a real current ISS TLE from a public source (CelesTrak or Space-Track), extract the mean motion, and repeat Phase 1. How close is the real $a$ to our $6{,}795\ \text{km}$? Compute the perigee and apogee altitudes from the real $e$.
  • Option B (computation). Write a function tle_to_orbit(n_rev_per_day, e) returning $(a, T_{\text{min}}, \text{alt}_p, \text{alt}_a)$, and reproduce the Phase 1–2 numbers. (Do not run it — hand-trace and add # Expected output:.)
  • Option C (design). For your mission's orbit, estimate how quickly a TLE-style mean-element snapshot would go stale (hint: high-drag LEO decays fast; a quiet GEO or interplanetary orbit stays valid far longer). Record the implied re-determination cadence in your MDR's tracking note.

Key Takeaways

  1. A TLE is orbit determination, compressed. Its mean motion alone recovers the semi-major axis, altitude, and period; its eccentricity gives the apsides; its mean anomaly (via Kepler's equation) gives position in time.
  2. Mean anomaly is not true anomaly. Converting is mandatory in general; it is merely small for a near-circular orbit like the ISS's, and large for an eccentric one.
  3. A determined orbit decays. Perturbations (chiefly drag in LEO) drive a stale TLE tens of kilometres off in days — a residual you can compute directly from the timing error and the orbital speed.
  4. One good measurement restores it. A high-confidence fix, fused through a Kalman update ($K \to 1$), snaps the estimate back and collapses the uncertainty — which is why real catalogs are re-determined continuously, not once.