wiki:Other/Summer/2017/SpectrumClassification

Version 16 (modified by bbruce, 7 years ago) ( diff )

SDR Smart Modem

Introduction

The SDR Smart Modem was designed to take advantage of the software designed radio capabilities. It is able to receive a signal from a USRP2, attempt to recognize the modulation scheme, and then demodulate the signal. On the trasnmitter end it can be used to modulate and transmit signals. To find this project, please visit the project GitHub.

Background

This project utilizes machine learning classifiers to recognize the modulation schemes of captured signals. We generated data using GNURadio to collect representative sample vectors of signals with various modulation schemes. Then, we trained a convolutional neural network with this data. An example confusion matrix is shown below:

Performance of Modulation Scheme Recognition


The neural network can detect a signal modulated with a QAM scheme but has trouble determining the specific QAM scheme. Therefore, we attempt to use a support vector machine to accompany the neural network when it detects a signal modulated with QAM to find the specific scheme. This SVM uses the 2nd and 4th k-statistic of the QAM signal to improve recognition. This acts as a placeholder until extraction of cyclic cumulants is achieved. (Cyclic cumulants have been shown to have very good performance at QAM recognition)

To modulate and demodulate the signals, GNURadio scripts are used according to the desired modulation schemes.

Tools Used

USRP2: Software defined radio

Quadro K5000: Workstation GPU

GNURadio: SDR Toolkit

TensorFlow: Neural Network Library

Keras: High level Neural Network API

Scikit-learn: Machine Learning Library

Presentations

Week One

Week Two

Week Three

Week Four

Week Five

Week Six

Week Seven

Week Eight

Week Nine

Week Ten

Week Eleven

Week Twelve

Poster

The Team

Avanish Mishra Brendan Bruce: bbruce.ece@gmail.com


References

https://github.com/radioML/dataset

https://github.com/gnuradio/gnuradio

https://github.com/tensorflow/tensorflow

https://pdfs.semanticscholar.org/7ff6/8ad5af36a8818886e0f562f0599990fb9111.pdf

Attachments (3)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.