Capture Replay

Replay is a generic RFGen capability for an IQ capture selected by an external package or caller. It does not define a dataset or application workflow.

PlaybackSigMFEmitter is a gated adapter that replays a complete local SigMF capture as raw complex baseband. It is a capture reader, not a protocol synthesizer: it does not create frames, infer protocol fields, resample, mix, trim, pad, or select an excerpt. The direct caller must provide the capture’s native sample rate and f_offset_hz=0; a mismatch is rejected rather than silently altering recorded evidence.

Input and provenance boundary

The adapter uses the SigMF reference reader through sigmf.fromfile(source_uri).read_samples(). It accepts local cf32_le or cf64_le captures with required metadata fields: a finite positive sample rate, declared license, declared collection authority, and one common capture frequency. It rejects malformed metadata, non-finite IQ, empty results, unsupported sample forms, and retuned or frequency-hopped captures. The adapter records the capture SHA-256, source URI, license, collection authority, sample rate, and frequency in SignalMetadata.extras before converting accepted CF64 input to RFGen’s float32 I/Q representation.

The caller or external package remains responsible for selecting the capture and assessing its licence, collection authority, and intended use. RFGen validates the specified metadata and technical constraints only; it does not verify legal authorization, identify, decode, validate, or re-create the transmission.

Occupied-bandwidth evidence

Replay uses the shared rfgen.evidence.waveform.measure_occupied_bandwidth primitive. It measures a two-sided 99%-power interval with scipy.signal.welch and records either that interval or an explicit reason why a linear interval is unavailable. This is a generic measurement of the supplied samples, not a claim about a protocol, device, or capture corpus.

Limits

The adapter is gated and is not an accepted-current generation or validation source until a supplied local consumer/schema fixture qualifies it. It does not establish a corpus’s legality, recover protocol data, provide an HDF5 adapter, or calibrate generated data to a capture.

References

  1. Welch, P. D. (1967). The use of fast Fourier transform for the estimation of power spectra: A method based on time averaging over short, modified periodograms. IEEE Transactions on Audio and Electroacoustics, 15(2), 70–73.

  2. SciPy developers. scipy.signal.welch API reference.

  3. SigMF Contributors. SigMF specification.

See also