Code Monkey home page Code Monkey logo

deep-learning-based-radio-signal-classification's Introduction

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.

deep-learning-based-radio-signal-classification's People

Contributors

alexivaner avatar farhantandia avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.