Digital communication simulator
Signal lab
Modulate a bit stream, send it through additive white Gaussian noise and detect it with a matched filter. Then compare the measured bit error rate of every scheme with its theoretical curve.
Signal settings
Binary phase shift keying. Coherent correlation, sign decision.
Seed 2026. The same seed always gives the same bits and noise.
16
0
2.39e-3
Pb = Q(sqrt(2 Eb/N0))
9.59dB
0.50 bit/s/Hz
Waveforms
Time in bit periods. Noise is drawn at the full simulation bandwidth (48 samples per bit), so the received trace looks noisier than what the correlator sees.
Data bits
Transmitted signal s(t)
Received signal r(t) = s(t) + n(t)
Sent and detected bits
Top row sent, bottom row detected. Errors are outlined in red.
Constellation
400 symbols at 6.0 dB, correlator outputs normalised to the ideal symbols
1 of 400 bits detected wrongly (2.5e-3).
Bit error rate analysis
Monte Carlo simulation for all four schemes from 0 to 12 dB, stopping at 200 errors per point or at the bit budget
The dashed theory curves are shown now. Run the simulation to add measured points.
| Modulation | Theoretical BER | Simulated BER | Bits / errors | Eb/N0 for 1e-5 | Efficiency |
|---|---|---|---|---|---|
| ASK | 2.30e-2 | - | - | 12.60 dB | 0.50 b/s/Hz |
| FSK | 2.30e-2 | - | - | 12.60 dB | 0.33 b/s/Hz |
| BPSK | 2.39e-3 | - | - | 9.59 dB | 0.50 b/s/Hz |
| QPSK | 2.39e-3 | - | - | 9.59 dB | 1.00 b/s/Hz |
BPSK and QPSK share one curve per bit; QPSK carries two bits per symbol in the same bandwidth. Coherent FSK and on-off ASK need 3 dB more.
Equations used
- Bit energy and noise
- Coherent correlator (matched filter)
- BPSK and Gray-coded QPSK
- Coherent BFSK and on-off ASK
- Gaussian tail function