Link Budget
Compute RF link margin per access window — antenna gain models, EIRP, G/T, C/N0, Eb/N0 — with modulation/coding options.
The Link tab answers: will my communication link close during a pass, given my transmitter, receiver, antenna, and modulation choices?
How it works
The link budget is computed in two phases:
-
Geometry — the orbit is propagated and, for each timestep within an access window, the range, elevation, azimuth, and boresight angles between the satellite and ground-station antennas are computed. Time-stepping is concentrated inside the access windows, so the periods when the satellite is below the horizon are skipped. The geometry is computed once and reused.
-
RF — antenna gain models and link budget equations are applied to the geometry. Because this is pure arithmetic on already-computed geometry, changing RF parameters (TX power, frequency, data rate, antenna selection) updates the results instantly without re-propagating.
Inputs
Satellite & timeline
- Satellite — select which satellite to analyze.
- Link Budget Simulation Interval — a start/end UTC pair. Can be shorter than the scenario timeline to save computation time.
Link definitions
Each link is defined as either a Downlink (Sat → GS) or Uplink (GS → Sat). For each link you configure:
Transmitter
| Parameter | Description |
|---|---|
| TX Antenna | Selected from the antennas mounted on the satellite (downlink) or ground station (uplink). Antennas are defined in the Model tab (satellite) or ground station settings. |
| TX Power | Transmit power in dBW or Watts (toggleable). |
| Frequency | Link frequency in GHz or MHz (toggleable). Used for FSPL and antenna gain computation. |
Receiver
| Parameter | Description |
|---|---|
| RX Antenna | Selected from the antennas on the ground station (downlink) or satellite (uplink). |
| System Temperature | Receiver system noise temperature in Kelvin. |
Link parameters (shared)
| Parameter | Description |
|---|---|
| Modulation | BPSK, QPSK, 8PSK, 16APSK, 8QAM, or 16QAM. |
| Coding Rate | 1/2, 2/3, 3/4, 5/6, 7/8, or 1/1 (uncoded). |
| Data Rate | In Mbps. Auto-derives the symbol rate and occupied bandwidth. |
| Bandwidth | Occupied bandwidth in MHz. Auto-computed from data rate, modulation, and coding rate (with 20% roll-off). Can be toggled to manual entry, which reverse-computes the data rate. |
| Required Eb/N0 | Required Eb/N0 at BER 1e-5 in dB. Auto-populated from a BER lookup table when modulation or coding rate changes. Can be overridden manually. |
| Additional Loss | Implementation loss in dB (e.g. filter losses, modem imperfections). |
Antenna models
Antennas are defined in the Model tab (satellite) or ground station settings. Each antenna has a pattern type, pattern parameters, and a design frequency. The gain at each timestep is computed from the off-boresight angle between the antenna boresight and the line-of-sight vector.
| Pattern type | Model | Key parameters |
|---|---|---|
| Isotropic | 0 dBi everywhere | — |
| Dipole | Half-wave dipole: G(θ) = 1.64 · [cos(π/2 · cos θ) / sin θ]² | Peak 2.15 dBi broadside |
| Monopole | Quarter-wave on spacecraft body: G(θ) = 3.28 · sin²θ | Peak 5.16 dBi broadside |
| Parabolic | Airy pattern: G(θ) = η · (πD/λ)² · [2J₁(u)/u]² where u = πD sin θ / λ | Diameter, efficiency |
| Horn | sinc² aperture approximation | Peak gain, HPBW |
| Patch | G(θ) = G₀ − 12·(θ/HPBW)² within HPBW | Peak gain, HPBW |
| Custom | Same parabolic approximation as patch | Peak gain, HPBW |
For parabolic and horn antennas (broadband), gain is computed at the link frequency. For tuned antennas (dipole, monopole, patch), the design frequency is used.
Satellite antennas are mounted on a bus face with yaw/pitch/roll rotations and can be in fixed or access-track pointing mode. Ground station antennas can be auto-track, fixed (at a set azimuth/elevation), or zenith.
Equations
The link budget is computed at every timestep within each access window. The following equations are applied in order:
1. Antenna gain
For each timestep, the TX and RX antenna gains are computed from the off-boresight angle θ between the antenna boresight and the line-of-sight vector:
G_tx = f_pattern(θ_tx) [dBi]
G_rx = f_pattern(θ_rx) [dBi]
where f_pattern is the analytical gain model for the selected antenna type (see table above).
2. Free Space Path Loss
L_fs = 20 · log₁₀(4πR / λ) [dB]
where R is the slant range in meters and λ = c / f is the wavelength.
3. EIRP
EIRP = P_tx + G_tx − L_pointing [dBW]
where P_tx is the transmit power in dBW and L_pointing is the pointing loss (currently 0 dB).
4. G/T ratio
G/T = G_rx − 10 · log₁₀(T_sys) [dB/K]
where T_sys is the receiver system noise temperature in Kelvin.
5. Carrier-to-noise density ratio
C/N₀ = EIRP + G/T − L_fs − L_atm − L_other − k_B [dBHz]
where k_B = −228.6 dBW/K/Hz is the Boltzmann constant (subtracting a negative adds +228.6), L_atm is the atmospheric loss, and L_other is the additional/implementation loss.
6. Energy per bit to noise density ratio
E_b/N₀ = C/N₀ − 10 · log₁₀(R_b) [dB]
where R_b is the data rate in bits per second.
7. Link margin
M = E_b/N₀ − (E_b/N₀)_required − L_impl [dB]
The link closes when M ≥ 0 dB.
Bandwidth and symbol rate
The occupied bandwidth is derived from the data rate, modulation, and coding rate:
R_s = R_b / (k · r_code) [symbols/s]
B = R_s · α_roll [Hz]
where k is the bits per symbol (1 for BPSK, 2 for QPSK, 3 for 8PSK/8QAM, 4 for 16APSK/16QAM), r_code is the coding rate, and α_roll = 1.2 (20% roll-off, typical for DVB-S).
Required Eb/N0 lookup table
The required Eb/N0 at BER = 1e-5 is looked up from a table for common DVB-S/S2 modulation and coding schemes:
| Modulation | 1/2 | 2/3 | 3/4 | 5/6 | 7/8 | 1/1 |
|---|---|---|---|---|---|---|
| BPSK | 4.5 | 5.0 | 5.5 | 6.0 | 6.4 | 9.6 |
| QPSK | 4.5 | 5.0 | 5.5 | 6.0 | 6.4 | 9.6 |
| 8PSK | 6.5 | 7.9 | 7.9 | 9.4 | 10.7 | 12.5 |
| 16APSK | 7.0 | 8.5 | 9.8 | 11.2 | 12.1 | 14.4 |
| 8QAM | 5.5 | 6.4 | 7.3 | 8.5 | 9.2 | 11.0 |
| 16QAM | 6.5 | 8.2 | 9.4 | 10.7 | 11.5 | 13.4 |
Values are in dB. You can override the required Eb/N0 manually if your modem has different performance characteristics.
Outputs
Per-access-window summary
Each access window (pass) gets a summary row with:
- Access number and AOS/LOS times.
- Duration in seconds.
- Min/max elevation — the elevation range during the pass.
- Min/max/mean margin — the link margin range across the pass.
- Min/max C/N0 and Eb/N0.
- % margin > 0 dB — fraction of access time with margin above 0dB.
- % margin > 3 dB — fraction of access time with margin above 3dB.
Time-series plots
For a selected access window, time-series plots show link margin, C/N0, Eb/N0, range, elevation, and antenna gains over the pass.
Summary cards
- Access intervals — total number of passes.
- % margin > 0 dB — overall link closure rate.
- Best/worst margin — across all access steps.
Earth vs. Moon
Earth satellites link to Earth ground stations. Moon satellites can link to ground stations on both Earth and the Moon — the station’s central body (Earth or Moon) determines how its position is handled in the computation.
Next steps
- Access — access windows define when links are possible
- Data Budget — download rates feed the data budget
- Ground Stations — station locations and antennas
- Model — satellite antenna definitions and mounting