Final Year Project / Engineering Research / SDR System Prototype

Passive Wi-Fi Radar for Human Movement Detection

A low-cost passive sensing system using Wi-Fi reflections, SDR, GNU Radio, Python, and machine learning to detect human movement in an indoor environment.

This project developed a passive Wi-Fi radar system using HackRF One, Doppler-based motion features, and a Random Forest classifier for automated movement detection.

GNU Radio HackRF One Python SDR Random Forest FFT Doppler Processing PyQt5 Machine Learning Wi-Fi 2.4GHz
Passive Wi-Fi radar hardware setup using HackRF One, antenna, and Wi-Fi signal environment.

Project Overview

Using ambient Wi-Fi as a sensing signal.

Passive Wi-Fi radar detects human movement by analyzing changes in ambient Wi-Fi signals caused by reflections, multipath propagation, and Doppler shifts. Instead of using cameras or wearable sensors, the system uses existing Wi-Fi transmissions as an illuminator of opportunity, making it a privacy-conscious and cost-effective sensing approach.

This project focused on building a low-cost prototype using a single HackRF One SDR, GNU Radio, Python signal processing, and machine learning classification. The system was tested in an indoor environment to distinguish between static conditions and human walking movement.

Problem Statement

Movement detection without cameras or wearables.

Traditional human detection methods such as CCTV and wearable devices can raise privacy concerns, require direct user involvement, or depend on line-of-sight visibility. Passive Wi-Fi radar provides an alternative by using radio frequency reflections instead of visual monitoring.

Detecting motion from passive Wi-Fi signals is challenging because indoor environments contain clutter, multipath reflections, low signal-to-clutter ratio, and hardware limitations. This project addressed these challenges with signal processing and machine learning.

Objectives

What the prototype set out to prove.

Clear engineering goals focused on SDR capture, Doppler analysis, and real-time inference.

01 / SDR method

Design a passive Wi-Fi radar methodology using a single HackRF One and GNU Radio.

02 / signal capture

Capture and process 2.4GHz Wi-Fi signals for motion-related Doppler analysis.

03 / DSP

Apply FFT, filtering, clutter suppression, and feature extraction techniques.

04 / ML

Train and integrate a machine learning classifier for human movement recognition.

05 / interface

Build a graphical interface for near real-time visualization and inference.

System Architecture

From Wi-Fi reflections to live movement output.

Capture, preprocess, extract Doppler features, classify, and visualize results.

System flow diagram showing Wi-Fi signal capture, GNU Radio preprocessing, signal processing, machine learning classification, and output visualization.
System flow placeholder for the passive Wi-Fi radar pipeline.

The system uses a commercial Wi-Fi router as the signal source and a HackRF One SDR as the receiver. Captured IQ samples are processed through GNU Radio and Python. The pipeline includes filtering, DC blocking, FFT-based Doppler extraction, feature selection, machine learning inference, and GUI-based visualization.

Wi-Fi RouterAmbient 2.4GHz signal source.
HackRF One SDRReceiver for captured IQ samples.
GNU RadioFront-end filtering and signal preparation.
Doppler FeaturesFFT-based motion feature extraction.
Random ForestNO_TARGET and WALKING classification.
Real-Time GUIPyQt5 visualization and prediction output.

Hardware and Software

Prototype components and development tools.

Low-cost RF hardware combined with open-source signal processing and Python tooling.

HackRF One SDR used for passive Wi-Fi radar signal capture.
HackRF One SDR
Microstrip patch antenna used for 2.4GHz Wi-Fi signal reception.
2.4GHz antenna setup
PyQt5 graphical interface for passive Wi-Fi radar visualization.
GUI prototype

Implementation

SDR acquisition, signal processing, and live classification.

GNU Radio is used to interface with HackRF One and perform front-end processing such as low-pass filtering and DC offset removal. Python handles Doppler spectrum extraction, feature vector generation, model inference, and GUI visualization.

The machine learning workflow uses labeled Doppler feature data for training. A Random Forest classifier is trained to distinguish between NO_TARGET and WALKING classes. The trained model and scaler are saved and later loaded into the real-time system for live prediction.

Challenges and Limitations

What constrained the prototype.

The project was limited by a single-channel, non-coherent HackRF One setup. Without synchronized reference and surveillance channels, it could not perform advanced coherent radar processing, accurate localization, or direction finding.

The system was also affected by indoor multipath reflections, environmental noise, and limited dataset diversity. Real-world generalization would require more data across different rooms, movement types, and participants.

Results

Measured outcomes from the prototype.

Evidence of working RF capture, Doppler interpretation, and ML-based movement detection.

77.85%

classification accuracy using a Random Forest classifier.

369/474

test instances correctly classified.

500

decision trees used in the Random Forest model.

2

target classes: NO_TARGET and WALKING.

RT

GUI showing spectrum, waterfall plot, metrics, and classification output.

Vote

temporal majority voting to reduce unstable prediction flickering.

Passive Wi-Fi radar GUI result showing real-time classification output.
GUI result
Doppler spectrogram showing walking movement signature from Wi-Fi reflections.
Spectrogram
Confusion matrix for Random Forest classifier movement detection results.
Confusion matrix
Waterfall plot from passive Wi-Fi radar Doppler processing.
Waterfall plot

What I Learned

Connecting telecommunications theory with practical software implementation.

Through this project, I gained hands-on experience in SDR-based RF signal acquisition, GNU Radio flowgraph development, Python signal processing, FFT analysis, Doppler spectrum interpretation, machine learning model training, GUI development, and system-level integration.

Future Improvements

How the system could be improved.

Future work could include using a dual-channel coherent SDR, multiple antennas, better clutter cancellation, larger datasets, deep learning on Doppler spectrograms, real-time optimization, and deployment on embedded or edge computing platforms.

Image Gallery

Place public-safe photos, screenshots, plots, and diagrams here when ready.

Hardware setup for passive Wi-Fi radar experiment using HackRF One and antenna.
Hardware setup
Indoor experimental setup for passive Wi-Fi radar human movement detection.
Experimental setup
GUI dashboard for passive Wi-Fi radar real-time visualization.
GUI dashboard
Spectrogram result from passive Wi-Fi radar movement detection.
Spectrogram result
Waterfall result from passive Wi-Fi radar Doppler processing.
Waterfall result
Passive Wi-Fi radar system flow diagram from signal capture to classification output.
System flow