B.1 Why satellites still matter
Cellular and fiber together cover most of where humans live. They do not cover oceans, polar regions, deserts, jungles, mountain ranges, the inside of moving aircraft, ships at sea, scientific stations on glaciers, military forward operating bases, or the air above 2 km. They also fail spectacularly during natural disasters, when fiber is cut and towers lose backhaul. Satellites cover all of those.
Satellites also do something cellular cannot do well: broadcast. One satellite can transmit a single video stream that 50 million homes receive simultaneously. To do that with cellular, you would need 50 million unicast streams. This is why satellite TV (DirecTV in the US, Sky in Europe, Dish in Asia) was a $50 billion/year industry through the 2010s.
Mailbox vs phone analogy. A phone is point-to-point. You call exactly one person. A mailbox is point-to-many. The mailman delivers one envelope to thousands of houses on his route, copying the message at the printer once and distributing many. Satellite broadcast is the printer-and-mailman model: one expensive uplink, one transponder, one downlink that blankets a continent. Cellular is the phone model: one base station per few hundred users.
Modern uses of satellites:
- TV broadcast. DirecTV, Sky, Dish. Geostationary, Ku/Ka band. Declining as streaming (cellular and fiber) takes over.
- Telephony. Iridium, Inmarsat, Thuraya. For ships, aircraft, polar expeditions, war zones. iPhone 14+ has emergency satellite messaging via Globalstar.
- Broadband internet. Starlink (LEO), OneWeb (LEO), Viasat (GEO HTS), Hughesnet (GEO HTS).
- Navigation. GPS, GLONASS, Galileo, BeiDou, QZSS. MEO orbits.
- Earth observation. Weather (GOES, Meteosat, Himawari), military (NRO), commercial (Planet, Maxar).
- Scientific. Hubble, JWST, ISS, Mars rovers, deep-space probes.
- Disaster recovery. When terrestrial fails, a satellite phone or VSAT terminal works.
B.2 Frequency allocations
Satellite spectrum is divided into bands by international treaty (ITU radio regulations).
| Band | Range (GHz) | Use |
|---|---|---|
| L | 1-2 | GPS, mobile satphone, Inmarsat |
| S | 2-4 | weather radar, some satphones |
| C | 4-8 | INTELSAT, weather, older fixed satellite |
| X | 8-12 | military, deep space |
| Ku | 12-18 | DirecTV, Sky, VSAT internet |
| Ka | 26-40 | HTS, Starlink, Viasat |
| V | 40-75 | future HTS, some 5G |
Lower bands (L, S, C) penetrate weather (rain, clouds) better but offer less bandwidth. Higher bands (Ka, V) offer huge bandwidth but suffer from rain attenuation, especially at Ka. Modern HTS systems compensate with spot beams and adaptive coding.
B.3 Orbital mechanics: deriving GEO altitude
Why is geostationary orbit at 35,786 km? Kepler's third law gives it to us in three lines. Newtonian gravity says the gravitational acceleration at radius from Earth's center is
where N·m²/kg² is the gravitational constant and kg is Earth's mass. For circular orbit, gravity provides the centripetal acceleration:
So , and the orbital period is
This is Kepler's third law: . For geostationary, we want sidereal day = 86,164 seconds (not 86,400; Earth rotates 360 degrees relative to the stars in slightly less than 24 hours). Solve:
Plugging numbers: m km from Earth's center. Subtract Earth's radius (6,378 km) to get altitude: 35,786 km. About 6 Earth radii up.
Three GEO satellites spaced 120 degrees apart cover essentially all of the equator and mid-latitudes. Polar regions are not visible from GEO (look angle goes negative beyond about ±81 degrees latitude).
GEO ring (35,786 km altitude)
.-‾‾‾‾‾‾‾‾‾‾-.
.‾ ‾.
/ ___ \
| / \ |
| | ⊕ | | <- Earth (6,378 km radius)
| \___/ |
\ /
‾. .‾
‾.-________.-‾B.4 Orbit classes
By altitude:
- LEO (Low Earth Orbit). 200-2000 km. Short orbital period (90-120 min). Low latency, low path loss, but small footprint. Each satellite sweeps overhead in 5-10 minutes. Many satellites needed for continuous coverage. Examples: ISS at 400 km, Hubble at 540 km, Starlink at 550 km, Iridium at 780 km.
- MEO (Medium Earth Orbit). 2000-35,786 km. Moderate altitude. Most navigation constellations live here. Period 6-12 hours. Example: GPS at ~20,200 km, Galileo at ~23,200 km.
- GEO (Geosynchronous Equatorial Orbit). 35,786 km exactly. Period 24 hours. Apparent fixed position over the equator. Used for broadcast TV, weather, fixed-point communications. Example: every DirecTV satellite, GOES-East/West, Inmarsat fleet.
- HEO (Highly Elliptical Orbit). Specialized orbits with high apogee and low perigee. The Russian Molniya orbit (12-hour period, 63.4 degree inclination, apogee over the northern hemisphere) was used for Soviet communications because GEO is poor at high latitudes. Modern: Sirius XM uses Tundra orbit (24-hour HEO) for North American coverage.
- Sun-synchronous. Specialized LEO with inclination ~98 degrees and altitude ~600-800 km, designed so the satellite passes over each point on Earth at the same local solar time every day. Ideal for Earth observation (consistent lighting). Most weather and imagery satellites are sun-synchronous.
B.5 Look angle calculations
For a fixed ground station to point at a GEO satellite, you need two angles.
- Elevation angle (ε). Above the horizon, 0° at horizon, 90° straight up.
- Azimuth angle (Az). Compass direction, 0° = north, 90° = east, 180° = south, 270° = west.
For ground station at latitude and longitude , looking at a GEO satellite at longitude (on the equator), define the central angle between station and satellite subpoint:
Then the elevation:
where = Earth radius, = GEO radius (42,160 km). And the azimuth:
(in northern hemisphere; with appropriate sign adjustments by hemisphere). Most setup software automates this. The reason GEO dishes are bolted in place is that the angles are constant in time. LEO dishes (Starlink) must track, which is why they use phased arrays: no moving parts, the beam steers electronically.
B.6 Orbital perturbations and station-keeping
Real orbits drift due to:
- Earth's oblateness (). Earth is not a perfect sphere; it bulges at the equator. The extra mass torques the orbit, causing nodal regression and apsidal motion. For sun-synchronous orbits, is the desired effect; the orbit is chosen so exactly cancels Earth's annual motion around the Sun.
- Sun and Moon gravity. Third-body perturbations on GEO satellites cause inclination drift of ~0.85 degrees/year. To stay within ±0.05° of equatorial, GEO satellites burn fuel for north-south station-keeping (NSSK) every few weeks.
- Solar radiation pressure. Sunlight pushes on solar panels. Cumulative effect on lightweight satellites is meaningful.
- Atmospheric drag. For LEO below ~700 km, residual atmosphere drags the satellite. Without periodic boosts, ISS would deorbit in months. Starlink at 550 km needs boosts every few months and naturally deorbits in 5 years if abandoned (a deliberate design choice for debris mitigation).
Station-keeping fuel limits satellite life. A typical GEO satellite has 15 years of fuel. After that, it is moved to a graveyard orbit 300 km above GEO and turned off.
B.7 Effects on communications
- Doppler shift. LEO satellites move 7 km/s relative to the ground. At 12 GHz, that is ±280 kHz of Doppler at zenith pass. Receivers must track frequency aggressively. GEO has no Doppler (apparent zero motion) which is why it dominated TV broadcast.
- Path loss. GEO link loss is huge: at 12 GHz, free-space loss to 36,000 km is dB. A GEO TV signal arriving at your dish is roughly W. Recovered only because your dish has 35-40 dBi gain and the receiver has a low-noise amplifier (LNA) with noise temperature 50-100 K.
- Latency. Round-trip GEO latency is ms. Adds noticeable delay to voice calls and is fatal for interactive applications (gaming, video calls). LEO at 550 km has round-trip latency of ~4 ms (plus processing), comparable to terrestrial fiber.
B.8 Subsystems of a satellite
A satellite (the bus) has several subsystems, each engineered for the harshest environment a human-made object lives in.
- Payload. The mission-specific equipment. For comm satellites: transponders. For Earth observation: cameras, radars. For GPS: atomic clocks and signal generators.
- TT&C (Telemetry, Tracking, and Command). The ground's link to the satellite for housekeeping. Telemetry: data flowing down (sensor readings, status). Tracking: ground-station ranging measurements that determine the satellite's orbit. Command: data flowing up (configuration changes, firmware updates, station-keeping burns).
- AOCS (Attitude and Orbit Control System). Sensors (star trackers, sun sensors, gyros, magnetometers, GPS receivers for LEO) measure orientation. Actuators (reaction wheels, magnetorquers, hydrazine thrusters, electric ion thrusters) correct it. Active attitude control is essential because a satellite in orbit has no friction to settle it.
- Power. Solar panels (typical 1-25 kW for comm sats) plus rechargeable batteries (Li-ion or NiH₂) for eclipse periods (~70 minutes for LEO, up to 70 minutes/day for GEO during equinoxes).
- Thermal. Vacuum has no convection. Heat is rejected only by radiation. Multi-layer insulation (MLI), heat pipes, radiators, and active heaters keep components in their operating range (-30 to +60 °C typical).
- Structure. Withstands launch loads (5-10 g of acceleration, severe vibration) and on-orbit thermal cycling.
- Propulsion. Chemical (hydrazine, bipropellant) or electric (Hall thrusters, gridded ion). Modern trend: electric propulsion for station-keeping (10x more efficient by mass than chemical).
B.9 Transponder types
The payload's heart is the transponder. Two architectures.
- Bent-pipe (transparent). Simple analog repeater. Receives on uplink frequency, amplifies, frequency-translates (mixer with local oscillator), amplifies again, retransmits on downlink frequency. Whatever was modulated up gets re-radiated down. Cheap, low-latency, but transparent to noise: any noise added on uplink propagates to downlink.
- Regenerative. The payload demodulates the uplink signal back to bits, processes them (perhaps switching between beams or applying error correction), and remodulates for downlink. More expensive and complex, but cleaner: noise resets at the satellite.
Modern HTS (high-throughput satellites) use multiple spot beams: focused antennas covering small geographic areas (spots a few hundred km across). Frequency reuse across spots multiplies capacity. A single GEO HTS today can deliver 1 Tbps total throughput across 100+ spots.
B.10 Earth-station design
The ground side of a satellite link.
- Antenna. Parabolic dish for fixed stations, phased array for tracking. Diameter set by required gain. A 1.2 m DTH dish at 12 GHz: dBi. A 13 m INTELSAT teleport antenna at 4 GHz: dBi.
- LNA (low-noise amplifier). First-stage amplifier on the receive path. Its noise figure dominates the system noise temperature. Modern GaN/InP LNAs achieve noise figures below 1 dB (noise temperature ~75 K).
- HPA (high-power amplifier). Transmit amplifier. Klystrons or TWTAs traditionally; modern small terminals use solid-state SSPAs.
- Modem. Modulator/demodulator. Implements the air-interface waveform (DVB-S2 for satellite TV, DVB-RCS for VSAT, custom waveforms for HTS).
- Up/down converters. Mixers that translate between baseband/IF and RF.
- Tracking system. For non-GEO: motors driven by a controller that follows the satellite's predicted orbit. Phased-array terminals (Starlink) eliminate moving parts entirely.
G/T figure of merit. A receiving station's quality is summed up by the ratio in dB/K, where is antenna gain and is system noise temperature. Higher means a more sensitive station. INTELSAT Type A standard antennas have dB/K at 4 GHz. Starlink user terminals have dB/K at 12 GHz (much smaller dish, higher noise).
B.11 Satellite link budget
The Friis equation, with extra terms for satellite reality:
where:
- = atmospheric absorption (dB; depends on frequency and elevation)
- = pointing loss (dB; antenna mispointing)
- = rain attenuation (dB; severe at Ka band, ~10 dB during heavy rain at 30 GHz)
- = polarization mismatch (dB; usually <1 dB)
A worked Python computation:
import numpy as np
# DirecTV downlink at 12 GHz to 0.6 m home dish
f = 12e9 # Hz
c = 3e8
wavelength = c/f # m
P_t_dBW = 17 # 50 W satellite TX
G_t_dBi = 40 # spot beam gain
G_r_dBi = 35 # 0.6 m dish at 60% efficiency
d = 36000e3 # m, GEO altitude
# Free-space path loss
FSPL = 20*np.log10(4*np.pi*d/wavelength)
print(f"FSPL: {FSPL:.1f} dB")
# Other losses
L_a = 0.5 # atmospheric, mostly water vapor
L_rain = 2.0 # rain margin, light rain
L_p = 0.5 # pointing
L_misc = 1.0 # cable, polarization, etc.
# Received power
P_r = P_t_dBW + G_t_dBi + G_r_dBi - FSPL - L_a - L_rain - L_p - L_misc
print(f"Received: {P_r:.1f} dBW = {10**(P_r/10)*1000:.3g} mW")
# Receiver noise floor
k = 1.38e-23
T_sys = 100 # K, modern LNB
B = 36e6 # Hz, transponder bandwidth
N_dBW = 10*np.log10(k*T_sys*B)
print(f"Noise: {N_dBW:.1f} dBW")
print(f"SNR: {P_r - N_dBW:.1f} dB")Output approximately: FSPL 205 dB, received -114 dBW, noise -140 dBW, SNR 26 dB. Comfortable margin for DVB-S2 demodulation, which needs about 6 dB Eb/N0 for QPSK with FEC.
B.12 Multiple access on satellites
- FDMA. Each user on a different frequency. Simple, used in early systems. Suffers from intermodulation when the satellite TWTA is driven near saturation.
- TDMA. Users in time slots. Synchronization is critical: GEO round-trip is 240 ms, so guard times must accommodate timing uncertainty.
- CDMA. Spread spectrum, anti-jam friendly. Used in some military systems.
- DAMA (Demand-Assigned Multiple Access). Bandwidth-on-demand. Users request slots when they need them and release when done. Used in VSAT networks (oil rigs, banks).
- MF-TDMA. Multi-frequency TDMA, the standard for modern HTS user terminals.
B.13 Specific satellite systems
Iridium. 66 LEO satellites at 780 km, polar orbits. Cross-linked: each satellite has 4 inter-satellite L-band links (forward, behind, left, right). A call from Greenland to Antarctica is routed entirely in space without touching the ground. Frequency: L-band uplink/downlink. Used for satphones, ship tracking, IoT (Iridium Short Burst Data).
INMARSAT. 14 GEO satellites, L-band. Maritime safety (GMDSS), aviation cockpit communications, satphones (BGAN terminals). Major business: airline IFE/connectivity.
INTELSAT. Largest legacy GEO operator. 50+ satellites, mostly C/Ku band. Television trunking, telephony backhaul, government.
Modern HTS. Viasat-3 (1 Tbps per satellite, geostationary, Ka band, multiple spot beams). Hughesnet Jupiter. SES O3b mPOWER (MEO HTS for low-latency broadband to ships and remote sites).
Starlink (SpaceX). As of 2025, 6,000+ LEO satellites at 540-570 km in shells of various inclinations. Inter-satellite laser links (every Gen2 satellite has 4 lasers, ~100 Gbps each). User terminals: phased-array dishes (~500 mm by 350 mm) with ~9 dB/K G/T, electronic beam steering. End-user throughput 100-300 Mbps down, 20-50 Mbps up. Latency 25-40 ms. Cost: ~$120/month residential. Has changed connectivity in remote areas globally (Ukraine war, Pacific islands, rural America).
OneWeb. ~600 LEO satellites at 1200 km. Lower density than Starlink, business focus (enterprise, government, maritime). Now merged with Eutelsat.
Telesat Lightspeed. Canadian LEO planned for 2026+. ~300 satellites, polar coverage focus.
B.14 GPS in detail
Now let's pull GPS apart.
Constellation. 31 satellites operational, 24 nominal slots in 6 orbital planes. Inclination 55°. Altitude ~20,200 km. Orbital period 11h 58min (so a satellite passes over the same spot every two days). MEO orbit, fast enough to need Doppler tracking but slow enough to be visible for hours at a time.
Signals. L1 at 1575.42 MHz (civilian C/A code, military P(Y) code, modernized M-code). L2 at 1227.60 MHz (military, plus civilian L2C). L5 at 1176.45 MHz (civilian, modernized, designed for safety-of-life applications). All signals are CDMA: each satellite has a unique pseudo-random noise (PRN) code. The receiver despreads to separate satellites.
Power level at receiver. GPS signal arrives at W (about -130 dBm). Below the thermal noise floor at the antenna by ~15 dB. Recovered by correlating with the satellite's known PRN code, which gives ~43 dB of processing gain (the spreading factor 1023 chips times the integration over 1 ms, plus longer integration improves SNR by another 10-20 dB).
Timing. Each satellite carries multiple atomic clocks (cesium and rubidium). They are synchronized to GPS time, kept within nanoseconds of each other through ground-station corrections uploaded daily. Each satellite broadcasts its current time and its ephemeris (orbit parameters).
Pseudorange measurement. The receiver measures how long the signal took to arrive (from satellite transmit time stamped in the message to receiver-local receive time). Multiply by to get distance. The catch: the receiver's clock is not synchronized to GPS time; it has a clock bias (in seconds, roughly).
Position solution. Let receiver position be and clock bias . For each visible satellite at known position and known transmit time, the measured pseudorange is
Four unknowns (), so we need at least 4 satellites. The system is nonlinear (because of the square root); standard approach is iterative least squares: linearize around an initial guess, solve for corrections, iterate to convergence.
import numpy as np
# Satellite positions (ECEF, meters) and pseudoranges (m)
sats = np.array([
[15.6e6, 7.5e6, 21.2e6],
[-2.4e6, 17.8e6, 19.5e6],
[10.9e6, -8.3e6, 22.7e6],
[-13.4e6, 6.2e6, 19.8e6],
])
rho = np.array([22.0e6, 21.4e6, 22.6e6, 23.1e6])
# Iterative least squares
x = np.array([0.0, 0.0, 0.0, 0.0]) # initial guess: Earth center, zero bias
c = 2.998e8
for _ in range(10):
# Predicted ranges
diff = sats - x[:3]
r = np.linalg.norm(diff, axis=1)
rho_pred = r + c * x[3]
# Jacobian
H = np.zeros((4, 4))
H[:, :3] = -diff / r[:, None]
H[:, 3] = c
# Solve normal equations
dx = np.linalg.solve(H, rho - rho_pred)
x += dx
if np.linalg.norm(dx[:3]) < 1e-3:
break
print(f"Position: {x[:3] / 1000} km")
print(f"Clock bias: {x[3] * 1e9:.1f} ns")This is the kernel of every GPS receiver, plus Kalman filtering for tracking and ionospheric/tropospheric corrections.
Why exactly 4 satellites? Three would give you position if your clock were perfect (three spheres intersect at two points; one is on Earth). But your clock is not perfect. The 4th satellite's pseudorange lets you solve for the clock bias as a fourth unknown. This means GPS receivers don't need expensive atomic clocks; they get nanosecond-accurate time as a free byproduct of computing position. Many timing applications (cell towers, financial trading, power grids) use GPS purely for the time output, ignoring position. Network operators call this "GPS disciplined oscillator."
Time accuracy: ~10 ns. Position accuracy with C/A code: 5-10 m horizontal under good conditions. With dual-frequency (L1+L5) corrections: 1-2 m. With differential GPS: <1 m. With RTK (Real-Time Kinematic): centimeters.
B.15 Differential GPS and RTK
A reference receiver at a known location measures GPS errors (atmospheric delays, ephemeris errors, clock errors) and broadcasts corrections. Nearby receivers apply the corrections, removing common-mode errors.
RTK. Same idea, but the reference station also broadcasts the carrier-phase measurement, allowing the rover to resolve integer ambiguities of the carrier (1500 MHz wavelength is 19 cm; resolving the integer count of cycles gives sub-cm precision). Used in John Deere precision agriculture for autonomous tractors plowing within a few centimeters of last year's row, in surveying and construction laser leveling, and in autonomous-vehicle ground truth.
B.16 Other GNSS
- GLONASS (Russia). 24 satellites in MEO. Uses FDMA (each satellite on a different frequency) instead of GPS's CDMA. Useful complement to GPS at high latitudes.
- Galileo (EU). 28 satellites. Pure civilian, separate from any military service. Fully operational since 2020.
- BeiDou (China). 35+ satellites including some GEO and IGSO. Strong service over Asia-Pacific.
- QZSS (Japan). Regional. Satellites in inclined geosynchronous orbits over Japan, mostly serving high-buildings urban areas where standard GPS struggles.
Modern multi-GNSS receivers (in your phone) lock onto satellites from all four systems plus SBAS (satellite-based augmentation), giving much better availability and accuracy than GPS alone.
B.17 Hardware-security tie-ins for satellite
- GPS jamming. Trivial. A $20 jammer from AliExpress drowns L1 in noise within a 100 m radius. Used by cargo thieves to break tracking, by truckers to evade fleet management, and by adversaries on battlefields. Civilian aviation regularly suffers GPS interference in conflict zones. Detection: monitor signal-strength anomalies and redundant inertial navigation.
- GPS spoofing. Harder but feasible. An SDR transmits fake GPS signals stronger than real ones. Receivers lock on and report whatever position the spoofer wants. Demonstrated against ships (notably the 2017 Black Sea incident, where 20 ships' AIS reported them at airports inland) and against drones (Iran reportedly spoofed an RQ-170 in 2011). Defense: dual-frequency, encrypted military codes (P(Y), M-code), antenna-pattern processing (CRPA, controlled radiation pattern antennas).
- Satellite hijacking. Some commercial transponders have weak uplink authentication, enabling "broadcast hijacking" where pirates inject signals into a transponder. Captain Midnight did this to HBO in 1986. Modern HTS systems use stronger crypto.
- Iridium pager interception. Iridium's L-band downlink was largely unencrypted into the 2010s. Hobbyists with $30 of SDR hardware (gr-iridium tools) demodulated pager messages, voicemail, and other "low-security" traffic. Iridium has since improved encryption.
- Starlink hacking. A 2022 Black Hat talk demonstrated firmware extraction from a Starlink user terminal via voltage glitching of the boot ROM. SpaceX patched. The point stands: every consumer satellite terminal is a juicy target with general-purpose silicon inside.