Skip to content

Python code for "Deep Learning for Massive MIMO CSI Feedback"

Notifications You must be signed in to change notification settings

Snowdrop99/Python_CsiNet

Repository files navigation

Python code for "Deep Learning for Massive MIMO CSI Feedback"

(c) 2018 Wang-Ting Shih and Chao-Kai Wen e-mail: [email protected] and [email protected]

Introduction

This repository contains the original models described in Chao-Kai Wen, Wan-Ting Shih, and Shi Jin, “Deep learning for massive MIMO CSI feedback,” IEEE Wireless Communications Letters, 2018. [Online]. Available: https://ieeexplore.ieee.org/document/8322184/

Requirements

  • Python 3.5 (or 3.6)
  • Keras (>=2.1.1)
  • Tensorflow (>=1.4)
  • Numpy

Steps to start

Step1. Download the Model

There are two models in the paper:

  • CsiNet: CSI sensing (or encoder) and recovery (or decoder) network
  • CS-CsiNet: Only learns to recover CSI from CS random linear measurements

We provide two types of code:

  • xxx_onlytest: This type of code is used to reproduce the results in our paper based on our training weights. The model and weights we trained are put in folder 'saved_model'.
  • xxx_train: This type of code provide a procedure to train the weights yourself.

Step2. Data Preparation

Download the data from https://drive.google.com/drive/folders/1_lAMLk_5k1Z8zJQlTr5NRnSD6ACaNRtj?usp=sharing. After you got the data, put the data as shown below.

*.py saved_model/ *.h5 *.json data/ *.mat 

Step3. Run the file

Now, you are ready to run any *.py to get the results (i.e., CS-CsiNet and CsiNet in Table I of our paper).

Result

The following results are reproduced from Table I of our paper:

gammaMethodsIndoorOutdoor
NMSErhoNSMErho
1/4LASSO-7.590.91-5.080.82
BM3D-AMP-4.330.8-1.330.52
TVAL3-14.870.97-6.90.88
CS-CsiNet-11.820.96-6.690.87
CsiNet-17.360.99-8.750.91
1/16LASSO-2.720.7-1.010.46
BM3D-AMP0.260.160.550.11
TVAL3-2.610.66-0.430.45
CS-CsiNet-6.090.87-2.510.66
CsiNet-8.650.93-4.510.79
1/32LASSO-1.030.48-0.240.27
BM3D-AMP24.720.0422.660.04
TVAL3-0.270.330.460.28
CS-CsiNet-4.670.83-0.520.37
CsiNet -6.240.89-2.810.67
1/64LASSO-0.140.22-0.060.12
BM3D-AMP0.220.0425.450.03
TVAL30.630.110.760.19
CS-CsiNet-2.460.68-0.220.28
CsiNet-5.840.87-1.930.59

About

Python code for "Deep Learning for Massive MIMO CSI Feedback"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python100.0%