SATCOM and Space Segment

Space is the ultimate high ground. Satellites provide communications, navigation, intelligence collection, and missile warning. Understanding the space segment — how satellites communicate, their vulnerabilities, and how space warfare works — is essential for modern intelligence analysis. This note bridges your EW-Recon knowledge (signals, jamming) with the orbital domain.

Connection to EW-Recon: SATCOM interception is signals intelligence collection. Satellite jamming is electronic warfare. The physics is the same — free-space path loss, antenna gain, modulation — at orbital distances.


Satellite Communication Architectures

GEO SATCOM (Geostationary)

PropertyValue
Altitude35,786 km
Latency~250ms one-way, ~500ms round-trip
CoverageHemisphere (~42% of Earth’s surface per satellite)
BandC, Ku, Ka
ExamplesInmarsat, SES, Eutelsat, Intelsat

How it works: Three GEO satellites can cover nearly the entire Earth (minus polar regions). The satellite acts as a “relay” — receives signal on uplink, amplifies, shifts frequency, retransmits on downlink. From the ground, a GEO satellite appears stationary — point your dish once and it stays aimed.

Limitations:

  • High latency makes interactive communications sluggish
  • Cannot cover poles (inclination = 0 degrees)
  • Requires high-power uplink (long distance)
  • Expensive to launch (high delta-V)

LEO Constellations

SystemAltitudeSatellitesLatencyStatus
Starlink550 km6000+~20-40msOperational
OneWeb1200 km648~50msOperational
Iridium780 km66~30msOperational
Kuiper (Amazon)590-630 km3236 planned~30msDeploying

Advantages: Low latency, lower power needed, polar coverage (inclined orbits). Disadvantage: Need many satellites for global coverage, complex handover between satellites, shorter lifetime (atmospheric drag).

Military SATCOM

SystemNationOrbitBandNotes
MUOSUSAGEOUHF/EHFMobile users, narrowband
WGSUSAGEOX/KaWideband, high throughput
AEHFUSAGEOEHFNuclear-survivable, jam-resistant
SkynetUKGEOUHF/SHFMilitary and allied use
SyracuseFranceGEOSHF/EHFMilitary strategic
MeridianRussiaHEO (Molniya)UHFArctic coverage
LuchRussiaGEOVariousRelay, suspected ELINT

Military SATCOM differs from commercial:

  • Frequency hopping and spread spectrum for anti-jam
  • Encrypted, both link and data
  • Hardened against EMP/nuclear effects (AEHF)
  • Low Probability of Intercept (LPI) waveforms

The link budget determines whether a signal can be received at adequate quality. It’s the same calculation as ground-based RF links (from EW-Recon) but at much greater distances.

P_received (dBm) = P_transmit + G_transmit - L_free_space - L_atmospheric + G_receive

Where:

  • P_transmit: transmitter power (dBm)
  • G_transmit: transmit antenna gain (dBi)
  • L_free_space: free-space path loss = 20log10(4pi*d/lambda) (dB)
  • L_atmospheric: rain, atmospheric absorption
  • G_receive: receive antenna gain (dBi)
import numpy as np
 
def free_space_path_loss(distance_km, frequency_ghz):
    """Compute free-space path loss in dB."""
    d_m = distance_km * 1000
    f_hz = frequency_ghz * 1e9
    c = 3e8
    wavelength = c / f_hz
    fspl = 20 * np.log10(4 * np.pi * d_m / wavelength)
    return fspl
 
 
def antenna_gain(diameter_m, frequency_ghz, efficiency=0.55):
    """
    Parabolic antenna gain in dBi.
    efficiency: 0.55 typical for commercial dishes
    """
    wavelength = 3e8 / (frequency_ghz * 1e9)
    gain_linear = efficiency * (np.pi * diameter_m / wavelength) ** 2
    return 10 * np.log10(gain_linear)
 
 
