Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Windows and spectral leakage

Use this page when a finite observation must be tapered and the resulting amplitude or noise normalization must remain scientifically interpretable.

The scientific question

Observing only a finite record multiplies an underlying signal by an implicit rectangular window. In frequency space, multiplication becomes convolution, so power from a component need not remain in one Fourier bin. A taper can suppress distant leakage at the cost of a wider main lobe, reduced coherent amplitude, and changed noise bandwidth.

There is no universally best window. The choice depends on whether the target is line amplitude, nearby-feature separation, broadband power, or another observable.

Mathematical objects

Let wnw_n be a real window and yn=wnxny_n=w_nx_n the windowed record. Its sum controls the response to a bin-centered coherent sinusoid. Its sum of squares controls white-noise power. Scaling a window changes both sums, so every estimator must state which normalization is applied.

The equivalent noise bandwidth (ENBW) expresses how much white-noise bandwidth an estimator admits relative to an ideal one-bin filter. It has frequency units when multiplied by the sample frequency.

Core derivation

For sample frequency fs=1/Δtf_s=1/\Delta t, define coherent gain and ENBW by:

Gcoh=1Nn=0N1wn,BENBW=fsn=0N1wn2(n=0N1wn)2.G_{\mathrm{coh}}=\frac{1}{N}\sum_{n=0}^{N-1}w_n, \qquad B_{\mathrm{ENBW}} =f_s\frac{\sum_{n=0}^{N-1}w_n^2} {\left(\sum_{n=0}^{N-1}w_n\right)^2}.

The coherent amplitude of a bin-centered tone is reduced by GcohG_{\mathrm{coh}}, while white-noise density conversion depends on BENBWB_{\mathrm{ENBW}}. Therefore (1) shows why an amplitude correction and a noise-power correction are not interchangeable.

Let WmW_m and YkY_k use the same DFT pair as XkX_k on the signal-axes page. Multiplication in the sample domain then gives:

Yk=1Nm=0N1WmX(km)modN.Y_k = \frac{1}{N}\sum_{m=0}^{N-1} W_m X_{(k-m)\bmod N}.

Thus (2) says that the DFT of yny_n is 1/N1/N times the circular convolution of the two spectra under the documented unnormalized-forward DFT convention. This redistribution explains leakage but does not guarantee that tapering resolves overlapping components.

What the ecosystem already owns

JAX FFT owns FFT mechanics, and JAX owns convolution mechanics. Applying a supplied array as a window is ordinary array computation. JAX does not assign the window a scientific name, normalization contract, ENBW, or provenance.

What Jaxstro may add

The proposed jaxstro.signal may own a small, explicit catalog of window definitions with normalization mode, coherent gain, sum-of-squares gain, ENBW, axis units, and provenance. A spectral estimator could require this metadata rather than accepting an unlabeled multiplier.

The planned layer would not claim that one window is optimal or hide correction factors inside an ambiguous output.

Evidence required before implementation

Required evidence would include:

Claim boundary

No runtime catalog, performance result, or universally preferred window is claimed.

Connected foundations and methods

First establish cadence and DFT normalization in Signal axes, cadence, and units. Then use Power and cross-spectral estimation for one-sided and two-sided power conventions and Phase and delay for cross-spectral phase. The finite-data viewpoint in One-dimensional interpolation and scale concepts in Functions, units, and scales provide additional context.