Astro~/0.3
** Conformance / Proximity-1 Coding and Sync * PAGE 16 / 23
** Astro * Conformance
** /conformance/pxsc

Proximity-1 Coding and Sync

PICS proforma: what this package implements, clause by clause.

Conformance Statement for pkg/pxsc, CCSDS 211.2-B-3


A1.1 GENERAL INFORMATION

A1.1.1 Identification of PICS

FieldValue
Date of Statement (DD/MM/YYYY)23/08/2026
PICS Serial NumberASTRO-PXSC-PICS-001
System Conformance Statement Cross-ReferenceThis document

A1.1.2 Identification of Implementation Under Test (IUT)

FieldValue
Implementation Nameastro/pkg/pxsc
Implementation VersionSee go.mod / latest commit on main
Special ConfigurationSynchronizer frame-length bounds default to the Version-3 range
Other InformationGo library implementing the Proximity Link Transmission Unit, the annex C CRC-32, idle data generation, a stream synchronizer, and the convolutional encoder with a Viterbi decoder. LDPC is out of scope.

A1.1.3 Identification of Supplier

FieldValue
SupplierRavi Suhag
Contact Point for QueriesGitHub, github.com/ravisuhag/astro
Implementation Name(s) and Version(s)astro/pkg/pxsc (Go package)
System Name(s)Astro

A1.1.4 Identification of Specification

FieldValue
SpecificationCCSDS 211.2-B-3 (Proximity-1 Space Link Protocol, Coding and Synchronization Sublayer, Blue Book, Issue 3, October 2019)
Have any exceptions been required?Yes [X] No [ ], see A1.5

FeatureReferenceStatusSupport
PLTU structure: ASM, frame, CRC-32clause 3.2.2MY
ASM occupies the first 24 bitsclause 3.2.3.1MY
ASM pattern FAF320clause 3.2.3.2MY
Transfer frame immediately follows the ASMclause 3.2.4.2MY
Version-3 Transfer Frameclause 3.2.4.1MY: via pkg/pxdl
Version-4 (USLP) Transfer Frameclause 3.2.4.1OY: carried; pkg/usdl decodes it
32-bit CRC as the final fieldclause 3.2.2 c)MY

A1.3 CRC-32 CODING

FeatureReferenceStatusSupport
Generator G(X) = X^32+X^23+X^21+X^11+X^2+1annex C, C1.3MY: 0x00A00805, implemented locally, not from pkg/crc
Shift register preset to all zerosannex C, C1 encoder noteMY
ASM excluded from the CRC computationannex C, C1.2 note 2MY
Systematic (n, n-32) block codeannex C, C1.2MY
Syndrome of a valid codeword is zeroannex C, C2MY
Error detected if and only if the syndrome is non-zeroannex C, C2.1MY

A1.4 IDLE DATA AND SYNCHRONIZATION

FeatureReferenceStatusSupport
Idle data PN sequence 352EF853clause 3.3.2.2MY
Sequence repeats from the first bitclause 3.3.2.4MY
Acquisition sequenceclause 3.3.3MY: content; duration is a MIB parameter
Idle sequence when no PLTU is availableclause 3.3.4MY
Tail sequence before terminating transmissionclause 3.3.5MY
PLTU delimiting in a received bitstreamclause 3.6MY: Synchronizer; the frame's Length field is tried first, brute-force length scan as fallback; octet-aligned input only
PLTU validation before deliveryclause 3.6MY: a failing CRC is skipped, not delivered

A1.5 CHANNEL CODING

FeatureReferenceStatusSupport
No codingclause 3.4.2.2 a)OY
Convolutional code, rate 1/2, constraint length 7clause 3.4.3.1OY: encoder and Viterbi decoder, pinned to the CCSDS 171/133 convention by independent known-answer vectors
G2 output path invertedclause 3.4.3.1 note 1MY
All transmitted data encoded, PLTUs and idle alikeclause 3.4.3.2MY: encoder state carries across calls
Soft bit decisions, three-bit quantizationclause 3.4.3.3OY: DecodeSoft takes them; the demodulator must supply them
LDPC codeclause 3.4.4ON: see A1.6
Codeword Sync Markerclause 3.4.4ON: LDPC only
Pseudo-randomizerclause 3.4.5ON: LDPC only

A1.6 EXCEPTIONS AND UNSUPPORTED FEATURES

FeatureReferenceSupportRationale
LDPC code, CSM, and pseudo-randomizerclause 3.4.4, clause 3.4.5NA substantial addition; the randomizer applies only when LDPC is used. A follow-up.
Reed-Solomon codesclause 3.4.1 noteNNot specified in the CCSDS Proximity-1 standards, and clause 3.4.1 states their use is not intended for cross support.
Concatenated convolutional and Reed-Solomonclause 3.4.2.2 note 2NExplicitly not specified by the standard.
Physical layer, modulation, rate controlCCSDS 211.1-BNA separate specification.
CLI subcommands-NA follow-up once the API settles.

A1.7 IMPLEMENTATION LIMITS

LimitValueSource
ASM3 octets, FAF320clause 3.2.3
CRC4 octetsclause 3.2.2 c)
PLTU overhead7 octetsThe two above
Transfer frame lengthMaxFrameLength, default 2048The Version-3 maximum; clause 3.2.2 note 1 leaves the real limit to the mission's Maximum_Frame_Length
Convolutional code rate1/2clause 3.4.3.1
Convolutional constraint length7clause 3.4.3.1