JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

Packing More Bits: QAM and Spectral Efficiency

In rung 3, every symbol carried just one bit — a coin flip down the wire. But your home Wi-Fi crams **eight or ten** bits into each symbol. The trick is QAM: tilt the amplitude *and* the phase so a single tone encodes a whole word at once. This guide shows you how to read a constellation, measure spectral efficiency in bits/s/Hz, and feel why denser packing always demands a quieter channel.

One symbol, many bits

Imagine you are signalling to a friend across a noisy stadium using a single flashlight. In rung 3 you agreed on the simplest possible code: light ON means 1, light OFF means 0. One flash, one bit. That is binary digital modulation, and it is honest and robust — but it is slow. To send a long message you need a flash for every single bit.

Now suppose your flashlight has a dimmer (four brightness levels) and you can angle the beam left or right. Suddenly one flash can mean far more than one bit. Pick one of 4 brightnesses and one of 4 angles and a single flash names one of 16 distinct possibilities — that is 4 bits at once. This is the whole idea behind QAM: instead of using only a tone's on/off state, you steer two independent dials — its amplitude (how loud) and its phase (how shifted in time) — to label many messages per symbol.

The word *quadrature* is the key. Any sinusoid `A·cos(2πf·t + φ)` can be rewritten as the sum of two carriers that are 90° apart: `I·cos(2πf·t) − Q·sin(2πf·t)`. The cosine branch is called I (in-phase) and the sine branch Q (quadrature). Because cosine and sine never overlap — they are *orthogonal* — a receiver can recover I and Q completely independently. So one radio tone secretly carries two numbers, and QAM simply chooses crisp, agreed-upon values for that I–Q pair.

Reading a constellation diagram

Engineers draw QAM on a map called a constellation diagram. The horizontal axis is the I value, the vertical axis is the Q value, and every allowed symbol is a single dot. Sending a symbol means transmitting the tone whose amplitude is the dot's distance from the origin and whose phase is the dot's angle. The receiver measures the incoming I and Q, plots the point, and snaps it to the nearest dot to decide what was sent.

          Q                          Q
          |                          |
     01 ● | ● 00          0010 ● ● 0110 | ● 0100 ● 1100
          |                    ● ● ● | ● ● ●
  --------+--------- I        ---------+--------- I
          |                    ● ● ● | ● ● ●
     11 ● | ● 10          0011 ● ● 0111 | ● 0101 ● 1101
          |                          |

        4-QAM (QPSK)                16-QAM
      2 bits / symbol            4 bits / symbol
     4 points on a ring        16 points on a 4×4 grid
Each dot is one symbol. 4-QAM puts 4 dots on a circle (2 bits each); 16-QAM fills a 4×4 grid (4 bits each). Doubling the bits-per-symbol quadruples the number of dots.

Count the dots and you know the order. A constellation of M points carries `log₂(M)` bits per symbol: 4-QAM → 2 bits, 16-QAM → 4 bits, 64-QAM → 6 bits, 256-QAM → 8 bits, and Wi-Fi 6's headline 1024-QAM → 10 bits. (4-QAM is identical to QPSK — four phases, constant amplitude — which is why you will see both names for the same diamond of four dots.)

Spectral efficiency: bits per second per hertz

Radio spectrum is brutally scarce — a 20 MHz Wi-Fi channel or a 5 MHz LTE block is a fixed, licensed, expensive slice of nature. So the question that decides whether your video call buffers is: how many bits can you push through each hertz of bandwidth per second? That ratio is spectral efficiency, measured in bits per second per hertz (bits/s/Hz), and it is the single number that ranks one modulation scheme against another.

It builds up in two stages. First, the channel lets you send roughly one symbol per hertz of bandwidth each second — that is the symbol rate (baud), set by the channel's width. Second, each symbol carries `log₂(M)` bits. Multiply them and the spectral efficiency is, to first order, simply `log₂(M)` bits/s/Hz. Climbing the QAM ladder is therefore a direct climb in throughput on the *same* spectrum.

  Scheme       M     bits/symbol   ≈ spectral efficiency
  ---------------------------------------------------------
  BPSK         2          1             1   bit/s/Hz
  4-QAM/QPSK   4          2             2   bits/s/Hz
  16-QAM      16          4             4   bits/s/Hz
  64-QAM      64          6             6   bits/s/Hz
  256-QAM    256          8             8   bits/s/Hz
  1024-QAM  1024         10            10   bits/s/Hz

  Same bandwidth. 256-QAM moves 8x the data of BPSK —
  IF the channel is clean enough to tell 256 dots apart.
