Official source code for "EMC²-Net: Joint Equalization and Modulation Classification based on Constellation Network", ICASSP 2023 [1].
We propose a novel MC technique dubbed as EMC²-Net. The main contributions of our work are:
- Understand constellation as a set of 2D points rather than an image.
- Train equalizer and classifier jointly under the supervision of modulation type. Two NNs perform separate and explainable roles.
- Show SOTA performance on the linear modulation classification with much less complexity.
- Linux or macOS
- Python 3
- CPU or NVIDIA GPU + CUDA CuDNN
python==3.7.4
torch==1.10.2+cu113
numpy==1.17.2
scipy==1.3.1
- Clone this repo:
git clone https://github.com/Hyun-Ryu/emc2net emc2net
cd emc2net
- All of the data-generating codes are written in MATLAB, saved in
data_generation
folder. - For AWGN+PO dataset, run
dataset_generation_AWGNPO.m
. - For Rican or Rayleigh dataset, run
dataset_generation_fading.m
.
python train_phase1_noise_cirriculum.py \
--root "YOUR OWN ROOT DIRECTORY" \
--data_name "NAME OF DATASET" \
--exp_name "NAME OF EXPERIMENT"
python train_phase2.py \
--root "YOUR OWN ROOT DIRECTORY" \
--data_name "NAME OF DATASET" \
--exp_name "NAME OF EXPERIMENT" \
--pretrain_exp_name "NAME OF PHASE 1 EXPERIMENT"
python train_phase3.py \
--root "YOUR OWN ROOT DIRECTORY" \
--data_name "NAME OF DATASET" \
--exp_name "NAME OF EXPERIMENT" \
--pretrain_exp_name "NAME OF PHASE 1 EXPERIMENT" \
--phase2_exp_name "NAME OF PHASE 2 EXPERIMENT"
python test_fading.py \
--root "YOUR OWN ROOT DIRECTORY" \
--data_name "NAME OF DATASET" \
--exp_name "NAME OF EXPERIMENT"
python test_awgnpo.py \
--root "YOUR OWN ROOT DIRECTORY" \
--data_name "NAME OF DATASET" \
--exp_name "NAME OF EXPERIMENT"
@inproceedings{ryu2023emc,
title={EMC 2-Net: Joint Equalization and Modulation Classification Based on Constellation Network},
author={Ryu, Hyun and Choi, Junil},
booktitle={ICASSP 2023-2023 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)},
pages={1--5},
year={2023},
organization={IEEE}
}