Tracking Satellites with PREDICT
The newly enhanced version of PREDICT was released as open-source software under the GNU General Public License and uploaded to Metalab and several other FTP sites in December 1999. Several weeks later, major portions of PREDICT Version 2 were successfully ported from Linux to DOS using Caldera's DR-DOS operating system and the DJGPP software development environment. This was done to serve as a replacement for the earlier DOS version of PREDICT that was released in 1994.
Within weeks of the Linux release of PREDICT Version 2, the benefits of open source and the GNU General Public License were quickly realized. Bdale Garbee, amateur radio operator N3EUA, built and packaged PREDICT for inclusion in the “potato” release and all later versions of Debian Linux. The Debian PREDICT package is available for all Debian-supported CPU architectures.
Jean-Paul Roubelat, amateur radio operator F6FBB, modified PREDICT to allow the program to control the azimuth and elevation rotators that support his satellite antennas using a hardware interface known as a Kansas City Tracker. Using PREDICT, Jean-Paul was able to have his Linux-based computer automatically track his satellite antennas with the passage of OSCAR satellites in range of his home.
Ivan Galysh, KD4HBO, working at the U.S. Naval Research Laboratory in Washington, Maryland, selected PREDICT for tracking the Stensat satellite. With the source code in his possession, Ivan was able to turn PREDICT into a socket-based server, allowing the program to make real-time tracking data available to external programs through UDP socket connections. One of the client programs Ivan created was an antenna-rotator-control program similar to the function of Jean-Paul Roubelat's program, except it used a different hardware interface. Another was an XForms-based GUI map display program that plots the location and orbital path of satellites being tracked by PREDICT on a Mercator projection map of the world.
By March, a third program that reads Doppler shift information calculated by PREDICT and uses that data to correctly adjust the operating frequency of uplink transmitters and downlink receivers used in satellite communication systems was under development. With the benefits of the socket-based server code clearly evident through these modular client applications, Ivan's server code was made an integral part of PREDICT's official source code and was released in version 2.1.0 in early April 2000.
The latest version of PREDICT may be downloaded from ftp.amsat.org/amsat/software/Linux/predict-latest.tar.gz or from metalab.unc.edu under the /pub/linux/apps/ham subdirectory.
As of version 2.1.0, PREDICT's major features included:
A fast orbital prediction mode that predicts passes of satellites, providing dates, times, coordinates, slant-range distances and sunlight and optical visibility information. Predictions are displayed in tabular form and may be saved to a log file for later reference, printing or parsing by other programs.
An optical visual orbital prediction mode that displays satellite passes that may be optically visible to the ground station.
A solar illumination prediction mode that calculates how much time a satellite will spend in sunlight each day.
A real-time tracking mode that provides dynamic information such as sub-satellite point, ground station azimuth and elevation headings, Doppler shift, path loss, slant range, orbital altitude, orbital velocity, footprint diameter, orbital phase, the time and date of the next AOS (acquisition of signal or LOS, loss of signal, of the current pass), orbit number and sunlight and visibility information for a single satellite, while providing live azimuth and elevation headings for both the sun and moon.
A multi-tracking mode that provides sub-satellite point, azimuth and elevation headings, sunlight and visibility and slant-range distance information for all 24 satellites in the program's current database on a real-time basis. Azimuth and elevation headings for the sun and moon are also provided, as a well as a listing of the AOS dates and times for the next three satellites expected to come into range of the ground station.
Static information such as semi-major axis of ellipse, apogee and perigee altitudes, and anomalistic and nodal periods of satellite orbits.
Command-line options which permit alternate ground station locations to be specified or alternate orbital databases to be read and processed by the program, effectively allowing an unlimited number of satellites to be tracked and managed. Additional options allow any orbital database file to be updated automatically using NASA Two-Line element data obtained via the Internet or via pacsat satellite without having to enter the program and manually select menu options to update the database.
A voice mode that allows live azimuth and elevation headings of a satellite to be articulated to an observer to assist in locating a satellite by optical means.
A socket-based server mode that permits PREDICT to be used to supply real-time tracking data, such as azimuth and elevation headings, footprint diameters, sub-satellite point latitude and longitude values, normalized Doppler shift data and next-predicted AOS times to external programs such as rotator control software, graphical map-tracking software or radio frequency control programs residing either on the host machine or any networked client.
Practical Task Scheduling Deployment
July 20, 2016 12:00 pm CDT
One of the best things about the UNIX environment (aside from being stable and efficient) is the vast array of software tools available to help you do your job. Traditionally, a UNIX tool does only one thing, but does that one thing very well. For example, grep is very easy to use and can search vast amounts of data quickly. The find tool can find a particular file or files based on all kinds of criteria. It's pretty easy to string these tools together to build even more powerful tools, such as a tool that finds all of the .log files in the /home directory and searches each one for a particular entry. This erector-set mentality allows UNIX system administrators to seem to always have the right tool for the job.
Cron traditionally has been considered another such a tool for job scheduling, but is it enough? This webinar considers that very question. The first part builds on a previous Geek Guide, Beyond Cron, and briefly describes how to know when it might be time to consider upgrading your job scheduling infrastructure. The second part presents an actual planning and implementation framework.
Join Linux Journal's Mike Diehl and Pat Cameron of Help Systems.
Free to Linux Journal readers.Register Now!
- Google's SwiftShader Released
- SUSE LLC's SUSE Manager
- My +1 Sword of Productivity
- Managing Linux Using Puppet
- Interview with Patrick Volkerding
- Murat Yener and Onur Dundar's Expert Android Studio (Wrox)
- Non-Linux FOSS: Caffeine!
- SuperTuxKart 0.9.2 Released
- Tech Tip: Really Simple HTTP Server with Python
- Parsing an RSS News Feed with a Bash Script
With all the industry talk about the benefits of Linux on Power and all the performance advantages offered by its open architecture, you may be considering a move in that direction. If you are thinking about analytics, big data and cloud computing, you would be right to evaluate Power. The idea of using commodity x86 hardware and replacing it every three years is an outdated cost model. It doesn’t consider the total cost of ownership, and it doesn’t consider the advantage of real processing power, high-availability and multithreading like a demon.
This ebook takes a look at some of the practical applications of the Linux on Power platform and ways you might bring all the performance power of this open architecture to bear for your organization. There are no smoke and mirrors here—just hard, cold, empirical evidence provided by independent sources. I also consider some innovative ways Linux on Power will be used in the future.Get the Guide