def link_budget(tx_power_dbm, tx_antenna_diameter_m, rx_antenna_diameter_m,
                distance_km, frequency_ghz, atmospheric_loss_db=0.5,
                misc_loss_db=2.0, antenna_efficiency=0.55):
    """
    Complete satellite link budget calculation.
    Returns: received power, link margin, and all intermediate values.
    """
    tx_gain = antenna_gain(tx_antenna_diameter_m, frequency_ghz, antenna_efficiency)
    rx_gain = antenna_gain(rx_antenna_diameter_m, frequency_ghz, antenna_efficiency)
    fspl = free_space_path_loss(distance_km, frequency_ghz)
 
    # EIRP (Effective Isotropic Radiated Power)
    eirp = tx_power_dbm + tx_gain
 
    # Received power
    p_rx = eirp - fspl - atmospheric_loss_db - misc_loss_db + rx_gain
 
    # Noise floor (typical satellite receiver)
    noise_temp_k = 150  # K, typical LNB
    bandwidth_hz = 36e6  # 36 MHz transponder
    k_boltzmann = 1.38e-23
    noise_power = 10 * np.log10(k_boltzmann * noise_temp_k * bandwidth_hz) + 30  # dBm
 
    # SNR and margin
    snr = p_rx - noise_power
    required_snr = 10  # dB, typical for DVB-S2 QPSK
    margin = snr - required_snr
 
    return {
        "tx_power_dbm": tx_power_dbm,
        "tx_gain_dbi": tx_gain,
        "eirp_dbm": eirp,
        "fspl_db": fspl,
        "atm_loss_db": atmospheric_loss_db,
        "misc_loss_db": misc_loss_db,
        "rx_gain_dbi": rx_gain,
        "rx_power_dbm": p_rx,
        "noise_floor_dbm": noise_power,
        "snr_db": snr,
        "link_margin_db": margin,
    }
 
 
# === Compare LEO vs GEO link budget ===
 
print("=" * 60)
print("LEO Starlink-like downlink (550 km, Ku-band)")
print("=" * 60)
leo = link_budget(
    tx_power_dbm=40,           # 10W transmit
    tx_antenna_diameter_m=0.7, # phased array equivalent
    rx_antenna_diameter_m=0.5, # user terminal
    distance_km=550,           # LEO altitude
    frequency_ghz=12,          # Ku-band downlink
)
for k, v in leo.items():
    print(f"  {k}: {v:.1f}")
 
print()
print("=" * 60)
print("GEO commercial TV downlink (35786 km, Ku-band)")
print("=" * 60)
geo = link_budget(
    tx_power_dbm=50,           # 100W transmit (high-power transponder)
    tx_antenna_diameter_m=2.0, # satellite dish
    rx_antenna_diameter_m=0.6, # home dish
    distance_km=35786,         # GEO altitude
    frequency_ghz=12,          # Ku-band downlink
)
for k, v in geo.items():
    print(f"  {k}: {v:.1f}")
 
print(f"\nFSPL difference (GEO vs LEO): {geo['fspl_db'] - leo['fspl_db']:.1f} dB")
print("This is why LEO needs much less power for the same data rate.")

SATCOM Interception

Many satellite communications are transmitted in the clear or with weak encryption. Intercepting satellite downlinks is a well-documented intelligence collection method.

What’s Vulnerable

DVB-S/DVB-S2 downlinks: TV broadcasts are unencrypted by design. But the same transponders carry data feeds, news agency video, military video links (historically), and internet traffic.

VSAT terminals: Very Small Aperture Terminals are used by ships, remote offices, military FOBs. Many commercial VSAT systems transmit data with weak or no encryption. The return channel (terminal → satellite) is lower power and harder to intercept, but the forward channel (satellite → terminal) covers a wide beam area and can be received by anyone with a dish.

Iridium (legacy): Older Iridium phones transmitted unencrypted voice. Modern Iridium uses encryption, but metadata (who calls whom, when, from where) may still be exposed.

Collection Setup

Ground station requirements:
- Satellite dish (0.6-2.4m depending on band)
- LNB (Low Noise Block downconverter) for the right band
- SDR or dedicated DVB-S2 receiver
- Antenna pointing (manual or motorized tracking)

