Using SatPointer To Estimate Doppler Shift On LEO Passes
Low Earth orbit satellites move quickly across the sky, often completing a visible pass in only a few minutes. Their speed creates a changing frequency offset known as Doppler shift. For receive stations, this can move a signal outside a narrow receiver filter; for amateur radio, telemetry, satellite internet, and experimental links, tracking that shift can be as important as aiming the antenna correctly.
SatPointer is designed primarily for satellite direction analysis. It uses a selected location, map data, and satellite orbital information to show where a spacecraft appears in the sky. By recording those changing pointing values at known times, you can estimate the satellite’s radial velocity and convert it into a practical frequency correction.
The result is an informed Doppler profile rather than a replacement for specialist orbital propagator software. Accuracy depends on the quality and age of the orbital data, the precision of your observer location, and how closely the real spacecraft follows its published orbit.
Why Doppler Shift Matters In Low Earth Orbit
Doppler shift occurs because the distance between the satellite and the ground station changes during a pass. When the spacecraft approaches, the received carrier appears higher than its nominal frequency. As it moves away, the carrier appears lower. Around the point of closest approach, the radial component of its velocity passes through zero, so the frequency offset also approaches zero.
The basic approximation is:
[ \Delta f = -\frac{v_r}{c}f_0 ]
Here, ( \Delta f ) is the frequency offset, ( v_r ) is the satellite’s velocity toward or away from the receiver, ( c ) is the speed of light, and ( f_0 ) is the transmitted carrier frequency. The sign depends on the convention used by your software. For a practical station setup, the important point is whether the correction must be increased or decreased as the pass develops.
LEO spacecraft commonly travel at roughly 7 to 8 kilometres per second. A full orbital velocity does not always point directly toward the observer, so the usable radial velocity is smaller and changes continuously. Even so, a 2 GHz signal can experience a shift of several tens of kilohertz, while a 145 MHz signal may move by several kilohertz.
What SatPointer Contributes
SatPointer gives you the geographical and directional foundation for the calculation. After entering an installation or observation location, you can select a satellite and inspect its pointing direction, including azimuth and elevation. Repeating that observation at several times during a pass provides a sequence of sky positions from which the spacecraft’s changing geometry can be studied.
For a fixed ground station, the most useful output is the time-tagged elevation and azimuth path. Elevation shows how high the spacecraft is above the horizon, while azimuth indicates its horizontal direction. Those angles do not directly equal radial velocity, but their rate of change reveals how quickly the line of sight is rotating and helps identify the approach, maximum elevation, and departure portions of the pass.
SatPointer’s orbital information should be treated as a prediction input. It may show the direction needed to point a dish or antenna, but a complete Doppler calculation also requires a time sequence and a frequency. If the site does not display an explicit radial-velocity value, calculate the velocity from successive satellite positions or use the positions as a cross-check against a tracking program.
Preparing A Reliable Observation
Begin with the exact receiving location rather than a nearby town or a broad regional setting. A difference of several kilometres usually has a modest effect on a high satellite pass, but it can matter near the horizon or when comparing two closely timed observations. Record latitude, longitude, and, where possible, ground elevation.
Choose the satellite’s catalog entry carefully. LEO missions may have similar names, changing operational modes, or multiple transmitters. Confirm the NORAD or catalog identifier and obtain current orbital elements when available. Older two-line element data can cause the predicted pass time and pointing angles to drift, especially after weeks of orbital decay or manoeuvres.
Use short time intervals during the fastest part of the pass. One-minute samples may be sufficient for a broad estimate, but intervals of 10 to 30 seconds produce a more useful curve for narrowband work. Write down the UTC time, azimuth, elevation, satellite frequency, and whether the spacecraft is rising or setting. Consistent timestamps are essential because a direction without a time reference cannot be converted into a meaningful velocity.
A clear understanding of orbital tilt also helps explain why two passes over the same site can look very different. The orbital inclination guide explains how the orbit’s angle changes the ground track and the range of directions seen from a station.
Turning Pointing Data Into A Frequency Estimate
The most rigorous approach is to calculate the satellite and observer position in an Earth-centred coordinate system for each timestamp. Subtract the observer’s position from the satellite’s position to obtain the line-of-sight vector. Comparing that vector at adjacent times gives a range change. If the range is decreasing, the spacecraft is approaching; if it is increasing, the spacecraft is receding.
The radial velocity can be approximated from two range measurements:
[ v_r \approx \frac{R_2-R_1}{t_2-t_1} ]
where (R_1) and (R_2) are the satellite-to-station ranges at two times. Insert that value into the Doppler equation along with the carrier frequency. For example, a radial velocity of 5 km/s at 435 MHz produces an offset of approximately 7.3 kHz. The actual value changes throughout the pass, so one correction should not be applied for the entire contact.
If you have only azimuth and elevation from SatPointer, use those values to validate the geometry generated by an orbital calculator. A sharp elevation rise followed by a fall generally marks a high pass, while the maximum Doppler rate often occurs away from the moment of maximum elevation. The greatest offset is associated with the line-of-sight component of motion, not simply the satellite’s total orbital speed.
| Item | What to record | Why it matters |
|---|---|---|
| Observer position | Latitude, longitude, and elevation | Defines the ground station geometry |
| Satellite identity | Name and catalog number | Prevents using the wrong orbital object |
| Time standard | UTC timestamp for every sample | Makes the pass sequence reproducible |
| Pointing data | Azimuth and elevation | Describes the changing line of sight |
| Carrier frequency | Nominal transmit or receive frequency | Scales the Doppler offset |
| Range or radial velocity | Calculated for each time | Produces the actual frequency correction |
| Pass direction | Rising or setting, plus heading | Helps interpret the sign of the correction |
Applying The Correction To A Receiver
A software-defined radio can often compensate for Doppler by changing its tuned frequency at regular intervals. For a transmitted signal at (f_0), the receiver normally tunes above the nominal frequency while the satellite approaches and below it while the satellite recedes, assuming the conventional sign arrangement. The exact command depends on whether the software expects the correction as a positive offset or as a new absolute frequency.
For a transponder, account for both sides of the link. A receiving ground station may need to correct its downlink frequency while a transmitting station also adjusts its uplink. The satellite transponder can preserve or alter the relationship between uplink and downlink, so a simple downlink correction may not describe the complete radio link.
Dish pointing and frequency tracking should also be considered together. A directional antenna can lose signal when the beam moves away from the spacecraft, even if the frequency is perfectly corrected. Guidance on Telkom alignment methods illustrates the broader importance of accurate site setup and pointing, although a LEO pass requires continuous tracking rather than a one-time geostationary alignment.
Checking Accuracy And Real-World Limits
Compare the predicted Doppler curve with a known beacon or a strong carrier. If the signal crosses the receiver passband earlier or later than predicted, check the orbital elements before changing the frequency model. A stale orbit can create both timing and pointing errors, and those errors grow as the pass progresses.
Ground hardware introduces additional uncertainty. Local oscillator drift, sample-clock error, antenna cable loss, and receiver calibration can imitate a small Doppler error. At microwave frequencies, even a modest percentage error in the nominal carrier frequency becomes noticeable. Confirm the station clock and frequency reference before judging the satellite prediction.
Dish size affects reception margin, but it does not determine the Doppler shift. A larger reflector produces a narrower beam and may require more accurate tracking, while a smaller antenna may tolerate pointing error but receive a weaker signal. SatPointer’s estimated dish-size metric is useful for assessing reception expectations, but frequency offset must still be calculated from motion and carrier frequency.
A Practical Workflow For Each Pass
Use the following process when preparing a LEO satellite observation:
- Set the exact station location in SatPointer and verify the selected satellite identity.
- Select a pass with useful elevation and record azimuth and elevation at regular UTC intervals.
- Obtain the nominal carrier frequency and calculate range change or radial velocity for each timestamp.
- Convert radial velocity into frequency offset with the Doppler formula, keeping the sign convention consistent.
- Compare the prediction with a beacon or live signal, then refine the orbital data, clock reference, or tracking schedule.
For repeated operations, place the recorded values in a spreadsheet or tracking script and interpolate between samples. A smooth correction curve is usually better than manually entering large frequency jumps. Keep separate profiles for different satellites and bands because Doppler scales directly with carrier frequency.
SatPointer is especially useful at the planning stage: it lets you confirm the installation geometry, visualize the pass direction, and identify whether a selected satellite is practical from your location. Pairing that information with current orbital elements and a receiver capable of frequency control turns a basic pointing prediction into a complete LEO tracking exercise.
Record a pass, calculate its range-rate curve, and compare the predicted frequency movement with the live signal. With that repeatable workflow, SatPointer becomes a practical starting point for accurate antenna pointing and Doppler-aware satellite reception.