Tracking Satellites with PREDICT
The process of installing PREDICT differs somewhat from that of most open-source software requiring compilation at installation time. An ncurses-based installation program is used to probe the system hardware for the existence of a sound card, and header files are built according to this information and with reference to the installation directory chosen by the user. The program is then compiled, and the resulting executable file is symbolically linked between the installation directory and /usr/local/bin. The same procedure of using symbolic links is also used for PREDICT's man page. The main advantage of this installation method is that it is simple, relatively error-proof and distribution-independent. It also keeps all program files under a single subdirectory, rather than scattering them throughout the entire file system.
Once the program is built and installed, the user is asked to enter his latitude, longitude and altitude above sea level. A database of Keplerian orbital data is also required for the satellites of interest to the user. A database of amateur radio and several “high-interest” satellites is included with the program to get things started. Since the accuracy of Keplerian orbital data seldom remains high for long periods of time, facilities are included in the program to permit the database to be updated from more recent element sets. A simple shell script is included with the program to facilitate this update through an anonymous FTP connection to ftp.celestrak.com. This script may even be invoked through a crontab, permitting automatic updates of PREDICT's orbital database to take place on a regular basis without the need for user intervention.
PREDICT is a text-based program, and its start-up screen (see Figure 1) lists all of 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.
PREDICT includes two orbital-prediction modes to predict any pass above a ground station, or list only those passes that might be visible to a ground station through optical means. In either case, predictions will not be attempted for satellites that can never rise above the ground station's horizon, for satellites in geostationary orbits, or satellites that appear to have decayed in the earth's atmosphere since the last Keplerian orbital data update. 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 pass in its entirety from beginning to end. Figure 2 shows the orbital prediction mode of several passes of the Hubble Space Telescope in range of New Jersey in early July, 1999.
In addition to predicting satellite passes, PREDICT allows satellites to be tracked either individually or as a group of 24 using the program's Multi-Satellite Tracking Mode. The positions of the sun and moon are also displayed when tracking satellites in real time, as are the eclipse and optical visibility conditions of the satellites in the database. Real-time tracking data is available to socket-based clients when PREDICT is running in either the single-satellite or the multi-satellite-tracking mode. Figure 3 displays tracking coordinates for a single satellite in real time. Real-time positions for 24 satellites are shown in Figure 4, along with a schedule for upcoming satellite passes. Satellites currently in range are highlighted for easy identification.
PREDICT was designed primarily to aid in facilitating communication through amateur radio satellites. Nearly 20 satellites currently in orbit carry some form of communication transponder or telemetry beacon intended for amateur radio use. OSCAR spacecraft (orbiting satellite carrying amateur radio) that contain analog transponders relay signals they receive back to earth in real time. Those that carry digital transponders relay files between sender and recipient anywhere on the planet on a store-and-forward basis. Some OSCAR satellites also carry earth-imaging cameras and scientific and educational experiments, the results of which are transmitted by low-power beacon transmitters carried on-board the satellites. Even the U.S. space shuttles and the Mir space station have carried amateur radio equipment into orbit for use by astronauts and cosmonauts working in space. The International Space Station (ISS) will carry a multi-mode amateur radio station for use by astronauts working on the space station. The image of Melbourne, Australia in Figure 5 was taken by the earth-imaging camera on-board the TMSAT-OSCAR-31 amateur radio satellite.
Since none of these spacecraft are in geostationary orbit, some form of tracking and orbital prediction must take place before radio contact may successfully occur. PREDICT provides all the information needed to predict passes of these spacecraft over a particular ground station location, and track them in real time once they have arrived. A graphical orbital-display program operating as a socket-based client of PREDICT is shown in Figure 6. The footprint as well as several consecutive orbits of the Mir space station are shown on the map.
In addition to providing real-time tracking coordinates, PREDICT also calculates the amount of Doppler shift expected at any given moment during a pass, so that compensation in uplink transmitter and downlink receiver frequencies may be accurately made. Path loss calculations for determining the RF (radio frequency) link budget between ground station and satellite are also provided.
Since PREDICT also tracks the sun and moon in real time, the sky locations of these celestial objects can be used to determine geographical bearings at the user's location. This information is particularly helpful in accurately aligning directive antenna systems to known directions prior to tracking satellites. Since PREDICT also tracks the position of the sun and earth with respect to satellites tracked by the program, spacecraft telemetry can be better analyzed knowing when the satellite being studied has spent considerable periods in sunlight or in eclipse. The Solar Illumination Prediction mode can determine in advance when or if a spacecraft will enter a “solar orbit” and experience periods of continuous sunlight. These periods are also typically the best times for astronauts to plan extra-vehicular activities in space.
Images from weather satellites in geostationary orbit are often seen on television and via the Internet, but a host of weather satellites from the United States, Russia and China in low-earth orbits provide high-resolution images over regional areas. Receiving images from these satellites is a rewarding hobby for many, and PREDICT can provide all the information required for predicting passes of weather satellites and tracking them from horizon to horizon once they have arrived.
Finally, PREDICT also determines periods when large spacecraft may be visible in the evening or predawn skies. There are approximately 150 satellites that are classified as being “visible”, all of which can be accurately tracked through PREDICT. Large spacecraft, such as the U.S. space shuttles, the Hubble space telescope, the Mir Space Station (see Figure 7) and the International Space Station are easily seen by the naked eye under the right viewing conditions. The International Space Station will be particularly interesting to watch as it slowly expands with construction scheduled to take place over the next few years. PREDICT's voice capabilities are ideal for relaying tracking coordinates to satellite observers, effectively eliminating the need to read a computer monitor or printout for real-time tracking information.
- A Switch for Your Pi
- Papa's Got a Brand New NAS
- Applied Expert Systems, Inc.'s CleverView for TCP/IP on Linux
- Returning Values from Bash Functions
- Simplenote, Simply Awesome!
- Rogue Wave Software's TotalView for HPC and CodeDynamics
- Tech Tip: Really Simple HTTP Server with Python
- Panther MPC, Inc.'s Panther Alpha
- Debugging Democracy
- NethServer: Linux without All That Linux Stuff