For GEO: point dish, done. Satellite doesn't move.
For LEO: need tracking mount or phased array.

Connection to EW-Recon: This IS your SIGINT collection topic applied to space. The same RF principles, same signal processing, different link geometry.

OPSEC Implications

If your own forces use SATCOM:

  • Assume the adversary can intercept the downlink in the satellite’s beam coverage area
  • Use end-to-end encryption, not just link encryption
  • Minimize transmission duration and content
  • Be aware that even encrypted traffic reveals metadata (timing, volume, location via beam)

Anti-Satellite (ASAT) Threats

Satellites are vulnerable targets. They follow predictable orbits, have limited maneuver fuel, and their ground systems are high-value targets.

Kinetic ASAT

Direct-ascent missiles that destroy satellites physically.

TestNationYearTarget AltitudeDebris Impact
FY-1CChina2007865 km3000+ tracked debris, worst debris event in history
Microsat-RIndia2019283 kmLow orbit, most debris decayed quickly
Cosmos 1408Russia2021480 km1500+ debris, endangered ISS

Intelligence implication: Kinetic ASAT creates a debris field that threatens ALL satellites at that altitude, including the attacker’s own. It is an inherently escalatory capability.

Co-Orbital ASAT

A satellite launched into a similar orbit that approaches and inspects, disables, or captures the target.

  • Russia’s Luch/Olymp satellite repeatedly approached Intelsat and French military satellites in GEO
  • Russia tested “inspector” satellites that released sub-satellites — possible kinetic kill vehicles
  • Less detectable than direct-ascent, more deniable

Cyber

  • Ground station attack: compromise the satellite operations center, upload malicious commands
  • Uplink spoofing: inject false commands to the satellite
  • Supply chain: compromised components before launch

Electronic Warfare

  • Uplink jamming: overwhelm the satellite’s receiver with noise → denial of service
  • Downlink jamming: local jamming of ground receivers → area-specific denial
  • Spoofing: transmit false signals that mimic the satellite (GPS spoofing is the best-known example)
def compute_jammer_effectiveness(jammer_power_dbm, jammer_antenna_gain_dbi,
                                  jammer_distance_km, signal_rx_power_dbm,
                                  frequency_ghz):
    """
    Estimate jamming-to-signal ratio (J/S).
    J/S > 0 dB means jammer overpowers the signal.
    """
    # Jammer received power at the target receiver
    fspl_jammer = free_space_path_loss(jammer_distance_km, frequency_ghz)
    jammer_rx_power = jammer_power_dbm + jammer_antenna_gain_dbi - fspl_jammer
 
    j_s = jammer_rx_power - signal_rx_power_dbm
 
    return {
        "jammer_rx_power_dbm": jammer_rx_power,
        "signal_rx_power_dbm": signal_rx_power_dbm,
        "j_s_ratio_db": j_s,
        "effective": j_s > 0,
    }
 
# Uplink jamming example: ground jammer targeting a GEO satellite
print("Uplink jamming of GEO satellite:")
result = compute_jammer_effectiveness(
    jammer_power_dbm=60,           # 1 kW jammer
    jammer_antenna_gain_dbi=40,    # 3m dish aimed at satellite
    jammer_distance_km=35786,      # GEO
    signal_rx_power_dbm=-90,       # typical uplink signal at satellite
    frequency_ghz=14,              # Ku-band uplink
)
for k, v in result.items():
    print(f"  {k}: {v}")

Laser Dazzle/Blind

Ground-based lasers can temporarily blind or permanently damage optical satellite sensors. China and Russia have developed mobile laser systems for this purpose. Lower-power dazzle is temporary (sensor saturated during pass); high-power can physically damage the detector.


Space Situational Awareness

Tracking Objects in Orbit

space-track.org — US Space Force catalog of tracked objects. Free registration required.

  • TLE (Two-Line Element) sets for ~47,000 tracked objects
  • Used to predict satellite positions (with SGP4 propagator)
# pip install sgp4
from sgp4.api import Satrec, jday
from datetime import datetime
 
