Field Guide · term

Also known as: sonogram, STFT display, time-frequency plot

A spectrogram is a two-dimensional image of a signal in which one axis is time, the other is frequency, and the color or brightness of each cell shows how much power the signal had at that frequency and moment.1 It is produced by chopping the signal into short overlapping windows, taking an FFT of each — the short-time Fourier transform (STFT) — and laying the resulting spectra side by side. Where a single spectrum shows what frequencies are present, a spectrogram shows when each one appears, which is exactly what you need to see a signal turn on, sweep, or hop.

time → frequency ↑ steady carrier sweep / chirp bursts
Time runs left to right, frequency bottom to top, and intensity is power: a horizontal line is a steady carrier, a diagonal is a sweeping tone, and blocks are bursts.

How it works

The spectrogram is the squared magnitude of the STFT. The procedure is:

  1. Segment the signal into frames of N samples, usually overlapping (50–75% overlap is common) so events near a frame edge are not missed.
  2. Window each frame with a taper — Hann, Hamming, Blackman — to curb spectral leakage; the window function choice trades main-lobe width against sidelobe suppression.
  3. Transform each windowed frame with an FFT and take the magnitude squared to get its power spectrum (a PSD estimate for that instant).
  4. Stack the spectra along the time axis and map power to color, typically after converting to a logarithmic (dB) scale so that both strong and weak features are visible in one image.

The defining constraint is the time–frequency resolution trade-off. A long window gives fine frequency resolution (narrow bins) but blurs time, smearing brief events across a wide interval; a short window pins down timing but coarsens frequency. You cannot have both at once — the product of time and frequency uncertainty is bounded — so window length is chosen for the task: long to separate two nearby carriers, short to time a fast hop. FFT size and overlap set the pixel grid, while zero-padding interpolates the display without adding real resolution.

In practice

Spectrograms make otherwise invisible structure obvious: the staircase of a frequency-hopping system, the chirp of a LoRa symbol, the on/off pattern of TDMA bursts, the Doppler curve of a satellite pass, or the harmonics of interference. Because the eye integrates over the image, a signal a few dB below the instantaneous noise can still be seen as a faint but persistent line — the visual analog of coherent averaging.

Reading a spectrogram is partly pattern recognition. Bandwidth appears directly as the vertical thickness of a trace; a steady carrier is a thin horizontal line, an FM signal breathes vertically with its modulation, and a wideband digital signal fills a fixed rectangular band. Timing appears horizontally: the regular gaps of a TDMA system, the burst cadence of a paging channel, or the brief flash of a data packet. Frequency-versus-time slopes reveal chirps and Doppler. With practice, many signals can be identified from their spectrogram signature before any decoder is attached — which is why signal-identification references catalog transmissions by their spectrogram appearance.

Relevance to SDR

The spectrogram is the workhorse display of software radio. In SDR applications its live, scrolling form is the waterfall display, the panel users watch to spot activity, identify a modulation by its shape, and click to tune. For trunking work a spectrogram reveals control-channel carriers, simulcast timing, and interference at a glance. GopherTrunk is a decoder rather than a GUI SDR, so it does not render a live spectrogram itself, but the same short-time FFT analysis underlies the channel-power measurements it uses to detect activity, and captured I/Q files are routinely inspected in a spectrogram tool when diagnosing why a signal did or did not decode. A spectrogram of a problem capture often settles the question quickly — showing at a glance whether the expected carrier was even present, whether it was clipped by overload, or whether an adjacent signal was interfering during the window that failed to decode.

Sources

  1. Spectrogram — Wikipedia, on the time-frequency representation built from the short-time Fourier transform. 

See also