Signal Catalog

This is the current registered emitter surface, not a roadmap. Some registered entries are not runnable generators: they expose a selector and then raise a clear backend error rather than synthesizing IQ.

Runnable generation surface

Registry key

Labels

Backend

Boundary

torchsig_comms

BPSK, QPSK, QAM and other TorchSig constellation labels

TorchSig

Install .[torchsig]; select explicitly

torchsig_fsk, torchsig_ofdm, torchsig_am, torchsig_fm, torchsig_chirp, torchsig_tone

The selected TorchSig builder’s labels

TorchSig

Install .[torchsig]; select explicitly

chirp_radar

lfm_chirp

scipy.signal.chirp

Shipped chirp Golden Path uses this emitter

nr_pusch

nr_pusch

sionna.phy.nr.PUSCHTransmitter

Install .[sionna]; 3GPP-conformant by delegation to Sionna, see Emitter API

nr_ofdm_conformant

12 nr-grid-<N>rb resource-block-count labels

sionna.phy.ofdm.ResourceGrid

Install .[sionna]; standards-shaped, explicitly uncoded, see Emitter API

fec_constellation

ldpc, polar, turbo, convolutional

sionna.phy.fec + TorchSig pulse shaping

Install .[sionna,torchsig]; see Emitter API

The narrowband Golden Path intentionally uses only BPSK, QPSK, 16-QAM, and 64-QAM and therefore requires uv pip install -e '.[torchsig]'. See TorchSig integration for the optional boundary, Emitter API for exact class contracts, and Golden Paths for qualified workflows.

Registered but not runnable synthesis

The former pulsed_radar selector was a nonfunctional stub and has been retired. Configurations that still name it now receive the normal unknown selector error; active-radar response generation uses the common radar response and receiver-capture contracts instead.

adsb, ble, wifi, zigbee, lte, lora_sdr, and lora_phy are registered extension points, but their generation backends are currently stubs. They are not dataset-generation options until their backend is implemented and tested. Their presence in an entry-point list is not a capability claim.

Using the catalog

Inspect the installed environment rather than relying on a hard-coded version table:

rfgen list-nodes --json

The emitted JSON rows identify role, family, selector, implementation, and origin; they do not certify that an optional backend is installed or runnable. To select a runnable source, materialize a supported template and edit config.yaml, then run rfgen validate --config-dir DIRECTORY before generation. Research candidates and deferred waveform families belong in Project & Research, not this Reference page.