Giter Site home page Giter Site logo

baishanca / lis-deeplearning Goto Github PK

View Code? Open in Web Editor NEW

This project forked from abdelrahman-taha/lis-deeplearning

0.0 1.0 0.0 184 KB

Simulation code for "Enabling Large Intelligent Surfaces with Compressive Sensing and Deep Learning" by Abdelrahman Taha, Muhammad Alrabeiah, Ahmed Alkhateeb, arXiv e-prints, p. arXiv:1904.10136, Apr 2019.

Home Page: https://arxiv.org/abs/1904.10136

License: Other

MATLAB 100.00%

lis-deeplearning's Introduction

Enabling Large Intelligent Surfaces with Compressive Sensing and Deep Learning

This is a MATLAB code package related to the following article: Abdelrahman Taha, Muhammad Alrabeiah, and Ahmed Alkhateeb, “Enabling Large Intelligent Surfaces with Compressive Sensing and Deep Learning,” arXiv e-prints, p. arXiv:1904.10136, Apr 2019.

Abstract of the Article

Employing large intelligent surfaces (LISs) is a promising solution for improving the coverage and rate of future wireless systems. These surfaces comprise a massive number of nearly-passive elements that interact with the incident signals, for example by reflecting them, in a smart way that improves the wireless system performance. Prior work focused on the design of the LIS reflection matrices assuming full knowledge of the channels. Estimating these channels at the LIS, however, is a key challenging problem, and is associated with large training overhead given the massive number of LIS elements. This paper proposes efficient solutions for these problems by leveraging tools from compressive sensing and deep learning. First, a novel LIS architecture based on sparse channel sensors is proposed. In this architecture, all the LIS elements are passive except for a few elements that are active (connected to the baseband of the LIS controller). We then develop two solutions that design the LIS reflection matrices with negligible training overhead. In the first approach, we leverage compressive sensing tools to construct the channels at all the LIS elements from the channels seen only at the active elements. These full channels can then be used to design the LIS reflection matrices with no training overhead. In the second approach, we develop a deep learning based solution where the LIS learns how to optimally interact with the incident signal given the channels at the active elements, which represent the current state of the environment and transmitter/receiver locations. We show that the achievable rates of the proposed compressive sensing and deep learning solutions approach the upper bound, that assumes perfect channel knowledge, with negligible training overhead and with less than 1% of the elements being active.

Code Package Content

The main script for generating Figure 10 as shown below, illustrated in the original article, is named Fig10_generator.m. One additional MATLAB function named Main_fn.m is called by the main script. Another additional MATLAB function named UPA_codebook_generator.m is called by the function Main_fn.m. Figure10 The script adopts the publicly available parameterized DeepMIMO dataset published for deep learning applications in mmWave and massive MIMO systems. The 'O1_28' scenario is adopted for this figure.

To reproduce the results, please follow these steps:

  1. Download all the files of this project and add them to the "DeepMIMO_Dataset_Generation" folder. (Note that both the DeepMIMO dataset generation files and the source data of the 'O1_28' scenario are available on this link).
  2. Run the file named Fig10_generator.m in MATLAB and the script will sequentially execute the following tasks:
    1. Generate the inputs and outputs of the deep learning model.
    2. Build, train, and test the deep learning model.
    3. Process the deep learning outputs and generate the performance results.

If you have any questions regarding the code and used dataset, please contact Abdelrahman Taha.

License and Referencing

This code package is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. If you in any way use this code for research that results in publications, please cite our original article:

A. Taha, M. Alrabeiah, and A. Alkhateeb, “Enabling Large Intelligent Surfaces with Compressive Sensing and Deep Learning,” arXiv e-prints, p. arXiv:1904.10136, Apr 2019.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.