ZhangYezhuo / MDD-SEI

Specific Emitter Identification Handling Modulation Variation with Margin Disparity Discrepancy

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MDD-SEI

Specific Emitter Identification Handling Modulation Variation with Margin Disparity Discrepancy

A project employing the Margin Disparity Discrepancy (MDD) method for Domain Adaptation in a scenario with changing modulation schemes within the Specific Emitter Identification (SEI).

if our codes helped your reasearch, please consider citing the corresponding submission

@article{zhang2024specific,
        title={Specific Emitter Identification Handling Modulation Variation with Margin Disparity Discrepancy},
        author={Yezhuo Zhang and Zinan Zhou and Xuanpeng Li},
        year={2024},
        journal={arXiv preprint arXiv:2403.11531},
}
  • SEI with modulation variation MDD_structure

  • MDD structure for SEI MDD_structure

To related SEI with modulation variation works:

To the DA method employed in our work:

To the source code we referenced:

Requirements

pip install -r requirements.txt

Data preparation

The data in the article is not readily available for publication. Instead, we provide two open-source datasets that can be used for experimentation within the existing framework.

  • Datasets for RF Fingerprinting on the POWDER Platform NEU_POWDER

  • A PyTorch Signal Processing Machine Learning Toolkit TorchSig

If you choose NEU_POWDER, you need to

  • download the dataset from NEU_POWDER
  • cd into data/NEU_POWDER and run POWDER_HDF5.py to make a .hdf5 dataset.

If you choose TorchSig, note that this is a simulated dataset. If you use the data with hardware impairments, you can directly create an ```.hdf5`````` dataset. If you use the ideal data, please follow the steps below.

  • download the code from TorchSig and generate clear data.
  • cd into data/torchsig_HackRF/_make_dataset_from_torchsig and run _00_modulations.py, _01_from_seperate_to_continue.py and _02_add_carrier.py.
  • transmit real signal yourself
  • generate samples from the emitted signal with _03_cut_from_sampled.py.
  • cd into data/torchsig_HackRF and run TORCHSIG_HDF5.py to make a .hdf5 dataset.

Training

cd into code/script and do

raw DRSN model:

bash DRSN.sh

DRSN with MDD:

bash MDD_DRSN.sh

Contact

If you have any problem with our code or any suggestions, including discussion on SEI, please feel free to contact

About

Specific Emitter Identification Handling Modulation Variation with Margin Disparity Discrepancy

License:GNU General Public License v3.0


Languages

Language:Python 97.5%Language:Shell 2.5%