Gpredict Guide: Satellite Tracking With Doppler Control
A satellite pass over your station lasts only a few minutes, and it happens at a time and in a direction you cannot guess. Anyone who has tried to work an amateur satellite quickly learns that three pieces of information decide everything: when the satellite rises, where it goes across your sky, and how far its frequency drifts because of the Doppler effect. Gpredict is the program many operators use to get all three. It predicts passes, draws the satellite on maps and polar plots, and can drive both your radio and your antenna rotator automatically.
This guide explains what Gpredict does, what it needs from you, how Doppler correction works and how to connect it to a radio and rotator through Hamlib. It is based on the project’s own pages and on public documentation of orbital data formats and amateur satellites.
What Gpredict Is
The project home page describes Gpredict as a real-time satellite tracking and orbit prediction application. It can track a large number of satellites, display their position and other data in lists, tables, maps and polar plots (radar views), and predict the times of future passes with detailed information about each one. What sets it apart, according to the same page, is that satellites can be grouped into visualisation modules, each configured independently, and that you can track satellites relative to several observer locations at the same time.
The source repository adds technical detail. Gpredict uses the SGP4 and SDP4 propagation algorithms together with NORAD two-line element sets, the standard orbital data format. It can run in real time, in simulated real time with fast forward and backward, or under manual time control. It supports Doppler tuning of radios through the Hamlib rigctld daemon and antenna rotator control through the Hamlib rotctld daemon. It is an open-source program under the GPL, written with the GTK toolkit, and the features page lists Linux, BSD, Windows and Mac OS X as supported platforms. Many Linux distributions package it, and the project also provides packages for Debian-based systems.
Orbital Data: Why TLEs Matter
Everything Gpredict shows is calculated from orbital elements, normally distributed as a two-line element set, or TLE. The CelesTrak format description shows that each satellite has a 24-character name line followed by two data lines. Line 1 holds the satellite number, the international designator, the epoch, the drag term and a checksum. Line 2 holds the inclination, the right ascension of the ascending node, the eccentricity, the argument of perigee, the mean anomaly and the mean motion in revolutions per day.
You do not need to understand those columns to use Gpredict, but you do need to remember one rule: elements age. A prediction made with old elements drifts away from reality, and the error grows with time, especially for low-orbit satellites. The program can fetch updated elements automatically from the web using HTTP or FTP, or read them from local files, and the download page notes that this network support requires the libcurl library. Update before every session, and especially before an important pass.
One development deserves a note. In 2026 CelesTrak announced that the supply of five-digit catalog numbers had run out and that newly catalogued objects now get six-digit numbers, which cannot be expressed in the TLE format. The notice tells users to switch to the project’s other formats. For the amateur satellites most operators use, TLEs still work, but check whether a brand-new satellite you want to track is available in a format your software can read.
Setting Up: Ground Station, Modules and Satellites
Gpredict comes with example data and runs out of the box, according to the repository. To make it useful you need three things.
- Your ground station. Enter your latitude, longitude and altitude. If you only know your Maidenhead locator, our guide to grid squares explains how to convert it, and an error of a few kilometres is acceptable for pass predictions. You can define several ground stations, for example your home and a portable site.
- Fresh orbital data. Run the update from the web, or load a file, and confirm that the satellites you care about appear in the list.
- A module for your satellites. The repository suggests creating a new module through the file menu or editing the default module. Choose the amateur satellites you intend to work, such as the FM satellites, and add a map, a list and a polar plot. Different modules can show different groups, for example one for FM voice and another for linear transponders.
Spend a little time with the display options. The polar plot shows the azimuth and elevation of a pass as a path across a circle, which is the view that tells you where to point and when to start listening. The map shows the footprint, the area of the Earth from which the satellite can be seen. The pass prediction window lists future passes with rise time, maximum elevation and set time. A pass with a maximum elevation of only a few degrees is difficult and seldom worth the effort. A high pass is the one to plan around.
Why Doppler Correction Is Needed
A satellite in low Earth orbit moves fast enough that its frequency, as heard on the ground, changes noticeably during a pass. The encyclopedia article on amateur radio satellites explains the effect: as the satellite approaches, the downlink appears higher than its nominal frequency, so you must tune your receiver higher. The satellite also hears your uplink higher than you transmit it, so you must transmit lower. After the closest approach the process reverses. The article gives the corrections as the nominal frequency multiplied by one plus or minus the ratio of the satellite’s velocity toward you to the speed of light, and it notes that these calculations are normally left to tracking software.
| Phase of the pass | Downlink appears | Your receiver | Your transmitter |
|---|---|---|---|
| Satellite approaching | Higher than nominal | Tune higher | Transmit lower |
| Closest approach | Near nominal | Near nominal | Near nominal |
| Satellite receding | Lower than nominal | Tune lower | Transmit higher |
The same article observes that FM is much more tolerant of Doppler shift than single sideband. This is why FM satellites, which work like repeaters in the sky, are practical with a handheld radio and manual tuning, while linear transponders and SSB or CW operation are much easier with computer-controlled tuning. Passes typically last less than 15 minutes.
Connecting Your Radio and Rotator Through Hamlib
Gpredict does not talk to your radio directly. As the README says, it uses the Hamlib rigctld and rotctld daemons, which are small programs that present a network interface for many radios and rotator controllers. That arrangement means anything Hamlib supports can be driven from Gpredict.
- Install Hamlib, which Gpredict requires at runtime but not for building.
- Start rigctld for your radio with the right model number, port and speed. Our article on rig control with Hamlib explains how to find those values and how to test with a simple command.
- Do the same for the rotator with rotctld, if you have a rotator. See our antenna rotator guide for the hardware side, including azimuth and elevation controllers.
- In Gpredict, define the radio and rotator interfaces by host and port, then open the radio control and antenna control windows from the module.
- Select the satellite and its transponder, choose the tracking mode and engage the tracking. Gpredict will adjust the frequency and the pointing during the pass.
The important thing is to test the connection on a quiet frequency and with the rotator moving slowly before you rely on it for a real pass. If the radio cannot accept frequency commands at the rate Gpredict sends them, you may need to reduce the update rate or choose a different radio model in Hamlib.
A Practical Pass Routine
- Before the pass. Update the orbital data, check the clock on your computer, and look at the pass list for the next high passes.
- Five minutes before. Open the polar plot, start rigctld and rotctld if used, and check that the radio is on the right mode and frequency.
- During the pass. Listen first. Transmit only when you hear the satellite and know that it is in the right mode. Keep your calls short, because a pass is brief.
- After the pass. Log the contact, and note any problems with tracking or pointing for next time.
The clock matters more than beginners expect. Predictions assume correct time, so synchronise your computer. Our article on getting started with amateur radio satellites covers the basics of satellite etiquette and equipment that complement the software described here.
Reading Mode Designators in the Satellite List
When you pick a transponder you will often see mode designators such as U/V or V/U. According to the encyclopedia article, the format is X/Y, where X is the uplink band and Y is the downlink band, and, with a few exceptions, the letters follow the radar band naming convention. V stands for the 2 metre band, U for 70 centimetres, L for 23 centimetres, S for 13 centimetres and so on, with H for 15 metres and A for 10 metres. So U/V means an uplink on 70 centimetres and a downlink on 2 metres. The older single-letter designations, such as mode A (2 metre uplink and 10 metre downlink), mode B (70 centimetre uplink and 2 metre downlink) and mode J (2 metre uplink and 70 centimetre downlink), are deprecated but still used in conversation. Knowing the designator tells you which antennas and which radio bands you need before the pass begins.
It also tells you how the transponder works. A satellite can behave as an FM repeater, as a linear transponder that retransmits a whole slice of spectrum, or as a store-and-forward digital relay. Gpredict’s radio control window lets you pick a transponder entry and apply Doppler correction to both the uplink and the downlink, so the same pass is handled differently for an FM repeater and for a linear transponder.
Reading a Pass: Rise, Peak and Set
Every pass in the prediction list has three moments. At rise, the satellite appears above your horizon, but trees, buildings and hills usually hide it for the first minute. At the maximum elevation point, the satellite is closest and loudest, and the Doppler shift passes through zero. At set, it disappears again. A high pass gives you a longer window and stronger signals, and the polar plot shows whether the path crosses overhead or skims the horizon. Plan on starting to listen at rise and use the peak for your calls. Because the shift is fastest near the closest approach, an uncorrected radio drifts most quickly in the middle of the pass, which is why automatic tuning is valuable on SSB.
Common Problems
- The satellite is not in the list. It is missing from your orbital data. Update from a source that includes the amateur group or load the elements by hand.
- Predictions are off by minutes. The elements are old or the computer’s clock is wrong.
- Doppler tuning does not follow. Check that rigctld is running, that the port matches and that the radio allows the control commands you are sending.
- The rotator points the wrong way. Check the north reference, calibration and the azimuth range of the controller.
- Uplink and downlink seem reversed. Check the transponder definition, which may be inverting. Linear transponders often invert the signal, so the sideband and tuning direction change.
The Bottom Line
Gpredict turns a mysterious few minutes into something you can plan. Give it your location and fresh orbital data, build a module for the satellites you want, use the polar plot to see where to listen, and let Hamlib handle Doppler correction and pointing if you want the best results. Start with an FM satellite and a handheld to learn the rhythm of a pass, then add computer control when you move to linear transponders and weaker signals.
Frequently Asked Questions
What is Gpredict used for?
It tracks satellites in real time, predicts future passes and can control a radio’s frequency and an antenna rotator during a pass through the Hamlib daemons.
Does Gpredict need an internet connection?
Only to fetch updated orbital data. After the elements are on your computer, it can predict passes without a connection, although old elements become less accurate over time.
What is a TLE?
A two-line element set is a standard text format that describes a satellite’s orbit. Tracking programs use it to calculate positions and pass times.
Why does the frequency change during a pass?
Because of the Doppler effect. The satellite moves quickly relative to you, so the downlink appears higher on approach and lower as it recedes, and your uplink must be adjusted the opposite way.
Can I work FM satellites without computer control?
Yes. FM tolerates Doppler shift well, and operators work FM satellites with handheld radios and manual tuning, but computer control helps with SSB and CW.
Which Hamlib tools does Gpredict use?
It uses rigctld for Doppler tuning of radios and rotctld for antenna rotator control, so your hardware must be supported by Hamlib.