Coder Social home page Coder Social logo

hyongtao-db / correctly-modeling-tx-and-rx-chain-in-massive-mimo Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rnissel/correctly-modeling-tx-and-rx-chain-in-massive-mimo

0.0 0.0 0.0 218 KB

Allows to reproduce the figures and the appendix of the paper "Correctly Modeling TX and RX Chain in (Distributed) Massive MIMO - New Fundamental Insights on Coherency"

Python 100.00%

correctly-modeling-tx-and-rx-chain-in-massive-mimo's Introduction

Correctly Modeling TX and RX Chain in (Distributed) Massive MIMO - New FundamentalInsights on Coherency

This repository allows to reproduce the numerical results of R. Nissel, “Correctly Modeling TX and RX Chain in (Distributed) Massive MIMO - New FundamentalInsights on Coherency”, submitted to IEEE Communications Letters, 2022, which showed that the TX and RX models commonly used in literature for downlink (distributed) massive MIMO are wrong, leading also to wrong conclusions. For example, free-running LOs and the commonly made assumption of perfect reciprocity calibration (to enable simple blind DL channel estimation) are both not that useful. Instead, the LOs at the base stations should be locked and relative reciprocity calibration in combination with downlink demodulation reference symbols should be employed.

Requirements

Windows 10 (64bit) and Python 3.8 but newer versions (and some older) should also work.

Reproducible Figures

To reproduce Figure 5, please run LOeffectOnDistributedMassiveMIMO.py

  • Wrong Model: Please set line 22 to
CorrectTXandRXmodel = False 
  • Correct Model: Please set line 22 to
CorrectTXandRXmodel = True 

Note that in my paper I made a lot of simplyfing assumptions to make the paper and the code as clear and easy to follow as possible (the key conclusions of course still hold even in a more realistic setup). To make the simulation more realistic, one needs:

  • A more realistic channel model, e.g., Quadriga + Polarization + Antenna pattern + three sectors per site
  • Full time-frequency grid e.g., 3300 subcarriers + 1400 OFDM symbols
  • Perform "realistic" calibration and channel estimation (i.e., SRS and DMRS are at a certain time-frequency position and noise and interference will cause errors)
  • Include switching time between UL and DL transmission
  • Include coding and decoding + (different MCS) and not only rate calculations, etc.

Additional Explanations

In addition to reproducing Figure 5, also the analytical derivation steps in the appendix can be double-checked by simulations. For that, please run TxRxChainTheoryVsSimulation.py.

Moreover, in the appendix I kept the explanations quite compact because of size constraints. In the following, please find a simplified derivation of the +φ LO effect in the TX chain and -φ LO effect in the RX chain:

Please Cite My Paper

@article{Nissel2022,
	author    = {R. Nissel},
	journal   = {submitted to IEEE Communications Letters},
	title     = {Correctly Modeling {TX} and {RX} Chain in (Distributed) Massive {MIMO} - New Fundamental Insights on Coherency},
	year 	  = {2022},
	volume 	  = {xx},
	number 	  = {xx},
}

References

correctly-modeling-tx-and-rx-chain-in-massive-mimo's People

Contributors

rnissel 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.