Satellite Standards¶
Overview¶
The satellite protocol stack implements CCSDS (Consultative Committee for Space Data Systems) standards the internationally agreed protocols used by virtually all spacefaring nations for space-ground communication. These protocols handle everything from packaging telemetry data on a Mars rover to commanding the Hubble Space Telescope.
About CCSDS
CCSDS is an international body of space agencies (NASA, ESA, JAXA, ROSCOSMOS, and others) that develops standards for space communication and data systems. Founded in 1982, CCSDS standards are used by over 900 missions.
CCSDS Protocol Stack¶
┌─────────────────────────────────────────────────────────────────┐
│ Application Layer │
│ (Instrument data, commands, housekeeping) │
├─────────────────────────────────────────────────────────────────┤
│ Space Packet Protocol │
│ (CCSDS 133.0-B-2 / Blue Book) │
│ Packetization: segmentation, APID routing │
├─────────────────────────────────────────────────────────────────┤
│ TM Transfer Frame │ TC Transfer Frame │
│ (CCSDS 132.0-B-3) │ (CCSDS 232.0-B-4) │
│ Downlink framing + sync │ Uplink framing + CLTU │
├───────────────────────────────┼──────────────────────────────────┤
│ TM Physical │ TC Physical │
│ (Convolutional/LDPC │ (BCH encoding, CLTU │
│ coding, modulation) │ start/tail sequences) │
├───────────────────────────────┴──────────────────────────────────┤
│ RF / Physical Layer │
│ (S-band, X-band, Ka-band, Optical) │
└─────────────────────────────────────────────────────────────────┘
Layer Responsibilities¶
| Layer | Standard | Direction | Purpose |
|---|---|---|---|
| Space Packet | CCSDS 133.0-B-2 | Both | Application data unit; APID-addressed packetization |
| TM Transfer Frame | CCSDS 132.0-B-3 | Downlink (space→ground) | Fixed-length framing, virtual channels, synchronization |
| TC Transfer Frame | CCSDS 232.0-B-4 | Uplink (ground→space) | Variable-length commands with CLTU encoding |
| Sync & Channel | CCSDS 131.0-B-4 | Both | Coding, modulation, physical layer |
TM Downlink vs TC Uplink¶
The space link is fundamentally asymmetric downlink and uplink face different challenges:
graph LR
subgraph Spacecraft
A[Instruments] --> B[Space Packets]
B --> C[TM Frames]
C --> D[Convolutional<br>+ RS Coding]
D --> E[Modulator<br>TX]
end
subgraph "Space Link"
E -->|"Downlink (high rate)<br>10 Mbps - 1 Gbps"| F[Ground Station<br>RX]
G[Ground Station<br>TX] -->|"Uplink (low rate)<br>1 kbps - 1 Mbps"| H[Receiver<br>RX]
end
subgraph Ground
F --> I[Frame Sync]
I --> J[Decode + CRC]
J --> K[Packet Extract]
end | Property | TM (Downlink) | TC (Uplink) |
|---|---|---|
| Direction | Space → Ground | Ground → Space |
| Data rate | High (Mbps–Gbps) | Low (kbps–Mbps) |
| Frame size | Fixed (typ. 1115 bytes) | Variable (≤1024 bytes) |
| Sync | ASM (Attached Sync Marker) | CLTU start sequence |
| Error handling | CRC + FEC (Reed-Solomon, LDPC) | BCH + CRC + retransmit |
| Priority | Continuous stream | On-demand commands |
| Virtual Channels | Up to 8 (multiplexed) | Up to 64 (MAP channels) |
| Reliability | Tolerates occasional loss | Must be reliable (COP-1) |
Standards Covered¶
| Standard | Document | Module | Status | Description |
|---|---|---|---|---|
| Space Packet Protocol | CCSDS 133.0-B-2 | ccsds-spp | ✅ Implemented | Application data packetization |
| TM Space Data Link | CCSDS 132.0-B-3 | ccsds-tmtc | ✅ Implemented | Telemetry framing & sync |
| TC Space Data Link | CCSDS 232.0-B-4 | ccsds-tmtc | ✅ Implemented | Telecommand framing & CLTU |
| AOS Space Data Link | CCSDS 732.0-B-4 | 🔲 Planned | Advanced Orbiting Systems | |
| Proximity-1 | CCSDS 211.0-B-5 | 🔲 Planned | Relay link (Mars orbiters) |
Real Missions Using CCSDS¶
| Mission | Agency | Standards Used | Notable |
|---|---|---|---|
| International Space Station | NASA/ESA/JAXA | SPP, TM, TC, AOS | Multi-agency interoperability |
| Mars Curiosity/Perseverance | NASA/JPL | SPP, TM, Proximity-1 | 20+ minute light delay |
| Hubble Space Telescope | NASA | TM, TC | 30+ years of CCSDS operations |
| James Webb Space Telescope | NASA/ESA | SPP, TM, TC | L2 orbit, 25 Gbits/day downlink |
| Rosetta/Philae | ESA | SPP, TM, TC | Comet rendezvous |
| Voyager 1 & 2 | NASA | Legacy (pre-CCSDS) | Protocol updates via TC uplink |
| GOES Weather Satellites | NOAA | TM, AOS | Continuous real-time downlink |
| Chang'e Lunar Program | CNSA | SPP, TM, TC | Chinese CCSDS implementation |
Interoperability
CCSDS exists specifically so that missions from different agencies can share ground station infrastructure. A NASA ground station can receive ESA telemetry and vice versa the framing and packet protocols are identical.
Link Budget Basics¶
Understanding why the protocol stack exists requires understanding the link budget the calculation of signal strength from transmitter to receiver across the space link:
Link Budget Equation¶
Received Power (dBm) = P_tx + G_tx - L_path + G_rx - L_system
Where:
P_tx = Transmitter power (dBm)
G_tx = Transmit antenna gain (dBi)
L_path = Free-space path loss = 20·log₁₀(4πd/λ) (dB)
G_rx = Receive antenna gain (dBi)
L_system = Implementation losses (dB)
Example: Mars Link Budget¶
| Parameter | Value | Notes |
|---|---|---|
| Distance | 2.25 AU (avg) | 337 million km |
| Frequency | 8.4 GHz (X-band) | λ = 3.57 cm |
| Path loss | 278 dB | Enormous! |
| TX power | 35 W (15.4 dBW) | Spacecraft TWTA |
| TX antenna | 2m HGA (+37 dBi) | High-gain dish |
| RX antenna | 34m DSN (+68 dBi) | Deep Space Network |
| Received Eb/N₀ | ~3.5 dB | Just above threshold |
| Required Eb/N₀ | ~1.0 dB (Turbo code) | With powerful FEC |
| Achievable rate | ~6 Mbps | At closest approach |
Why Protocol Efficiency Matters
At Mars distance, every bit costs energy. A 6-byte packet header overhead (CCSDS SPP) is far more efficient than IP's 20-40 bytes. Transfer frame CRC and FEC protect against the ~10⁻¹ raw BER (bit error rate) that space links experience.
Protocol Design Implications¶
The harsh link environment drives protocol design choices:
| Link Constraint | Protocol Response |
|---|---|
| Very low Eb/N₀ (weak signal) | Powerful FEC (Turbo, LDPC, concatenated codes) |
| Long propagation delay (minutes-hours) | No real-time ARQ; forward error correction preferred |
| Asymmetric rates (downlink >> uplink) | Separate TM and TC frame designs |
| Limited onboard power | Efficient fixed-length TM frames (no overhead negotiation) |
| Multi-mission ground stations | CCSDS standardization enables antenna sharing |
| Data priority (science vs housekeeping) | Virtual channels with priority scheduling |
Architecture¶
graph TD
subgraph "Our Implementation"
A[Application Data] --> B[ccsds_spp<br>Space Packet Protocol]
B --> C[ccsds_tm<br>TM Transfer Frame]
B --> D[ccsds_tc<br>TC Transfer Frame]
C --> E[ASM + CRC<br>+ FEC coding]
D --> F[CLTU encoding<br>BCH + start/tail]
E --> G[Bitstream output<br>for modulator]
F --> G
end
style B fill:#4a4,stroke:#333,color:#fff
style C fill:#28a,stroke:#333,color:#fff
style D fill:#a82,stroke:#333,color:#fff Build¶
# Build all satellite modules
make -C src/satellite/ccsds_spp
make -C src/satellite/ccsds_tm
make -C src/satellite/ccsds_tc
# Run demos
./build/ccsds_spp_demo
./build/ccsds_tm_demo
./build/ccsds_tc_demo
References¶
- CCSDS 130.0-G-4: Overview of Space Communications Protocols (Green Book)
- CCSDS 133.0-B-2: Space Packet Protocol (Blue Book)
- CCSDS 132.0-B-3: TM Space Data Link Protocol (Blue Book)
- CCSDS 232.0-B-4: TC Space Data Link Protocol (Blue Book)
- CCSDS 131.0-B-4: TM Synchronization and Channel Coding (Blue Book)
- CCSDS.org All Blue Books freely available