This explorer was generated by Claude (Anthropic) for the DSP 101 course materials. Every curve and every number on it is computed in your browser: a real radix-2 FFT, a real direct O(N²) DFT beside it so you can see the two agree, real window functions, and the spectral figures — main-lobe width, peak side-lobe level, scalloping loss, equivalent noise bandwidth, coherent gain, leakage fraction — measured off the computed spectrum rather than copied out of a table. Parseval's identity is evaluated on both sides and printed, so you can watch the transform conserve energy. Nothing here is a plausible-looking curve.
The published figures are the exception, and they carry a flag. The standard window
numbers are Harris (1978) Table 1, and the five flat-top coefficients are MATLAB's
flattopwin. This page was written with no network access and no copy of either
source in the repository, so they were transcribed from the author's knowledge rather than
read off the document. They are shown beside the measured value, which is the real
cross-check, and each raises a visible “verify against the source” flag. Do
not clear that flag by asserting the numbers are right — clear it by checking them, and
record who checked.
Window figures: F. J. Harris, “On the use of windows for harmonic analysis with
the discrete Fourier transform,” Proc. IEEE, vol. 66, no. 1,
pp. 51–83, Jan. 1978, Table 1. Flat-top coefficients: MATLAB
flattopwin documentation. Algorithm: J. W. Cooley and
J. W. Tukey, “An algorithm for the machine calculation of complex Fourier
series,” Math. Comput., vol. 19, pp. 297–301, 1965.
Illustrative, and marked where chosen: the default tone positions and amplitudes, the default noise level and the PRNG seed. The noise itself is a real seeded Gaussian draw, so its statistics are computed — only the choice of level is illustrative. There is no microphone and no audio. The syllabus lab asks for a real-time analyser fed from a microphone; the sweep control here animates the tone frequency instead, and the audio half is deferred rather than quietly dropped.
Course demo — linked from the lesson deck in both languages; the page itself is English‑only for now. Built for DSP-101 Modules 5 and 6 and for the two labs those modules declare. Four things this topic is always got wrong, each with its own panel: spectral leakage (the same sinusoid gives two completely different-looking spectra, and neither is an error), windowing and what it costs, zero-padding versus true resolution (padding interpolates the display and cannot resolve two closer tones — panel 3 proves it), and why the FFT is O(N log N). Tone frequencies are set in bins, fractional, so leakage is one drag away.