I find this topic endlessly interesting. Although I admit it can be a challenge making it interesting for others. But let’s see what we can do.
“Massive MIMO” is of course a key bit of 5G radio magic. But let’s start with the concept of MIMO.
MIMO – The Preliminaries
Take a cell site. There is a base station radio with some number of antennas, which we will call M, and there is some number of remote user antennas, which we will call K. We want to send information wirelessly between the base station and each remote user, and we want to serve all the users with their own data simultaneously with one radio frequency. And we assume that all the base station antennas transmit at one time, and that all the user antennas also do so (at alternate times).
Won’t there be interference between the signals transmitted to (or received from) different users? Yes, of course. The beauty of MIMO (Multiple-Input Multiple-Output) is that it puts this interference to work.
The basic principle is this. Between each base station antenna and each user antenna there is a radio channel. In radio engineering, we can account for the characteristics of this channel with a single complex number, whose magnitude represents the attenuation of the signal and whose angle represents the phase shift. If the base station is transmitting, then each user antenna receives a combined sum of each transmitted signal multiplied by the particular complex channel characteristic associated with that pair of antennas. Since there are M base station antennas and K user antennas, there are M x K complex channel numbers all told.
Let’s call the channel numbers hij. (The i refers to the i-th base station antenna and the j to the j-th user.) We arrange all these h’s into rows and columns to make a matrix [H]. Then the transmit and receive signals can be represented as components of vectors, X for transmit and Y for receive. Engineers do this so they can attack the problem using linear algebra:
Y = [H] x X
[H] is called the ‘channel matrix’.
Now, suppose we know all the values in the channel matrix. If that’s the case, in principle we can calculate the matrix inverse, such that:
[H] x [H]-1 = [I]
[I] is the ‘identity matrix’, and any matrix or vector multiplied by the identity matrix remains unchanged. (Like multiplying a simple number by 1.)
We can put this to work. Let’s modify the signals before we transmit them and see what the new received signals (Y’) are:
Y’ = [H] x ([H]-1 x X)
= ([H] x [H]-1) x X
In English: We first multiply the signals we want to send by the inverse of the channel matrix. Then we transmit them. Then the channel undoes what we did to the signals. Then the receivers receive exactly what we want them to.
It works the other way too. When the users transmit to the base station, the base station can use [H]-1 to undo what the channel did to the signals (combine them in ways that cause interference).
In other words, we can compensate the interference between signals by applying a kind of opposite interference before sending them (or after receiving them). The result is interference-free.
Sounds like magic, when you think about it, doesn’t it?
Admittedly, there is more to it, because we have to think about noise and other interference not related to what we’re sending. But this is the basic idea behind MIMO.
MIMO – The Hard Part
The hard part is finding out all the channel numbers, i.e. the numbers in [H]. And we have to do this quite often, may times per second, because mobile users move, so the channel numbers keep changing.
Let’s identify some assumptions:
- There are more base station antennas than users, M > K;
- we want to keep the user equipment (UE) as dumb as possible, to keep the user’s costs down and prolong battery life; so,
- we want the base station to do as much processing as possible.
Finding the channel numbers is called channel estimation. The classic way to do it relies on something called reciprocity.
Suppose a user’s equipment (which we’ll start calling UE) sends out a short, known signal. We’ll call these short signals symbols. If the base station knows when to expect it, it can look at what it receives from each of its antennas and, knowing what the symbol should have been, calculate what the channel did to it. And since radio channels are reciprocal, i.e. they work the same in both directions, the base station can collect all the channel numbers and use them as a channel matrix for the next data transmission.
This is “reciprocity-based estimation”.
Uh oh — LTE
The idea for MIMO has been around for a long time, long enough to be used on 4G/LTE networks. And it seems we’ve overlooked something.
Reciprocity-based estimation assumes the same channel is used for both uplink and downlink (uplink is when the base station receives and downlink when it transmits). But in most LTE networks, the uplink and downlink are actually on different frequencies, hence not reciprocal. Using the method described above, the base station can estimate the uplink but not the downlink. This is a problem. Mobile customers who can’t watch YouTube won’t be customers for long. We have to fix this.
In these types of networks we have no choice but to involve the UE in channel estimation. But we have to keep it as simple as possible, so as not to tax the UE’s little brain or battery. So we send a known symbol to the UE, and the UE compares it to what it expects and sends back an indication of how far off it is. The base station can then interpret this to modify the data before sending, as before.
This is called feedback-based estimation. It has to be used on so-called FD bands — Frequency Duplexed, i.e. uplink and downlink separated by frequency. Reciprocity estimation works on TD bands — Time Duplexed, where uplink and downlink occur at different times but on the same frequency. (We may be able to send multiple signals to multiple users on the same frequency and compensate for interference, but we can’t — yet — send and receive on the same frequency at the same time with the same radio. Thus the need for ‘duplexing’.)
The ‘Massive’ Part
The idea of using a single frequency band and a little linear algebra to send individualized data to individual users at the same time is pretty cool, especially when you consider how valuable — and how limited — the frequency spectrum for mobile service is. But it turns out MIMO is a little harder to actually make work in real environments.
First of all, channel estimation is pretty approximate. There is noise and other interference that degrades the measurements. And when [H] is only approximate to the real channel, [H]-1 may not compensate for the actual channel very well at all.
Secondly, but just as important, those other sources of interference — like UEs being served by a different base station near the border between two cells, or transmissions from nearby base stations — weren’t considered in the very direct approach described above, where we were concerned only with M base station antennas and K user antennas served by the base station. The [H]-1 matrix doesn’t help us with this extra interference.
The answer turns out to be more M. Adding base station antennas allows better approximations to the channel, even in the presence of noise, and it gives opportunities for precoding (which is what we shall call modifying data before we send it or after we receive it) in order to cancel out the extra unwanted interferers. It’s not as simple as the basic matrix inversion we started out with, but it builds on the same idea. In general, more M leads to better results, and it is possible to analyze mathematically (as well as simulate) so we know just what results to expect.
Recapping: the simplest form of precoding matrix — [P] — is [H]-1. [H]-1 might work in a lab environment, enabling interference-free communication on one frequency, but in real environments we have to find more appropriate precoding, using more M along with the best channel estimation we can get. One rule of thumb says that M should be at least four times the number of users you want to serve simultaneously. If it’s eight users, your base station should have at least 32 antennas.
This is the territory of “Massive MIMO”, which generally means 32, 64, or sometimes 128 antennas in the base station. There is some debate over whether 16 counts, but anything under this is plain old MIMO, which has its uses but remains quite limited in serving more than one user at a time.
Uh oh #2 — Beam-forming
In any environment at any point in time, there are one or more precoding solutions that cancel all interference and move the most information between users and base station. These are sometimes called eigenmodes. It’s helpful to think of them as particular solutions that unravel the actual channel matrix and nullify interference. There is a lot of theory behind finding eigenmodes based on whatever imperfect channel estimation can be arrived at.
It’s great theory, and a number of very sharp minds have contributed to it. Unfortunately, it hasn’t worked out so well in practice. And there are important reasons for this.
Massive MIMO radios are being built for the so-called mid-bands, 2.4-5 GHz. This is because the mid-bands have more available spectrum than the low bands, and because they are specified to be used TD — that is, Time Duplexed, where reciprocal channel estimation has a chance to work. Since the mid-bands are obviously higher frequency than the low bands (down to 0.6 GHz), they have shorter wavelengths, and simple antennas are proportionately smaller. Physics tells us that signals can’t be sent as far without a corresponding increase in transmitted power and/or receive sensitivity (and sensitivity is already near practical limits).
Big base station radios for the low bands already transmit at high powers in order to get decent cell coverage. Rather than go even higher, the preferred solution in mid-band is to change the antenna, make it effectively larger, and this is done by means of an array of simple antennas working in tandem.
The result is not exactly the same as a low-band radio. An array of antennas creates a beam, i.e. most energy is radiated in (or received from) a small cone of directions. Within that cone, the effective power (or effective sensitivity) is much higher than for a simple antenna. Since the cone is narrow, it must be steerable, and this is accomplished through well-known techniques of adjusting the signal phase to each of simple antennas in the array.
This type of solution is referred to simply as beam-forming.
Beam-forming is used because a single simple antenna at the base station will not communicate reliably with a UE unless it is close by. For practical cell sizes (several hundred meters radius), most UEs are out of range of a single antenna, which makes it impractical to estimate the corresponding channel. And without estimating each of the M x K individual channels between base station antennas and UEs, you can’t work out [H], and without [H] you can’t find eigenmodes.
5G is Designed for Beams
So how does massive MIMO actually work, if you can’t find eigenmodes?
To be precise, since individual base station antennas won’t ‘reach’ far enough to do channel estimation in practical cells, it is not feasible to find eigenmodes for 32, 64, or 128 base station antennas. But it is possible to divide a large antenna array into a number of smaller beam-forming sub-arrays, treat the sub-arrays as logical antennas, and find eigenmodes using these logical antennas.
For example, divide a 32-antenna array into 8 sub-arrays of 4 antennas each. If a number of UEs are within range of the sub-arrays (because each sub-array is creating a steerable beam), then M is equal to 8 (rather than 64). There are fewer degrees of freedom to find eigenmodes with which to nullify interference, so the number of UEs served simultaneously (K) must be correspondingly smaller, but the effective range of channel estimation is better than what’s possible with individual antennas.
The 5G specifications provide a lot of support for beams. Massive MIMO radios (at least those compatible with the ORAN 7.2-split) leverage this by acting as “antennas multiplexers”, so to speak. The radio might have 64 antennas but the baseband processor ‘sees’ only eight, for example.
Uh oh #3 — The uplink problem
So far so good. We can put massive MIMO to work in the mid-bands if we accept a trade-off that limits the number of UEs we serve simultaneously.
But as we increase the size of the antenna array from 16 to 32 to 64 to 128 antennas, physics tells us that the effective transmit power in the beams we create rises more than the effective receive sensitivity. In other words, we find that the downlink reaches farther than the uplink. In fact, if the cell size is constrained by the uplink, the downlink is able to reach right through one or more adjacent cells — which is not only a waste of power, it’s a source of interference in other cells.
We would much rather define larger cell sizes, consistent with the downlink reach, if for no other reason than most massive MIMO radios will be installed at existing cell sites — whose borders are already determined.
But the uplink may not reach all the way to the cell edge..
The solution to this problem is simple. We don’t use mid-band massive MIMO all by itself. We supplement it with conventional macro radios operating on a low band, and we use “dual connectivity”, meaning in this case that we can carry uplink information from the UE over the low band to the conventional radio, while we send downlink data from the massive MIMO radio over the mid-band.
This has been proven to work, but it also means we can’t always use reciprocity-based channel estimation, even with sub-arrays. We often have to use feedback-based estimation, which involves the UE, which may have to send its feedback via the low-band. This also works, but there are definite drawbacks.
First, the UE has to have enough horsepower and battery capacity to calculate feedback for up to 8 or even 16 downlink beams. (Recall that this happens many times per second.)
A second drawback is that a low-band radio can not spatially discriminate UEs as well as a mid-band massive MIMO. The conventional macro radio has only two or four antennas. Narrower beams are possible with specialized beam-forming antennas, but these beams are fixed and such antennas require a macro radio for each beam. Which can get expensive. With less spatial discrimination, the uplink is subject to more UE-UE interference, which is a real problem near the cell edge (and there hasn’t been anything to seriously move the needle on poor cell-edge service in years).
A third drawback is that, in the world of beam-forming, massive MIMO radios try to track user movement by calculating the direction from which it receives the uplink, and then use this information to re-point the beams. Which is obviously not possible if you can’t receive them. And if beam-steering suffers, this degrades the downlink.
Ericsson Stirs the Pot
A number of mobile network operators have commented on the uplink problem, specifically the limited reach in mid-band even with beam forming. This is becoming a pain point, in part because uplink throughput is becoming more important as applications evolve (think Zoom and video uploads), and in part because the downlink depends on good channel estimation and the ability to track moving users with steerable beams.
So the “uplink problem” translates into overall performance degradation when the UE is beyond a certain distance from the base station and/or near the edge of an adjacent cell.
Consequently, anything that could improve the uplink reach would increase the area of higher-performance in each cell.
Ericsson claims to have done just this. By moving certain processing out of the baseband and into the radio, they claim a 10dB improvement in the uplink — which might translate roughly into 3x the usable distance. They don’t explain exactly how this is accomplished, so we should take it with a grain of salt. Still, it doesn’t seem likely they would knowingly damage their reputation with completely unsubstantiated claims. After all, a big network operator doesn’t buy just one radio; they might buy tens of thousands over a span of years.
But Ericsson is very careful to point out that this “Uplink Booster” is a feature that relies on a new ‘functional split’ between baseband and radio. It can not be done with the functional split defined by the Open RAN Alliance. In other words, if a network operator deploys massive MIMO in the mid-band using open RAN-compliant radios, then it must live with a degraded uplink and either buy many more radios and serve much smaller cells, or else supplement each mid-band radio with low-band radios and accept the drawbacks. Otherwise, it must come to Ericsson and buy their proprietary radios and baseband.
At least this is the implication.
Mid-band massive MIMO seems to be having most of its success serving “hot spots”, smaller areas (less than a full cell) where high-performance is needed. But it isn’t the whole solution, despite its early promise and the enormous bandwidth available in the mid-bands. The new RAN has to be deployed in layers, with a covergage layer in a low band and a capacity layer in a mid band (or high band — millimeter wave). Obviously expensive, needing two layers (at least) of licensed spectrum and equipment.
Unless Ericsson’s (relatively new) Uplink Booster turns out to be a game-changer.