A Satellite Tracking/Orbital Prediction Program (original) (raw)
Introduction
PREDICT is anopen-source, multi-user satellite tracking and orbital prediction program written under the Linux operating system by John A. Magliacane, KD2BD. PREDICT isfree software. Users may redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License or any later version.
PREDICT Features
PREDICT provides real-time satellite tracking and orbital prediction information to users and client applications in a variety of ways:
- Through the system console
- Through the command line
- Through a network socket
- Through the generation of audio speech
Data such as a spacecraft's sub-satellite point, azimuth and elevation headings, Doppler shift, path loss, slant range, orbital altitude, orbital velocity, footprint diameter, orbital phase (mean anomaly), squint angle, eclipse depth, the time and date of the next AOS (or LOS of the current pass), orbit number, and sunlight and visibility information are provided on a real-time basis.PREDICT can also track (or predict the position of) the Sun and Moon. PREDICT also has the ability to control AZ/EL antenna rotators to maintain accurate orientation in the direction of communication satellites. As an aid in locating and tracking satellites through optical means, PREDICT can articulate tracking coordinates and visibility information as plain speech.
* Newsflash! *
PREDICT Version 2.3.1 has been released! Version 2.3.1 includes an easy-to-use satellite transponder database editor and support for a mouse (or touch screen under a Termux/Android environment). New features make it possible to run PREDICT in Multi-Satellite Tracking Mode, left click on any satellite displayed in the list, and be brought directly into Single Satellite Tracking Mode for more detailed tracking information on the chosen spacecraft. In addition, Vocalizer code has been integrated into PREDICT's mainline source. Text-to-speech operations are now executed in separate threads rather than forked background processes as was the practice in the past. Please refer to the CHANGES file for more information.
Download PREDICT
PREDICT software is released in three forms:
- Source code compatible with Linux or Unix operating systems including Android under a Termux environment, as well as some Unix derivatives, such as Mac OS X with minor modifications.
- Source code and pre-compiled binary packages for DOS and DOS-compatible operating systems operating on 32-bit CPUs (80386s or better) that contains many, but not all the features and functionality of the Linux/Unix version.
- Pre-compiled as part of an application-specific Linux distribution (Portable PREDICT Plus!) that includes a small suite of satellite communication applications that can be booted from a pair of floppy disks. (No permanent installation required.)
PREDICT may be downloaded through the following links:
- PREDICT Version 2.3.1 for Linux: Released August 5, 2023
- PREDICT Version 2.3.1 for Termux/Android: Released August 5, 2023
- PREDICT Version 2.3.1 for DOS: Released August 5, 2023
- PREDICT Version 2.1.4 for the Sharp Zaurus PDA: Released January 6, 2002
- Portable PREDICT Plus! - Version 1.0 - builds under Linux: Released February 8, 2005
- Portable PREDICT Plus! - Version 1.0 - builds under DOS/Windoze: Released February 8, 2005 The latest documentation for PREDICT software is available in PDF format. Dana Rawding, N1OFZ, created a web page that describes how to run PREDICT and the graphical client GSAT successfully under Mac OS X.
PREDICT for Android
The full version of PREDICT is now available for operation using a Termux environment running under an Android platform. Now you can carry your smartphone in your shirt pocket while voice announcements made by PREDICT's "vocalizer" tell you where to locate the ISS, Hubble, Tiangong, or other visible satellites in the night sky! Check out these screenshots of PREDICT's Main Menu, SingleTracking, andMultiTracking modes.
Termux may bedownloaded either directly (as a .apk file) or through theF-Droid application.
Portable PREDICT Plus!
Portable PREDICT Plus! 1.0, a miniature distribution of Linux by KD2BD that includes PREDICT, MoonTracker, Fodtrack,PB/PG, AX.25 Utils, Minicom, PacsatTools, and a host of related utilities was released on February 8, 2005.
Portable PREDICT Plus! boots from a pair of floppy disks, and runs entirely in RAM, so there's no need to install Linux, compile code, re-partition your hard disk, or download huge ISO images to run this software.
Portable PREDICT Plus! is based on Linux kernel 2.6.9, and supports a total of eight virtual consoles, providing multiple login sessions that take full advantage of the multitasking and co-operative nature of the operating system and many of the included applications. Portable PREDICT Plus! is capable of supporting moonbounce, analog and digital (Pacsat) satellite operations, satellite and terrestrial packet radio communications (including ISS operations), as well as the generation of APRS-style beacons. Portable PREDICT Plus! supports KISS and 6pack mode terminal node controllers, and runs on 32-bit PCs from 386s on up.
Two version are currently available: one for installation under a Linux/Unix environment, and one for installation under a DOS/Windows environment.
An article authored by John Magliacane describing Portable PREDICT Plus! software appeared in the Winter 2005 issue of CQ-VHF Magazine.
Antenna Positioning Hardware
Hardware and associated software utilities that have been developed to work with PREDICT and Portable PREDICT Plus! to permit automatic AZ/EL antenna tracking of satellites, include:
- PIC/TRACK Antenna Rotator Controller by Vicenzo Mezzalira, IW3FOL
- EasyTrak by TAPR, the Tucson Amateur Packet Radio Corporation
- FODTRACK rotator interface utility written by Luc Langehegermann, LX2GT
PREDICT Clients
Client applications that poll tracking data through PREDICT's UDP network interface include:
- JCP: a graphical Java client for PREDICT written by Christophe Mercier
- PCRSAT: by Vittorio Benvenuti, I3VFJ
- SYNOP: by Fernand Lamberts, ON4LY PREDICT client capabilities have also been integrated into PB/PG Pacsat Groundstation Software by Bent Bagger, OZ6BL.
PREDICT Derivatives
PREDICT has been the inspiration for creating a growing number of open source satellite tracking software applications including:
- Gpredict: a very popular graphical version of PREDICT
- OrbTrak/PredictLib: a JavaScript satellite tracking library
- ISS Spotter: an app for iPhone, iPod touch, and iPad running iOS 4.0 or later
- PetitTrack: for Sharp Zaurus SL-5x00 Linux-based PDAs
- Ktrack: a KDE3-based graphical version of PREDICT
David Johnson, G4DPZ, created aJava port ofPREDICT that has been incorporated intoAmsatDroid FREE,Look4Sat, and AC2CZ'sAMSAT Pacsat Groundstation Software, that was created to serve as a groundstation client for theFalconSAT-3 satellite.
Who Uses PREDICT?
The following organizations have reported using PREDICT for satellite tracking/orbital analysis applications:
- The National Aeronautics and Space Administration, for orbital prediction and VLBI radio telescope steering.
- US Naval Research Laboratory, Washington, DC, USA
- Caltech, where PREDICT is used in aligning radio telescopes against the position of the sun at several of its observatories.
- AutoLRPT, a small program that allows automatic reception of Low-Rate Picture Transmission (LRPT) images taken by the Meteor M2 satellite usingmlrpt software.
- AMSAT-NA's On-line Satellite Predictions are powered by PREDICT.
- Interferometrics, for AMRAD-OSCAR-27 (Eyesat) Satellite Command Ground Station control.
- The SUNSAT-OSCAR-35 Satellite Command Team.
- Stanford University's Space Systems Development Laboratory (SSDL)
- PREDICT is used to calculate the current and future positions of the International Space Station and the PCSat satellite on several world maps at: www.findu.com.
- PREDICT is used to make pass predictions and track the real-time location of the International Space Station at the SPACE.Cweb.NL web site.
- PREDICT is used to track the location of the CORONAS-F Orbital Solar Observatory at theCORONAS Web Site. (Site requires JavaScript.)
- PREDICT is used to provide real-time locations of the NIMS (Navy Ionospheric Monitoring System) constellation of satellites.
- PREDICT was used by students at Cornell University to communicate with fellow Cornell alumnus Ed Lu onboard the ISS in September, 2003.
- PREDICT is used by SISCAL (Satellite Information System for Coastal Areas and Lakes).
- The European Space Agency's Rutherford Appleton Laboratory (RAL) Chilbolton Observatory in the United Kingdom, where a version of PREDICT is used to precisely steer a 25 meter dish antenna (with a 0.28 degree half-power beamwidth at 3 GHz) toward orbiting satellites. Watch the video below and read further details in this PDF document.
PREDICT is seen in this European Space Agency video where it is being used to track the Chilbolton Observatory's 25 meter antenna toward the Giove A Galileo European navigation spacecraft during the satellite's initial testing phase.
PREDICT in Research
PREDICT software is cataloged under The Smithsonian/NASA Astrophysics Data System hosted by Harvard University. Its use has been cited in a number of research papers including:
- Advances in Astronomy: Automated Detection of Short Optical Transients of Astrophysical Origin in Real Time (PDF Document) by Marcin Sokolowski, Katarzyna Malek, Lech W. Piotrowski, and Grzegorz Wrochna
- Orbit Optimization and Scattering Coefficient Analysis for the Proposed GLORIA System (PDF Document) by Bryan Welch of the NASA / Glenn Research Center.
- Increasing CubeSat Downlink Capacity With Store-and-Forward Routing and Data Mules (PDF Document) by Trevor Koritza and John M. Bellardo of the California Polytechnic State University.
- The PICO-satellite UWE-1 and IP based telecommunication experiments, Catholic Institute of Toulouse (France).
- Building Distributed Ground Station System With Radio Amateurs, by Marcin Stolarski and Wieslaw Winiecki, published in January 2007 in "The Journal of Telecommunications and Information Technology"
- Automated Detection of Short Optical Transients of Astrophysical Origin in Real Time, by Marcin Sokolowski, published in "Advances In Astronomy", Volume 2010, Article ID 463496
- The Use of Distributed Ground Station System for Very Low Power Communication (PDF Document), by Marcin Stolarski, Faculty of Electronics and Information Technology Institute of Radioelectronics, Warsaw University of Technology
- EUSO Duty Cycle: Moon and Sun Light Effects (PDF Document), by F. Montanet
- Calculation Of The Sun, Moon and ISS Positions (PDF Document), by Nicola Tomassetti, INFN - Sezione di Perugia, 06122 Perugia, Italy, AMSN Note 2012-04-03.
- Sources Sensitivity Simulator, Status Report (Postscript Document) by Sonia Natale of the University of Geneva.
- Design of a Distributed Ground Support System for Small Satellites (PDF Document) by Richard M. Barry and Dr. Pieter J. Bakkes of the University of Stellenbosch Electronic Systems Laboratory, South Africa. This paper was presented at the 15th annual AIAA/Utah State University Conference on Small Satellites in August 2001.
- Infrastructure for Internet-Based Operations (PDF document) by James Cutler, Gregory Hutchins, Christopher Kitts, and Robert Twiggs of the Space Systems Development Laboratory, Stanford University. This paper was presented at the 14th annual Utah State University conference on small satellites.
- TU Sat 1: A Novel Communications and Scientific Satellite (PDF Document), written by members of the Physics Department at Taylor University, and presented at the 16th annual USU Conference on Small Satellites in 2002.
- Routing in a Delay Tolerant Network (PDF Document) by Sushant Jain, Kevin Fall, and Rabin Patra.
- Development of an Ikonos Coverage Prediction Application (PDF Document), authored at the Department of Geodesy and Geomatics Engineering at the University of New Brunswick, and the Department of Industrial Engineering at Dalhousie University. The use of PREDICT has also been cited in theses presented recently at Santa Clara University at both theUndergraduate and Graduate levels in Computer and Electrical Engineering.
PREDICT News
Shortly after its initial release in late 1999, PREDICT was evaluated by the Linuxberg/Tucows web site and received a rating of four out of five possible penguins/cows. More than twenty years later, its use and popularity are strong and continue to grow stronger.
- A description of the history and use of PREDICT software appeared in the July 2000 (Science and Engineering) issue of Linux Journal magazine.
- PREDICT has been included in the Slackware andDebian distributions of the Linux operating system.
- PREDICT was successfully ported to the Sharp Zaurus Linux-based PDA in January 2002.
- eHam.net has several reviews of PREDICT.
- Icewalkers.com has a page describing PREDICT software.
- Paul Williamson, KB5MU, releasedMac Vocalizer to enable PREDICT to run with speech announcements under Mac OS X.
- David A. B. Johnson, G4DPZ, is actively developing a Satellite Tracking Web Service (websat) for the ESA/NASA/JAXA GENSO project that is based on code in PREDICT.
- Grace Peng has added an entry toher blog detailing her approach toward getting PREDICT to run on her MacBook Pro.
- An interesting article entitled, Open Source Moved the Cheese, on an AMSAT discussion group describes the use of PREDICT as a low-cost, highly-capable alternative to hardware-specific approaches to satellite tracking.
- Ralf Baechle, DO1GRB, has addedgsat-1.1.0 plugin support for the Yaesu/Vertex Standard model FT-847 transceiver. Source code is available at debian.org.
Program Operation
PREDICT's start-up screen lists the program's main functions. Several tracking and orbital prediction modes are available, as well as several utilities to manage the program's orbital database.
Predicting Satellite Passes
Orbital predictions are useful for determining in advance when a satellite is expected to come within range of a ground station. They can also be used to look back to previous passes to help to confirm or identify past observations.
PREDICT includes two orbital prediction modes to predict any pass above a ground station (main menu option [P]), or list only those passes that might be visible to a ground station through optical means (main menu option [V]). In either mode, the user is asked to select a satellite of interest from a menu, and then asked to enter the date and time (in UTC) at which prediction calculations should start. Orbital calculations are started and prediction information is then displayed on the screen.
The date and time in UTC, along with the satellite's elevation above ground, azimuth heading, modulo 256 orbital phase, sub-satellite point latitude and longitude, slant range between the ground station and the satellite, and the satellite's orbit number are all displayed. An asterisk (*) displayed to the right of the orbit number means the satellite is in sunlight at the date and time listed on the line. A plus symbol (+) means the satellite is in sunlight while the ground station is under the cover of darkness at the time and date listed. Under good viewing conditions, large satellites such as the International Space Station, and the US Space Shuttles are visible to the naked eye. If no symbol appears to the right of the orbit number, then the satellite is in the Earth's shadow at the time and date listed, and is not receiving any illumination from the sun.
Selecting [V] fromPREDICT's main menu will permit a ground station to only predict passes for satellites that are potentially visible through optical means. Since all other passes are filtered out in this mode, and since some satellites may never arrive over a ground station when optical viewing conditions are possible, the program provides the option of breaking out of visual orbital prediction mode by pressing the [ESC]ape key as calculations are made. A prompt is displayed at the bottom of the screen to alert the user of this option.
In either orbital prediction mode, predictions will not be attempted for satellites that can never rise above the ground station's horizon, or for satellites in geostationary orbits. If a satellite is in range at the starting date and time specified, PREDICT will adjust the starting date back in time until the point of AOS so that the prediction screen displays the first pass in its entirety from start to finish.
Single Satellite Tracking Mode
In addition to predicting satellite passes, PREDICT allows satellites to be tracked individually in real-time using PREDICT's Single Satellite Tracking Mode (main menu option [T]), or simultaneously as a group of 24 using the program's Multi-Satellite Tracking Mode (main menu option [M]). The positions of the Sun and Moon are also displayed when tracking satellites in real-time.
Selecting option [T] fromPREDICT's main menu places the program in Single Satellite Tracking Mode. The user will be prompted to select the satellite of interest, after which a screen will appear and display tracking positions for the satellite selected.
In Single Satellite Tracking Mode, a wealth of real-time satellite data is provided by PREDICT. If the satellite contains an active communications downlink, uplink, or two-way communications transponder, then Doppler-corrected uplink and downlink frequencies, path loss, propagation delay, and echo are displayed. It is also possible to tune across the transponder's passband using certain keystrokes to locate a specific uplink or downlink frequency within the satellite's transponder. This makes it possible to determine the appropriate uplink frequency to match a desired downlink frequency (or vice-versa). PREDICT supports a number of transponders per satellite, including linear (both inverting and non-inverting), digital (Pacsat), and bent-pipe (FM). Also new to version 2.2.x is the determination of antenna squint angle and solar eclipse depth.
If a soundcard is present in your machine and the Single Satellite Tracking Mode is invoked with an uppercase 'T' rather than a lowercase 't', PREDICT will make periodic voice announcements stating the satellite's tracking coordinates in real-time. Announcements such as:
are made at intervals that are a function of how quickly the satellite is moving across the sky. Announcements can occur as frequently as every 50 seconds for satellites in low earth orbits such as the International Space Station (370 km), or as infrequently as every 8 minutes for satellites in very high orbits, such as the GE-2 geostationary satellite (35780 km). Voice announcements are performed as background processes so as not to interfere with tracking calculations as the announcements are made. Announcements can be forced at any time by pressing the 'T' key in Single Satellite Tracking Mode. Alarms are sounded at the precise moment when satellites enter into sunlight or into eclipse.
Solar Illumination Predictions
PREDICT even makes it possible to determine how much solar illumination a particular satellite will receive over the course of a day. This information is especially valuable to spacecraft designers and satellite groundstation controllers who must monitor spacecraft power budgets or thermal conditions on-board their spacecraft due to sunlight and eclipse periods. It can even be used to predict the optimum times for astronauts to perform extra-vehicular activities in space.
Multi-Satellite Tracking Mode
Selecting [M] from PREDICT's main menu places the program in a real-time multi-satellite tracking mode. In this mode, all 24 satellites in the program's database are tracked simultaneously along with the positions of the Sun and Moon. Tracking data for the satellites is displayed in two columns of 12 satellites each. The name, azimuth heading, elevation, sub-satellite point latitude (in degrees North) and longitude (in degrees West) positions are provided, along with the slant range (in kilometers), and the slant range distance between the satellite and the ground station (also in kilometers).
A letter displayed to the right of the slant range indicates the satellite's sunlight and eclipse conditions. If the satellite is experiencing an eclipse period, an N is displayed. If the satellite is in sunlight and the ground station is under the cover of darkness, a V is displayed to indicate the possibility that the satellite is visible under the current conditions. If the satellite is in sunlight while conditions at the ground station do not allow the satellite to be seen, a D is displayed. Satellites in range of the ground station are displayed in BOLD lettering. The AOS dates and times for the next three satellites predicted to come into range are displayed on the bottom of the screen between the tracking coordinates of the Sun and Moon. Predictions are not made for satellites in geostationary orbits or for satellites so low in inclination and/or altitude that they can never rise above the horizon of the ground station.
Solar and Lunar Orbital Predictions
In addition to making orbital predictions of spacecraft, PREDICT can also predict transits of the Sun and the Moon. When making solar and lunar orbital predictions, PREDICT provides azimuth and elevation headings, the right ascension, declination, Greenwich Hour Angle (GHA), radial velocity, and normalized distance (range) to the Sun or Moon.
The Declination and Greenwich Hour Angles correspond to the latitude and longitude of the object's sub-satellite point above the Earth's surface. The radial velocity corresponds to the speed and direction the object is traveling toward (+) or away (-) from the ground station, and is expressed in meters per second. When the radial distance of the Moon is close to zero, the amount of Doppler shift experienced in Moon bounce (EME) communications is minimal. The normalized distance corresponds to the object's actual distance to the ground station divided its average distance. In practice, the normalized distance can range from about 0.945 to 1.055 for the Moon, and about 0.983 to 1.017 for the Sun.
Transponder Database Management
Beginning with Version 2.3.0,PREDICT includes an interactive editor that permits examination, modification, and management of a satellite's communication transponders, beacon transmitters, and telecommand control links.
EME Support
Included withPREDICT is a utility called MoonTracker.MoonTracker supports moonbounce (EME) communications by calculating the position of the Moon, and sending appropriate control signals to an AZ/EL antenna rotator to track the Moon as it crosses the sky. Once invoked, MoonTracker spawns itself as background process, and continues to run until terminated by a kill signal. If the Moon is not above the horizon when MoonTracker is invoked, MoonTracker goes to "sleep" until the predicted time of Moon rise.
Client Applications
The Linux version ofPREDICT includes networking code to permit its use as a socket-based server, allowing it to supply real-time tracking and orbital prediction information to client applications using the UDP communications protocol. A number of excellent client applications have been developed thus far for use withPREDICT, and more are on the way.
map is an XForms-based graphicalPREDICT application client written by Ivan Galysh, KD4HBO, of the U.S. Naval Research Laboratory.
gsat is a GTK-based graphicalPREDICT application client written by Xavier Crehueras, EB3ZCS, with contributions by Hiroshi Iwamoto, JH4XSY, and John Magliacane, KD2BD.
Screenshots showing PREDICT's client application earthtrack2 cleverly integrated into an X-Window System graphical desktop environment by the late John Heaton, G1YYH.
PREDICT's earthtrack client application utilizes xearth for image rendering.
PREDICT's earthtrack2 client application utilizes xplanet for image rendering.
earthtrack2 zoomed into a satellite's footprint.
PB/PG, a Pacsat communication suite for Linux written by Bent Bagger, OZ6BL, pollsPREDICT for live tracking data, and displays the information in the center of PB's main screen.
PREDICT software is Copyright © 1991-2024 by John Magliacane, KD2BD. Information on additional software products developed by this author may be found on the software page.