Skip to content

Latest commit

 

History

History
63 lines (49 loc) · 3.62 KB

README.md

File metadata and controls

63 lines (49 loc) · 3.62 KB

Auto-SCMA (Sparse Code Multiple Access) Python-Pytorch Implementation

Source code for NCC 2021 paper: Auto-SCMA: Learning Codebook for Sparse Code Multiple Access using Machine Learning

Abstract

Sparse Code Multiple Access (SCMA) is an effective non-orthogonal multiple access technique that facilitates communication among users with limited orthogonal resources. Currently, its performance is limited by the quality of the hand-crafted codebook. We propose Auto-SCMA, a machine learning based approach that learns the codebook using gradient descent while using a Message Passing Algorithm decoder. It is the first machine learning based approach to generalize successfully on the Rayleigh fading channel. It is able to learn an effective codebook without involving any human effort in the process. Our experimental results show that Auto-SCMA outperforms previous methods including machine learning based methods.

image


Comparison with Deep Learning Aided SCMA (D-SCMA)

Method D-SCMA Auto-SCMA
Number of parameters > 1 million 96
Rayleigh Fading Generalization No Yes
Outperforms ML decoder on hand-crafted codeboook No Yes
Zero Human effort No Yes

Results

How to Use

The repo contains Jupyter notebooks that can be viewed and run online via Google Colab using the colab button that appears in Github.

File Description

  • SCMA_Python.ipynb - Colab notebook for SCMA written in Python. It uses Pytorch to leverage GPU for faster runtime. is_fading and is_noise can be used to toggle Rayleigh fading noise and AWGN noise respectively. The notebook contains two popular handcrafted SCMA codebooks.
  • AWGN_Fast_DiffSCMA_Shared.ipynb - Colab notebook for Auto-SCMA on AWGN channel
  • Fading_Fast_DiffSCMA_Shared.ipynb - Colab notebook for Auto-SCMA on Rayleigh fading channel

Citation

Please cite the following paper if you found the paper or the code useful in your work.

@INPROCEEDINGS{9530173,
  author={Ranjan, Ekagra and Vikram, Ameya and Rajesh, A. and Bora, Prabin Kumar},
  booktitle={2021 National Conference on Communications (NCC)}, 
  title={Auto-SCMA: Learning Codebook for Sparse Code Multiple Access using Machine Learning}, 
  year={2021},
  volume={},
  number={},
  pages={1-5},
  doi={10.1109/NCC52529.2021.9530173}}