TorchDSP/torchsig

TorchSig is an open-source signal processing machine learning toolkit based on the PyTorch data handling pipeline.

What it solves

TorchSig is designed to simplify the complex process of preparing signal processing data for machine learning. It streamlines the creation, augmentation, and transformation of both real and complex-valued signals, particularly for those working in the radio frequency (RF) domain, by integrating these operations directly into the PyTorch data pipeline.

How it works

The toolkit provides a unified dataset architecture that can be configured for either signal classification (single signal) or signal detection (multiple signals). It uses a system of transforms and impairments to simulate realistic channel conditions (perfect, cabled, or wireless).

Key components include:

  • TorchSigIterableDataset: A class that synthetically generates, augments, and transforms signals.
  • DatasetCreator: A tool to write generated datasets to disk for efficient reuse.
  • StaticTorchSigDataset: A class to load previously saved datasets back into memory.
  • Signal and SignalMetadataObject: Standardized objects for handling signal data and its associated metadata.

Who it’s for

Researchers and developers building machine learning models for signal processing, specifically those focusing on radio frequency (RF) data and signal classification or detection tasks.

Highlights

  • Extensive Signal Library: Support for over 60 signal types across major modulation families like FSK, QAM, PSK, ASK, OFDM, and Analog.
  • PyTorch Integration: Built on the PyTorch data handling pipeline for seamless integration with ML models.
  • Advanced Transform System: Includes numerous signal processing transforms and unified impairment models for realistic simulation.
  • Unified Architecture: A single system that handles both classification and detection tasks through simple configuration.

Related

  • Project
  • Project
  • Project
  • Project