YAML Metadata Warning:empty or missing yaml metadata in repo card

Check out the documentation for more information.

Radio Modulation Classifier

CNN-based automatic modulation classification (AMC) for radio signals. Classifies common digital modulations (e.g. BPSK, QPSK, 8PSK, 16QAM) from I/Q samples.

Motivation

Automatic modulation recognition is used in spectrum monitoring, cognitive radio, and signal intelligence. Deep learning can learn discriminative features from raw I/Q data without hand-crafted feature design.

Dataset

  • You can use the RadioML 2018.01A dataset (available from Deepsig) or similar public AMC datasets.
  • Alternatively, run generate_synthetic_data.py to create a small synthetic dataset for quick experiments.
  • Data format: (N, 2, L) โ€” N samples, 2 channels (I, Q), L time steps per sample.

Project structure

  • model.py โ€” ResNet-style 1D CNN.
  • train.py โ€” training loop; uses synthetic data if nothing is in ./data.
  • generate_synthetic_data.py โ€” writes synthetic I/Q to ./data/synthetic_iq.pt.

Model

  • Small ResNet-style CNN that takes (2, L) I/Q input and outputs class logits.
  • Implemented in model.py; training script in train.py.

Usage

pip install -r requirements.txt
python train.py

Training expects data in ./data (or set DATA_DIR). For RadioML, place the .hdf5 or processed files in that directory and adjust paths in train.py if needed.

Limitations / future work

  • Trained and evaluated on a single dataset; performance may drop under different SNR or channel conditions.
  • Could be extended with attention or 1D variants for longer sequences.

Author

Alireza Aminzadeh

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support