Spread spectrum (DSSS)¶
Despreading, polynomial-phase estimation and the DSSS receivers.
Python module doppler.dsss. Area: Receivers.
Classes and functions¶
Guide pages in this domain¶
- DSSS Burst Acquisition — acquiring a spread-spectrum preamble's code phase and Doppler with
BurstAcquisition, and continuous signals withAcquisition
Gallery pages in this domain¶
- A Message Over DSSS, Received and Deframed — a data source sent one chunk per burst, received by
DsssBurstReceiver, and returned byte for byte byFrameDesc.deframe. - AsyncDsssPool: emitters that come and go — three receivers, four emitters on one Gold code: each held by one receiver, a departure freeing its receiver, and the newcomer taking it, read from the pool's own status after every push.
- AsyncDsssPool: ten emitters through six receivers — ten emitters on one Gold code, each on its own Doppler ramp and within ±8 dB of the others, come and go through six receivers: each held by one receiver from soon after it arrives, a freed receiver taking the next, and a weak emitter waiting for the strong one that masks it.
- AsyncDsssReceiver: a signal's lifecycle — one packaged receiver through an emitter's life: searched, tracked through a fade, released when it departs, reset, and re-acquired on its return, read from its own state after every push
- AsyncDsssReceiver: the specification link — one packaged receiver on a link whose Doppler stretches the chip clock as well as the carrier, through both regimes of a pass: carrier-to-code aiding, a missed hand-off searched again, and the decode scored by BER, EVM and M2M4
- DSSS Acquisition — Pd / Pfa vs Es/N0 — detection characterisation curves.
- DsssBurstReceiver — the Composed Burst Chain — the end-to-end DSSS burst walkthrough: a train sent from one frame description on all three
wfmgenfaces, thenBurstAcquisition -> refine -> BurstDemodbehind onepush(), the same answer at every block size - DsssReceiver — the Composed Continuous DSSS Receiver —
Acquisition -> Dll(segments) -> RateConverter -> MpskReceiverat real chip/symbol rates, collapsed into oneDsssReceiverand onesteps()call -- the despreader removes the code and an explicit resampler bridges it to a normal demodulator. - Streaming Async Despreader —
Dll(segments)despreading a Doppler-dilated code on an asynchronous data clock, unaided and with the carrier's rate aid.
Design pages in this domain¶
- AsyncDsssReceiver and AsyncDsssPool — continuous DSSS, from spec to object — continuous DSSS, from spec to object: the derived code period, the acquisition hand-off, the asynchronous despreader, the receiver's states, the pool's one search, what it costs and the status record
- AsyncDsssReceiver and AsyncDsssPool — the measurement record — the dated runs behind the design page under the same section numbers: the pool's lock, arrival and cost runs (§6, §9), the pinned bench and the search profile, and every step of the receiver's build (§12)
- DsssBurstReceiver: the burst chain, composed in C — the burst chain composed in C: the three-stage
search → refine → demodshape, why the hand-off needs a never-late epoch, and what a burstDetectionEventmust carry to stand alone - The Polynomial-Phase Estimator — the reasoning — the feedforward frequency/chirp-rate estimate a burst gets exactly one of: why the search is two-dimensional and coherent, why the transform is 4x its input, and why the caller strips the modulation
Used in other domains¶
Pages filed under another domain that name a symbol of this module, or link to or from a page filed here: a class used for another task is found from both sides, never re-filed.
- Waveform generation (wfm): A Frame You Built, Generated, A Frame as a Description, A Framed Link, Checked by Its Description, A Receiver Built from a Frame Description, Fields — bits, written as text, One Cache Slot for a Whole Background Field, Scenes — composing in time, Waveforms — what you can generate
- Channel impairment: Doppler Channel — Clock Doppler as a Propagation Impairment, Doppler Channel — a Doppler Profile Driven by a Cosine, The Doppler channel — one parameter, both clocks and the carrier
- Spectral analysis: 2-D Acquisition Grid, Corr2D: decoupled (interpolated) inverse length, The Spectrogram — the measurement record
- Acquisition: Acquiring a Repeated Preamble, BurstBank — the coarse-Doppler bank as one C object, BurstCapture: acquisition's output, turned into bursts, CarrierAcquisition: RRC Pulse Shaping, CoarseChannel — is a channel an object, or a slice of the bank?, Design — pure-functional acquisition kernel (elastic fleet), One Python class: the step-4 design, One correlator: the step-3 design, The acquisition surface: the DSSS search engine
- Tracking & synchronization: Full-Chain Lock-Up, Lock Detection Across doppler.track, M-PSK Receiver — Pull-in, Lock, and BER, MPSK Receiver
- Detection statistics: Detection Sizing — the four laws behind one prefix
- Channel coding: Interleaving — spreading a burst across codewords
- Bit-error rate (BER): Measuring an Error Rate, Defensibly
- Telemetry: Telemetry — zero-cost scalar taps for running pipelines
- Utilities: API taxonomy: the DSP building-block hierarchy and its naming axis, Checkpoint & Resume, State Serialization — the standard bytes interface