Compare BPSK, QPSK and 16-QAM on the constellation and BER waterfall in the sandbox, and predict — before you read it off the screen — how many bits each symbol carries, and the exact bit error rate each modulation gives at the same Eb/N0.
A constellation of M points carries log2(M) bits per symbol — so 16-QAM sends four times the data of BPSK in the same symbol slot. But at a fixed Eb/N0 those extra points crowd closer together, so noise crosses a decision boundary far more often. Reading the exact bit error rate off the waterfall — and seeing how much more Eb/N0 a denser constellation needs for the same reliability — is the whole rate-versus-robustness trade-off in one screen.
Open the sandbox. It opens on QPSK over an AWGN channel with Gray coding on, so a Reset gets you close. For this lab, set the slider to read Eb/N0 and set it to 8 dB. Each step names the one modulation to pick; leave everything else alone.
Modulation -> pick the one each step names Channel -> AWGN
Slider sets -> Eb/N0 Eb/N0 -> 8 dB Gray coding -> on
Watch the Bits/symbol readout, the constellation, and the theory curve on the BER waterfall at Eb/N0 = 8 dB — every number you predict is printed or drawn there.
Click 16-QAM in the Modulation row. A square 16-point constellation carries log2(16) bits in every symbol. Predict the bits per symbol, then read the Bits/symbol readout.
The readout shows 4 bits/symbol — log2(16) = 4, against BPSK's 1 and QPSK's 2. Four times the data of BPSK in the same symbol slot.
Click QPSK, with the slider still at Eb/N0 = 8 dB, AWGN, Gray coding on. Gray-coded QPSK shares the BPSK bit-error curve exactly. Predict the bit error rate, then read the theory curve on the waterfall.
The theory curve reads about 0.00019 (roughly 1.9e-4) at Eb/N0 = 8 dB — and BPSK reads the identical value, because Gray-coded QPSK carries exactly the BPSK probability Q(sqrt(2 Eb/N0)).
Now click 16-QAM, keeping Eb/N0 = 8 dB. Every bit still carries the same energy, but the 16 points sit far closer together, so noise crosses a boundary much more often. Predict whether the BER is higher or lower than QPSK's, and roughly by how much; then read the waterfall.
The theory curve reads about 0.0092 at the same Eb/N0 = 8 dB — roughly 48x worse than QPSK's 0.00019. That is the trade-off: four bits per symbol buys throughput but demands far more Eb/N0 for the same reliability.
Everything above is waiting in the sandbox. Drag the slider to sweep Eb/N0 and watch every waterfall fall, toggle Gray coding to see the bit error rate drop while the symbol error rate holds, switch to a Rayleigh fading channel, and stream live symbols to watch the noise cloud cross the decision boundaries in real time.
- Read 16-QAM's 4 bits/symbol — log2(16), four times BPSK
- Found QPSK's BER at Eb/N0 = 8 dB, about 0.00019 — the same curve as BPSK
- Saw 16-QAM read about 0.0092 at the same energy per bit — roughly 48x more errors
- Every rate you predicted is the demo's own exact Q-function arithmetic, not a picture