Skip to content

Beamforming and MIMO: many antennas, one spectrum

When 5G arrived, it came with promises of fibre-like speeds on your phone. A quick sum makes that look impossible. A mobile network has only so much radio spectrum, every phone in an area shares it, and the Shannon limit says how many bits each hertz can carry. Divide it out between the phones in a busy city centre, and each gets a trickle.

The sum is right as far as it goes. What it leaves out is space. A mast with many antennas can aim its signal: a narrow beam to each phone instead of one wave spreading in every direction. Then several phones can use the same spectrum at the same moment, each in its own beam. A phone with a few antennas can even receive several streams at once, carried by different reflections round a room. This is beamforming, and MIMO: multiple input, multiple output.

This page builds that up from two antennas, and then lets your two loudspeakers aim a “beam”, and a silence, at your microphone.

It leans on:

A few terms first:

  • A wavelength (λ) is the distance a wave travels in one cycle: its speed divided by its frequency. Radio at 3.5 GHz (a common 5G band) has a wavelength of 8.6 cm; sound at 1 kHz, 34 cm. Most of this page measures distances in wavelengths, so it’s the same for both.
  • A cell is the area one set of antennas on a mast covers. A mast usually has three, each facing a third of the way round.
  • dB compares powers: +3 dB is double, +10 dB is ten times, −10 dB a tenth.

Here’s the sum. Each cell has some spectrum, and carries some average number of bits per second in each hertz of it. That’s set by the signal against the noise, as on the Shannon page. Near the mast it’s high; at the edge of the cell, far less. Multiply by the number of cells in a square kilometre, and share the result between the phones that are busy at that moment.

Each slider is one part of the sum. The bar is what each busy phone gets, against some everyday rates (dashed). The masts’ spacing assumes they’re laid out evenly, on a triangular grid.

The starting point is a city centre with masts about 480 m apart, 100 MHz of spectrum, and 2 bits per hertz on average. Each cell carries 200 Mbit/s, and a square kilometre 3 Gbit/s. With 20,000 phones there, and 1 in 20 busy at any moment, each busy phone gets 3 Mbit/s. That’s not even enough for HD video, let alone a typical home broadband plan, and 33 times short of it.

None of the knobs helps much on its own. Spectrum is scarce and expensive, and the useful bands below about 6 GHz are crowded. Better codes can’t beat Shannon’s limit, and real systems are already within a few decibels of it. That leaves the number of cells, and the one thing the sum assumes without saying so: that each cell can only serve one phone at a time on each hertz. The rest of the page takes that assumption apart.

2 · Two antennas: loud spots and quiet spots

Section titled “2 · Two antennas: loud spots and quiet spots”

Start with two antennas sending the same wave, and one receiver. Two copies of the wave reach it, one from each antenna, and it gets the two added. If one copy has travelled further, it arrives later: it’s behind the other by part of a cycle. As on the modulation pages, each copy is also an arrow: its length is how strong it is, and its angle is how far through its cycle it is. Adding the waves is adding the arrows.

The graphs: the wave from the first antenna (blue), from the second (green), and their sum (orange), over three cycles. The dashed line marks one of the first wave’s crests, and the dots each wave’s crest after it. The arrows: the same two waves as arrows, tip to tail, and their sum.

To start with, the two crests line up, and the sum is twice the size: 4 times the power, or +6.0 dB against one wave. Slide the second wave a quarter of a wavelength further, and it’s a quarter of a cycle (90°) behind. The arrows are at right angles, and the sum is 1.41 times the size, +3.0 dB: just the two waves’ powers added. At half a wavelength, each crest meets a trough, and the sum is silence. At a whole wavelength, the two are in step again.

Cancelling needs the two to be the same size, as well as opposite. With the second wave at 50%, half a wavelength leaves half a wave behind (−6.0 dB, against one wave); at 90%, a tenth is left, −20.0 dB. Section 6 runs into this with real loudspeakers.

An antenna sends its wave outwards in every direction, like ripples from a stone dropped in a pond. Each crest moves one wavelength further out in each cycle. So a receiver farther away gets the wave later: one cycle later for each extra wavelength of distance. That’s the “travelled further” of the graphs above.

