Designing a Ground Station for LEO Constellations: What Actually Matters

By | Thursday, June 25, 2026

Why LEO Ground Stations Are a Different Beast

If you’ve ever worked with a geostationary dish—point once, tweak occasionally, and forget—you’ll be in for a shock when you move to low Earth orbit. These satellites don’t hang around. A typical LEO pass lasts 8 to 15 minutes, and the bird is screaming across your sky at 7.5 km/s. For constellations like Starlink, OneWeb, or a custom IoT fleet, your ground segment has to juggle rapid handovers, hefty Doppler swings, and a relentless cadence of short contacts. After more than a few late nights debugging tracking errors and rain-faded links, I’ve learned that the hard part isn’t any single component—it’s how everything interacts under time pressure.

This piece walks through the real engineering choices you’ll face: where to put the station, what antenna and RF gear to pick, how to track and talk to fast-moving targets, and the software that keeps it all running without you babysitting. No theory for theory’s sake—just stuff I’ve seen work (and fail) in the field.

Satellite dish under starry night sky

Picking a Site: It’s Not Just About the View

Before you spend a cent on hardware, find your spot. LEO satellites orbit between 300 km and 1,500 km up, so your horizon is everything. A clear 360° view down to 5° elevation is the dream; 10° is more realistic if you’re dealing with trees, buildings, or hills. Grab Google Earth and local topo maps and look for obstructions. Those low-elevation passes are often your longest contact windows, and a single row of pines can chop them in half.

Then there’s RF interference—the quiet killer. Urban sites are a soup of noise from 400 MHz to 6 GHz: cell towers, Wi-Fi, industrial gear. If you’re on UHF (435–438 MHz amateur) or S-band (2.0–2.3 GHz), a rural location is worth the extra drive. Move up to X-band (8.0–8.4 GHz) or Ka-band (26.5–40 GHz), and the enemy shifts to weather. Atmospheric attenuation and rain fade will eat your link margin, so check local humidity and rainfall stats. A dry, high-altitude site can save you dB you’d otherwise have to buy with bigger antennas.

Power and connectivity are the boring stuff that kills projects. A pristine mountaintop with zero RF noise is useless if you can’t get data back to your ops center. Solar plus battery banks and a fiber or microwave backhaul are the usual fixes. Just don’t kid yourself about the cost of trenching fiber or keeping a generator fed and maintained—it adds up fast.

Antennas: Size, Speed, and the G/T Trap

The antenna is the part everyone sees, and it’s the most mechanically stressed piece of the whole setup. For LEO, you need gain and agility. Parabolic dishes are still the go-to, but the size and slew rate have to match your constellation’s tempo.

Dish Diameter and Real-World Gain

Gain scales with dish size and frequency. A 1.2-meter dish on S-band gives you about 25 dBi; at X-band, the same reflector jumps to roughly 35 dBi. For typical telemetry and command links, I see a lot of 1.8 to 3.7-meter dishes. Bigger dishes buy you margin, but they’re heavier, pricier, and slower to swing. If you’re tracking a busy constellation, a cluster of smaller antennas often beats one giant dish—you can run simultaneous contacts instead of queuing passes.

Don’t obsess over gain alone. G/T (gain-to-noise-temperature) is what matters on the receive side. Stick a low-noise amplifier right at the feed, and you can drop system noise temperature from 150 K to under 70 K. That’s several dB of free margin, no extra steel required.

Tracking That Doesn’t Lose Lock

LEO satellites whip across the sky at a few degrees per second, especially on high-elevation passes. A standard Az/El rotator with brushed DC motors can lag, and you’ll see signal dropouts right when you need the data most. Look for brushless servo motors and optical encoders rated for at least 5°/s in azimuth and 2°/s in elevation. Some operators swear by tilted-axis (X/Y) mounts for passes near zenith, where Az/El systems struggle with rapid acceleration.

Program-track mode—following a pre-computed path from TLEs—is the baseline. But TLEs age, and predictions drift. For links you can’t afford to lose, add step-track or monopulse auto-track. A monopulse feed locks onto the satellite’s beacon and corrects pointing errors in real time. It’s saved my bacon more than once when orbital elements were half a day old.

Large satellite dish against blue sky

RF Chain: Where Stations Bleed Performance

The RF path is where I see ground stations lose dB they thought they had. Start with the LNA. For LEO work, you want a noise figure under 1 dB at your operating frequency, mounted as close to the feed as physically possible. Every 0.1 dB of loss in the cable before the LNA adds directly to your system noise temperature. Use LMR-400 for short runs; for anything over 10 meters, go with waveguide or at least Heliax.

On the transmit side, solid-state power amplifiers have mostly pushed out traveling wave tube amps for LEO stations. They’re more linear, need less fuss, and degrade gracefully instead of dying suddenly. Size your HPA for the worst-case link: maximum slant range, heavy rain, and the satellite’s weakest specified G/T. A typical S-band TT&C uplink might need 10–50 W; high-rate X-band downlinks often want an LNA with 30–40 dB gain and a noise figure below 1 dB.

Frequency coordination isn’t paperwork—it’s survival. Even in a licensed band, you’ll get clobbered by terrestrial interference if you don’t coordinate. A spectrum analyzer is your best friend during commissioning. Use it to spot and notch out local noise before it saturates your receiver front end.

Modems, Waveforms, and the Doppler Problem

LEO links live with Doppler. At S-band, a 7.5 km/s relative velocity gives you about ±50 kHz shift. At Ka-band, that balloons to ±500 kHz. Your modem has to chase this in real time. Many SDRs handle Doppler compensation in firmware, but check the tracking range and slew rate. A receiver PLL bandwidth of at least 1 kHz helps with solid carrier recovery.

