Skip to main content

RML2022 Dataset

IQ modulation classification dataset with SNR in the range -18 to 20 dB.

Tasks supported

  • Modulation classification (primary benchmark metric: accuracy)
  • Optional: accuracy at different SNR buckets

Class labels

  • 8PSK
  • AM-DSB
  • AM-SSB
  • BPSK
  • CPFSK
  • GFSK
  • PAM4
  • QAM16
  • QAM64
  • QPSK
  • WBFM

Split

  • 80/20 random split

Preprocessing

  1. Load the RML22.01A numpy archive containing (modulation, snr) keyed samples.
  2. Cast IQ arrays to float32.
  3. Normalize I and Q channels using dataset-wide mean/std for the 2022 release.
  4. Expand to (2, 1, T) and store with modulation label index and SNR.
  5. Compute class weights and write the HDF5 cache.

Script: preprocess_rml.py

python preprocessing/preprocess_rml.py \
--data-path <RML_ROOT> \
--version 2022 \
--output data/rml2022.h5

Metric

  • Primary: top-1 accuracy on the test split (overall).
  • Optional: per-SNR accuracy (not used for ranking by default).

Citation

@article{10.1109/TWC.2023.3254490,
author = {Sathyanarayanan, Venkatesh and Gerstoft, Peter and Gamal, Aly El},
title = {RML22: Realistic Dataset Generation for Wireless Modulation Classification},
journal = {Trans. Wireless. Comm.},
year = {2023},
volume = {22},
number = {11},
pages = {7663--7675},
doi = {10.1109/TWC.2023.3254490}
}