How to build a satellite link budget that actually closes

The full downlink chain — EIRP, back-off loss, FSPL, ITU-R P.618 rain fade, G/T, C/N0, Eb/N0 — with a worked 8.2 GHz X-band CubeSat example.

ICARUS Engineering mission patch ICARUS Engineering 8 min read
  • link-budget
  • comms
  • x-band
  • cubesat
  • rf
  • ground-segment
A satellite-to-ground RF link budget waterfall — EIRP, free-space path loss, and receive G/T summing to a positive link margin, so the link closes.

A link budget is an energy audit. You start with the watts leaving your power amplifier, subtract every loss between the spacecraft and the demodulator on the ground, and check whether what’s left clears the receiver’s threshold with margin to spare. Every term is either a gain or a loss in decibels, so the whole thing collapses to addition. The hard part isn’t the arithmetic. It’s knowing which terms exist, which ones people forget, and what realistic numbers look like.

This post walks the full chain for a Low Earth Orbit (LEO) downlink, then runs a worked X-band CubeSat example end to end. If you’d rather have the arithmetic done for you, our link-budget calculator implements everything below, including the terms that most free calculators skip.

The chain in one line

C/N0 [dB-Hz] = EIRP − FSPL − L_atm − L_misc + G/T + 228.6

The +228.6 is −10·log10(k), Boltzmann’s constant expressed in dBW/(Hz·K). Everything else in this post is unpacking those six terms.

EIRP: what actually leaves the spacecraft

Effective Isotropic Radiated Power (EIRP) is the transmit power that matters, referenced to an ideal isotropic radiator:

EIRP [dBW] = P_tx [dBW] − back-off loss − line losses + G_tx [dBi]

P_tx is the saturated output of your power amplifier. Line losses cover the coax or stripline run between the amplifier and the antenna, plus any switch, diplexer, or isolator in the path. On a CubeSat this is short, but 0.5 to 1.5 dB is typical once connectors are counted. G_tx is the antenna gain toward the ground station, not boresight gain, unless you can guarantee pointing.

Back-off loss, and why it exists

This term gets skipped in most tutorials, which is odd, because it can be the largest single line item you control.

A power amplifier (PA) — solid-state (SSPA) or travelling-wave tube (TWTA) — is only efficient near saturation, and near saturation it is strongly nonlinear. Its gain compresses (AM/AM distortion) and its phase shifts with input amplitude (AM/PM distortion). Feed a constant-envelope waveform like Gaussian Minimum Shift Keying (GMSK) through a saturated PA and nothing bad happens: the envelope never varies, so the nonlinearity has nothing to distort. Feed it a filtered, amplitude-varying waveform — anything with a non-trivial peak-to-average power ratio — and the PA smears the constellation and regrows spectral sidelobes into your neighbours’ bands.

The fix is to retreat from saturation. Input back-off (IBO) is how far you reduce drive; output back-off (OBO) is how far the delivered power drops as a result. OBO is what enters the link budget, as a direct subtraction from transmit power. Typical values:

ModulationEnvelope behaviourTypical OBO
GMSK, unfiltered OQPSKNear-constant0–0.5 dB
Filtered QPSK/OQPSKModest ripple0.5–1 dB
8PSKModerate1–2 dB
16APSKMulti-ring2–3 dB
32APSKMulti-ring, dense3–4.5 dB

The trap: a datasheet says “2 W transmitter”, you budget 33 dBm, then the comms engineer picks 16APSK to hit a data-rate target and quietly loses 2.5 dB of it. Nobody updates the budget. The link closes on paper and fails at 5° elevation in the rain. Put back-off in the budget as its own line, from day one, tied to the modulation choice.

FSPL: the big number

Free-Space Path Loss (FSPL) is spreading loss, the inverse-square law expressed in dB:

FSPL [dB] = 92.45 + 20·log10(f [GHz]) + 20·log10(d [km])

The distance is slant range, not altitude. At low elevation angles the geometry punishes you: for a 550 km orbit, range is 550 km at zenith but about 2205 km at 5° elevation. That’s 12 dB of swing across a single pass. Size the link at your minimum operating elevation, because that’s where you’ll actually be commanding the spacecraft when it matters.

Slant range for elevation ε and altitude h, with Earth radius Re = 6371 km:

d = √((Re + h)² − Re²·cos²ε) − Re·sinε

Atmospheric and rain losses: ITU-R P.618

