Rf-stego-dataset: Python Based Tool That Generates Synthetic RF IQ Recordings + Optional Steganographic Payloads Embedded Via LSB (repo Includes Sample Dataset)

rf-stego-dataset [tegridydev]

Python based tool that generates synthetic RF IQ recordings (.sigmf-data + .sigmf-meta) with optional steganographic payloads embedded via LSB.

It also produces spectrogram PNGs and a manifest (metadata.csv + metadata.jsonl.gz).

Key Features

  • Modulations: BPSK, QPSK, GFSK, 16-QAM (Gray), 8-PSK
  • Channel Impairments: AWGN, phase noise, IQ imbalance, Rician / Nakagami fading, frequency & phase offsets
  • Steganography: LSB embedding into the I‑component
  • Outputs: SigMF files, spectrogram images, CSV & gzipped JSONL manifests
  • Configurable: via config.yaml or interactive menu

Dataset Contents

Each clip folder contains: 1. clip_<idx>_<uuid>.sigmf-data 2. clip_<idx>_<uuid>.sigmf-meta 3. clip_<idx>_<uuid>.png (spectrogram)

The manifest lists: – Dataset name, sample rate – Modulation, impairment parameters, SNR, frequency offset – Stego method used – File name, generation time, clip duration

Use Cases

  • Machine Learning: train modulation classification or stego detection models
  • Signal Processing: benchmark algorithms under controlled impairments
  • Security Research: study steganography in RF domains

Quick Start

  1. Clone repo: git clone https://github.com/tegridydev/rf-stego-dataset.git
  2. Install dependencies: pip install -r requirements.txt
  3. Edit config.yaml or run: python rf-gen.py and choose Show config / Change param
  4. Generate data: select Generate all clips

~~Enjoy <3

submitted by /u/tegridyblues
[link] [comments]

Leave a Reply

Your email address will not be published. Required fields are marked *