# A Survey on Massive MIMO Systems in Presence of Channel and Hardware Impairments
## 3 Advantages and Challenges
### Challenges  
Massive MIMO technology as any other new technology, faces some problems and challenges. To make this technology reach the efficient implementation stage, these challenges need further study and investigation. In the following we will explain some of the main challenges in massive MIMO systems [5; 7]. * _Antenna array design_: Configuration and orientation of antenna arrays in massive MIMO systems is a problem which needs further studies. For example it should be investigated whether 2 dimensional or 3 dimensional antennas are suitable. Also having centralized or distributed antenna arrays and the distance between the antennas and the mutual coupling effect should be studied. * _Implementation in FDD mode_: The performance of massive MIMO systems is very dependent on the channel knowledge at the BS. In the uplink the users send orthogonal pilots and the BS estimates the channel of each user considering the pilots. In the downlink of conventional MIMO systems, the BS sends pilots to the users and the users feedback the channel information to the BS, after estimating it. However, since the number of resources needed for channel estimation is proportional to the number of antennas at the transmitter, estimating the channel in downlink of massive MIMO systems where we have large number of antennas at the BS is not suitable and it requires many resources. Also in these systems, the number of channels which each user has to estimate is large and, therefore, a large amount of information has to be fed back to the BS. One solution is to use time division duplex (TDD) mode and take advantage of channel reciprocity to estimate the downlink channel in the uplink. However, this mode also has some drawbacks, for example the hardware impairments in the BS and user side may affect channel reciprocity, not to mention possible channel variations between the time it is estimated and the time it is used (i.e., channel aging effects). Also many current systems work with FDD mode, and for massive MIMO to be compatible with these systems we need to be able to implement it in FDD mode. So, implementing massive MIMO in FDD mode with low training and feedback overhead is an issue that needs further studies. * _Pilot contamination_: In TDD mode, each user sends an orthogonal pilot for channel estimation. Since the coherence time of channel is limited, there is a limited number of orthogonal pilots and therefore users in other cells have to reuse these pilots. So, the estimated channel of a specific user will be contaminated with a linear combination of the channel of other users which use the same pilot. Since the beamforming is done considering these estimated channels, an interference between users who use the same pilot will occur. * _Channel model_: Most of the works on massive MIMO systems are done with the assumption of time invariant flat rayleigh fading channels. Since in OFDM systems the channel over each sub-carrier is considered flat, the studies on flat fading channels can be extended to OFDM systems. However, in many practical scenarios, the channel is frequency selective and time variant. The channel coefficients can also have different distributions. So, studying these systems in more realistic environments is an issue which needs further investigations. * _Waveform_: In 5G, to reach the required data rate and latency expected for future wireless communications the structure of the wireless communication needs significant changes. In other words, 5G is not a simple extension of 4G and it should use some new technologies and integrate different wireless access technologies [23]. Massive MIMO is one of these technologies. In each of these technologies the suitable waveform in different scenarios has to be investigated. Although in 2016 3 GPP decided to study various features of 5G new radio (NR) assuming OFDM, but this can change if significant gains can be demonstrated by any other waveform [24; 25; 26].