Between vacuum and the dish sits the troposphere. Three effects matter at microwave frequencies, and the ITU-R P.618 recommendation is the standard prediction framework for all of them:

  1. Gaseous absorption (oxygen and water vapour, ITU-R P.676). Small at X-band: roughly 0.2–0.5 dB at low elevation. It grows sharply near the 22 GHz water line and the 60 GHz oxygen complex.
  2. Rain attenuation. The dominant statistical loss above ~5 GHz. P.618 predicts the attenuation exceeded for a given percentage of an average year from the local rainfall rate exceeded 0.01% of the time (R0.01, from ITU-R P.837 maps), an effective path length through the rain cell, and frequency-dependent regression coefficients. Attenuation rises steeply with frequency: a rain event that costs 1 dB at X-band costs several dB at Ka. The knob you control is availability — designing for 99.9% instead of 99.5% can add multiple dB of required margin, so decide what an outage actually costs your mission before buying margin against it.
  3. Scintillation and cloud attenuation. Usually fractions of a dB at X-band; they matter at Ka/Q and at very low elevations.

Add two miscellaneous terms while you’re here: polarization mismatch loss (0.1–0.5 dB for circular-to-circular with realistic axial ratios) and pointing loss on both ends (a ground antenna tracking 0.1 beamwidths off costs ~0.1 dB; a body-pointed CubeSat antenna a few degrees off its beam centre can cost much more — check your antenna pattern against your Attitude Determination and Control System (ADCS) pointing spec).

G/T: the ground station in one number

The receive system is characterised by its figure of merit G/T: antenna gain divided by system noise temperature, in dB/K. Gain follows aperture; noise temperature Tsys sums the antenna noise (ground spillover, atmosphere, cosmic background), feed losses, and the Low-Noise Amplifier (LNA). A 3.7 m dish at 8.2 GHz delivers roughly 48 dBi at 65% efficiency; with Tsys ≈ 200 K at low elevation, G/T ≈ 25 dB/K. Commercial ground segment providers publish this number per station. Note that Tsys degrades at low elevation — the beam sees more warm atmosphere — so the quoted G/T should be for the elevation you’re budgeting at.

From C/N0 to margin

With carrier-to-noise-density C/N0 in hand, divide by the data rate to get energy per bit over noise density:

Eb/N0 [dB] = C/N0 [dB-Hz] − 10·log10(Rb [bit/s])

Compare against the required Eb/N0 for your modulation and coding at the target Bit Error Rate (BER). A Consultative Committee for Space Data Systems (CCSDS) rate-1/2 Low-Density Parity-Check (LDPC) code on QPSK needs about 2 dB; the older concatenated convolutional + Reed–Solomon standard needs closer to 3. Then subtract implementation loss (1–2 dB for demodulator imperfections, phase noise, imperfect synchronisation) and what’s left is margin.

The rule of thumb is a minimum of 3 dB of margin at worst-case geometry and availability. Less than that and normal hardware ageing, antenna pattern ripple, and model error will eat you.

A 6U CubeSat at 550 km, X-band payload downlink at 8.2 GHz, 25 Mbps, filtered OQPSK with CCSDS rate-1/2 LDPC, sized at 5° elevation. You can reproduce this run in the calculator and perturb any line.

TermValueNote
PA saturated power+3.0 dBW2 W SSPA
Output back-off−1.0 dBfiltered OQPSK
Line losses−1.0 dBcoax + isolator + connectors
TX antenna gain+6.0 dBiX-band patch
EIRP+7.0 dBW
FSPL−177.6 dB2205 km slant, 8.2 GHz
Gaseous absorption−0.3 dBP.676, 5° elevation
Rain (99.5% avail.)−1.0 dBP.618, temperate site
Polarization loss−0.2 dBRHCP both ends
Pointing loss−0.5 dBboth ends
G/T+25.0 dB/K3.7 m dish, T_sys ≈ 200 K
−10·log10(k)+228.6Boltzmann
C/N081.0 dB-Hz
Data rate (25 Mbps)−74.0 dB
Eb/N0 achieved7.0 dB
Required Eb/N0−2.0 dBLDPC 1/2, QPSK
Implementation loss−1.5 dB
Margin+3.5 dBcloses

The link closes with 3.5 dB. Notice what dominates: FSPL is fixed by geometry, G/T is fixed by whose ground network you bought, and the terms you actually control — back-off, antenna gain, data rate — live within a few dB of each other. Halving the data rate buys exactly 3 dB. That’s often the cheapest margin on the sheet.

The check nobody does: does the rate serve the mission?

A closed link at 25 Mbps is useless if the payload generates 400 Gbit per day and you get eleven minutes of cumulative pass time. Before locking the RF design, run the volume side: instrument duty cycle, onboard storage, passes per day at your chosen station latitude, usable minutes per pass above your minimum elevation. Our data-budget tool does this accounting and will tell you whether the downlink and the payload are even having the same conversation.

Two failure modes show up constantly in review. First, the budget that closes at zenith and is never re-run at the elevation mask. Second, the budget with a “misc losses: 1 dB” line that silently absorbs back-off, pointing, and polarization all at once, each of which deserves its own number and its own owner. A link budget is a contract between subsystems. Write every clause down.

On this page

— Ground Control, May 2026

Read next