Source code for NCC 2021 paper: Auto-SCMA: Learning Codebook for Sparse Code Multiple Access using Machine Learning
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.
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 |
The repo contains Jupyter notebooks that can be viewed and run online via Google Colab using the colab button that appears in Github.
SCMA_Python.ipynb
- Colab notebook for SCMA written in Python. It uses Pytorch to leverage GPU for faster runtime.is_fading
andis_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 channelFading_Fast_DiffSCMA_Shared.ipynb
- Colab notebook for Auto-SCMA on Rayleigh fading channel
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}}