- Description
- Model structure
- Data in this project
- Files in this repo
- Results
- Dependencies for this project
- Running the code
This project implements two deep learning (DL) models on classifying the modulation formats of various radio frequency (RF) signals. The two DL models are the Artificial Neural Network (ANN) and Convolutional Neural Network (CNN), while the radio frequency signals are generated by GNU Radio software and consist of 11 modulation formats (8 digital and 3 analog) at varying signal-to-noise ratios (SNR). Conducting modulation classification on the RF signals, this work compares the performance of ANN and CNN models at different values of SNR. Plus, this project applies Principal Component Analysis (PCA) technique on both ANN and CNN models. The purpose is to observes the trade-off relationship between the classification accuracy and the length of training time
ANN | CNN |
---|---|
The original dataset in this project is publicly available on the DeepSig RF Datasets For Machine Learning. The dataset is called RADIOML 2016.10A and is generously offered by DeepSig Inc.
This GitHub repo contains the following folders or files
-
img
folder contains the images of the training results, neural network structures, and test results -
model
folder contains all the trained ANN and CNN models used in this project -
ANN_vs_CNN.ipynb
is the code for comparing the performance of ANN and CNN on classifying the modulation schemes of the RF signals in dataset -
ANN_using_PCA.ipynb
andCNN_using_PCA.ipynb
are the code for applying PCA on the original dataset and observing the performance of ANN and CNN versus different values of dimension reduction -
ANN.ipynb
andCNN.ipynb
are the prototype of ANN and CNN models at the beginning stage of this project -
Project_Report.pdf
is the report of this project, which contains specific technical details and in-depth discussion
ANN | CNN |
---|---|
This project requires the following python modules:
numpy matplotlib.pyplot pickle sklearn random tensorflow.keras seaborn time
Please make sure you have all the modules installed before running the code. For installing these modules, one can use command pip install
or conda install
-
Click here to download the dataset for this project. It may require contact verification before downloading the dataset
-
Extract the dataset from the zipped folder into a folder named
data
-
Download this repository to your local machine
git clone https://github.com/zhaoshengEE/Modulation_Classification.git
-
Relocate the
data
folder into the repository -
Start your journey on this project