48 min read

> "As soon as the orbit of a heavenly body is known, computing its place at any time is easy; but the inverse — to deduce the orbit itself from the observations — is a problem of far greater difficulty."

Prerequisites

  • 8
  • 12

Learning Objectives

  • Frame orbit determination as the inverse of the prediction problem: recovering a six-number state from indirect, noisy observations.
  • Compare the major observation types — radar, optical, GNSS, and radiometric tracking — and say what each one measures and how much information it carries.
  • State Lambert's problem and explain how two positions and a time of flight select a unique transfer orbit, with the Hohmann transfer as its minimum-energy case.
  • Describe the logic of initial orbit determination by Gauss's method, and why three angles-only observations are the minimum for a first orbit.
  • Explain least-squares batch estimation and the concept of a residual, and carry out a small least-squares fit by hand.
  • Explain the Kalman filter's predict-update cycle and compute a scalar Kalman update, distinguishing it from batch estimation.

Chapter 13: Orbit Determination

"As soon as the orbit of a heavenly body is known, computing its place at any time is easy; but the inverse — to deduce the orbit itself from the observations — is a problem of far greater difficulty." — a faithful paraphrase of Carl Friedrich Gauss's framing in Theoria Motus (1809)

Overview

Every chapter of Part II so far has solved the same kind of problem, and always in the same direction. You were handed an orbit — six numbers, or a position and a velocity — and asked to predict: where will the spacecraft be next Tuesday, how fast, how long until it comes back around. Chapter 8 built the whole machine for it: the six elements, Kepler's equation, the anomalies that turn a clock reading into a place in the sky. That is the forward problem, and it is, in the end, arithmetic. Gravity is generous that way.

Reality runs the arrow backward. Nobody hands you the orbit. What you actually have is a radar dish that pings a passing object and hears an echo, a telescope that catches a faint streak of light against the stars, a radio receiver that measures the Doppler shift of a spacecraft a hundred million kilometres away. None of these tells you the orbit. Each tells you a shadow of it — an angle here, a distance there, a speed-along-the-line-of-sight — measured with noise, at scattered instants, from a platform that is itself moving. From that handful of indirect glimpses you must reconstruct the entire six-dimensional trajectory: where the object is, where it is going, and where it will be. This is the inverse problem, and it is the subject of this chapter. It is called orbit determination, and it is harder, deeper, and in its own way far more beautiful than the forward problem it undoes.

It is also non-negotiable. You cannot point a communications antenna at a satellite you cannot locate. You cannot command a maneuver, plan a re-entry, warn of a collision, or land on Mars without first answering the question where is it, right now, and how sure are we? Knowing your position is not a convenience in spaceflight; in an environment that offers no landmarks, no road signs, and no second chances, it is survival — our recurring theme that space is unforgiving wearing the mask of a navigation problem. And the tools we build to answer it — Lambert's elegant "two points and a clock," Gauss's recovery of a lost planet from three smudges of light, the least-squares fit that finds the one orbit closest to a thousand disagreeing measurements, and the Kalman filter that carries a running estimate and its uncertainty forward through time — are among the most widely used pieces of applied mathematics on Earth and off it. They run in every GPS receiver, every spacecraft, every air-traffic and missile-tracking system, and the phone in your pocket.

In this chapter, you will learn to:

  • See orbit determination as the inverse of prediction — and understand why an indirect, noisy measurement is not the state, but only a clue to it.
  • Read the menu of observation types (radar, optical, GNSS, deep-space radiometric) and decode a real two-line element set.
  • Use Lambert's problem — two positions and a time — to connect points in space with an orbit, and recognize the Hohmann transfer hiding inside it.
  • Follow the logic of Gauss's method for a first orbit from angles alone, the calculation that once recovered a lost planet.
  • Fit an orbit to many noisy observations by least squares, and read a residual the way a flight dynamicist does.
  • Run the Kalman filter's predict-update cycle by hand, the recursive estimator that Chapter 27 will drop straight into the guidance loop.

Learning Paths

🚀 Space Enthusiast: Read 13.1 for the big reframe (prediction runs backward), 13.2 to learn what a TLE actually is, and 13.6 for the Kalman filter — the single most useful idea in the chapter and the one behind your phone's navigation. You can skim the algebra of 13.3–13.5 and just enjoy the stories (Lambert, and Gauss recovering the lost planet Ceres).

📐 Engineering Student: Read everything. Work the least-squares fit in 13.5 and the scalar Kalman update in 13.6 by hand — those two calculations are the conceptual seeds of all of modern estimation and they reappear in Chapter 27. Note carefully every place we flag that a full treatment needs linear algebra beyond this book; that is your reading list for a graduate astrodynamics course.

🎮 KSP Player: The game hands you perfect orbits for free — this chapter is about the real-world job of earning them. Focus on 13.3 (Lambert is exactly what a "maneuver to intercept at time T" tool does) and 13.6. If you have run a rendezvous, you have solved Lambert's problem by feel.

🛰️ Industry Prep: This is a flight-dynamics chapter. 13.2 (observations and TLEs), 13.5 (batch least squares and residuals), and 13.6 (the Kalman filter) are the daily working vocabulary of every orbit-determination and navigation team. Your Mission Design Checkpoint writes the tracking-and-nav approach for your mission — a real line in a real MDR.


13.1 The inverse problem: where is it, from observations?

Let us be precise about what we are undoing. In the two-body world of Chapter 8, a spacecraft's complete physical situation at an instant is its state: the position vector $\mathbf{r}$ and the velocity vector $\mathbf{v}$, three components each — six numbers. (Equivalently, the six orbital elements $a, e, i, \Omega, \omega, \nu$; the two packagings hold identical information.) Give me the state at one time and the value of $\mu$, and the forward machine of Chapter 8 tells me the state at every other time. Six numbers are the orbit.

The trouble is that no instrument measures the state. A radar measures how far away something is and how fast it is receding. A telescope measures a direction — two angles — and nothing about distance at all. A radio dish measures the Doppler shift of a carrier tone, which is a speed along the line of sight. Each of these is a known function of the state — we can always compute what a given orbit would produce at a given instrument — but it is a lossy, tangled function, and it is corrupted by noise. Orbit determination is the art of running that function backward.

Definition (observation). An observation is a measurement that carries information about a spacecraft's state — a range, a range-rate, a pair of pointing angles, or a position fix — related to that state through a known observation model $\mathbf{z} = h(\mathbf{x}) + \text{noise}$, where $\mathbf{x}$ is the state and $\mathbf{z}$ is what the instrument reports. The model $h$ is the forward map from "where the object is" to "what the instrument sees"; it is what orbit determination inverts.

Definition (orbit determination). Orbit determination (OD) is the process of estimating a spacecraft's orbit — its state, or its orbital elements — from a set of observations. It is the inverse of orbit prediction: prediction goes state $\rightarrow$ future observations; determination goes observations $\rightarrow$ state. Because observations are indirect and noisy, OD is fundamentally a problem of estimation, not exact solution.

