In the May issue of the IEEE Signal Processing Magazine, you can read the most personal article that I have written so far. It is entitled “Reproducible Research: Best Practices and Potential Misuse” and is available on IEEEXplore and ArXiv.org. In this article, I share my experiences of making simulation code openly available.
I started with doing that in 2012, the year after I received my Ph.D. degree. It was very uncommon to make code publicly available in the MIMO field at that time, but I think we are definitely moving in the right direction. For example, the hype around machine learning has encouraged people to create open datasets and to share Python code. The Machine Learning for Communications Emerging Technologies Initiative by IEEE ComSoc has recently created a website with simulation code, which contains tens of contributions from many different authors. A few of them are related to Massive MIMO!
One important side-effect of making my code available is that I force myself to write the code as cleanly as possible. This is incredibly useful if you are going to reuse parts of the code in future publications. For example, when I wrote the paper “Making Cell-Free Massive MIMO Competitive With MMSE Processing and Centralized Implementation” earlier this year, I could reuse a lot of the code from my book Massive MIMO Networks. I was amazed by how little time it actually took to generate the simulations for that paper. The simulation setup is entirely different, but I could anyway reuse many of the signal processing and optimization algorithms that I had implemented earlier.