Code Monkey home page Code Monkey logo

rf-signal-model's Introduction

RF-Signal-Model

We are trying to build different machine learning models to solve the Signal Modulation Classification problem.

With the dataset from RadioML, we work from 2 approaches to improve the classification performance for the dataset itself and its subset:

Improved CNN model for RadioML dataset

For this model, we use a GTX-980Ti GPU to speed up the execution time.

With our new architecture, the CNN model has the total data's Validation Accuracy improved to 56.04% from 49.49%, normal data's Validation Accuracy improved to 82.21% from 70.45%, with the running time for each epoch decreased to 13s from 15s(With the early stopping mechanism, it usually takes 40-60 epochs to train the model).

Here's the summary of model:

Layer (type)                   Output Shape              Param #   
=================================================================
reshape_1 (Reshape)            (None, 2, 128, 1)         0         
_________________________________________________________________
zero_padding2d_1 (ZeroPadding) (None, 2, 132, 1)         0         
_________________________________________________________________
conv2d_1 (Conv2D)              (None, 2, 129, 64)        320       
_________________________________________________________________
dropout_1 (Dropout)            (None, 2, 129, 64)        0         
_________________________________________________________________
zero_padding2d_2 (ZeroPadding) (None, 2, 133, 64)        0         
_________________________________________________________________
conv2d_2 (Conv2D)              (None, 1, 130, 64)        32832     
_________________________________________________________________
dropout_2 (Dropout)            (None, 1, 130, 64)        0         
_________________________________________________________________
conv2d_3 (Conv2D)              (None, 1, 123, 128)       65664     
_________________________________________________________________
dropout_3 (Dropout)            (None, 1, 123, 128)       0         
_________________________________________________________________
conv2d_4 (Conv2D)              (None, 1, 116, 128)       131200    
_________________________________________________________________
dropout_4 (Dropout)            (None, 1, 116, 128)       0         
_________________________________________________________________
flatten_1 (Flatten)            (None, 14848)             0         
_________________________________________________________________
dense1 (Dense)                 (None, 256)               3801344   
_________________________________________________________________
dropout_5 (Dropout)            (None, 256)               0         
_________________________________________________________________
dense2 (Dense)                 (None, 11)                2827      
_________________________________________________________________
reshape_2 (Reshape)            (None, 11)                0         
=================================================================
Total params: 4,034,187
Trainable params: 4,034,187
Non-trainable params: 0

A confusion matrix comparison between the original model(left) and the new model(right):

Spectrogram-CNN for RadioML subset

In our second approach, we converted the given data set into spectrogram images of size 41px x 108px and ran CNN models on the image data set. Sice this is a highly time and memory intensive process, we chose a smaller subets of the data. The subsets chosen are:

  1. Modulations - BPSK, QAM16, AM-DSB, WBFM with SNR ranging from +8 to +18 dB with steps of 2
  2. Modulations - BPSK, QAM16, AM-DSB, WBFM with SNR ranging from 􀀀10 to +8 dB with steps of 2
  3. Modulations - BPSK, QAM16, AM-DSB, WBFM, AB-SSB, QPSK with SNR ranging from 0 to +18 dB with steps of 2

The results of the model are shown below:

rf-signal-model's People

Contributors

haripriya-b avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

rf-signal-model's Issues

Only one value SNR is it possible

Hello RobinChen,
I am doing a project on classification Of WiFi,ZigBee,Bluetooth and their intermix signal using CNN.So I have collected raw data set(I and Q )samples(2097152) of each signal I want to classify the signal.However I am really confuse how to train the model is it by taking 2*128 samples each as image and train for CNN operation? can you please help me regarding this. I will be glad

I was very happy that I finally met an honest man

I am doing the same things as you in recent time. Have you written your papers yet? If I hope to give me a link, I will read it carefully.
I have read three papers about this dataset include Oshea, but all the accuracy they said I think is impossible. if you have studied the dataset carefully,You will find that all deep learning methods have no effect on QAM16 and QAM64. I specially training networks to classify only those two types of signals, and the accuracy of the verification set is always around 50%, both CNN and RNN has been tried, and many other research. i'm totally sure that this question won't be solved by DL, unless we change the data a bit.
But in this three papers their minimum accuracy reachs 87.4% and the highest is more than 91%, this is just a joke that they use the simplest model to get the unbelievable accuracy.
Your results are very close to mine, indicating that our study is without any false information, we hope that we can work together to solve the problem of QAM signal classification.

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.