Category Archives: Education

Free PDF of Massive MIMO Networks

The textbook Massive MIMO Networks: Spectral, Energy, and Hardware Efficiency, that I’ve written together with Jakob Hoydis and Luca Sanguinetti, is from now on available for free download from https://massivemimobook.com. If you want a physical copy, you can buy the color-printed hardback edition from now publishers and major online shops, such as Amazon.

You can read more about this book in a previous blog post and also watch this new video, where I talk about the content and motivation behind the writing of the book.

Massive MIMO Hardware Distortion Measured in the Lab

I wrote this paper to make a single point: the hardware distortion (especially out-band radiation) stemming from transmitter nonlinearities in massive MIMO is a deterministic function of the transmitted signals. One consequence of this is that in most cases of practical relevance, the distortion is correlated among the antennas. Specifically, under line-of-sight propagation conditions this distortion is radiated in specific directions: in the single-user case the distortion is radiated into the same direction as the signal of interest, and in the two-user case the distortion is radiated into two other directions.

The derivation was based on a very simple third-order polynomial model. Questioning that model, or contesting the conclusions? Let’s run WebLab. WebLab is a web-server-based interface to a real power amplifier operating in the lab, developed and run by colleagues at Chalmers University of Technology in Sweden. Anyone can access the equipment in real time (though there might be a queue) by submitting a waveform and retrieving the amplified waveform using a special Matlab function, “weblab.m”, obtainable from their webpages. Since accurate characterization and modeling of amplifiers is a hard nonlinear identification problem, WebLab is a great tool to researchers who want to go beyond polynomial and truncated Volterra-type toy models.

A $\lambda/2$-spaced uniform linear array with 50 elements beamforms in free space line-of-sight to two terminals at (arbitrarily chosen) angles -9 respectively +34 degrees. A sinusoid with frequency $f_1=\pi/10$ is sent to the first terminal, and a sinusoid with frequency $f_2=2\pi/10$ is transmitted to the other terminal. (Frequencies are in discrete time, see the Weblab documentation for details.) The actual radiation diagram is computed numerically: line-of-sight in free space is fairly uncontroversial: superposition for wave propagation applies. However, importantly, the actual amplification all signals is run on actual hardware in the lab.

The computed radiation diagram is shown below. (Some lines overlap.) There are two large peaks at -9 and +34 degrees angle, corresponding to the two signals of interest with frequencies $f_1$ and $f_2$. There are also secondary peaks, at angles approximately -44 and -64 degrees, at frequencies different from $f_1$ respectively $f_2$. These peaks originate from intermodulation products, and represent the out-band radiation caused by the amplifier non-linearity. (Homework: read the paper and verify that these angles are equal to those predicted by the theory.)

The Matlab code for reproduction of this experiment can be downloaded here.

3D Beamforming, is that Massive MIMO?

No, these are two different but somewhat related concepts, as I will explain in detail below.

Contemporary multiantenna base stations for cellular communications are equipped with 2-8 antennas, which are deployed along a horizontal line. One example is a uniform linear array (ULA), as illustrated in Figure 1 below, where the antenna spacing is uniform. All the antennas in the ULA have the same physical down-tilt, with respect to the ground, and a fixed radiation pattern and directivity.

Figure 1: Azimuth 2D beamforming from a horizontal ULA.

By sending the same signal from all antennas, but with different phase-shifts, we can steer beams in different angular directions and thereby make the directivity of the radiated signal different from the directivity of the individual antennas. Since the antennas are deployed on a one-dimensional horizontal line in this example, the ULA can only steer beams in the two-dimensional (2D) azimuth plane as illustrated in Figure 1. The elevation angle is the same for all beams, which is why this is called 2D beamforming. The beamwidth in the azimuth domain shrinks the more antennas are deployed. If the array is used for multiuser MIMO, then multiple beams with different azimuth angles are created simultaneously, as illustrated by the colored beams in Figure 1.

Figure 2: Elevation 2D beamforming from a vertical ULA.

