Changes between Version 12 and Version 13 of Other/Summer/2017/SpectrumClassification


Ignore:
Timestamp:
Aug 10, 2017, 6:31:32 PM (7 years ago)
Author:
AvanishM
Comment:

Information updates, added slides, poster, and images

Legend:

Unmodified
Added
Removed
Modified
  • Other/Summer/2017/SpectrumClassification

    v12 v13  
    11[[TOC(Other/Summer/2017*, depth=2)]]
    22
    3 = Spectrum Classification Application =
     3= SDR Smart Modem =
    44
    55== Introduction ==
    66
    7 The goal of this project is to create an application that will run on a receiver node and processes signals. It will take the received signal as an input, analyze the components and details of the signal, and classify the signal based on the analysis. This will require machine learning techniques to perform the classification.
    8 
    9 The program will receive signals, determine what modulation scheme was used to modulate the signal, and then demodulate the signal with the found scheme. This can also be expanded to creating a modem that will also choose the best modulation scheme to modulate a signal depending on the SNR of the given range of wireless frequencies.
     7The Smart Modem is designed to receive any signal from a USRP2, recognize the modulation scheme, and demodulate the signal. It also can be given an analog or digital signal, modulate it using a given scheme, and send it to a USRP2. To find this project, please visit [https://github.com/Avanish14/SmartModem/ the project GitHub.]
    108
    119== Background ==
    1210
    13 [https://docs.google.com/presentation/d/1JEqRF-rsv4_6ZWyGA7lsgeIpxCud4YGXjgjtWhPPOvs/edit?usp=sharing Summary of Project]
     11This project utilizes machine learning algorithms to recognize the modulation schemes of incoming signals. We first generated data using GNURadio to collect representative sample vectors of signals modulated with various modulation schemes. Then, we trained a convolutional neural network with this data. The results of the training are shown below:
    1412
    15 To recognize the modulation scheme of a received signal, we will train a classifier with a synthetic dataset that contains signals modulated with varying modulation schemes with different parameters (SNR, different noise distributions). Once trained, it will be run on an ORBIT node and tested on signals transmitted/received from SDRs.
     13 {{{
     14#!html
    1615
    17 Once the modulation scheme classification is done we will implement a modem system using the technology.
     16<center>
     17<table cellpadding=1>
     18  <tr>
     19    <td><center><img src="http://www.orbit-lab.org/raw-attachment/wiki/Other/Summer/2017/SpectrumClassification/matrix.png" height=300></center></td>
     20  </tr>
     21  <tr>
     22    <td align='center'>Performance of Modulation Scheme Recognition</td>
     23  </tr>   
     24</table>
    1825
     26
     27
     28<br><br>
     29
     30</center>
     31}}}
     32
     33The neural network can always detect a signal modulated with a QAM scheme but has trouble determining the specific QAM scheme. Therefore, we 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 determines [https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.kstat.html the 2nd and 4th k-statistic] of the QAM signal to better determine the scheme.
     34 
     35
     36To modulate and demodulate the signals, GNURadio scripts are used according to the desired modulation schemes.
    1937== Tools Used ==
    2038
    21 TensorFlow: Neural network library
     39USRP2: Software defined radio
    2240
    23 Scikit-learn: Machine learning library
     41Quadro K5000: high-end GPU
    2442
    25 [https://radioml.com/datasets/radioml-2016-04-dataset/ RadioML Dataset Signal Training Data]
     43GNURadio: SDR Toolkit
    2644
    27 GNURadio: Software defined radio toolkit
     45TensorFlow: Neural Network Library
    2846
    29 CUDA: NVIDIA Parallel Processing framework
     47Keras: High level Neural Network API
    3048
    31 Anaconda: Python powered data science focused platform
     49Scikit-learn: Machine Learning Library
    3250
    3351== Presentations ==
     
    5573[https://docs.google.com/presentation/d/153AQ9sh_Zh7_buXHPbwW-KhlsyJCBH7v4yLrktg5DSc/edit?usp=sharing Week Eleven]
    5674
     75[https://docs.google.com/presentation/d/1oipH2wTvMcrijJQ4hq9K-w2Ip66EchBDkdOGUokFKd4/edit?usp=sharing Week Twelve]
     76
     77[https://docs.google.com/presentation/d/15YdWQmidhWBq1kMlEhYAmT0OID3ySTuEabgHzJ2I5Eg/edit?usp=sharing Poster]
     78
    5779== The Team ==
    5880
    59 Avanish Mishra
    60 Brendan Bruce
    6181
     82 {{{
     83#!html
     84<center>
     85<table cellpadding=10>
     86  <tr>
     87    <td><center><img src="http://www.orbit-lab.org/raw-attachment/wiki/Other/Summer/2017/SpectrumClassification/avanish.png" height=300 hspace="100"></center></td>
     88    <td><center><img src="http://www.orbit-lab.org/raw-attachment/wiki/Other/Summer/2017/SpectrumClassification/brendan.png" height=300 hspace="100"></center></td>
     89  </tr>
     90  <tr>
     91    <td align='center'>Avanish Mishra</td>
     92    <td align='center'>Brendan Bruce</td>
     93  </tr>   
     94</table>
     95
     96
     97<br><br>
     98
     99}}}
     100