The map: one antenna’s wave, seen from above, at one moment, with crests in strong colour and troughs pale; distances are in wavelengths. The antenna: on its own, it sends equally all round (in the flat slice the map shows). Put a reflector behind it, and the wave that would have gone backwards bounces forwards instead. The map draws the result as a heart shape (a cardioid, like a directional microphone’s pickup): full strength straight ahead, weaker to the sides, and nothing straight behind. It’s a simple stand-in for a real antenna’s shape.

The antenna on a real mast is like the second one, only more tightly focused. Each panel covers about a third of the way round, which is why a mast usually has three. The rest of this page sticks with antennas that send all round. Its maps show only the half in front, and there a reflector would only dim the edges.

The map leaves one thing out: the wave weakens as it spreads. Out in three dimensions, the power spreads over the surface of a growing sphere, so it falls with the square of the distance: −6 dB each time the distance doubles. That’s the waste section 1’s sum takes for granted: a mast sends power in every direction, and most of it goes where no phone is listening. The maps below leave the weakening out too, to keep the patterns clear. Far from the antennas, it’s the same for each of them, so it doesn’t move the loud and quiet spots.

Now put the receiver anywhere in front of two antennas. How far it is from each sets each copy’s angle. If one path is a whole number of wavelengths longer than the other, the arrows point the same way: the waves add, and the receiver gets +6 dB. If the difference is half a wavelength (or 1½, or 2½), they point opposite ways and cancel: silence.

The map: the area in front of two antennas (blue and green dots), in wavelengths, coloured by how loud it is against one antenna on its own. The arrows: what reaches the receiver (the ringed dot) from each antenna (blue and green), and their sum (orange). Drag the receiver around, switch either antenna off, or show the waves moving instead of the loudness.

With one antenna on, the map is the same everywhere, 0 dB: one antenna has no loud or quiet spots. Switch both on. With them 1.5 wavelengths apart, straight ahead is loud: +6.0 dB. Move 19.5° to either side, and the paths differ by half a wavelength: silence. At 41.8° they differ by a whole wavelength, and it’s loud again.

Show the waves moving, and the two antennas’ ripples cross. Where crest meets crest, the wave is twice as big; where crest meets trough, it’s still, all the time. At the receiver, the arrows turn together, once a cycle, and their sum keeps its length: the loudness.

Turn the right antenna’s wave by 180°, and straight ahead becomes silent instead. Bring the antennas closer together, and the pattern gets coarser, until at half a wavelength apart there’s just one broad loud region, straight ahead.

Nothing here is wasted. Two antennas send twice the power of one, and that power still goes somewhere: the quiet spots’ share has gone into the loud ones. And turning one antenna’s wave moves the pattern around without moving any antennas.

Put more antennas in a line, half a wavelength apart, and the loud regions merge into a single beam. To point it somewhere, delay each antenna’s wave a little more than its neighbour’s, so that the waves arrive together in that direction and nowhere else. On radio, at a single frequency, a delay is just a turn of each antenna’s arrow, which is cheap to set.

The map: where the power goes, as in section 2, over a wider area. The fan: power in each direction, with distance from the centre showing dB against one antenna, and the steered direction dashed.

Eight antennas half a wavelength apart, steered to 30°, make a beam 14.8° wide (between its half-power points), 9.0 dB stronger than one antenna: 8 times, the number of antennas. Sixteen make it 7.4° wide and 12.0 dB stronger; four, 30.9° and 6.0 dB. The width is roughly a wavelength divided by the array’s width, in radians. At 3.5 GHz, eight antennas span only 30 cm.

Space them a whole wavelength apart, and a second, equally strong beam appears (a grating lobe): the spacing is too coarse to tell some directions apart. It’s the same thing as aliasing when a signal is sampled too slowly: the antennas sample the wave in space, and half a wavelength is the limit.

The “8 times” is worth a second look, because it’s where the gain comes from. Each antenna gets an eighth of the total power. In the beam, all eight waves arrive in step, so their arrows add up to 8 times one antenna’s arrow, and the power is 8² = 64 times one antenna’s. That’s 64 × ⅛ = 8 times what a single antenna with all the power would deliver. Out of the beam, the arrows point every which way, and mostly cancel.