For modulation, QPSK and OQPSK are the workhorses for TT&C and low-to-medium data rates. When you need high-throughput downlinks, 8PSK or 16APSK with DVB-S2 coding can double your spectral efficiency. If you’re building for a proprietary constellation, look at CCSDS standards for interoperability—CCSDS 131.2-B-1 is a good reference for flexible coding and modulation.

Don’t sleep on framing and acquisition speed. LEO passes are short, so your modem needs to lock fast—ideally within 100 ms of signal presence. Pre-loading a Doppler profile into the receiver can slash lock time. And implement a tight ARQ scheme for data integrity, but keep the window small; a bloated window stalls during brief passes and you’ll never catch up.

Automation: Scheduling and the Software Glue

A single LEO satellite might pass over you 4–6 times a day. A 100-satellite constellation? Hundreds of passes. You can’t run that by hand. You need a scheduler that eats TLEs, calculates pass windows, resolves conflicts, and drives the antenna, rotator, modem, and data pipeline without you clicking anything.

GPredict is fine for basic tracking and rotor control, but a production station usually needs something custom. The scheduler has to prioritize passes by data latency, satellite health, and station availability. With multiple antennas, it becomes a resource-allocation puzzle: which dish gets which pass, and when do you hand off a satellite mid-pass as it moves across the sky?

Tie the scheduler into a monitor and control system that logs everything: pointing error, signal strength, BER, amplifier temps, weather. That telemetry is gold for spotting trends before they bite you. A Python framework with InfluxDB for time-series data and Grafana for dashboards can get you started without a six-figure software budget.

Link Budgets: Run the Numbers Before You Cut Metal

A LEO link budget isn’t a single snapshot—it’s a movie. Slant range, elevation angle, and atmospheric losses all shift second by second. I build time-stepped spreadsheets or scripts that calculate the link at 1-second intervals from AOS to LOS.

What goes in:

  • Free-space path loss (changes with slant range)
  • Atmospheric attenuation (ITU-R P.676 for gases, ITU-R P.838 for rain)
  • Polarization mismatch (usually 0.1–0.5 dB with circular pol)
  • Pointing loss (depends on beamwidth and tracking accuracy)
  • Implementation margin (2–3 dB; real modems aren’t textbooks)

For telemetry and command, I want at least 3 dB of worst-case margin. For high-speed downlinks where occasional packet loss is tolerable, 1–2 dB can work. If you’re pushing the edge, adaptive coding and modulation on the downlink lets the satellite shift to a more resilient mode when your SNR dips.

Redundancy and Network Thinking

One ground station is a single point of failure. For anything commercial, you need geographic diversity. Stations spaced 1,000–3,000 km apart cover different passes and give you failover when weather or hardware knocks a site offline. Connect them over a secure, low-latency WAN, and make sure your central scheduler can reroute contacts in near real-time.

At each site, weigh the cost of downtime. A hot-standby antenna with automatic switchover keeps you operational during maintenance or a motor failure. Redundant RF chains—LNAs, downconverters, modems—are cheaper than a second dish and can be switched via RF relays under software control.

Licensing: Start Early, Expect Delays

Transmitting from a ground station needs a license almost everywhere. You’ll specify frequencies, power levels, antenna gain, and coordinates. Uplinks get extra scrutiny for interference potential. The satellite network itself also needs licensing, often through national bodies and coordinated internationally via the ITU. This can take months or years—start the paperwork before you pour concrete.

Receive-only stations sometimes have a lighter process, but you still want to register the site. An unregistered receive site can be steamrolled by a new cell tower in your band, and you’ll have no recourse.

Satellite dish at sunset with dramatic sky

Commissioning: Where the Checklist Meets Reality

Hardware installed? Now the real work starts. I follow a phased approach:

  1. Static testing: Verify antenna pattern, G/T, and EIRP with a signal generator and spectrum analyzer. Measure every cable loss and LNA gain.
  2. Tracking testing: Chase a drone or a known LEO beacon to validate slew rates and pointing accuracy.
  3. End-to-end testing: Coordinate with the satellite operator for test passes. Start with low data rates and simple modulation, then ramp up.
  4. Soak testing: Run unattended for 72 hours, logging everything. Dig through the logs for intermittent dropouts, timing glitches, or RF weirdness.

Don’t skimp on cabling and grounding. A poorly grounded system has a noise floor that jumps with every wind gust or nearby lightning strike. Single-point grounding at the antenna, and run all cables through grounded conduits.

Keeping It Running Year After Year

LEO ground stations live outside, 24/7. Antenna positioners need regular grease and inspection. Radomes help with ice and wind loading but add cost and a little RF loss. If you skip the radome, budget for de-icing gear on the dish surface and feed horn.

Stock spare LNAs, HPAs, and modem cards on site—these active bits fail first. Build a relationship with your vendors for fast swaps and calibration. A good maintenance log shows you trends, like an LNA gain creeping down, before they cost you a pass.

FAQ

What’s the smallest dish I can get away with for a reliable LEO downlink?

It depends on frequency, data rate, and the satellite’s EIRP, but for typical S-band TT&C, a 1.8-meter dish is a safe bet. For X-band high-rate downlinks, 2.4 to 3.7 meters is common. Always run a worst-case link budget before you buy.

How do I handle Doppler shift without expensive gear?

Many SDRs have built-in Doppler compensation driven by TLE predictions. If your modem doesn’t, pre-compute a frequency offset profile and have a programmable local oscillator follow it during the pass. Update the offset at least once per second on high-elevation passes.

Can one antenna serve multiple satellites in a constellation?

Yes, but only sequentially. A single dish can track different satellites on back-to-back passes. For simultaneous contacts, you need multiple antennas or a multi-beam system—the latter is complex and expensive, so most operators use an array of smaller dishes with a scheduler that assigns passes to available antennas.