Git Product home page Git Product logo

wozaimoyu / deep-learning-channel-estimation Goto Github PK

View Code? Open in Web Editor NEW

This project forked from emilbjornson/deep-learning-channel-estimation

0.0 0.0 0.0 26 KB

Simulation code for “Channel Estimation in Massive MIMO under Hardware Non-Linearities: Bayesian Methods versus Deep Learning,” by Özlem Tugfe Demir, Emil Björnson, IEEE Open Journal of the Communications Society, To appear.

Home Page: https://ebjornson.com/research/

Python 100.00%

deep-learning-channel-estimation's Introduction

Channel Estimation in Massive MIMO under Hardware Non-Linearities: Bayesian Methods versus Deep Learning

This is a code package related to the following scientific article:

Özlem Tugfe Demir, Emil Björnson, “Channel Estimation in Massive MIMO under Hardware Non-Linearities: Bayesian Methods versus Deep Learning,” IEEE Open Journal of the Communications Society, vol. 1, no. 1, pp. 109-124, 2020.

The package contains a simulation environment that reproduces some of the numerical results and figures in the article. We encourage you to also perform reproducible research!

Abstract of Article

This paper considers the joint impact of non-linear hardware impairments at the base station (BS) and user equipments (UEs) on the uplink performance of single-cell massive MIMO (multiple-input multiple-output) in practical Rician fading environments. First, Bussgang decomposition-based effective channels and distortion characteristics are analytically derived and the spectral efficiency (SE) achieved by several receivers are explored for third-order non-linearities. Next, two deep feedforward neural networks are designed and trained to estimate the effective channels and the distortion variance at each BS antenna, which are used in signal detection. We compare the performance of the proposed methods with state-of-the-art distortion-aware and -unaware Bayesian linear minimum mean-squared error (LMMSE) estimators. The proposed deep learning approach improves the estimation quality by exploiting impairment characteristics, while LMMSE methods treat distortion as noise. Using the data generated by the derived effective channels for general order of non-linearities at both the BS and UEs, it is shown that the deep learning-based estimator provides better estimates of the effective channels also for non-linearities more than order three.

Content of Code Package

The article contains 8 simulation figures, numbered 1 and 4-10. Figure 1 is generated by the Python script Fig1_specral_efficiency.py. Figures 4-8 are generated by the Python script Fig4_5_6_7_8_third_order_channel_distortion_correlation_estimation.py by properly selecting the number of users and modulation type. Figure 9 is generated by the Python script Fig9_ber.py. Figure 10 is generated by Fig10_seventh_order_effective_channel_estimation.py. The package also contains the Python script all_functions.py that contains several Python functions used by some of the scripts.

See each file for further documentation.

Acknowledgements

This work was partially supported by ELLIIT and the Wallenberg AI, Autonomous Systems and Software Program (WASP) funded by the Knut and Alice Wallenberg Foundation.

License and Referencing

This code package is licensed under the GPLv2 license. If you in any way use this code for research that results in publications, please cite our original article listed above.

deep-learning-channel-estimation's People

Contributors

emilbjornson avatar ozlemtugfedemir avatar

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.