sigkit.datasets package

Submodules

sigkit.datasets.procedural module

Module for the Procedural SigKit PyTorch Dataset.

class sigkit.datasets.procedural.ProceduralDataset(mapping_list: List[Dict[Type[Modem], List[int]]], sample_rate: int = 1024, symbol_rate: int = 32, transform: Compose | None = None, val: bool = False, seed: int | None = None)[source]

Bases: Dataset

Procedural map-style dataset generating an “infinite” stream of symbols.

Parameters:
  • mapping_list – List of dicts mapping a Modem to list of modulation orders. e.g. [{PSK: [2,4,8,16]}, {QAM: [4,16,64]}]

  • sample_rate – Sampling rate (Hz) for all modems.

  • symbol_rate – Symbol rate (Hz) for all modems.

Behavior:
  • Instantiates one modem per (ModemClass, constellation) entry.

  • __getitem__ ignores idx and returns a random (Signal, symbol_idx).

  • __len__ returns length (default a very large number to emulate infinite).