This project combines a MATLAB simulation of high-powered jamming attacks on ADS-B devices with a Python-based machine learning model for detecting such attacks.
The MATLAB component simulates a communication system under jamming conditions, focusing on:
- AWGN channel modeling
- SNR, EVM, and Eye Diagram feature extraction
- CRC-based error detection
The Python script implements a Random Forest Classifier to detect jamming attacks based on the features extracted from the MATLAB simulation.
- MATLAB (version R2019b or later recommended)
- Python 3.7+
- Required Python libraries: numpy, pandas, scikit-learn
- Run the MATLAB simulation:
CommunicationSimulator
This will generate the EVMdata.xlsx
file.
-
Rename
EVMdata.xlsx
toData.csv
. -
Run the Python ML model:
python MLmodel.py
The ML model uses the following features extracted from the MATLAB simulation:
features = ['RMSEVM', 'MAXEVM', 'EYEAMP', 'EYESNR', 'EYEDELAY', 'EYEWIDTH', 'ENERGY', 'BPR', 'MEANEIGEN']
The ML model evaluates different combinations of features and outputs the top results based on accuracy. Results are saved in results.csv
.
For more information on the underlying concepts, please visit: IEEE Paper
- IEEE for the original paper
- Contributors and maintainers of the scikit-learn library