Git Product home page Git Product logo

tda_modulation_recognition's Introduction

Modulation recognition using Persistent Homology

The aim of this project is to test feature generation pipeline using persistent homology with application to modulation classification problem.

About the dataset

The dataset consists of synthetic and over-the-air radio signals with different modulations. It was generated as a basis of the paper [1]. Signals with various modulation types were generated using the following schema

Signal generation schema

Modulation types
OOK
4ASK
8ASK
BPSK
QPSK
8PSK
16PSK
32PSK
16APSK
32APSK
64APSK
128APSK
16QAM
32QAM
64QAM
128QAM
256QAM
AM-SSB-WC
AM-SSB-SC
AM-DSB-WC
AM-DSB-SC
FM
GMSK
OQPSK

How to run this project

After cloning the repository set up virtual environment and install requirements

python -m venv venv 
source venv/bin/activate
pip install -r requirements.txt

This project uses DVC (Data Version Control) to run data processing pipelines. To download datasets set-up password to remote SSH storage, and pull the data:

dvc remote modify --local ssh-storage password [put_password_here]
dvc pull

Run the "spotcheck" stage to see the ranking of classifiers

dvc repro spotcheck

Run the "evaluate_model" stage to see performance of the best model

dvc repro evaluate_model

To see the accuracy of the best model and its confusion matrix run

dvc metrics show
dvc plots show

References

[1] Timothy James O'Shea, Tamoghna Roy, and T. Charles Clancy. "Over-the-air deep learning based radio signal classification." IEEE Journal of Selected Topics in Signal Processing, 12(1):168โ€“179, February 2018

[2] Carlsson, Gunnar. "Topology and data." Bulletin of the American Mathematical Society 46.2 (2009): 255-308

tda_modulation_recognition's People

Contributors

jprzew avatar mariamarchwicka avatar pawelklinga avatar anna-wasik 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.