Skip to main content

06Machine Learning Research

RF Signal Classification Research

PyTorch CNN research for classifying five RF signal categories from a 150,000-sample corpus and evaluating robustness under noisy conditions.

Completed as a Machine Learning Researcher at the Royal Military College of Canada.

  • PyTorch
  • CNNs
  • RTL-SDR
  • Signal Processing
  • Python
Ownership
Research role
Timeline
May – September 2025
Status
Research project
  1. CaptureRTL-SDR capture
  2. DatasetCorpus construction
  3. PreparePreprocessing
  4. ModelCNN comparison
  5. EvaluateHeld-out evaluation

System architecture+1 more

Overview

Developed and compared more than five convolutional architectures, improved noisy-condition accuracy by about 10%, and contributed to a roughly 2 Hz embedded inference pipeline.

Problem

RF classification models must distinguish signal types while remaining useful under noise and deployment constraints. The work explored model architecture, data handling, augmentation, evaluation, and embedded inference rather than optimizing a single clean-data score.

My role

Worked as a Machine Learning Researcher at the Royal Military College of Canada from May through September 2025, developing and evaluating CNN architectures, preparing RF data captured with RTL-SDR hardware, analyzing noisy-condition behaviour, and supporting embedded deployment.

System architecture

Capture

RTL-SDR capture

Dataset

Corpus construction

Prepare

Preprocessing

Model

CNN comparison

Evaluate

Held-out evaluation

Deploy

Embedded inference

What I built

  • RF data-processing and training workflows in Python and PyTorch.
  • More than five CNN architectures for comparative evaluation.
  • Five-class classification over a corpus of approximately 150,000 samples.
  • Noise-oriented augmentation and preprocessing experiments.
  • Evaluation on held-out and unseen data.
  • Embedded inference integration operating at approximately 2 Hz.
  • Research analysis and iteration with the RMC team.

Technical decisions

  • Compare several architectures instead of reporting only the final network.
  • Treat noisy conditions as a first-class constraint rather than an afterthought.
  • Connect model development to the embedded inference cadence it had to hit.
  • Report approximate research outcomes and dataset scale without implying public reproducibility.

Testing and validation

  • Evaluation on held-out and unseen real-world signals.
  • Comparative evaluation across more than five architectures.
  • Noisy-condition evaluation treated as a separate result rather than folded into the headline figure.

Measured evidence

  • ≈90%

    Average accuracy on unseen signals

    Research-role result as reported in the current Master and MLE/SWE resumes and the LinkedIn record.

    Approximate, reported by the research role. No public repository, paper, or dataset supports independent reproduction.

  • ≈10%

    Improvement in noisy-band generalization

    Source wording is “improved by ~10%”, achieved through augmentation, learning-rate decay, frequency-offset sampling, and spectrogram normalization.

    The source does not state whether this is a relative lift or ten percentage points; it is reported as written.

  • 150K / 5

    Labeled samples and signal classes

    Dataset scale as reported in the current resumes and LinkedIn record.

  • ≈2 Hz

    Embedded inference cadence

    Refresh rate supported by the embedded inference pipeline.

    An inference cadence, not a latency percentile.

Approximately 90% accuracy on unseen data, an approximately 10% improvement in noisy-condition accuracy, and an embedded inference workflow running at about 2 Hz.

Limitations

  • No public code, paper, dataset, or demo.
  • Dataset provenance and exact split details are not public.
  • Not production-deployed, and no operational use is claimed.
  • No state-of-the-art performance claim.
  • Signal classes, hardware context, and research applications beyond the public record are deliberately omitted.
  • No precision, recall, F1, confusion matrix, parameter count, or inference-hardware figure is published.

Technology stack

  • PyTorch
  • CNNs
  • RTL-SDR
  • Signal Processing
  • Python
  • NumPy
  • Embedded Inference

Data and privacy

Only the high-level project scale and approximate outcomes already present in the public resumes and LinkedIn record are published here. Code, raw data, signal details, and operational context are not public.