Receiving works the same way, backwards. A wave arriving from some direction reaches each antenna a little earlier or later. Turn each antenna’s signal to undo that, and add them. The wanted wave adds up in step, so eight antennas give 8 times its arrow, 64 times its power. Each antenna’s noise is its own, unrelated to the others, so the noise adds up like random arrows: 8 times the power, not 64. That leaves the signal 8 times (9 dB) stronger against the noise. It’s the matched filter again, in space instead of time.

The same trick can do one more thing: aim a null. If an unwanted signal is coming from another direction, the turns can be chosen to cancel it exactly, at a small cost to the wanted signal.

Left: what the first four antennas hear: the wanted wave, each antenna’s own noise, and the interferer if it’s on. Below them: the antennas combined (green), against the wanted wave as it was sent (dashed). The fan: how well the array hears each direction, with the signal (green) and the interferer (red).

At 0 dB, a single antenna’s signal is as strong as its noise, and the wave is hard to see. Eight antennas lined up on it reach 9.0 dB; sixteen, 12.0 dB. Added without lining up, the eight copies of a wave from 20° partly cancel, and the result is worse than one antenna: −4.0 dB.

Turn on the interferer: from −20°, 20 dB stronger than the signal. A single antenna now hears the signal 20.0 dB below the interferer. Lined up on the signal, the array still lets the interferer through one of its smaller side beams, and only reaches −0.9 dB. With a null on the interferer, it’s gone, and the signal is back to 9.0 dB. Move the interferer to 25°, close to the signal, and the null costs more: the signal reaches only 3.7 dB.

Now the mast serves several phones. It sends each one its own data, at the same time, on the same spectrum, each in its own beam. This is multi-user MIMO.

The obvious way is to aim a plain beam at each phone, as in section 3. But a beam isn’t a laser: its sides reach other directions too, so each phone also hears a little of every other phone’s data. That’s interference, and it adds to the noise.

The better way is to make each phone’s beam point at it and put nulls on every other phone, as section 4 did for an interferer. Then each phone hears only its own data. The weights that do this come from inverting the matrix of channels from each antenna to each phone, so this is called zero-forcing: the interference is forced to zero. It costs a little of each beam’s strength, most when phones are in nearly the same direction.

The fan: each phone’s beam (in its colour), and the phones themselves on the rim. Drag the phones round. The readouts give each phone’s signal against noise plus the other phones’ interference, the bits per hertz that allows (from Shannon’s formula), and the total. Taking turns is the alternative: serve one phone at a time, with all the antennas and all the power, for its share of the time.

Eight antennas, three phones at −40°, 5° and 45°, and 20 dB SNR for one antenna to one phone. Plain beams carry 15.1 bit/s/Hz in all, 1.57 times taking turns (9.6). Zero-forcing carries 24.1 bit/s/Hz, 2.49 times. Drag two phones close together: with plain beams they drown each other out, and zero-forcing suffers too, but much less. With more antennas, the beams are narrower, and phones can be closer before it matters.

The total isn’t quite 3 times taking turns, because each phone’s beam has a third of the power. But each doubling of a phone’s power adds only one bit per hertz to its rate, while serving three phones at once triples the time each one gets. That’s the trade MIMO makes, and why it wins when the signal is strong.

Your computer’s two loudspeakers are a two-antenna mast, and its microphone is a phone. Section 2 showed that two sources make loud and quiet spots. Here, the page puts a quiet spot exactly where your microphone is.

It plays a steady tone from the left speaker, then the right, then the left again, and measures how loud the tone arrives from each and how far through its cycle: one arrow for each speaker’s path, room echoes and all. (Measuring the left one twice cancels any slow drift between the speaker’s and the microphone’s clocks.) That’s what a mast does with pilot signals: known signals that phones send, so the mast can measure each path. Then it plays both speakers at once. First it turns the right one so the two arrows line up at the microphone (a beam). Then it sets them equal and opposite, so they cancel there (a null).

Listen:
Or by hand:

Left: the tone’s level at the microphone during each part of the check, against the left speaker alone. Right: the two speakers’ arrows at the microphone (blue and green) and their sum (orange), for the null. Use loudspeakers, not headphones. The microphone’s sound is analysed in your browser, and never leaves it.

In the made-up room, at 1 kHz, the two speakers in step are 4.6 dB louder at the microphone than the louder one alone. Cancelling, they’re 35.3 dB quieter than each speaker’s own share. The made-up room’s later echoes change by a few percent between the measurement and the check, as real rooms do when air and people move, and that’s what limits the null. At 500 Hz it’s 24.1 dB deep, and at 2 kHz 26.3 dB.

