Generate a Local Dataset¶
Start from a maintained template, materialize it into a directory you own, and
edit its config.yaml. rfgen does not provide a catalog of scenario presets.
This is the synchronous default compute mode; read Local
execution for its job-level
boundary.
Create and run a configuration¶
For a narrowband communications baseline:
rfgen init narrowband-baseline ./my-dataset
cd ./my-dataset
rfgen validate --config-dir .
rfgen generate --config-dir .
rfgen inspect ./rfgen-output
The generated directory is a published Signal Dataset snapshot. Publication is
root-last: if a shard fails, the directory has no readable root.json. On
success, the same path supports ordinal and metadata-only access; see
Persist generated records with Signal Dataset.
rfgen init ships seven templates; the radar-response template has its own
guide, Generate a coupled radar dataset.
narrowband-baseline is the small labeled-modulation template and
chirp-radar is the maintained LFM example; both are described in Golden
Paths. nr-pusch-baseline,
conformant-ofdm-baseline, and fec-constellation-baseline are additional
starting points without a dedicated Golden Path page.
Copy multi-emitter-baseline when the dataset will be annotated. It plans
eight concurrent emitters, against one in narrowband-baseline,
conformant-ofdm-baseline, nr-pusch-baseline, and chirp-radar, and four in
fec-constellation-baseline. A single-emitter scene leaves an annotator little
to describe, which is why it is the template whose scenes are distinguishable
enough for the remote annotation route; see Remote
annotation.
Four communications templates select a Sionna channel —
narrowband-baseline, conformant-ofdm-baseline, nr-pusch-baseline, and
fec-constellation-baseline, which also selects a TorchSig emitter — so
install .[torchsig,sionna] before generating from any of them.
multi-emitter-baseline uses awgn_channel instead, which is what gives it a
finite declared SNR, so it needs only .[torchsig]. Copying a template gives
you a concrete starting point, not a special preset mode.
Adapt the configuration¶
Edit config.yaml and rerun validation before generating. Use the Reference
config schema for field contracts.
For a separate output location or a bounded trial, use supported command options:
rfgen validate --config-dir .
rfgen generate --config-dir . --output ./trial-output --num-samples 10 --seed 7
rfgen inspect ./trial-output
Keep the materialized YAML with experiment records. A modified configuration has its own behavior and evidence boundary.
The native storage block is:
storage:
backend: signal_dataset
path: ./rfgen-output
backend, path, and assets_path are the only keys storage accepts.
Compression, chunk, filename, and record-axis options are refused by name, not
ignored.
There is no record-fan-out knob: one sample publishes exactly one record. In a
multi-receiver scene each receiver is a named subtree inside that record
(projections/<projection_id>/receivers/rx0/iq, .../rx1/iq, …), so a
consumer that wants one training example per receiver selects the subtree at
read time. See Configure multi-receiver output. A custom
composer supplies only the keys declared by its own parameter model.