The aim of this project is to test feature generation pipeline using persistent homology with application to modulation classification problem.
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
| 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 |
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
[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