After measuring, play the null on its own and move around the room: the tone is clearly there, everywhere except near the microphone. Move the microphone a few centimetres, or wave a hand near it, and the null fills in. At 1 kHz the wavelength is 34 cm, so a few centimetres is a large part of a cycle. A phone that moves needs fresh measurements, and that’s section 8’s problem.

By hand: play the tone, and turn the right speaker’s knobs to find the null yourself. Both have to be right, the turn and the level, and the null is narrow: a few degrees off, and most of it is gone.

Section 5 used the mast’s antennas to serve several phones. Put several antennas in the phone as well, and the mast can send one phone several streams at once. With two antennas at each end there are four paths, and each receive antenna hears a mix of both transmit antennas. Write the four paths’ arrows as a 2 × 2 table, the channel matrix H. The receiver hears H times what was sent, plus noise, and if H can be inverted, it can unmix the streams.

Whether H can be inverted depends on the room, and in a surprising direction: reflections help. In open ground, with only the direct path, the two receive antennas are close together compared with the distance to the mast. Both transmit antennas look like they’re in the same place, and the two mixes the receiver hears are almost the same mix. There’s nothing to unmix them with. In a cluttered room, each path bounces off different things and arrives from different directions. The mixes differ, and the streams can be separated.

A matrix can always be split into independent parallel channels, each with its own strength: send along one, and it arrives on one, without disturbing the others. This is the singular value decomposition. The parallel channels’ strengths are what decide how many streams the room can carry. Each one is a separate channel for Shannon’s formula, so the capacity is the formula added up across them. MIMO doesn’t get round Shannon’s limit; it finds several channels where there seemed to be one.

The map: the mast’s antennas (blue) and the phone’s (green), half a wavelength apart, 40 wavelengths apart from each other (about 3.4 m at 3.5 GHz), and the reflectors (with the paths through them, dashed). The bars: each parallel channel’s strength, against one antenna to one antenna. The squares: two QPSK streams are sent; what the phone’s first antenna hears (a mix of both), and the first stream after unmixing with H’s inverse.

In the cluttered room, two antennas at each end give parallel channels of +5.5 and −3.5 dB. Both are usable, and at 20 dB SNR they carry 12.0 bit/s/Hz, against 6.7 for one antenna at each end: 1.8 times as much. The unmixed stream is a clean QPSK constellation, at 21.1 dB. Four at each end: 24.1 bit/s/Hz, 3.6 times as much.

In open ground, the second channel is 34.1 dB below one link: useless. The total is only 7.7 bit/s/Hz, and unmixing amplifies the noise so much that the stream drowns, at −13.7 dB. One reflector is enough to open a second channel (+5.7 and −5.0 dB, 11.6 bit/s/Hz): drag it round, and watch the second bar. But block the direct path as well, and one path is left: one channel, however many antennas there are.

Phones have two or four antennas for this. Wi-Fi does the same, from 802.11n (2009) onwards, which is why routers bristle with antennas. Indoors, with walls and furniture everywhere, there are always reflections to use.

Put sections 5 and 7 together and scale them up. A 5G mast in the mid band (around 3.5 GHz) often has 32 or 64 separate transmitters and receivers, in a panel well under a metre across, serving many phones at once with zero-forcing beams. That’s massive MIMO.

The weights need every phone’s channel, and they need it fresh. 5G’s mid band sends and receives on the same frequency, taking turns many times a second. Radio paths work the same in both directions, so the mast can measure each phone’s channel from pilot signals the phone sends, and use it to send back. But a phone that moves a fraction of a wavelength has a new channel, and the beams built for the old one leak.

The whole cell’s rate, in bit/s/Hz, as the mast serves more phones at once, for masts with 8, 16 and 64 antennas. Each antenna-to-phone path is random, as in a cluttered city (section 7). The channel estimates are made, and then each phone moves before the mast sends. Each point averages 16 random cells.

With fresh estimates at 10 dB, one antenna serving one phone carries 3.5 bit/s/Hz. Sixty-four antennas serving 32 phones carry 110, about 32 times as much. Serving all 64 is a mistake: with as many phones as antennas, the nulls use up all the antennas’ freedom, and the total collapses to 12. The smaller masts peak sooner: 8 antennas at 6 phones (15), 16 at 8 (29).

