A spectrum analyser is the most useful instrument in any RF or digital signal processing toolbox. It tells you what frequencies are present, what their amplitudes are, and how cleanly the signal is generated. The trouble with hardware spectrum analysers is that they are expensive, fixed at a particular sample rate, and not always available when you need them. Software analysers based on the Fast Fourier Transform deliver the same view, often with more flexibility (any sample rate, any signal composition, any window function), and are particularly useful for teaching, ADC characterisation, RF system simulation, and verifying FFT implementations against known test vectors.
The noIM₃ FFT Spectrum Analyser is a complete browser based frequency domain workbench. The signal composition stage builds composite signals from any number of components (sine, cosine, square, sawtooth, triangle, and DC), each with independent frequency, amplitude, and phase. Non sinusoidal waveforms are band limited via truncated Fourier series so harmonic aliases are avoided. Calibrated Gaussian AWGN noise can be injected at a configurable per bin dBFS floor. The synthesised signal is windowed and transformed via a Cooley Tukey radix 2 FFT supporting 64, 128, 256, 512, 1024, 2048, 4096, and 8192 points.
Seven window functions are implemented with the periodic (DFT even) convention required for FFT use. Rectangular, Hanning, Hamming, Blackman, Blackman Harris (4 term), Flat Top (5 term SRS), and Kaiser with beta equals 6. Each window is characterised by mainlobe width, peak sidelobe level, coherent gain (CG), and noise equivalent bandwidth (NEBW). Coherent gain correction is applied to the amplitude spectrum so single tone amplitude reads correctly across all window types. NEBW correction is applied to power spectral density. Spectral metrics (THD, SFDR, SNR, SINAD, ENOB) are computed from the corrected one sided spectrum with mainlobe aware harmonic detection that accounts for window broadened peaks.