Skip to content

Examples

Worked examples across every doppler subsystem — each one a runnable script under src/doppler/examples/, grouped below by DSP domain. Most pages render a figure; run make gallery to regenerate every image, or run a single script directly (each page lists its command under Reproduce / Run it).

C programs calling the library directly live on the C examples page; the end-to-end ZMQ pipeline is on the Streaming page.

Sources & Waveforms

  • Waveform Generator — tone / PN / QPSK / BPSK from one declarative Synth.
  • Symbols: bring your own constellation — pi/4-QPSK and 16-QAM from an arbitrary complex stream.
  • Waveform Scenes — sum, add, headroom; a SoI under a CW interferer over one noise floor.
  • Waveform I/O — one capture written to raw / CSV / BLUE / SigMF and read back.
  • Waveform JSON Round-Trip--record a scene to JSON and replay it byte-identically.
  • Waveform Write — the shortest path from a Composer to a file and back.
  • WCDMA Carriers — four RRC channels measured with PSD and AccTrace.
  • AWGN — complex Box-Muller noise, amplitude histogram, and flat PSD.
  • LO — complex phasor generator with FM control and phase continuity.
  • NCO — raw uint32 phase accumulator with overflow carry and fixed-point scaling.

Filters & Resampling

  • CIC Decimation — wideband IQ → CIC → narrowband slice; ~90 dB alias rejection.
  • RateConverter — automatic CIC / halfband / polyphase cascade for any rate ratio.
  • Farrow Interpolator — fractional-delay resampling.
  • HBDecimQ15 — fixed-point Q15 halfband 2:1 decimator for interleaved IQ int16.

Down-Conversion (DDC)

  • Functional DDCR — real passband in, complex baseband out, caller-owned buffer, thread-per-shard scaling.

Detection & Acquisition

Synchronization Loops

Constellations & Receivers

Measurement

Quantization & Fixed-Point

  • ADC Quantisation — staircase resolution and noise floor across 3–8 bits.
  • Q15 vs UQ15 — bipolar vs offset-binary encodings of the same Q15 step.
  • cvt Quantization — the three cvt formats overlaid at identical noise floor.

Gain Control

  • AGC — closed-loop power controller with decimated and per-sample loop updates.

Fundamentals

  • FFT — per-instance 1-D and 2-D FFT with plan reuse.
  • Ring Buffers — double-mapped lock-free ring buffers for producer/consumer pipelines.
  • C examples — minimal C99 programs calling the library directly.
  • Streaming — ZMQ-based signal streaming end-to-end.