Let the phones move a tenth of a wavelength (6 ms at walking pace, half a millisecond in a car), and 64 antennas with 32 phones drop to 64 bit/s/Hz. A fifth of a wavelength, and the best is 26, at 24 phones. That’s why masts measure many times a second, and why real gains are several-fold, not 64-fold.

Other things eat into it as well. Phones in a crowd are often in similar directions. The pilot signals are shared with neighbouring cells, which blurs the estimates (pilot contamination). And every phone’s channel has to be measured, which takes time that could have carried data. Even so, serving several phones on the same spectrum, at the same time, multiplies what each cell can carry.

So where does the capacity come from? The answer over the decades is mostly the one the first sum skipped over: more cells. Martin Cooper, whose team built the first handheld mobile phone, estimated that wireless capacity grew about a million-fold between the 1950s and the early 2000s. By his reckoning, about 25 times came from more spectrum, 25 from better ways of dividing and modulating it, and about 1,600 from smaller cells, each reusing the same spectrum over a smaller area. MIMO multiplies on top of that.

The same sum as section 1, with MIMO’s phones served at once, and bars showing what each change from the starting point does. The choices along the top set the sliders.

Serving 4 phones per cell at once, as massive MIMO can in practice, takes each busy phone from 3 to 12 Mbit/s. Masts every 240 m or so instead of 480 m (20 per km² instead of 5) take it to 48 Mbit/s. Adding millimetre-wave spectrum (500 MHz in all) takes it to 240 Mbit/s. But millimetre waves reach only a couple of hundred metres and are stopped by walls and even bodies, so that last step only applies near small cells in the busiest places.

So the doubt in section 1 was fair: no single trick makes the sum work. Shannon’s limit hasn’t moved. Beamforming and MIMO make more of each cell, smaller cells reuse the spectrum more often, and new bands add more of it, and it’s the product that matters. A home connection is still different, though: its fibre isn’t shared with a whole street’s phones, and it doesn’t fade when someone walks past. Mobile networks deliver their best when they’re not busy, which is also when a speed test usually runs.

  • A quick budget (spectrum × bits per hertz × cells, shared between busy phones) makes mobile data look hopeless. It assumes each cell serves one phone at a time on each hertz.
  • Two antennas make loud and quiet spots, where their waves’ arrows add or cancel. Turning one antenna’s wave moves them.
  • A line of antennas half a wavelength apart steers a beam, N times stronger than one antenna, about a wavelength ÷ the array’s width wide. Wider spacing makes grating lobes: spatial aliasing.
  • Receiving, lining up N antennas gives N times the SNR, and can put a null on an interferer.
  • Multi-user MIMO serves several phones on the same spectrum at once. Zero-forcing puts nulls on the other phones, using the channel matrix’s inverse.
  • Your loudspeakers can do it: measure each path at one frequency, then cancel at the microphone. The null is narrow, and moving breaks it.
  • Several antennas at each end give parallel channels, found by the singular value decomposition. Reflections make them; open ground doesn’t. Each obeys Shannon’s limit separately.
  • Massive MIMO serves tens of phones at once from 64 antennas, but needs fresh channel estimates. Together with smaller cells and more spectrum, it’s what makes the budget work.
  • G. J. Foschini and M. J. Gans, “On limits of wireless communications in a fading environment when using multiple antennas”, Wireless Personal Communications 6 (1998): the parallel channels of section 7.
  • I. E. Telatar, “Capacity of multi-antenna Gaussian channels”, European Transactions on Telecommunications 10 (1999).
  • T. L. Marzetta, “Noncooperative cellular wireless with unlimited numbers of base station antennas”, IEEE Transactions on Wireless Communications 9 (2010): the paper that started massive MIMO.
  • E. G. Larsson, O. Edfors, F. Tufvesson and T. L. Marzetta, “Massive MIMO for next generation wireless systems”, IEEE Communications Magazine 52 (2014): a readable overview.
  • D. Tse and P. Viswanath, Fundamentals of Wireless Communication, Cambridge University Press (2005): the standard text, free to read online.
  • H. L. Van Trees, Optimum Array Processing, Wiley (2002): everything about arrays and beams.