Field Guide · algorithm

Also known as: Welch's method, Welch periodogram, weighted overlapped segment averaging, WOSA

Welch’s method estimates the power spectral density (PSD) of a signal by cutting it into overlapping segments, applying a window to each, taking each segment’s FFT magnitude-squared (its periodogram), and averaging those periodograms together.1 A single DFT of a noisy signal is itself extremely noisy — its variance does not shrink as you take more samples in one long transform — so Welch trades a little frequency resolution for a much smoother, more trustworthy estimate of how power is distributed across frequency.

overlapping windowed segments FFT & |·|², then average smooth PSD
Welch averages the periodograms of many overlapping, windowed segments into one low-variance estimate of power versus frequency.

How it works

Welch’s method is a refinement of the earlier Bartlett method (non-overlapping, un-windowed segments). Its steps are:

  1. Segment. Divide the record of samples into K segments of length L, letting them overlap — commonly by 50%. Overlap reuses data so more independent-ish averages come from the same record, tightening the estimate.
  2. Window. Multiply each segment by a window (Hann is typical) to control the spectral leakage that would otherwise bias the estimate. Overlap also compensates for the data the window taper attenuates at segment edges.
  3. Periodogram. Take the FFT of each windowed segment, form the magnitude squared, and normalise by the window’s power so the result is a true PSD in power-per-hertz.
  4. Average. Average the K periodograms bin-by-bin. Averaging K roughly independent estimates cuts the variance by about a factor of K.

The core trade-off is resolution versus variance: shorter segments give more averages (smoother curve) but fewer bins across the band (coarser resolution). Segment length, overlap fraction, and window are the three knobs the analyst turns.

In practice

Because the raw periodogram’s variance is independent of record length, simply collecting more data and transforming it in one giant FFT does not clean up the estimate — it only adds bins. Welch is the standard fix, cheap to run in real time as a running average over successive FFT blocks. The number of averages sets how stable the displayed noise floor looks; more averaging gives a steadier baseline but a slower response to signals that come and go.

Relevance to SDR

Welch’s method is the estimator behind the smooth, stable spectrum and occupancy displays in most SDR software. Rather than plotting each raw FFT of the incoming I/Q data — which flickers wildly — the display averages successive windowed periodograms so the noise floor settles and weak carriers stand out. Spectrum-occupancy and band-survey tools rely on the averaged PSD to decide, with energy detection, which channels carry traffic and to build long-term usage heat-maps. The same averaged PSD underlies measurements of channel power and signal-to-noise ratio.

GopherTrunk’s FFT-based spectral tooling uses averaging of this kind to present a legible, low-variance view of a monitored band and to help find control channels among many carriers. It is a display- and survey-side technique; the protocol decoders themselves work from time-domain samples rather than the PSD.

Sources

  1. Welch’s method — Wikipedia, on averaged overlapping windowed periodograms and their variance reduction for PSD estimation. 

See also