Wi-Fi Modulation Simulator

See how bits become a radio wave. Each group of bits picks one point on the constellation chart, and that point sets the height and timing of the carrier wave for one symbol.

Modulation
Playback
Speed
Noise · drag left for more
0 dB 40 dB

Transmitter (Tx): the point sent

Receiver (Rx): where it arrived

Press Play to send random bits. Each group of bits picks one point on the Tx side; noise moves it before it reaches the Rx side, and the receiver decodes it as the nearest point. Drag the SNR slider left to add noise.

Constellation

1×

Zoom in to see exactly where each received point lands. Pinch, or hold Ctrl and scroll, to zoom around the pointer; drag to move.

One subcarrier, symbol after symbol

Each shaded block is one OFDM symbol on this subcarrier. The wave inside it is I × cos minus Q × sin: the point's horizontal position sets how much cosine goes in, its vertical position how much sine. Together they make one sine wave whose height is the point's distance from the centre and whose shift is the point's angle. Hover a block to find its point.

This follows one subcarrier, which gets a new point in each OFDM symbol. It isn't what the antenna transmits: Wi-Fi sends many subcarriers at once, each with its own point, and the transmitted signal is their sum. See OFDM: many subcarriers at once below.

OFDM: many subcarriers at once

In one OFDM symbol, every subcarrier carries its own constellation point (), held for the whole symbol time τ. Subcarrier k fits exactly k cycles into τ, so the subcarriers are orthogonal: they overlap in frequency without interfering.

Each subcarrier on its own

What is actually transmitted: their sum

In frequency: overlapping but orthogonal

Each subcarrier's spectrum peaks at its own frequency and is exactly zero at every other subcarrier's frequency (dots), which is why they can overlap. Real Wi-Fi uses 52 to 3,920 data subcarriers, spaced 312.5 kHz (802.11n/ac) or 78.125 kHz (802.11ax/be) apart.

Bits to send

Notes

From bits to a wave

The transmitter splits the bit stream into groups: 1 bit per symbol for BPSK, 2 for QPSK, 4 for 16-QAM and up to 12 for 4096-QAM. Each group picks one point on the constellation chart. The point's I and Q values scale a cosine and a sine at the carrier frequency, and their sum is sent for one symbol time. The receiver measures the height and phase of what arrives, places it on the same chart, and takes the nearest point as the symbol that was sent.

Why neighbouring points differ by one bit

Wi-Fi labels the points with a Gray code, so any two neighbours differ in exactly one bit. Noise usually pushes a symbol to a neighbouring point, and then only one bit is wrong, which the error-correcting code can repair.

Why dense modulations need a clean signal

All modulations here use the same average power, so packing more points in brings them closer together. The same amount of noise that 16-QAM shrugs off moves a 1024-QAM symbol onto the wrong point. Try the noise slider at the same SNR on different modulations and compare the bit errors.

What this simplifies

One carrier instead of hundreds

Wi-Fi uses OFDM: hundreds of subcarriers side by side, each carrying one of these symbols at the same time, from 52 data subcarriers in a 20 MHz 802.11n channel to 3,920 in a 320 MHz 802.11be channel. The MCS Index shows how those counts turn into data rates. The top of this page follows a single subcarrier; the OFDM section shows several together and their sum.

Not to scale

The single-subcarrier wave is drawn with two cycles per symbol so each symbol is easy to see, and the OFDM section uses 4 or 8 subcarriers instead of hundreds. Real subcarriers are spaced 312.5 kHz (802.11n/ac) or 78.125 kHz (802.11ax/be) apart, and the carrier itself is at 2.4, 5 or 6 GHz.

The noise slider

Noise is random and added to each symbol's I and Q values. The slider sets the signal-to-noise ratio per symbol (Es/N0): 40 dB at the right end is almost clean, and dragging left adds noise until, at 0 dB, the noise is as strong as the signal. The error counts are what this simulation measured, not figures from the standard.

Where each modulation appears in the MCS table

BPSK is MCS 0, QPSK MCS 1 and 2, 16-QAM MCS 3 and 4, 64-QAM MCS 5 to 7, 256-QAM MCS 8 and 9, 1024-QAM MCS 10 and 11 (802.11ax), and 4096-QAM MCS 12 and 13 (802.11be).