Digital Modulation Lab
Prototype PAM, PWM, PPM and PCM links, sweep symbol timing and quantisation and inspect spectra, eye diagrams and noisy recoveries.
How the digital modulation lab fits together
The page generates discrete message samples \(m[k]\) and maps them to pulses \(s(t)\) using the modulation scheme you choose. The sampling frequency must satisfy \(f_s \ge 2 f_m\) to avoid aliasing, while the pulse repetition frequency sets the symbol spacing \(T_p = 1/\mathrm{PRF}\). Additive white Gaussian noise models the channel with a signal-to-noise ratio \(\mathrm{SNR} = 10 \log_{10}\!\left(\tfrac{P_s}{P_n}\right)\,\text{dB}\), which you can sweep below.
- PAM/PWM/PPM
- Encode the amplitude, width, or timing of each pulse in proportion to the sample \(m[k]\).
- PCM
- Quantises samples into \(L\) discrete levels before line coding, showing quantisation noise in the spectra.
- Spectra
- Toggle the spectral plots to compare transmitted and recovered signals after demodulation.
Compare how BPSK, QPSK, and 16-QAM behave when an RF carrier suffers frequency and phase errors. Toggle the Costas loop to mimic a carrier recovery stage and watch the constellation collapse back into place.
Shape baseband symbols with a root-raised cosine pulse, add AWGN, and recover with a matched filter. Toggle the TX/RX pulse shaping to explore inter-symbol interference.