Bits-per-symbol grow as log₂(M). Going from BPSK to 256-QAM is an 8× throughput jump on identical spectrum — the prize, and the trap.

The catch: denser constellations are fragile

Here is the brutal trade. The constellation lives inside a fixed power budget — the dots can only spread so far from the origin before the amplifier clips or the regulator forbids it. Cram 4 dots into that circle and they sit comfortably far apart. Cram 256 dots into the *same* circle and they huddle shoulder to shoulder. The gap between neighbouring dots is the safety margin against noise, and that gap shrinks fast as M grows.

Noise in the receiver smears each received dot into a fuzzy cloud of fixed radius. The decision rule is *nearest dot wins*. If the clouds are smaller than the gaps, the receiver almost always guesses right and the bit error rate is tiny. But once the noise clouds overlap their neighbours, points leak across the boundary, the BER explodes, and the link falls apart. Whether the clouds fit between the dots is governed by one quantity: the signal-to-noise ratio.

   low SNR, 16-QAM            high SNR, 16-QAM
   (clouds overlap)          (clouds isolated)

     ◌  ◌  ◌  ◌                ·   ·   ·   ·
      ◌◌◌◌◌◌◌                  ·   ·   ·   ·     ← tight
     ◌ overlap ◌               ·   ·   ·   ·       clusters,
      ◌◌◌◌◌◌◌                  ·   ·   ·   ·       clean
     ◌  ◌  ◌  ◌                ·   ·   ·   ·       decisions

   → many wrong guesses       → almost no errors
     BER ~ 1e-2                 BER ~ 1e-6
Same 16 dots, two noise levels. When each received point blurs into a cloud larger than the spacing, neighbours collide and the BER skyrockets.

Worked example: which modem fits the link?

Let's make it concrete. You run a 20 MHz channel and want a reliable target of BER ≤ 10⁻⁶ (about one error per million bits — fine for streaming after error correction mops up the rest). Roughly, the SNR each QAM order needs to hit that BER over a clean Gaussian-noise channel is tabulated below. We then read off the throughput each can deliver.

  Channel: B = 20 MHz, symbol rate ≈ 20 Msym/s, target BER 1e-6

  Scheme      bits/sym   SNR needed*   raw throughput = B·log2(M)
  ----------------------------------------------------------------
  QPSK (4)        2        ~ 13 dB         20M · 2  =  40 Mbit/s
  16-QAM         4        ~ 20 dB         20M · 4  =  80 Mbit/s
  64-QAM         6        ~ 26 dB         20M · 6  = 120 Mbit/s
  256-QAM        8        ~ 32 dB         20M · 8  = 160 Mbit/s
  1024-QAM      10        ~ 38 dB         20M · 10 = 200 Mbit/s
      (*approx. SNR for ~1e-6 Bob, uncoded, AWGN; ~6 dB per rung)

  Suppose the measured link SNR is 24 dB:
    256-QAM (needs 32) -> FAILS, BER far above 1e-6
    64-QAM  (needs 26) -> marginal, risky
    16-QAM  (needs 20) -> WORKS with ~4 dB to spare  ->  80 Mbit/s
At a measured 24 dB SNR, 256-QAM and even 64-QAM are out of reach; 16-QAM is the highest order that still clears the BER target — so the modem picks 16-QAM and 80 Mbit/s.

Read the table the way a real radio does. The link reports its SNR; the modem looks up the densest constellation whose required SNR is still below it, with a margin for fading. At 24 dB, 16-QAM clears its 20 dB bar with room to spare, but 64-QAM's 26 dB requirement is above the budget — so 16-QAM wins and the link runs at 80 Mbit/s. Push the antenna closer and lift the SNR to 30 dB, and the very same hardware unlocks 64-QAM and 120 Mbit/s with no new spectrum. That is spectral efficiency doing its job.

Where this points next

Step back and notice the pattern. Every rung of the QAM ladder buys more bits/s/Hz but demands more SNR. Plot 'bits/s/Hz you can achieve' against 'SNR you have' and a hard ceiling appears — a curve no modulation, no matter how clever, can cross. That ceiling is the channel capacity, and Claude Shannon wrote its equation in 1948: `C = B·log₂(1 + SNR)`.

Notice the suggestive shape: capacity grows with the *logarithm* of SNR — exactly the `log₂` we kept meeting as we climbed from 4-QAM to 1024-QAM. The QAM ladder is humanity's staircase trying to reach Shannon's ceiling, and good codes plus dense constellations get within a fraction of a decibel of it. Rung 5 takes that ceiling head-on: why it exists, what it promises, and why no engineer can ever beat it.