alexivaner / Deep-Learning-Based-Radio-Signal-Classification

Final Project for AI Wireless

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Enhanced Low SNR Radio Signal Classification using Deep Learning

Final Project for AI Wireless 2020 in National Chiao Tung University
Top final project in the AI Wireless 2020 NCTU (Fall 2020)



Contributors

Farhan Tandia
Ivan Surya Hutomo

Abstract

The ability to classify signals is an important task that holds the opportunity for many different applications. Previously to classify the signal, we should decompose the signal using FT (Fourier Transform), SIFT, MFCC, or another handcrafting method using statistical modulation features. In the past five years, we have seen rapid disruption occurring based on the improved neural network architectures, algorithms, and optimization techniques collectively known as deep learning (DL). It turns out that state of the art deep learning methods can be applied to the same problem of signal classification and shows excellent results while completely avoiding the need for difficult handcrafted feature selection. In 2018, people use ResNet as a state of the art of computer vision to classify radio communication signals. But ResNet only still fail to distinguish signal with low SNR condition. They only work well on a signal with high SNR Conditions. After two years, deep learning already improved a lot and many methods have become the new state of the art that we could apply for radio signal classification. Hence, we propose a new state of the art method to better classifying radio-signal network that both works on a signal with low noise (High SNR) and signal with high noise (Low SNR). Our works even will work using only RAW signal without the need preprocessing or denoising the noisy signal.

Goals


  • Classify 24 kinds of signal and get higher accuracy in lower SNR value.
  • Design a new deep learning architecture and try to get the comparable results in terms of accuracy with state of the art or even better.
  • Create End-to-end Deep Learning Model System (using only RAW signal).

24 Kinds of signals
'32PSK', '16APSK', '32QAM', 'FM', 'GMSK', '32APSK', 'OQPSK', '8ASK', 'BPSK', '8PSK', 'AM-SSB-SC', '4ASK', '16PSK', '64APSK', '128QAM', '128APSK','AM-DSB-SC', 'AM-SSB-WC', '64QAM', 'QPSK', '256QAM', 'AM-DSB-WC', 'OOK', '16QAM'

Challenges


Highlight

This is the improved code from previous project :
Paper :Over the Air Deep Learning Based Radio Signal Classification
Github :ResNet-for-Radio-Recognition
Previous paper could not recognize signal in Low SNR value, hence we introduced new method that could also recognize Low SNR signal.

Proposed Method


Our Result (Green Line)

We could see that our result surpassed previous method a lot in Low SNR, from under 20% to more than 70% (We could see our result in green line surpassed baseline in Low SNR Signal)


Comparison in Confussion Matrices:

We could see that we got very good confussion matrices even in the Low SNR Signal

How to Run

You could run the program by following steps::

Clone the repository:

git clone https://github.com/alexivaner/Deep-Learning-Based-Radio-Signal-Classification.git

Download the Weight and Dataset:

  • Download weights here
  • Extract all weights to "Submission" folder
  • Download extracted dataset here
    Our dataset is originally taken from DEEPSIG DATASET: RADIOML 2018.01A (NEW), if you want to know more, you can click here
    and you can extract the dataset using extract_dataset.ipnyb
  • Create new folder and name it "ExtractDataset", extract all the dataset and put on that folder, the folder structure will be like below:
└── Deep-Learning-Based-Radio-Signal-Classification
    ├── Submission
    │   ├── resnet_model_mix.h5
    │   ├── trafo_model.data-00000-of-00001
    │   ├── trafo_model.index
    │   ├── ...
    ├── ExtractDataset
    │   ├── part0.h5
    │   ├── part1.h5
    │   ├── part2.h5
    │   ├── ....

Inference and Evaluate

  • Go to Submission folder:
    cd Submission
  • Run Jupyter Notebook:
    jupyter notebook
  • Open "Evaluate-Benchmark.ipnyb":

Training Resnet Modified for High SNR Signal

  • Go to Submission folder:
    cd Submission
  • Run Jupyter Notebook:
    jupyter notebook
  • Open "Classification-proposed-model-resnet-modified-highest.ipynb":

Training Transformer Model for Low SNR Signal

  • Go to Submission folder:
    cd Submission
  • Run Jupyter Notebook:
    jupyter notebook
  • Open "Classification-proposed-model-transformer-low.ipynb":

Full Proposal

Please download our full proposal here:
Full Proposal

Full Final Explanation Report

Please download our full final report here:
Full Report

Disclaimer

Please cite us as author and our GitHub, if you plan to use this as your next research or any paper.

Reference

T. J. O’Shea, T. Roy and T. C. Clancy, "Over-the-Air Deep Learning Based Radio Signal Classification," in IEEE Journal of Selected Topics in Signal Processing, vol. 12, no. 1, pp. 168-179, Feb. 2018, doi: 10.1109/JSTSP.2018.2797022.
Harper, Clayton A., et al. "Enhanced Automatic Modulation Classification using Deep Convolutional Latent Space Pooling." ASILOMAR Conference on Signals, Systems, and Computers. 2020.
Vaswani, A.; Shazeer, N.; Parmar, N.; Uszkoreit, J.; Jones, L.; Gomez, A. N.; Kaiser, Ł. & Polosukhin, I. (2017), Attention is all you need, in 'Advances in Neural Information Processing Systems' , pp. 5998--6008 .
J. Uppal, M. Hegarty, W. Haftel, P. A. Sallee, H. Brown Cribbs and H. H. Huang, "High-Performance Deep Learning Classification for Radio Signals," 2019 53rd Asilomar Conference on Signals, Systems, and Computers, Pacific Grove, CA, USA, 2019, pp. 1026-1029, doi: 10.1109/IEEECONF44664.2019.9048897.
S. Huang et al., "Automatic Modulation Classification Using Compressive Convolutional Neural Network," in IEEE Access, vol. 7, pp. 79636-79643, 2019, DOI: 10.1109/ACCESS.2019.2921988.
Huynh-The, Thien & Hua, Cam-Hao & Pham, Quoc-Viet & Kim, Dong-Seong. (2020). MCNet: An Efficient CNN Architecture for Robust Automatic Modulation Classification. IEEE Communications Letters. 24. 811-815. 10.1109/LCOMM.2020.2968030.

About

Final Project for AI Wireless

License:MIT License


Languages

Language:Jupyter Notebook 100.0%