Giter VIP home page Giter VIP logo

luwangg / gr-specmonitor Goto Github PK

View Code? Open in Web Editor NEW

This project forked from frankist/gr-specmonitor

0.0 0.0 0.0 1.19 MB

This repository includes all the code developed for RF signal classification in the context of the H2020 EU ORCA project

License: GNU General Public License v3.0

Emacs Lisp 0.01% CMake 7.95% C 0.09% C++ 17.64% Python 44.80% Jupyter Notebook 29.19% Makefile 0.20% Shell 0.12%

gr-specmonitor's Introduction

Hello there!

In this repository, you can find the code for my dataset collection framework. You can also find here some of the tools I wrote/used to train my deep learning object detection algorithms to identify RF signals.

Installation

I wrote a small script that installs the main dependencies of this repository. You can find it in

scripts/install.sh

Usage

Dataset Collection Framework

There are some examples in the directory examples for generating your own dataset.

Run a simple simulation example

If you are not within reach of any USRP pair (one Tx and one Rx) at the moment, you can run the simulation example in examples/sim_dataset_generation.

Enter the directory examples/sim_dataset_generation and run

python sim_awgn_luigi.py

In the directory tmp/, a directory called sim_dataset will be created with several subdirectories. If you open the RFVOCFormat/Images, you can see several spectrograms of WiFi, 4-channel PSK, and LTE transmissions.

Basic Introduction

In the previous example, several directories have been created with many files inside. These files represent intermediate data that the specmonitor framework generates to arrive to the final dataset. Each file represents the output of a batch job that is specified by the experimenter.

Like GNU Make, the specmonitor framework allows you to build complex pipelines of batch jobs, handling dependencies between them. We use the luigi to handle this pipeline workflow.

To set your workflow, you need to create three basic files: (i) a python file where you specify the type, name, and dependencies of the tasks/jobs of your workflow, (ii) a python file where you specify the combinations of arguments your jobs can take, (iii) a .cfg file where you set what tasks to run of your workflow, and output directory. You can check in example/sim_dataset_generation the (i) sim_awgn_luigi.py, (ii) task_params.py, and (iii) luigi.cfg, examples of these files.

gr-specmonitor's People

Contributors

frankist 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.