Version 14 (modified by 7 years ago) ( diff ) | ,
---|
Table of Contents
SDR Smart Modem
Introduction
The Smart Modem is designed to receive a signal from a USRP2, attempt to recognize the modulation scheme, and then demodulate the signal. It also 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
The Team
Avanish Mishra | Brendan Bruce |
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)
- avanish.png (185.4 KB ) - added by 7 years ago.
- brendan.png (224.1 KB ) - added by 7 years ago.
- matrix.png (41.4 KB ) - added by 7 years ago.
Download all attachments as: .zip