Giter Site home page Giter Site logo

pcicn_rffingerprinting's Introduction

PCICN_RFFingerprinting

A Photonic-Circuits-Inspired Compact Network: Toward Real-Time Wireless Signal Classification at the Edge

This repository is the official implementation of A Photonic-Circuits-Inspired Compact Network: Toward Real-Time Wireless Signal Classification at the Edge.

Requirements

To install requirements:

pip install -r requirements.txt

Access to Dataset

The dataset will be available later once it is approved to be publicly released:

  • The residaul data of ZigBee transmissions is pre-processed by Princeton University using the method described in Appendix A. The raw data is provided by Naval Research Laboratory.
  • If you use this dataset for your project, please properly reference [1], [2]
    [1] Merchant, Kevin et al. β€œDeep Learning for RF Device Fingerprinting in Cognitive Communication Networks.” IEEE Journal of Selected Topics in Signal Processing 12 (2018): 160-167.
    [2] Peng, Hsuan-Tung et al. "A Photonic-Circuits-Inspired Compact Network: Toward Real-Time Wireless Signal Classification at the Edge", https://arxiv.org/abs/2106.13865

Training

To train the PRNN-CNN model in the paper, run this command:

python train.py --model PRNN_CNN --data_path your_data_path --save True --output_dir your_output_dir

To train the NRL-CNN model in the paper, run this command:

python train.py --model NRL_CNN --data_path your_data_path -save True --output_dir your_output_dir

Evaluation

To evaluate the model after training on test dataset, run:

python eval.py --model_path your_model_path --model_filename your_model.pth --model PRNN_CNN

Note that if your model is NRL CNN, please change --model PRNN_CNN to --model NRL_CNN.

Pre-trained Models

To evaluate pretrained PRNN-CNN model on test dataset, run:

python eval.py --model_path ./pretrained --model_filename output_model_PRNN_CNN_pretrained.pth --model PRNN_CNN

To evaluate pretrained NRL-CNN model on test dataset, run:

python eval.py --model_path ./pretrained --model_filename output_model_NRL_CNN_pretrained.pth --model NRL_CNN

Results

Our model achieves the following performance on :

[RF Fingerprinting on 30 ZigBee devices]

Model name Top 1 Accuracy # Parameters Estimated Latency (on PYNQ-Z1)
NRL CNN 95.17% 322,602 26.19 ms
PRNN-CNN 96.32% 6,302 0.219 ms

pcicn_rffingerprinting's People

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.