If we would rotate the ULA so that the antennas are instead deployed at different heights above the ground, then the array can instead steer beams in different elevation angles. This is illustrated in Figure 2. Note that this is still a form of 2D beamforming since every beam will have the same directivity with respect to the azimuth plane. This antenna array can be used to steer beams towards users at different floors of a building. It is also useful to serve flying objects, such as UAVs, jointly with ground users. The beamwidth in the elevation domain shrinks the more antennas are deployed.

Figure 3: 3D beamforming from a planar array.

If we instead deploy multiple ULAs on top of each other, it is possible to control both the azimuth and elevation angle of a beam. This is called 3D beamforming (or full-dimensional MIMO) and is illustrated in Figure 3 using a planar array with a “massive” number of antennas. This gives the flexibility to not only steer beams towards different buildings but also towards different floors of these buildings, to provide a beamforming gain wherever the user is in the coverage area. It is not necessary to have many antennas to perform 3D beamforming – it is basically enough to have three antennas deployed in a triangle. However, as more antennas are added, the beams become narrower and easier to jointly steer in specific azimuth-elevation directions. This increases the array gain and reduces the interference between beams directed to different users, as illustrated by the colors in Figure 3.

The detailed answer to the question “3D Beamforming, is that Massive MIMO?” is as follows. Massive MIMO and 3D beamforming are two different concepts. 3D beamforming can be performed with few antennas and Massive MIMO can be deployed to only perform 2D beamforming. However, Massive MIMO and 3D beamforming is a great combination in many applications; for example, to spatially multiplex many users in a city with high-rise buildings. One should also bear in mind that, in general, only a fraction of the users are located in line-of-sight so the formation of angular beams (as shown above) might be of limited importance. The ability to control the array’s radiation pattern in 3D is nonetheless helpful to control the multipath environment such that the many signal components add constructively at the location of the intended receiver.

Estimating Channels under Channel Hardening

Last year, I wrote a post about channel hardening. To recap, the achievable data rate of a conventional single-antenna channel varies rapidly over time due to the random small-scale fading realizations, and also over frequency due to frequency-selective fading. However, when you have many antennas at the base station and use them for coherent precoding/combining, the fluctuations in data rate average out; we then say that the channel hardens. One follow-up question that I’ve got several times is:

Can we utilize the channel hardening to estimate the channels less frequently?

Unfortunately, the answer is no. Whenever you move approximately half a wavelength, the multi-path propagation will change each element of the channel vector. The time it takes to move such a distance is called a coherence time. This time is the same irrespectively of how many antennas the base station has and, therefore, you still need to estimate the channel once per coherence time. The same applies to the frequency domain, where the coherence bandwidth is determined by the propagation environment and not the number of antennas.

The following flow-chart shows what need to happen in every channel coherence time:

When you get a new realization (at the top of the flow-chart), you compute an estimate (e.g., based on uplink pilots), then you use the estimate to compute a new receive combining vector and transmit precoding vector. It is when you have applied these vectors to the channel that the hardening phenomena appears; that is, the randomness averages out. If you use maximum ratio (MR) processing, then the random realization h1 of the channel vector turns into an almost deterministic scalar channel ||h1||2. You can communicate over the hardened channel with gain ||h1||2 until the end of the coherence time. You then start over again by estimating the new channel realization h2, applying MR precoding/combining again, and then you get ||h2||≈ ||h1||2.

In conclusion, channel hardening appears after coherent combining/precoding has been applied. To maintain a hardened channel over time (and frequency), you need to estimate and update the combining/precoding as often as you would do for a single-antenna channel. If you don’t do that, you will gradually lose the array gain until the point where the channel and the combining/precoding are practically uncorrelated, so there is no array gain left. Hence, there is more to lose from estimating channels too infrequently in Massive MIMO systems than in conventional systems. This is shown in Fig. 10 in a recent measurement paper from Lund University, where you see how the array gain vanishes with time. However, the Massive MIMO system will never be worse than the corresponding single-antenna system.