Skip to content

maximeguillaud/tensor-based-modulation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tensor-Based Modulation

Tensor-Based Modulation (TBM) is a modulation designed to handle massive over-the-air contention in multiple antenna wireless systems. As opposed to classical methods based on handling collisions through transmission redundancy, TBM relies on multi-linear spreading to enable the parallel decoding of most of the colliding signals, up to a high degree of contention. The method was introduced in [1].

This is an implementation of TBM in Python, for the case of a block-fading channel with multiple receiving antennas.

It also includes an implementation of the structured vector modulation adapted to non-coherent communications described in [2].

Getting started

Installation

Install the prerequisite libraries (Numpy, Tensorly, Statistics and Graycode) and clone this repository:

pip install numpy tensorly statistics graycode
git clone  https://github.com/maximeguillaud/tensor-based-modulation.git

Running the example

cd tensor-based-modulation
python3 ./tbm_poc.py

Implementation status

The present implementation is not optimized for performance (speed and/or other efficiency metrics). It intends to be didactical by adhering to the concepts and notations used in [1] and [2] (annotations in the code refer to equations in these articles) and maximally reusing off-the-shelf components (in particular, all tensor algebraic operations are performed using Tensorly).

Features (implemented and to-do)

  • Tensor-based modulation from [1] over a block-fading multiuser Single-Input Multiple-Output channel
  • Vector codebook from [2] (including mapper and hard demapper)
  • Vector codebook based on reference symbol+QAM modulation, and ZF equalization
  • Binary channel code
  • Receiver-side estimation of the number of active users (currently assumed known)
  • Performance benchmark

Author

The code was written by Maxime Guillaud. The theory behind tensor-based modulation, published in [1] and [2], was developed in collaboration with Alexis Decurninge, Khac-Hoang Ngo, Ingmar Land and Sheng Yang.

License

This software is distributed under the 3-Clause BSD license agreement.

Bibliography

[1] Tensor-Based Modulation for Unsourced Massive Random Access, by A. Decurninge, I. Land and M. Guillaud, IEEE Wireless Communications Letters, vol. 10, no. 3, pp. 552-556, March 2021.

[2] Cube-Split: A Structured Grassmannian Constellation for Non-Coherent SIMO Communications, by K.-H. Ngo, A. Decurninge, M. Guillaud, S. Yang, IEEE Transactions on Wireless Communications, Vol. 19, No. 3, March 2020.

About

A proof-of-concept implementation of tensor based modulation.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages