Home

Awesome

Pytorch code for "A Spatially Separable Attention Mechanism For Massive MIMO CSI Feedback"

(c) Sharan Mourya, email: sharanmourya7@gmail.com

Introduction

This repository holds the pytorch implementation of the original models described in the paper

Sharan Mourya, Sai Dhiraj Amuru, "A Spatially Separable Attention Mechanism For Massive MIMO CSI Feedback"

Requirements

Steps to follow

1) Download Dataset

For simulation purposes, we generate channel matrices from COST2100 model. Chao-Kai Wen and Shi Jin group provides a ready-made version of COST2100 dataset in Dropbox.

2) Organize Dataset

Once dataset is downloaded, we recommend to organize the folders as follows

├── STNet  # The cloned STNet repository
│   ├── stnet.py
├── data  # The data folder
│   ├── DATA_Htestin.mat
│   ├── ...

3) Training STNet

Firstly, choose the compression ratio 1/4, 1/8, 1/16, 1/32 or 1/64 by populating the variable encoded_dim with 512, 256, 128, 64 or 32 respectively.

Secondly, choose a scenario "indoor" or "outdoor" by assiging the variable envir the same.

Finally run the file STNet.py to begin training...

Results

Normalized Mean Square Error (NMSE) and Floating-Point Operations per second (FLOPS) achieved by STNet for different compression ratios under different scenarios are tabulated below.

S.NoCompression RatioindooroutdoorFlops
11/4-31.81-12.915.22M
21/8-21.28-8.534.38M
31/16-15.43-5.723.96M
41/32-9.42-3.513.75M
51/64-7.81-2.463.65M