def predict_satellite_position(tle_line1, tle_line2, dt):
    """
    Predict satellite position from TLE.
    Returns: latitude, longitude, altitude (km)
    """
    satellite = Satrec.twoline2rv(tle_line1, tle_line2)
 
    jd, fr = jday(dt.year, dt.month, dt.day,
                  dt.hour, dt.minute, dt.second)
 
    error, position, velocity = satellite.sgp4(jd, fr)
    if error != 0:
        return None
 
    # position is in TEME (True Equator Mean Equinox) km
    # Convert to lat/lon/alt (simplified — full conversion needs astropy or similar)
    x, y, z = position
    r = np.sqrt(x**2 + y**2 + z**2)
    alt = r - 6371  # approximate altitude
 
    lat = np.degrees(np.arcsin(z / r))
 
    # Approximate longitude (ignoring TEME→ECEF rotation for demo)
    gmst = 280.46061837 + 360.98564736629 * (jd + fr - 2451545.0)
    lon = np.degrees(np.arctan2(y, x)) - gmst % 360
    lon = ((lon + 180) % 360) - 180
 
    return {"lat": lat, "lon": lon, "alt_km": alt}
 
 
# Example: ISS TLE (update from space-track.org for current data)
tle1 = "1 25544U 98067A   24075.50000000  .00016717  00000-0  30000-3 0  9993"
tle2 = "2 25544  51.6400 247.4000 0006703 130.5360 325.0288 15.49973600450000"
 
pos = predict_satellite_position(tle1, tle2, datetime(2024, 3, 15, 12, 0, 0))
if pos:
    print(f"ISS position: {pos['lat']:.2f}N, {pos['lon']:.2f}E, {pos['alt_km']:.0f} km")

Kessler Syndrome

A cascading chain of collisions that fills an orbital shell with debris, making it unusable. Named after NASA scientist Donald Kessler who predicted it in 1978.

Current risk: LEO is increasingly crowded with large constellations (Starlink 6000+, OneWeb 648). Debris from ASAT tests (China 2007, Russia 2021) persists for decades at those altitudes. A collision between two large objects could trigger a cascade.

Intelligence implication: Kessler syndrome at 500-800 km altitude would deny LEO to ALL nations. The proliferation of ASAT capabilities is therefore a strategic concern even without direct conflict — an accidental or miscalculated test could degrade the space environment for decades.


Exercises

  1. Compute the link budget for a hypothetical military SATCOM system:
    • GEO satellite at 35786 km, X-band (8 GHz downlink)
    • Satellite EIRP: 55 dBW, ground terminal: 1.8m dish
  2. What is the link margin? Is the link viable?
  3. Now compute for a jammer 50km from the ground terminal with 10W power and 20 dBi antenna. What J/S ratio does it achieve?

Exercise 2: SATCOM Vulnerability Assessment

For a commercial VSAT system used at a remote military outpost:

  1. List 3 electronic attack vectors
  2. List 3 cyber attack vectors
  3. For each, describe a mitigation measure
  4. Which is the most likely threat and why?

Exercise 3: ASAT Threat Assessment

A nation announces a “space debris cleanup test” using a co-orbital vehicle to rendezvous with a defunct satellite at 800km altitude.

  1. What dual-use capability does this demonstrate?
  2. What intelligence indicators would help assess whether this is purely for debris cleanup?
  3. Apply ACH with 3 hypotheses

Self-Test Questions

  1. Why is GEO SATCOM latency ~500ms round-trip?
  2. What is FSPL and why does it dominate the satellite link budget?
  3. A VSAT terminal transmits at 14 GHz with a 1.2m dish. What is its approximate antenna gain?
  4. Why did the 2007 Chinese ASAT test cause more long-term damage than the 2019 Indian test?
  5. What is the difference between uplink jamming and downlink jamming? Which is harder to execute?

See also: Multi-Source Intelligence Fusion | Satellite Fundamentals | Sensor Types and Imagery Next: Case Study - Monitoring Military Installations