An Economical Semi-Analytical Orbit Theory for Micro-Computer Applications

Author(s): R. Asa Gordon
Pages: 48
Date: 1986

About This Paper

NASA Technical Paper 2811, published in March 1988, describes a method for predicting the position of an Earth-orbiting satellite using a personal home computer — specifically, the Timex/Sinclair 2068, a machine that cost less than $200, fit on a desktop, and drew about one ampere of power.

The author, R. Asa Gordon, was a mathematician and programmer at NASA’s Goddard Space Flight Center in Greenbelt, Maryland. For years he worked with large mainframe computers — IBM 360-series machines that filled entire rooms — on problems in orbital mechanics: calculating where satellites were, where they were going, and how long it would take to get there. By the mid-1980s, he had developed a theory compact and efficient enough to run on a home computer without sacrificing the accuracy that serious satellite tracking demands.

The problem it solves

A satellite in low Earth orbit is not simply coasting in a circle. The Earth isn’t a perfect sphere — it bulges at the equator and flattens at the poles — and those lumps pull on a satellite in ways that gradually shift its orbit over time. Atmospheric drag pulls it lower still. Predicting where a satellite will be a day or a week from now requires accounting for all of these effects, and doing so quickly and accurately.

The standard approach in the 1980s was numerical integration: a powerful computer calculates the forces acting on a satellite at each instant, advances time by a tiny step, and repeats — potentially millions of times per simulation. This is accurate but expensive in computation. Mainframes could do it. A TS2068 could not.

Gordon’s “Bg theory” takes a different approach. Rather than computing every tiny push and pull, it uses mathematical formulas derived from gravitational theory to describe how an orbit evolves on average. Fast oscillations — the short wiggles that complete once per orbit — are handled analytically, using closed-form equations. Slow, steady drifts are handled by simple update rules applied once per orbital period. Atmospheric drag, rather than being modeled with large tables of atmospheric density, is represented as a single measured decay rate in the satellite’s average altitude: one number, fitted from observations, that captures the net effect of drag without any expensive lookups.

The result fits inside 8K of BASIC code.

Why this matters

The paper demonstrates that the Bg theory, running on the TS2068, produces ephemeris predictions — tables of where a satellite will be and when — that are comparable in accuracy to what mainframe computers were producing at the time. Gordon tested this against both simulated data and real tracking observations of the Solar Maximum Mission satellite, comparing his TS2068 output against results from full numerical integration on large institutional computers. The errors were in the same range: a few kilometers over several days of prediction.

That result had real consequences. Gordon’s theory was already in operational use before the paper appeared: GE’s Space Division used it in the software for the Landsat-D Transportable Ground Station at Goddard, and Bendix Aerospace deployed it on microcomputers at NASA’s tracking station in Bermuda for real-time satellite pass prediction. The TS2068 wasn’t a toy in this context — it was running operational satellite tracking software.

The paper also includes Gordon’s solution to a longstanding problem in simplified orbit theories: how to convert observed orbital elements (which reflect all the messy, instantaneous forces acting on a satellite at a moment in time) into the “mean” elements that the theory actually needs as input. Earlier algorithms for this conversion become numerically unstable for nearly circular orbits. Gordon’s solution shifts the iteration from orbital element space into Cartesian position-and-velocity space, where the instability disappears — and implements it in about 200 lines of BASIC.

The programs

Four appendices to the paper contain complete TS2068 BASIC source code:

  • BgORBIT generates an ephemeris — it takes an initial orbit description and a time span and produces a table of where the satellite will be at each output step, accounting for gravitational perturbations from Earth’s non-spherical shape and optional atmospheric drag.
  • BgOBSMEAN converts observed orbital elements to the mean elements that BgORBIT requires as input, using an iterative correction loop that converges to sub-meter accuracy.
  • BgDCseculr is a differential corrector — it takes a series of observations of a satellite’s position over time and fits the best set of mean orbital elements to explain them, including optionally fitting the drag rate. This is the program that makes the system self-contained: given real tracking data, it can determine the orbit.

A fourth appendix presents a cleaner, line-broken version of BgORBIT alongside the secular state transition matrix — the mathematical machinery that BgDCseculr uses to know which direction to adjust its estimates.

Together the three programs form a complete orbit determination and prediction pipeline that fits on a cassette tape and runs on a machine anyone could buy at a department store in 1986.

About the author

R. Asa Gordon spent 25 years at NASA Goddard Space Flight Center. He came to computing through physics training at Hampton Institute, FORTRAN programming on punch cards at Howard University, and early work in Goddard’s Orbital Analysis and Prediction branch during the Apollo era — including computing the precise moment of radio signal acquisition and loss for Apollo 8 on Christmas Eve 1968. His approach throughout his career favored analytical insight and physical intuition over brute-force computation, a philosophy that made the Bg theory possible and that the TS2068 implementation makes unusually visible.

Document

Related Content

Heading

Image Gallery

Scroll to Top