Why is running the map backward hard? Three reasons, and every technique in this chapter is a response to one of them.

  • Observations are indirect. You never measure the six numbers you want. You measure some function of them — an angle, a distance — and often a function that throws information away. Angles-only tracking, for instance, never sees range: the object could be near and slow or far and fast and look identical for an instant. You must accumulate several observations, and let the dynamics (the fact that all of them lie on one gravitationally-legal orbit) supply what any single measurement omits.
  • Observations are noisy. Real instruments have error bars. Two measurements of the same quantity disagree. There is, in general, no orbit that passes exactly through a set of noisy observations, so "solve the equations" is the wrong goal. The right goal is to find the orbit that fits them best — which forces us to define "best" (that is least squares, 13.5).
  • Observations are scattered and scarce (or overwhelming). Sometimes you have barely enough data to determine an orbit at all (a few minutes of a single pass), and you need a method that squeezes an orbit from the minimum (that is Gauss's method, 13.4). Sometimes you have thousands of measurements over months, mutually inconsistent because of noise, and you need a method to reconcile them (batch least squares, or the recursive Kalman filter, 13.6).

Start with the simplest question: how many observations do you even need? Six unknowns require six independent numbers. Different instruments deliver different numbers per look:

Observation type Numbers per look Looks for a first orbit
Optical (angles only) 2 (right ascension, declination) 3 (gives 6) — Gauss's method
Radar (skin track) 4 (range, range-rate, azimuth, elevation) 2 (gives 8, over-determined)
GNSS receiver (onboard) 3–6 (position, or position + velocity) 1–2 (near-direct state)

Worked Example: is one radar pass enough? A tracking radar catches a LEO object and, at a single instant, reports range $\rho = 1{,}200\ \text{km}$, range-rate $\dot\rho = -2.1\ \text{km/s}$ (closing), plus azimuth and elevation — four numbers. Is that enough to pin the orbit? No: the state needs six, and one radar instant gives four. We are two numbers short; the orbit is under-determined from a single instant. Take a second measurement a minute later and the radar adds four more numbers (eight total, now over-determined): more than enough to solve, and — crucially — enough left over to check. Contrast the optical telescope, which reports only two angles per look: it needs at least three looks (six numbers) even to attempt a first orbit, which is exactly why the classic angles-only method (13.4) is built around three observations. The instrument's information rate sets the arithmetic of how much you must watch.

🚪 Threshold Concept: the measurement is not the state — it is the state's shadow. The reorganizing idea of this whole chapter is that you never observe an orbit; you observe consequences of it, one thin projection at a time, through a lossy and noisy map. Navigation is therefore not measurement but inference: reconstructing a six-dimensional object from its shadows. Once you internalize this, a great deal of spaceflight snaps into focus. It is why a single glance can never fix a trajectory; why more, and more varied, observations always help (each shadow constrains a different direction); why every estimate must come with an uncertainty (the shadows never fully determine the object); and why the same mathematical machinery — least squares, Kalman filtering — that locates a spacecraft also locates a submarine, a self-driving car, and you, holding your phone. The forward problem is physics. The inverse problem is knowledge, and knowledge in an unforgiving environment is the difference between a mission and a crater.

There is a genuine beauty here, and it is our theme orbital mechanics is beautiful in an unexpected key. The forward problem is generous but blunt: given everything, predict everything. The inverse problem is stingy but profound: given almost nothing — three faint streaks of light — recover the whole majestic ellipse, its size and tilt and orientation, and say where the object will be a year from now. That we can do this at all is a gift of the two-body problem's rigidity: because a Keplerian orbit is only six numbers, a handful of well-chosen glimpses is, just barely, enough to catch it.

🔄 Check Your Understanding 1. In one sentence, how does orbit determination differ from orbit prediction (Chapter 8)? 2. A state has six numbers. An optical telescope reports two angles per observation. What is the minimum number of separate observations needed to attempt a first orbit, and why? 3. Why is "find the orbit that passes exactly through all the observations" usually the wrong goal?

Answers

  1. Prediction maps a known state forward to future observations; determination maps observations back to the unknown state — it is the inverse problem, and because observations are indirect and noisy it is a problem of estimation. 2. Three: each look gives two numbers (two angles), and the state needs six, so three looks give the minimum six. (This is exactly Gauss's method, 13.4.) 3. Because real observations carry noise and generally no orbit fits them all exactly; insisting on an exact fit would chase the noise. The right goal is the best fit — the orbit closest to the observations in a defined sense (least squares).

13.2 Observations: radar, optical, GNSS, and TLEs

Before we invert the map, we should know the instruments that produce it. Each measures something different, at a different range, cost, and precision, and a real tracking system blends them. Physics-first, as always: what does each one actually sense, and why?

Radar transmits a pulse and listens for the echo. The round-trip time gives range (distance) directly and superbly — light travels almost exactly $300\ \text{km}$ per millisecond, so timing an echo to a microsecond locates the object to a few hundred metres. The Doppler shift of the echo gives range-rate (speed along the line of sight), and the antenna's pointing gives two angles. Radar is the workhorse of low-Earth-orbit surveillance — the U.S. Space Surveillance Network's big phased-array radars catalog thousands of objects this way. Its limitation is power and range. A radar that illuminates a passive target and reads the faint reflection suffers received power falling as $1/\rho^4$ (the beam spreads on the way out and the tiny reflection spreads on the way back), so skin-tracking is practical for LEO but hopeless for deep space. For distant spacecraft you instead use a cooperative transponder that receives the signal and re-transmits it at full strength — the deep-space radiometric tracking of Chapter 26, whose link falls only as $1/\rho^2$ each way.

Optical telescopes measure a direction and nothing else: the object appears as a point or streak against the star background, and comparing it to catalogued star positions yields two angles (right ascension and declination) to arcsecond precision. There is no range in a single optical observation — this is the defining hardship of angles-only tracking, and the reason Gauss's method (13.4) exists. What optical loses in range it gains in reach: a modest telescope can see sunlit objects at GEO and beyond, far past any skin-tracking radar, which is why the high-orbit and deep-space catalog leans optical. It also gave us the entire history of the subject: every orbit determined before the twentieth century was angles-only.

GNSS — the Global Navigation Satellite Systems, of which GPS is one — inverts the geometry. Instead of tracking the spacecraft from the ground, the spacecraft carries a receiver and fixes its own position (and, from carrier-phase processing, velocity) by timing signals from the navigation constellation in medium Earth orbit. For a satellite in LEO, an onboard GNSS receiver delivers a near-direct state — position to metres, continuously, autonomously — and has revolutionized low-orbit OD by making it a solved, onboard problem rather than a ground-tracking campaign. Its reach is its limit: GNSS works below and within the navigation constellation, so LEO is ideal, GEO is marginal (you are above most of the constellation, catching only signals that spill past Earth's limb), and beyond Earth it fades out.

Definition (two-line element set, TLE). A two-line element set (TLE) is a compact, fixed-format encoding of an object's orbit as a set of mean orbital elements at a reference time (the epoch), published for every tracked object by U.S. Space Command. Its two 69-character lines carry the catalog number and epoch, a drag term ($B^\*$), and the elements: inclination $i$, right ascension of the ascending node $\Omega$, eccentricity $e$, argument of perigee $\omega$, mean anomaly $M$, and the mean motion $n$ (in revolutions per day), from which the semi-major axis follows by Kepler's third law. A TLE is meant to be propagated with a specific simplified model (SGP4) that builds in the averaged effect of perturbations; its accuracy is typically around a kilometre at epoch and degrades over days as unmodeled drag and third-body effects accumulate.

This is the definition Chapter 8 promised when it first showed you a TLE and pointed here. Two subtleties earn emphasis. First, a TLE stores the mean anomaly $M$, not the true anomaly — you must solve Kepler's equation (§8.6) to find where the object actually is. Second, TLE elements are mean elements tuned for the SGP4 propagator, not the instantaneous "osculating" elements of pure two-body theory; feeding a TLE into a naïve Keplerian propagator introduces error, because the TLE has quietly absorbed J2 and drag into its numbers. A TLE is a compressed orbit with an expiration date.

Worked Example: decoding a TLE's mean motion. The most information-dense number on the second line of a TLE is the mean motion. Suppose it reads $n = 15.50$ revolutions per day (an ISS-like value; treat the specific figure as illustrative). What orbit is that? Convert to SI and invert Kepler's third law ($n = \sqrt{\mu/a^3}$, from §8.5): $$n = 15.50\ \frac{\text{rev}}{\text{day}} \times \frac{2\pi\ \text{rad}}{1\ \text{rev}} \times \frac{1\ \text{day}}{86{,}400\ \text{s}} = 1.1272\times10^{-3}\ \text{rad/s}.$$ Then, with $\mu_\oplus = 3.986\times10^{5}\ \text{km}^3/\text{s}^2$, $$a = \left(\frac{\mu}{n^2}\right)^{1/3} = \left(\frac{3.986\times10^{5}}{(1.1272\times10^{-3})^2}\right)^{1/3} = \left(3.137\times10^{11}\right)^{1/3} \approx 6{,}795\ \text{km}.$$ That is an altitude of $6{,}795 - 6{,}371 = 424\ \text{km}$, and a period $T = 2\pi/n = 5{,}574\ \text{s} = 92.9\ \text{min}$. **Sanity check:** $86{,}400 / 5{,}574 = 15.5$ orbits per day, matching the mean motion we started from, and $\sim 425\ \text{km}$ at $\sim 93\ \text{min}$ is precisely the International Space Station's neighborhood (§8.5). Two lines of digits, and we have recovered the size, period, and altitude of a real orbit — the forward machine of Chapter 8 running on numbers that orbit determination put into the TLE in the first place.

import math

MU = 3.986e5              # Earth's gravitational parameter, km^3/s^2
n_rev_per_day = 15.50     # mean motion from TLE line 2 (rev/day); ISS-like, illustrative

n = n_rev_per_day * 2 * math.pi / 86400.0   # rad/s
a = (MU / n**2) ** (1 / 3)                   # semi-major axis, km (Kepler III)
T = 2 * math.pi / n                          # period, s
print(round(n, 8))          # mean motion, rad/s
print(round(a))             # semi-major axis, km
print(round(T / 60, 1))     # period, minutes
# Expected output:
# 0.00112719
# 6795
# 92.9

🔧 Engineering Reality: no instrument is the whole answer. Real orbit determination fuses types. A LEO object might be range-and-angle tracked by radar on some passes, angles-only by optical telescopes on others, and carry its own GNSS receiver besides; a deep-space probe is tracked by Doppler, ranging, and delta-DOR from the Deep Space Network. Each type constrains a different combination of the six state numbers — range pins distance, Doppler pins speed-along-line-of-sight, angles pin direction — so their combination is far more powerful than any one alone. The estimator of 13.5–13.6 is precisely the machine that fuses these heterogeneous, differently-weighted measurements into a single best orbit. Fusing dissimilar sensors is the whole game, and it is why we needed to catalog the menu before building the cook.

🔗 Connection: OD is what makes collision avoidance possible. The catalog of tracked objects — every TLE, every radar track — exists so that operators can screen for conjunctions, the close approaches that, in a crowded low orbit, threaten the Kessler-syndrome cascade of Chapter 35. Every "the satellite performed a collision-avoidance maneuver" news item begins with an orbit determination on both objects, and with the honest uncertainty on each — because you dodge not a point but a probability cloud. Determination is the quiet prerequisite of space sustainability.


13.3 Lambert's problem: two positions and a time

Suppose you know where an object was at two moments — two position vectors $\mathbf{r}_1$ and $\mathbf{r}_2$ — and how long it took to travel between them, $\Delta t$. Can you recover the orbit? This is one of the oldest and most useful questions in astrodynamics, and it has a name.

Definition (Lambert's problem). Lambert's problem is: given two position vectors $\mathbf{r}_1$ and $\mathbf{r}_2$ and the time of flight $\Delta t$ between them, find the orbit that connects them — that is, find the velocity vectors $\mathbf{v}_1$ and $\mathbf{v}_2$ at the two points (which, with the positions, fix the full orbit). It is named for Johann Heinrich Lambert, who studied it in the 1760s.

Think first about what two points alone can do. Through two given points in space pass infinitely many Keplerian orbits — a whole family. You can connect the points with a lazy, low-energy ellipse that arcs gently between them, or a taut, high-energy ellipse that races across, or (in the limit) a parabola or hyperbola that blows straight through. Two points fix the family; they do not fix the member. What picks the single orbit out of the family is the time. A fast crossing demands an energetic orbit; a slow one, a lazy orbit. Specify how long the trip took, and — for a given direction of travel and number of revolutions — exactly one orbit fits.

💡 Intuition: it is the physics of a thrown ball. If you throw a ball to a friend, the launch direction and speed together decide where it lands and when. Run that backward: name the target and the time of flight, and you have determined the throw — how hard and in what direction. Lambert's problem is the orbital version of "given where I am, where I want to be, and when I want to arrive there, how must I be moving?" It is the solver behind every intercept, rendezvous, and interplanetary targeting calculation.

The remarkable content of Lambert's work is Lambert's theorem: the time of flight depends only on three geometric quantities — the semi-major axis $a$ of the transfer orbit, the straight-line chord $c = \lvert\mathbf{r}_2 - \mathbf{r}_1\rvert$ between the two points, and the sum of the radii $r_1 + r_2$ — and not on any finer detail of how the orbit is oriented. Everything about the transfer time is captured by those three lengths. In symbols, the transfer time is some function $$\Delta t = F(a,\ r_1 + r_2,\ c),$$ and solving Lambert's problem means inverting this: you know $\Delta t$, $r_1 + r_2$, and $c$, and you solve for $a$ — then back out the velocities. As with Kepler's equation in §8.6, the relation is transcendental (the unknown $a$ appears both algebraically and inside inverse-trig or hyperbolic terms), so you solve it by iteration, not formula.

⚠️ A place we owe you honesty. The full solution of Lambert's problem — the explicit form of the function $F$, and the robust iteration used in practice (the modern "universal variable" formulation with Stumpff functions, or Gauss's older method) — needs more machinery than this book develops: it leans on the Lagrange $f$ and $g$ coefficients and careful case-handling for the two geometric branches. We will state the theorem, work the one case we can compute cleanly by hand, and point you to Bate, Mueller & White or Vallado for the algorithm. Flagging this honestly is itself a lesson: much of real astrodynamics is Kepler-level physics wrapped in linear-algebra-level bookkeeping, and knowing where the wrapping starts is knowing what to go learn next.

There is one case we can nail exactly, and it is the most important one: the minimum-energy transfer through half a revolution. When the two points are on opposite sides of the primary (a $180^\circ$ transfer), the chord is the full distance across, $c = r_1 + r_2$, and among all the orbits connecting them the lowest-energy one is the ellipse whose major axis is exactly $r_1 + r_2$ — semi-major axis $a = (r_1 + r_2)/2$. But that is precisely the Hohmann transfer of Chapter 10! The Hohmann transfer is nothing other than the minimum-energy, half-revolution solution of Lambert's problem between two circular-orbit radii. Its transfer time is half the period of that ellipse.

Worked Example: the Hohmann transfer as Lambert's minimum-energy case. Take a transfer from a $400\ \text{km}$ parking orbit ($r_1 = 6{,}771\ \text{km}$) out to geostationary radius ($r_2 = 42{,}164\ \text{km}$), the workhorse LEO-to-GEO climb. The minimum-energy half-revolution transfer ellipse has $$a = \frac{r_1 + r_2}{2} = \frac{6{,}771 + 42{,}164}{2} = 24{,}468\ \text{km},$$ and its time of flight is half its period (§8.5): $$\Delta t = \pi\sqrt{\frac{a^3}{\mu}} = \pi\sqrt{\frac{(24{,}468)^3}{3.986\times10^{5}}} = \pi\sqrt{3.675\times10^{7}} = \pi\,(6{,}062\ \text{s}) = 19{,}045\ \text{s}.$$ That is $19{,}045/3600 = 5.29\ \text{hours}$. Sanity check: this is exactly half the geostationary transfer orbit's period that Chapter 8 computed ($T = 38{,}089\ \text{s}$; half is $19{,}045\ \text{s}$) — as it must be, since the transfer covers half the ellipse from perigee to apogee. Lambert and Hohmann agree, because one contains the other.

Now the generalization that makes Lambert indispensable. Suppose you do not want the minimum-energy trip — suppose mission constraints demand you arrive faster than 5.29 hours. Lambert answers instantly in principle: a shorter time of flight requires a higher-energy transfer ellipse (a larger $a$, on the "high road"), which costs more departure delta-v. Conversely a later arrival on the slow branch also costs more. There is a genuine trade — time bought with propellant — and Lambert's problem is exactly the calculator that quantifies it. Feed it a grid of possible departure and arrival dates and it draws the porkchop plot that mission designers use to pick interplanetary launch windows — a construction we build in Chapter 11, and which is simply Lambert's problem solved a few thousand times over.

🔗 Connection: Lambert is both a design tool and an OD tool. Read one way — "I am here, I want to be there in time $\Delta t$, how must I burn?" — Lambert is a maneuver-targeting tool, the engine of rendezvous (Chapter 10) and interplanetary injection (Chapter 11). Read the other way — "the object was observed here, then there, $\Delta t$ apart; what orbit connects them?" — the very same solver is a determination tool, extracting an orbit from two position fixes. Design and determination are the same mathematics pointed in opposite directions, which is the whole spirit of this chapter.

🔄 Check Your Understanding 1. Two position vectors alone are consistent with infinitely many orbits. What single extra piece of information selects one, and why? 2. What is the relationship between the Hohmann transfer and Lambert's problem? 3. A mission needs to reach the target sooner than the minimum-energy transfer allows. Qualitatively, what happens to the required delta-v, and why?

Answers

  1. The time of flight. Through two points passes a one-parameter family of orbits (varying in energy or size); a faster crossing needs a more energetic orbit and a slower one a lazier orbit, so specifying the transfer time picks a unique member (for a given transfer direction and revolution count). 2. The Hohmann transfer is the minimum-energy, half-revolution ($180^\circ$) solution of Lambert's problem between two circular radii; $a = (r_1+r_2)/2$ and the transfer time is half that ellipse's period. 3. The required delta-v increases: a shorter time of flight demands a higher-energy transfer orbit, which needs a larger departure burn. You buy arrival time with propellant.

13.4 Initial orbit determination: Gauss's method

Lambert assumed you already had two positions. But the hardest and most historic version of the problem gives you no positions at all — only directions. A new object appears in a telescope: a streak of light, an angle in the sky and nothing more, no distance. Catch it three times over a few nights and you have three pairs of angles — six numbers, exactly the size of a state. Can you get a first orbit from that alone? Yes, and the method that does it is one of the monuments of applied mathematics.

Definition (Gauss's method). Gauss's method is a technique of initial orbit determination (IOD) that computes a preliminary orbit from three angles-only (optical) observations — three lines of sight to the object at three known times, from known observer positions. It exploits the fact that the three resulting position vectors must all lie on one Keplerian orbit (and therefore in one plane, linked by the two-body dynamics) to solve for the unknown ranges along the three sightlines, and hence the three positions and the orbit.

Here is the shape of the difficulty and how Gauss defeats it. Each optical observation gives a unit line-of-sight vector $\hat{\mathbf{L}}$ — the direction to the object — from an observer whose own position $\mathbf{R}$ (on the spinning, Sun-orbiting Earth) is known precisely. The object's position is therefore $$\mathbf{r} = \mathbf{R} + \rho\,\hat{\mathbf{L}},$$ where $\rho$ is the range — the one thing optical cannot see. So the three observations hand you three known observer positions and three known directions, but three unknown ranges $\rho_1, \rho_2, \rho_3$. Find those three numbers and you have the three positions, and from three positions and their times the orbit follows (indeed, the outer two positions plus the time between them is a Lambert problem). The whole game is solving for the ranges.

Gauss's insight was that the three positions are not independent: they lie on one orbit, so the middle position vector $\mathbf{r}_2$ can be written as a linear combination of the outer two, $\mathbf{r}_2 = c_1\mathbf{r}_1 + c_3\mathbf{r}_3$, with coefficients that depend on the (still unknown) orbit through the time intervals. Substituting the sightline relations turns the geometry into a system that, after elimination, collapses to a single eighth-degree polynomial in the middle range $\rho_2$ (equivalently, in $r_2$). Solve that polynomial for its physically meaningful root, back out the three ranges and positions, refine the coefficients using the improved orbit, and iterate. Out comes a preliminary orbit — not perfect, but good enough to predict where to look next, which is all a first orbit needs to do.

📜 From History: Gauss and the lost planet. On the first night of the nineteenth century — 1 January 1801 — the astronomer Giuseppe Piazzi spotted a moving point of light and tracked it for about six weeks, across only a few degrees of sky, before it slipped into the Sun's glare and was lost. Was it a comet? A new planet? Nobody could say, because nobody could compute an orbit from so short an arc. The 24-year-old Carl Friedrich Gauss took up the problem, invented the method sketched above (and much of the least- squares machinery of the next section along the way), and predicted where the object — later named Ceres, the first asteroid — would re-emerge. Nearly a year after its disappearance, astronomers pointed their telescopes where Gauss said to look and found Ceres within a fraction of a degree of his prediction. It made Gauss famous across Europe at a stroke, and it is, in a real sense, the founding act of orbit determination as a science: an entire orbit, and a successful prediction, wrung from a handful of angles. Our theme that orbital mechanics is beautiful has no finer example than a lost world recovered from three smudges of light.

⚠️ Common Misconception: "three observations means three positions." It does not — and the difference is the entire problem. Three optical observations give three directions (six angles), not three positions; the ranges along those directions are unknown, and extracting them is the hard core of Gauss's method. If you genuinely do have three position vectors — say from radar or GNSS fixes — the problem is much easier: a companion technique, Gibbs's method, gets the velocity (and thus the orbit) directly from three positions using vector algebra and the conservation laws, no polynomial required. The lesson is that what your instrument measures dictates which determination method you reach for. Angles-only is hard (Gauss); positions are comparatively easy (Gibbs); a single GNSS fix is nearly the state itself.

🔧 Engineering Reality: a first orbit is a lead, not an answer. IOD deliberately trades accuracy for self-sufficiency: it asks for the minimum data and no prior knowledge, and in return gives a rough orbit — enough to reacquire the object on the next pass, seed a catalog entry, or hand off to a precise estimator. Nobody flies a mission on a Gauss solution. Its job is to bootstrap: turn "an unknown streak of light" into "an object we can now keep watching," at which point the far more accurate least-squares and Kalman methods of the next two sections take over and refine the orbit with every additional observation. IOD opens the door; estimation walks through it.

🔄 Check Your Understanding 1. Why are exactly three optical observations the natural minimum for Gauss's method? 2. In $\mathbf{r} = \mathbf{R} + \rho\,\hat{\mathbf{L}}$, which quantities does an optical observation give you, and which is unknown? 3. What is the purpose of an initial orbit determination — what do you do with the rough orbit it produces?

Answers

  1. Each optical observation supplies two angles (a direction), and the state has six numbers; three observations give the minimum six. 2. The observer position $\mathbf{R}$ (known from Earth's motion and the station location) and the line-of-sight direction $\hat{\mathbf{L}}$ (measured) are known; the range $\rho$ along that direction is the unknown Gauss's method solves for. 3. A first orbit is a lead: it is accurate enough to predict where to look next and to reacquire the object, and it seeds a precise estimator (least squares / Kalman), which then refines it with more observations. You never fly on the IOD result itself.

13.5 Least-squares batch estimation

Gauss's method extracts an orbit from the bare minimum of data. The opposite and more common situation is abundance: a tracking campaign delivers hundreds or thousands of observations over days or weeks — ranges, angles, Doppler, from several stations. Because every measurement carries noise, no single orbit threads all of them exactly. What, then, is the best orbit? The answer, and it is one of the most consequential ideas in all of quantitative science, is: the orbit that makes the total squared mismatch between prediction and observation as small as possible.

Definition (residual). A residual is the difference between an actual observation and the value predicted for that observation by a candidate orbit: $\text{residual} = z_{\text{observed}} - h(\mathbf{x}_{\text{estimated}})$, where $h$ is the observation model that says what the estimated orbit would have produced at that time. Each observation has its own residual; the collection of residuals is the estimator's report card, and driving them small (in the right sense) is the goal of estimation.

Definition (least squares). Least-squares estimation chooses the state estimate that minimizes the sum of the squared residuals over all observations. When measurements differ in quality, one weights each residual by the inverse of its measurement variance (better sensors count more) — weighted least squares — minimizing $\sum_i r_i^2/\sigma_i^2$. Applied to a whole batch of observations at once, it is called batch least-squares estimation.

Why squared residuals, and not, say, the sum of their absolute values? Three reasons, all real: squaring makes the objective smooth (differentiable, so calculus finds the minimum cleanly), it penalizes large misses disproportionately (pulling the fit away from wild outliers), and — the deep reason Gauss himself gave — if the measurement noise is Gaussian, the least-squares estimate is the most probable orbit given the data. Least squares is not an arbitrary choice of "best"; it is the statistically principled one.

Here is the procedure for an orbit, in plain terms. Start from a first guess (an IOD orbit, 13.4). Using the dynamics — the full propagator of Chapter 12, including J2, drag, and third-body effects, because we want a precise fit — propagate the guess to the time of every observation and compute the predicted observation through the model $h$. Subtract to get each residual. Now ask: how should I nudge the six state numbers to shrink these residuals? A small change $\delta\mathbf{x}$ in the state changes each prediction by (approximately) a known sensitivity — the partial derivatives $\partial h/\partial\mathbf{x}$, assembled into a design matrix $H$. Choosing $\delta\mathbf{x}$ to minimize the weighted sum of squared residuals gives the classic normal-equations correction, then you apply it, re-propagate, and repeat until the residuals stop shrinking. This iteration — linearize, solve, update, repeat — is called differential correction, and it is the beating heart of operational orbit determination.

⚠️ Honesty about the linear algebra. The general least-squares solution is a matrix equation, $\delta\mathbf{x} = (H^\mathsf{T} W H)^{-1} H^\mathsf{T} W\,\mathbf{r}$, with $W$ the weighting matrix and $H$ the design matrix of partial derivatives. Deriving and computing it properly requires matrix calculus and the numerics of matrix inversion — genuinely beyond this book's level, and we will not pretend otherwise. But the idea needs no matrices, and the smallest nontrivial case can be done entirely by hand, so let us do exactly that: a two-parameter fit, which shows every conceptual moving part of the full six-parameter orbital version.

Worked Example: a least-squares fit by hand. A satellite is drifting along its track, and a station takes five noisy measurements of its along-track position at times $t = 0, 1, 2, 3, 4$ (in convenient units). We model the motion over this short arc as a straight line, $x = x_0 + v\,t$ — two unknowns, the initial position $x_0$ and the rate $v$ — and we have five observations, so the system is over-determined (five equations, two unknowns) and, because of noise, has no exact solution. The measured positions (km):

$t$ 0 1 2 3 4
$x_{\text{obs}}$ 100 112 119 131 138

The least-squares slope and intercept come from the standard normal-equation formulas (the two-parameter case of $\delta\mathbf{x} = (H^\mathsf{T}H)^{-1}H^\mathsf{T}\mathbf{r}$), with $N = 5$: $$v = \frac{N\sum t x - \sum t \sum x}{N\sum t^2 - (\sum t)^2}, \qquad x_0 = \frac{\sum x - v\sum t}{N}.$$ Tally the sums: $\sum t = 10$, $\sum t^2 = 30$, $\sum x = 600$, $\sum t x = (1)(112)+(2)(119)+(3)(131)+(4)(138) = 1{,}295$. Then $$v = \frac{5(1{,}295) - (10)(600)}{5(30) - (10)^2} = \frac{6{,}475 - 6{,}000}{150 - 100} = \frac{475}{50} = 9.5, \qquad x_0 = \frac{600 - 9.5(10)}{5} = \frac{505}{5} = 101.$$ So the best-fit track is $x = 101 + 9.5\,t$. Now the residuals — observed minus predicted:

$t$ predicted $101 + 9.5t$ observed residual
0 101.0 100 $-1.0$
1 110.5 112 $+1.5$
2 120.0 119 $-1.0$
3 129.5 131 $+1.5$
4 139.0 138 $-1.0$

Two sanity checks. First, the residuals sum to zero ($-1.0 + 1.5 - 1.0 + 1.5 - 1.0 = 0$) — a signature of a correct least-squares fit that includes an intercept, and a quick way to catch arithmetic slips. Second, the fit recovered a sensible state: initial position $\approx 101$ (the noisy data scattered around a true $\sim 100$) and rate $9.5$ (around a true $\sim 10$), from data no one of which was exactly right. The root-mean-square residual, $\sqrt{\tfrac{1}{5}\sum r_i^2} = \sqrt{7.5/5} = \sqrt{1.5} = 1.22$, is our estimate of the measurement noise — the fit's own read on how good its sensors were.

import numpy as np

t = np.array([0, 1, 2, 3, 4], dtype=float)
x = np.array([100, 112, 119, 131, 138], dtype=float)   # noisy along-track positions, km

H = np.column_stack([np.ones_like(t), t])   # design matrix for x = x0 + v*t
beta, *_ = np.linalg.lstsq(H, x, rcond=None)  # least squares: minimize sum of squared residuals
x0, v = beta
resid = x - H @ beta
rms = np.sqrt(np.mean(resid**2))
print(round(x0, 3), round(v, 3))
print([round(r, 2) for r in resid])
print(round(rms, 4))
# Expected output:
# 101.0 9.5
# [-1.0, 1.5, -1.0, 1.5, -1.0]
# 1.2247

The orbital version is this same calculation with the two unknowns replaced by the six state numbers, the straight-line model replaced by the gravitational propagator of Chapter 12, and the scalar arithmetic replaced by matrices — but every concept is already here: an over-determined system, residuals you cannot zero out, a "best" defined by minimum squared residual, and an estimate of the state that is better than any single measurement because it pools them all.

🔧 Engineering Reality: read the residuals, not just the answer. A flight dynamicist trusts the residual plot more than the orbit itself, because the residuals are where the truth leaks out. If the post-fit residuals look like structureless noise scattered evenly around zero, the model has captured everything and the fit is healthy. If they show structure — a slow trend, a periodic wobble, a sudden jump — the model is missing something real: an unmodeled perturbation (drag mis-estimated, a third-body term left out), an undeclared thruster firing, or a bad measurement. The residual is a diagnostic, not just an error bar. A great deal of operational OD is detective work performed on residual plots, and the orbit is almost a byproduct.

🔄 Check Your Understanding 1. Define a residual in words, and state what least-squares estimation does with the set of residuals. 2. Why square the residuals rather than sum their absolute values? Give one practical and one statistical reason. 3. In the worked fit, the residuals summed to exactly zero. What does that tell you, and what would structured (non-random) residuals suggest instead?

Answers

  1. A residual is the observed value minus the value the current estimated orbit predicts for that observation; least squares chooses the state that minimizes the sum of the squared residuals (weighted by measurement quality). 2. Practically, squaring is smooth/differentiable so calculus finds the minimum and it penalizes large misses heavily; statistically, for Gaussian noise the least-squares estimate is the most probable state given the data. 3. Zero-sum residuals are the expected signature of a correct fit with an intercept (a good arithmetic check). Structured residuals — a trend, a wobble, a jump — signal an unmodeled effect: a missing perturbation, an unexpected maneuver, or a bad measurement.

13.6 The Kalman filter

Batch least squares waits for all the data, then fits the whole arc at once. That is ideal for a precise, after-the-fact orbit — reconstructing where a spacecraft was. But operations often need the opposite: a running, real-time estimate that improves with each new measurement as it arrives, that never has to store or re-process the whole history, and that tracks a state which is itself changing between measurements. That is the job of the Kalman filter, and it is arguably the single most important estimation algorithm ever devised.

Definition (Kalman filter). The Kalman filter is a recursive estimator that maintains a running best estimate of a changing state together with its uncertainty, updating both each time a new observation arrives, through a repeating two-step predict–update cycle. In the predict step it propagates the state forward with the dynamics and lets the uncertainty grow; in the update step it blends the prediction with the new measurement in proportion to their relative confidences, and the uncertainty shrinks. It is named for Rudolf E. Kálmán (1960); a version of it flew the Apollo guidance computer to the Moon.

The genius of the filter is that it carries two things forward, not one: the estimate and how sure it is of that estimate. Track the pair, and each cycle becomes a simple act of weighing evidence.

  • Predict. Between measurements, use the orbit dynamics (Chapters 8 and 12) to propagate the state estimate forward to the time of the next observation. Because you are extrapolating — and because the real world adds little unmodeled accelerations the filter calls process noise — your uncertainty grows during the predict step. You are, briefly, coasting on physics alone, and getting less sure by the second.
  • Update. A measurement arrives. Compute its residual — here traditionally called the innovation — the difference between what you measured and what your prediction said you would measure. Then form a weighted blend of prediction and measurement. The weight, the Kalman gain $K$, is set by the ratio of confidences: if the measurement is sharp and the prediction fuzzy, $K$ leans toward the measurement; if the prediction is confident and the measurement noisy, $K$ leans toward the prediction. Fold in the measurement and your uncertainty shrinks — information has been added. The sharpened estimate becomes the seed for the next predict step, and the cycle turns again: predict, update, predict, update, for as long as the mission flies.

We cannot derive the full matrix filter here — it needs the covariance-matrix algebra we have been honest about avoiding. But the scalar Kalman update — one number, one measurement — needs no matrices at all, and it contains the entire idea. It is simply the rule for optimally combining two uncertain estimates of the same quantity.

Strategy first. Suppose we have two independent estimates of a single quantity: a prediction $\hat{x}^-$ with variance $\sigma_{\text{pred}}^2$, and a measurement $z$ with variance $\sigma_{\text{meas}}^2$. The best combined estimate weights each by its reliability — its inverse variance. Working that out gives the Kalman gain and the update: $$K = \frac{\sigma_{\text{pred}}^2}{\sigma_{\text{pred}}^2 + \sigma_{\text{meas}}^2}, \qquad \hat{x}^+ = \hat{x}^- + K\,(z - \hat{x}^-), \qquad (\sigma^+)^2 = (1 - K)\,\sigma_{\text{pred}}^2.$$ The gain $K$ runs from $0$ (measurement worthless, keep the prediction) to $1$ (measurement perfect, jump to it). This scalar rule is the Kalman filter; the full version replaces the variances with covariance matrices and the gain with a matrix, but the logic does not change one bit.

Worked Example: one scalar Kalman update. A navigation filter predicts a satellite's along-track position as $\hat{x}^- = 500.0\ \text{km}$ with an uncertainty of $\sigma_{\text{pred}} = 2.0\ \text{km}$ (so $\sigma_{\text{pred}}^2 = 4.0$). A radar measurement then reports $z = 503.0\ \text{km}$ with $\sigma_{\text{meas}} = 1.0\ \text{km}$ ($\sigma_{\text{meas}}^2 = 1.0$). Blend them. The gain is $$K = \frac{4.0}{4.0 + 1.0} = 0.8,$$ so the filter trusts the (sharper) measurement four-fifths of the way. The updated estimate is $$\hat{x}^+ = 500.0 + 0.8\,(503.0 - 500.0) = 500.0 + 2.4 = 502.4\ \text{km},$$ and the updated uncertainty is $$(\sigma^+)^2 = (1 - 0.8)(4.0) = 0.8 \quad\Rightarrow\quad \sigma^+ = 0.894\ \text{km}.$$ The remarkable sanity check: the fused uncertainty, $0.894\ \text{km}$, is smaller than either input — smaller than the prediction's $2.0$ and even smaller than the measurement's $1.0$. Combining two imperfect estimates yields one better than both, exactly as inverse-variance addition demands ($1/0.894^2 = 1/2.0^2 + 1/1.0^2$, i.e. $1.25 = 0.25 + 1.0$ ✓). That is the quiet miracle the Kalman filter performs, over and over, every second of a mission: every measurement, however noisy, makes the estimate strictly sharper than it was.

def kalman_update(x_pred, var_pred, z, var_meas):
    """One scalar Kalman update: fuse a prediction with a measurement.
    Returns (updated estimate, updated variance, gain)."""
    K = var_pred / (var_pred + var_meas)     # Kalman gain, between 0 and 1
    x_upd = x_pred + K * (z - x_pred)         # blend prediction and measurement
    var_upd = (1 - K) * var_pred             # uncertainty always shrinks on update
    return x_upd, var_upd, K

x_pred, var_pred = 500.0, 2.0**2   # prediction: 500 km, sigma 2 km
z, var_meas = 503.0, 1.0**2        # measurement: 503 km, sigma 1 km
x_upd, var_upd, K = kalman_update(x_pred, var_pred, z, var_meas)
print(round(K, 3), round(x_upd, 3), round(var_upd**0.5, 4))
# Expected output:
# 0.8 502.4 0.8944

🚪 Threshold Concept: an estimate is a distribution, not a number. The reorganizing idea of modern navigation is that "where is the spacecraft?" is answered not by a point but by a probability cloud — a best guess and an uncertainty — and that the honest object to carry forward through time is the whole cloud. The Kalman filter is the machine that propagates this cloud: physics stretches it (predict, uncertainty grows), measurements compress it (update, uncertainty shrinks), and the gain is simply the rule for how hard to compress. Once you see estimates as distributions, a dozen things become obvious that were mysterious before: why you can never be perfectly certain, only sharper; why a bad measurement barely moves a confident estimate (low gain); why fusing sensors beats any one of them; and why every collision-avoidance decision, re-entry prediction, and Mars landing is really a statement about a covariance, not a coordinate. This is estimation's answer to Chapter 8's determinism: the universe may evolve an orbit exactly, but our knowledge of it is always a cloud, and wisdom is tracking the cloud.

For a real orbit the state is six-dimensional and both the dynamics and the measurements are nonlinear, so operational navigation uses the extended Kalman filter (EKF), which linearizes the dynamics and the observation model at each step — the same design matrix $H$ as in least squares, now applied one measurement at a time. The EKF is what runs inside a spacecraft's onboard navigation, a GNSS receiver, and the guidance of a Mars entry. We will not derive it — it is squarely in the linear-algebra territory we have flagged — but you now hold its entire conceptual content: predict with physics and grow the uncertainty; update with a measurement and shrink it; let the gain arbitrate. Batch versus sequential is the last distinction worth fixing:

Batch least squares (13.5) Kalman filter (13.6)
When it runs after collecting a whole arc recursively, per measurement, in real time
What it stores all observations only the current estimate + uncertainty
Best for precise, after-the-fact orbit reconstruction onboard, live navigation of a changing state
Handles a moving/uncertain state via the propagator inside the fit natively, through predict + process noise
Carries an uncertainty? yes, as a final covariance yes, always, updated every cycle

🔗 Connection: this is the "N" in GN&C. The Kalman filter you just met is the navigation box of the guidance-navigation-control loop that Chapter 27 builds: it is the piece that answers "where are we and how sure are we?" so that guidance can decide where to go and control can steer there. This chapter owns the Kalman filter; Chapter 27 will simply drop it, intact, into the closed loop, alongside the attitude estimation of the next chapter. Estimation is not a topic that ends here — it is a tool you have now built and will keep using.

🔄 Check Your Understanding 1. Name the two steps of the Kalman cycle and say what happens to the uncertainty in each. 2. In the scalar update, what does the Kalman gain $K$ represent, and what are its extreme values $K=0$ and $K=1$? 3. In the worked example the fused uncertainty ($0.894\ \text{km}$) was smaller than both the prediction's ($2.0$) and the measurement's ($1.0$). Why is that not a paradox?

Answers

  1. Predict (propagate the state with the dynamics; uncertainty grows from extrapolation and process noise) and update (fold in a measurement; uncertainty shrinks as information is added). 2. $K$ is the fraction of the way the estimate moves from the prediction toward the measurement — the relative trust in the measurement. $K = 0$: ignore a worthless measurement, keep the prediction; $K = 1$: trust a perfect measurement completely, jump to it. 3. Because combining two independent estimates adds information (inverse variances add): $1/\sigma_+^2 = 1/\sigma_{\text{pred}}^2 + 1/\sigma_{\text{meas}}^2 = 1.25$, so $\sigma_+ = 0.894$. Two imperfect measurements of the same quantity together beat either one alone.

Mission Design Checkpoint: your tracking and navigation approach

Across this book you are designing one real mission — a communications satellite to GEO (Track A), a lunar lander (B), a Mars orbiter (C), or an asteroid rendezvous (D). Every previous checkpoint sized what the spacecraft does; this one answers a question every real program must: how will we know where it is? No orbit, maneuver, or landing in your MDR means anything unless you can determine the state it acts on.

The design. Add a Tracking, Navigation & Orbit Determination section to your MDR. Specify (1) the observation types your mission will use, (2) the estimation approach, and (3) the accuracy you need and why. The choice follows straight from your orbit:

  • Track A — GEO comsat. Ground-station ranging + angles from the operator's antennas, augmented by optical/radar surveillance; a batch least-squares orbit solution updated each tracking pass, feeding the station-keeping burns that hold your slot. Note the real constraint: GNSS is marginal at GEO (you sit above the constellation), so you rely on ground tracking, not an onboard GPS fix.
  • Track B — lunar lander. Deep Space Network two-way ranging + Doppler (Chapter 26) for the cislunar cruise, then a Kalman filter fusing an inertial unit with altimeter and optical terrain-relative navigation for the descent — the estimator that Chapter 27 will steer on.
  • Track C — Mars orbiter. DSN ranging, Doppler, and delta-DOR for cruise, a batch solution for the trajectory, and optical navigation (imaging Mars and its moons against the stars) on approach to sharpen the arrival.
  • Track D — asteroid rendezvous. DSN radiometric tracking far out, transitioning to optical navigation — imaging the target against star fields — and a Kalman filter for the close, dynamic final approach where the target's own faint gravity matters.

The code. This chapter adds no new canonical astrotools module, but the scalar Kalman update is the conceptual seed of your mission's navigation filter and of the GN&C note in Chapter 27, so record it as an illustrative helper (not part of the stable API — the operational filter is the six-dimensional EKF we flagged):

def kalman_update(x_pred, var_pred, z, var_meas):
    """Scalar Kalman update: optimally fuse a prediction with one measurement.
    Seeds the navigation filter used in the Chapter 27 GN&C note."""
    K = var_pred / (var_pred + var_meas)     # gain: relative trust in the measurement
    x_upd = x_pred + K * (z - x_pred)         # move from prediction toward measurement
    var_upd = (1 - K) * var_pred             # information added -> uncertainty shrinks
    return x_upd, var_upd

# Fuse a coasted prediction (500 km, sigma 2 km) with a range fix (503 km, sigma 1 km):
est, var = kalman_update(500.0, 2.0**2, 503.0, 1.0**2)
print(round(est, 2), round(var**0.5, 3))
# Expected output:
# 502.4 0.894

How it feeds the MDR and the capstone. Your tracking-and-nav approach is a genuine subsystem line in the Mission Design Review: it consumes ground-segment and communications resources, sets requirements on onboard sensors, and produces the state estimate that guidance (Chapter 27) and station-keeping (Chapter 12) act upon. At the capstone it answers the question no mission review lets you skip: how do you know where your spacecraft is, and how sure are you?


Summary

Orbit determination is orbit prediction run backward: recovering a six-number state from indirect, noisy observations. Carry these forward:

Idea The essential fact
The inverse problem Instruments never measure the state; they measure a lossy, noisy function $h(\mathbf{x})$ of it. OD inverts $h$. A state has 6 numbers, so you need ≥ 6 independent measurements.
Observation types Radar: range + range-rate + angles (LEO; power falls as $1/\rho^4$ for skin track). Optical: angles only (long reach; no range). GNSS: near-direct state (LEO, onboard). DSN radiometric: range, Doppler, delta-DOR (deep space, Ch. 26).
Two-line element set (TLE) Compact mean elements + $B^\*$ drag term at an epoch, propagated by SGP4; stores mean anomaly (solve Kepler's equation for position); ~km accuracy that degrades over days.
Lambert's problem Two positions + time of flight → the connecting orbit. Time of flight depends only on $a$, $r_1+r_2$, and chord $c$ (Lambert's theorem). The Hohmann transfer is its minimum-energy, $180^\circ$ case.
Gauss's method (IOD) A first orbit from three angles-only observations (6 angles = 6 numbers). The ranges are unknown; solving for them reduces to an 8th-degree polynomial. Produces a lead, not a final orbit. (Gibbs's method: 3 positions → orbit.)
Least squares & residuals Residual = observed − predicted. Choose the state minimizing $\sum r_i^2/\sigma_i^2$ (weighted). Batch = fit a whole arc; iterate (differential correction). Read the residuals — structure means an unmodeled effect.
Kalman filter Recursive predict–update. Predict: propagate state, uncertainty grows. Update: fuse measurement with gain $K = \sigma_{\text{pred}}^2/(\sigma_{\text{pred}}^2+\sigma_{\text{meas}}^2)$, uncertainty shrinks. Scalar rule = inverse-variance fusion. EKF for the real 6-D nonlinear case.

Key formulas worth keeping: scalar Kalman gain $K = \sigma_{\text{pred}}^2/(\sigma_{\text{pred}}^2+\sigma_{\text{meas}}^2)$ and update $\hat{x}^+ = \hat{x}^- + K(z-\hat{x}^-)$; Lambert minimum-energy $a = (r_1+r_2)/2$; a state is 6 numbers, and every estimate carries an uncertainty.


Spaced Review

Retrieval strengthens memory. Answer from memory before checking, then look back at the cited chapter. This chapter revisits Chapter 8 (Kepler's laws, elements, anomalies) and Chapter 12 (perturbations and station-keeping).

  1. (Ch. 8) Orbit determination recovers "the state" — six numbers. Name the two equivalent six-number packagings of a state, and say which single element of the classical set changes continuously with time.
  2. (§13.2, Ch. 8) A TLE stores the mean anomaly $M$, not the true anomaly $\nu$. What extra step must you perform to find where the object actually is, and why can't you skip it?
  3. (§13.2 & §13.5, Ch. 12) A TLE's accuracy degrades over days, and a precise least-squares fit must use a propagator that includes J2 and drag. What Chapter 12 fact makes both of these true?
  4. (Ch. 12) Station-keeping burns must be planned from a current orbit determination. In one sentence, why does a real orbit drift away from the one you determined last week, requiring fresh observations?

Answers

  1. The state is either the position and velocity vectors $(\mathbf{r}, \mathbf{v})$ — three components each — or the six classical orbital elements $a, e, i, \Omega, \omega, \nu$. Of the classical elements, the true anomaly $\nu$ changes continuously as the body moves; the other five are constant in the ideal two-body problem. 2. You must solve Kepler's equation $M = E - e\sin E$ for the eccentric anomaly $E$ (by iteration), then convert to the true anomaly $\nu$ — because the body does not move at a uniform angular rate (Kepler's second law), so $M$ (uniform in time) is not the physical angle $\nu$. 3. Real orbits are perturbed — J2 (Earth's oblateness), atmospheric drag, and third-body pull make the "constant" elements drift, so a mean-element snapshot goes stale and an accurate fit must model those forces (Chapter 12). 4. Because perturbations — J2 precession, drag decay, solar radiation pressure, lunar and solar tugs — continuously change the orbit, so last week's determined orbit no longer matches reality and must be refreshed with new observations.

What's Next

We can now answer where a spacecraft is — recover its orbit from radar, light, and radio, fit it to noisy data, and carry a live, uncertainty-aware estimate forward in time. But knowing where you are is only half of navigation. A spacecraft is not a point; it is a rigid body with a facing, and knowing which way it points — where its antenna, its camera, its solar panels, and its engine nozzle are aimed — is a completely separate problem from knowing its position along the orbit. A probe can be in a flawless orbit and still fail utterly because it is tumbling, its antenna aimed at empty space. Chapter 14 takes up attitude dynamics: how a spacecraft rotates, how we describe its orientation, and how we determine and control which way it points. Position and pointing — orbit and attitude — are the two halves of a spacecraft's state, and Chapter 27 will finally fuse both, with the Kalman filter you built here, into the single closed loop that flies the vehicle.