2D AM / FM Modulation

Real amplitude and frequency modulation with a live FFT spectrum — genuine sidebands, not hand-drawn

Message Signal m(t) = cos(2π·fm·t)
Carrier Signal c(t) = Ac·cos(2π·fc·t)
AM Output s(t) = Ac(1+m·msg)·cos(ωct)
FFT Spectrum (live) |S(f)| — real DFT of s(t), Hann window, N=1024

Mode

Message
Carrier
Modulated

Parameters

Live Metrics

200
fc (Hz)
20
fm (Hz)
—
Bandwidth
0.80
Mod. index

Formula

AM: s(t) = Ac[1 + m·cos(ωmt)] · cos(ωct)
Sidebands measured at fc±fm by a real 1024-point DFT.
Bandwidth ≈ 2·fm

About the 2D AM/FM Modulation Simulator

What It Demonstrates

This companion to the 3D AM/FM simulator runs the exact same modulation mathematics on a flat 2D canvas, but computes its spectrum with a genuine Cooley-Tukey FFT run on the real modulated sample buffer — the AM sidebands and FM sideband spreading you see are measured, not drawn from a formula.

How to Use

Switch between AM and FM with the mode buttons. Drag the carrier and message frequency sliders, then raise the modulation index — in FM watch extra sideband pairs appear in the live FFT output exactly where the Bessel-function theory predicts them, because the spectrum comes from the same numerically phase-integrated signal that draws the waveform above it.

Did You Know?

A Hann window is applied to the sample buffer before the FFT runs. Without it, the abrupt edges of a finite sample block would smear energy across many extra bins (spectral leakage) — windowing is exactly what real spectrum analyzers do before computing a DFT on any finite chunk of real-world signal.