# What is a Satellite Tracking Program?

A satellite tracking program is a computer program that predicts the position of a satellite using a mathematical model of the orbit. For amateur radio purposes, it tells you where to aim your antennas so that they are pointing at the satellite.

As shown above, the satellite tracking program takes three kinds of input:

1. Keplerian Elements describing the satellite's orbit
2. The current date and time
3. The position on the Earth's surface of your station

From Kepler's Laws (named after Johannes Kepler, who published them in 1609 and 1619), we know that the orbit of a satellite is always an ellipse, with the center of the Earth at one focus. We also know how the speed of the satellite will vary as it moves around the orbit.

A set of Keplerian elements is a set of seven (or eight) numbers that together define the size and shape of the ellipse, the orientation of the ellipse in three-dimensional space with respect to the Earth (which is always at one focus of the ellipse), and the location of the satellite on that ellipse at a particular time. With these numbers, the program can compute the location in three-dimensional space for any particular time. For more explanation of Keplerian elements, see the Keplerian Elements Tutorial.

Once the program has computed the location of the satellite, and you have told it the position of your ground station, it is a simple matter for the program to compute the direction from your station to the satellite. It expresses this direction in terms of Azimuth and Elevation. Azimuth is the horizontal direction (0 degrees is North, 90 degrees is East, and so on). Elevation is the angle from horizontal (0 degrees) to vertical (90 degrees). These angles are the most convenient form for pointing antennas, since we usually have separate azimuth and elevation rotators on our antennas.

A basic satellite tracking program will simply display the answers on the screen. This can be done in real time, or for some other particular time, or in a table of predictions for many times. Some programs are capable of passing the azimuth and elevation information to a rotor driver, which automatically controls the antenna rotors in order to keep them pointed at the satellite continuously.

Fancier satellite tracking programs  provide additional forms of output to help you understand the satellite's position. The most powerful is the map display. With a map, the program can show you not only where the satellite is, but also the area of the Earth that can currently see the satellite (called the satellite's footprint). All sorts of annotations and special features are possible.

## Where Does the Input Come From?

Keplerian Elements
The Keplerian elements (or "keps") are generated from multiple observations of the satellite, and combined through a complex computation into a simple model (based on Kepler's ellipse) that best matches the observed data. Fortunately, you don't have to do this yourself. The U.S. government uses powerful radars to keep track of the orbits of thousands of objects in space, including our amateur radio satellites, and makes the Keplerian elements available to the public. Most of the element sets you see come ultimately from this source. You may also find element sets that have been generated by amateurs directly from their own observations, or by combining many sets of elements to average out the small errors in each element set.
The element sets come in one of several standardized formats (see Keplerian Elements Formats for more information). Satellite tracking programs can read files in one or more of these formats, and they store a database of element sets for the satellites of interest. When you choose a satellite in the tracking program, it recalls the elements for that satellite from its database.
Current Date and Time
In real time mode, the satellite tracking program obtains the current date and time from your computer's clock. The main complication here is that your computer's clock is probably set to local time. The program needs to convert local time to UTC time, since the time in the Keplerian elements is expressed in UTC. In order to do this conversion, the tracking program needs to know your timezone, in terms of its offset from UTC.