Skip to content

MATLAB FMCW radar simulation with ML classification of Human / Car / Drone using Doppler signatures. RF project by Brian Rono.

License

Notifications You must be signed in to change notification settings

ronobrian-eng/FMCW-Radar-ML-Classification

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

FMCW-Radar-ML-Classification

📘 Overview

This project implements a software-only FMCW radar simulator in MATLAB and combines it with a simple machine learning classifier to distinguish between three target types: Human, Car, and Drone using their Doppler / micro-Doppler signatures.

The project is designed as a compact RF + ML portfolio piece showcasing radar signal processing, feature engineering, and classification — all done in MATLAB.


⚙️ Features

🔹 FMCW Radar Signal Chain

  • 77 GHz carrier frequency (typical automotive radar band)
  • 150 MHz sweep bandwidth
  • Linear FMCW chirp generation
  • Range FFT (fast-time processing)
  • Doppler FFT (slow-time processing)
  • Range–Doppler Map visualisation
  • Micro-Doppler-like spectrogram at a selected range bin

🔹 Machine Learning Classification

  • Synthetic classes: Human, Car, Drone
  • Velocity profiles generated to mimic each class:
    • Human: low speed, strong micro-motion
    • Car: higher average speed, smoother profile
    • Drone: moderate speed with oscillatory hovering motion
  • RF-inspired features extracted from velocity:
    • Mean velocity
    • Standard deviation of velocity
    • Maximum absolute velocity
    • Mean absolute derivative of velocity
  • Multi-class SVM classifier (fitcecoc) trained and evaluated
  • Prints overall classification accuracy in the MATLAB command window

🧩 File Summary

File / Folder Description
fmcw_radar_ml_project.m Main MATLAB script: FMCW radar simulation + ML classification
figures/ Folder containing exported plots (q1, q2, q3)
figures/q1.png Range–Doppler Map (Range vs Velocity)
figures/q2.png Micro-Doppler-like spectrogram at a chosen range bin
figures/q3.png Feature space scatter plot (Human / Car / Drone)

🧪 Tools & Environment

  • MATLAB (tested with R2024b; works with most recent versions)
  • Recommended Toolboxes:
    • Signal Processing Toolbox
    • Statistics and Machine Learning Toolbox

No external hardware is required — everything runs as a simulation.


📊 Results

1️⃣ Range–Doppler Map

The first figure shows the Range–Doppler Map, where each bright region corresponds to a simulated target at a particular range and radial velocity.

Range–Doppler Map
Range–Doppler Map

2️⃣ Micro-Doppler-Like Signature

At the strongest range bin, the script extracts the slow-time signal and computes a spectrogram, giving a micro-Doppler-like signature that reflects the velocity variations of the target over time.

Micro-Doppler Spectrogram
Micro-Doppler Spectrogram

3️⃣ ML Feature Space

The final figure shows the feature space (e.g., mean vs max velocity) with different classes labelled, giving intuition about how well the RF-inspired features separate Human, Car, and Drone motion.

Feature Space (Human / Car / Drone)
Feature Space

The script prints the classification accuracy in the MATLAB command window, giving a quick sense of how well the simple SVM model performs on the synthetic dataset.


▶️ How to Run

  1. Open MATLAB.
  2. Add this project folder to the MATLAB path or set it as the Current Folder.
  3. Open fmcw_radar_ml_project.m.
  4. Click Run (or press F5).
  5. Three figures will be generated:
    • Range–Doppler map
    • Micro-Doppler spectrogram
    • Feature space scatter
  6. Optionally, save the figures into the figures/ folder as q1.png, q2.png, q3.png.

📡 Applications

  • Radar signal processing education and demos
  • RF + ML portfolio for automotive / sensing roles
  • Feature-engineering concepts for Doppler / micro-Doppler analysis
  • Baseline project for extending to real hardware or more advanced ML models

Future Work

  • Add CFAR detection
  • Add MIMO virtual array simulation
  • Add deep-learning based micro-Doppler classifier
  • Export dataset for Python-based ML

👤 Author

Brian Rono
Electrical & Computer Engineer • RF & Wireless • Embedded Systems • Machine Learning
🔗 GitHub Profile

About

MATLAB FMCW radar simulation with ML classification of Human / Car / Drone using Doppler signatures. RF project by Brian Rono.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages