Mahdi-s / High-powered-jamming-simulation

A simulation of high-powered jamming attacks on ADS-B devices using MATLAB, and detection using a machine learning model in Python. Features a Random Forest Classifier for attack identification and includes detailed instructions for running the simulation.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

πŸ“‘ ADS-B Jamming Simulation and ML Detection πŸ›©οΈ

🎯 Project Overview

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.

πŸ”¬ MATLAB Simulation

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

πŸ€– Machine Learning Model

The Python script implements a Random Forest Classifier to detect jamming attacks based on the features extracted from the MATLAB simulation.

πŸš€ Getting Started

Prerequisites

  • MATLAB (version R2019b or later recommended)
  • Python 3.7+
  • Required Python libraries: numpy, pandas, scikit-learn

πŸ› οΈ Usage

  1. Run the MATLAB simulation:
CommunicationSimulator

This will generate the EVMdata.xlsx file.

  1. Rename EVMdata.xlsx to Data.csv.

  2. Run the Python ML model:

python MLmodel.py

πŸ“Š Features

The ML model uses the following features extracted from the MATLAB simulation:

features = ['RMSEVM', 'MAXEVM', 'EYEAMP', 'EYESNR', 'EYEDELAY', 'EYEWIDTH', 'ENERGY', 'BPR', 'MEANEIGEN']

πŸ” Results

The ML model evaluates different combinations of features and outputs the top results based on accuracy. Results are saved in results.csv.

πŸ“š Further Reading

For more information on the underlying concepts, please visit: IEEE Paper

πŸ™ Acknowledgements

  • IEEE for the original paper
  • Contributors and maintainers of the scikit-learn library

About

A simulation of high-powered jamming attacks on ADS-B devices using MATLAB, and detection using a machine learning model in Python. Features a Random Forest Classifier for attack identification and includes detailed instructions for running the simulation.


Languages

Language:MATLAB 77.8%Language:Python 22.2%