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 RadioHackRF OnePythonSDRRandom ForestFFTDoppler ProcessingPyQt5Machine LearningWi-Fi 2.4GHz
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 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.
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.
GUI result
Spectrogram
Confusion matrix
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
Project evidence and visual documentation.
Place public-safe photos, screenshots, plots, and diagrams here when ready.