In signal processing and statistics, a window function (also known as an apodization function or tapering function^{[1]}) is a mathematical function that is zerovalued outside of some chosen interval, normally symmetric around the middle of the interval, usually near a maximum in the middle, and usually tapering away from the middle. Mathematically, when another function or waveform/datasequence is "multiplied" by a window function, the product is also zerovalued outside the interval: all that is left is the part where they overlap, the "view through the window". Equivalently, and in actual practice, the segment of data within the window is first isolated, and then only that data is multiplied by the window function values. Thus, tapering, not segmentation, is the main purpose of window functions.
The reasons for examining segments of a longer function include detection of transient events and timeaveraging of frequency spectra. The duration of the segments is determined in each application by requirements like time and frequency resolution. But that method also changes the frequency content of the signal by an effect called spectral leakage. Window functions allow us to distribute the leakage spectrally in different ways, according to the needs of the particular application. There are many choices detailed in this article, but many of the differences are so subtle as to be insignificant in practice.
In typical applications, the window functions used are nonnegative, smooth, "bellshaped" curves.^{[2]} Rectangle, triangle, and other functions can also be used. A more general definition of window functions does not require them to be identically zero outside an interval, as long as the product of the window multiplied by its argument is square integrable, and, more specifically, that the function goes sufficiently rapidly toward zero.^{[3]}
Window functions are used in spectral analysis/modification/resynthesis,^{[4]} the design of finite impulse response filters, as well as beamforming and antenna design.
The Fourier transform of the function cos(ωt) is zero, except at frequency ±ω. However, many other functions and waveforms do not have convenient closedform transforms. Alternatively, one might be interested in their spectral content only during a certain time period.
In either case, the Fourier transform (or a similar transform) can be applied on one or more finite intervals of the waveform. In general, the transform is applied to the product of the waveform and a window function. Any window (including rectangular) affects the spectral estimate computed by this method.
Windows are sometimes used in the design of digital filters, in particular to convert an "ideal" impulse response of infinite duration, such as a sinc function, to a finite impulse response (FIR) filter design. That is called the window method.^{[5]}^{[6]}^{[7]}
Window functions are sometimes used in the field of statistical analysis to restrict the set of data being analyzed to a range near a given point, with a weighting factor that diminishes the effect of points farther away from the portion of the curve being fit. In the field of Bayesian analysis and curve fitting, this is often referred to as the kernel.
When analyzing a transient signal in modal analysis, such as an impulse, a shock response, a sine burst, a chirp burst, or noise burst, where the energy vs time distribution is extremely uneven, the rectangular window may be most appropriate. For instance, when most of the energy is located at the beginning of the recording, a nonrectangular window attenuates most of the energy, degrading the signaltonoise ratio.^{[8]}
One might wish to measure the harmonic content of a musical note from a particular instrument or the harmonic distortion of an amplifier at a given frequency. Referring again to Figure 2, we can observe that there is no leakage at a discrete set of harmonicallyrelated frequencies sampled by the DFT. (The spectral nulls are actually zerocrossings, which cannot be shown on a logarithmic scale such as this.) This property is unique to the rectangular window, and it must be appropriately configured for the signal frequency, as described above.
When the length of a data set to be transformed is larger than necessary to provide the desired frequency resolution, a common practice is to subdivide it into smaller sets and window them individually. To mitigate the "loss" at the edges of the window, the individual sets may overlap in time. See Welch method of power spectral analysis and the modified discrete cosine transform.
Twodimensional windows are commonly used in image processing to reduce unwanted highfrequencies in the image Fourier transform.^{[9]} They can be constructed from onedimensional windows in either of two forms.^{[10]} The separable form, is trivial to compute. The radial form, , which involves the radius , is isotropic, independent on the orientation of the coordinate axes. Only the Gaussian function is both separable and isotropic.^{[11]} The separable forms of all other window functions have corners that depend on the choice of the coordinate axes. The isotropy/anisotropy of a twodimensional window function is shared by its twodimensional Fourier transform. The difference between the separable and radial forms is akin to the result of diffraction from rectangular vs. circular apertures, which can be visualized in terms of the product of two sinc functions vs. an Airy function, respectively.
Conventions:
The sparse sampling of a DTFT (such as the DFTs in Fig 2) only reveals the leakage into the DFT bins from a sinusoid whose frequency is also an integer DFT bin. The unseen sidelobes reveal the leakage to expect from sinusoids at other frequencies.^{[a]} Therefore, when choosing a window function, it is usually important to sample the DTFT more densely (as we do throughout this section) and choose a window that suppresses the sidelobes to an acceptable level.
The rectangular window (sometimes known as the boxcar or Dirichlet window) is the simplest window, equivalent to replacing all but N consecutive values of a data sequence by zeros, making it appear as though the waveform suddenly turns on and off:
Other windows are designed to moderate these sudden changes, which reduces scalloping loss and improves dynamic range, as described above (§ Spectral analysis).
The rectangular window is the 1st order Bspline window as well as the 0th power powerofsine window.
The rectangular window provides the minimum mean square error estimate of the Discretetime Fourier transform, at the cost of other issues discussed.
Bspline windows can be obtained as kfold convolutions of the rectangular window. They include the rectangular window itself (k = 1), the § Triangular window (k = 2) and the § Parzen window (k = 4).^{[16]} Alternative definitions sample the appropriate normalized Bspline basis functions instead of convolving discretetime windows. A k^{th}order Bspline basis function is a piecewise polynomial function of degree k−1 that is obtained by kfold selfconvolution of the rectangular function.
Triangular windows are given by:
where L can be N,^{[17]} N + 1,^{[14]}^{[18]}^{[19]} or N + 2.^{[20]} The first one is also known as Bartlett window or Fejér window. All three definitions converge at large N.
The triangular window is the 2nd order Bspline window. The L = N form can be seen as the convolution of two N/2width rectangular windows. The Fourier transform of the result is the squared values of the transform of the halfwidth rectangular window.
Defining L ≜ N + 1, the Parzen window, also known as the de la Vallée Poussin window,^{[14]} is the 4th order Bspline window given by:
The Welch window consists of a single parabolic section:
The defining quadratic polynomial reaches a value of zero at the samples just outside the span of the window.
The corresponding function is a cosine without the π/2 phase offset. So the sine window^{[21]} is sometimes also called cosine window.^{[14]} As it represents half a cycle of a sinusoidal function, it is also known variably as halfsine window^{[22]} or halfcosine window.^{[23]}
The autocorrelation of a sine window produces a function known as the Bohman window.^{[24]}
These window functions have the form:^{[25]}
The rectangular window (α = 0), the sine window (α = 1), and the Hann window (α = 2) are members of this family.
For eveninteger values of α these functions can also be expressed in cosinesum form:
This family is also known as generalized cosine windows.

(Eq.1) 
In most cases, including the examples below, all coefficients a_{k} ≥ 0. These windows have only 2K + 1 nonzero Npoint DFT coefficients.
The customary cosinesum windows for case K = 1 have the form:
which is easily (and often) confused with its zerophase version:
Setting produces a Hann window:
named after Julius von Hann, and sometimes erroneously referred to as Hanning, presumably due to its linguistic and formulaic similarities to the Hamming window. It is also known as raised cosine, because the zerophase version, is one lobe of an elevated cosine function.
This function is a member of both the cosinesum and powerofsine families. Unlike the Hamming window, the end points of the Hann window just touch zero. The resulting sidelobes roll off at about 18 dB per octave.^{[27]}
Setting to approximately 0.54, or more precisely 25/46, produces the Hamming window, proposed by Richard W. Hamming. That choice places a zerocrossing at frequency 5π/(N − 1), which cancels the first sidelobe of the Hann window, giving it a height of about onefifth that of the Hann window.^{[14]}^{[28]}^{[29]} The Hamming window is often called the Hamming blip when used for pulse shaping.^{[30]}^{[31]}^{[32]}
Approximation of the coefficients to two decimal places substantially lowers the level of sidelobes,^{[14]} to a nearly equiripple condition.^{[29]} In the equiripple sense, the optimal values for the coefficients are a_{0} = 0.53836 and a_{1} = 0.46164.^{[29]}^{[33]}
Blackman windows are defined as:
By common convention, the unqualified term Blackman window refers to Blackman's "not very serious proposal" of α = 0.16 (a_{0} = 0.42, a_{1} = 0.5, a_{2} = 0.08), which closely approximates the exact Blackman,^{[34]} with a_{0} = 7938/18608 ≈ 0.42659, a_{1} = 9240/18608 ≈ 0.49656, and a_{2} = 1430/18608 ≈ 0.076849.^{[35]} These exact values place zeros at the third and fourth sidelobes,^{[14]} but result in a discontinuity at the edges and a 6 dB/oct falloff. The truncated coefficients do not null the sidelobes as well, but have an improved 18 dB/oct falloff.^{[14]}^{[36]}
The continuous form of the Nuttall window, and its first derivative are continuous everywhere, like the Hann function. That is, the function goes to 0 at x = ±N/2, unlike the Blackman–Nuttall, Blackman–Harris, and Hamming windows. The Blackman window (α = 0.16) is also continuous with continuous derivative at the edge, but the "exact Blackman window" is not.
A generalization of the Hamming family, produced by adding more shifted sinc functions, meant to minimize sidelobe levels^{[37]}^{[38]}
A flat top window is a partially negativevalued window that has minimal scalloping loss in the frequency domain. That property is desirable for the measurement of amplitudes of sinusoidal frequency components.^{[15]}^{[39]} However, its broad bandwidth results in high noise bandwidth and wider frequency selection, which depending on the application could be a drawback.
Flat top windows can be designed using lowpass filter design methods,^{[39]} or they may be of the usual cosinesum variety:
The Matlab variant has these coefficients:
Other variations are available, such as sidelobes that roll off at the cost of higher values near the main lobe.^{[15]}
Rife–Vincent windows^{[40]} are customarily scaled for unity average value, instead of unity peak value. The coefficient values below, applied to Eq.1, reflect that custom.
Class I, Order 1 (K = 1): Functionally equivalent to the Hann window.
Class I, Order 2 (K = 2):
Class I is defined by minimizing the highorder sidelobe amplitude. Coefficients for orders up to K=4 are tabulated.^{[41]}
Class II minimizes the mainlobe width for a given maximum sidelobe.
Class III is a compromise for which order K = 2 resembles the § Blackman window.^{[41]}^{[42]}
The Fourier transform of a Gaussian is also a Gaussian. Since the support of a Gaussian function extends to infinity, it must either be truncated at the ends of the window, or itself windowed with another zeroended window.^{[43]}
Since the log of a Gaussian produces a parabola, this can be used for nearly exact quadratic interpolation in frequency estimation.^{[44]}^{[43]}^{[45]}
The standard deviation of the Gaussian function is σ · N/2 sampling periods.
The confined Gaussian window yields the smallest possible root mean square frequency width σ_{ω} for a given temporal width (N + 1) σ_{t}.^{[46]} These windows optimize the RMS timefrequency bandwidth products. They are computed as the minimum eigenvectors of a parameterdependent matrix. The confined Gaussian window family contains the § Sine window and the § Gaussian window in the limiting cases of large and small σ_{t}, respectively.
Defining L ≜ N + 1, a confined Gaussian window of temporal width L × σ_{t} is well approximated by:^{[46]}
where is a Gaussian function:
The standard deviation of the approximate window is asymptotically equal (i.e. large values of N) to L × σ_{t} for σ_{t} < 0.14.^{[46]}
A more generalized version of the Gaussian window is the generalized normal window.^{[47]} Retaining the notation from the Gaussian window above, we can represent this window as
for any even . At , this is a Gaussian window and as approaches , this approximates to a rectangular window. The Fourier transform of this window does not exist in a closed form for a general . However, it demonstrates the other benefits of being smooth, adjustable bandwidth. Like the § Tukey window, this window naturally offers a "flat top" to control the amplitude attenuation of a timeseries (on which we don't have a control with Gaussian window). In essence, it offers a good (controllable) compromise, in terms of spectral leakage, frequency resolution and amplitude attenuation, between the Gaussian window and the rectangular window. See also ^{[48]} for a study on timefrequency representation of this window (or function).
The Tukey window, also known as the cosinetapered window, can be regarded as a cosine lobe of width Nα/2 (spanning Nα/2 + 1 observations) that is convolved with a rectangular window of width N(1 − α/2).
At α = 0 it becomes rectangular, and at α = 1 it becomes a Hann window.
The socalled "Plancktaper" window is a bump function that has been widely used^{[50]} in the theory of partitions of unity in manifolds. It is smooth (a function) everywhere, but is exactly zero outside of a compact region, exactly one over an interval within that region, and varies smoothly and monotonically between those limits. Its use as a window function in signal processing was first suggested in the context of gravitationalwave astronomy, inspired by the Planck distribution.^{[51]} It is defined as a piecewise function:
The amount of tapering is controlled by the parameter ε, with smaller values giving sharper transitions.
The DPSS (discrete prolate spheroidal sequence) or Slepian window maximizes the energy concentration in the main lobe,^{[52]} and is used in multitaper spectral analysis, which averages out noise in the spectrum and reduces information loss at the edges of the window.
The main lobe ends at a frequency bin given by the parameter α.^{[53]}
The Kaiser windows below are created by a simple approximation to the DPSS windows:
The Kaiser, or Kaiser–Bessel, window is a simple approximation of the DPSS window using Bessel functions, discovered by James Kaiser.^{[54]}^{[55]}
where is the zeroth order modified Bessel function of the first kind. Variable parameter determines the tradeoff between main lobe width and side lobe levels of the spectral leakage pattern. The main lobe width, in between the nulls, is given by in units of DFT bins,^{[62]} and a typical value of is 3.
Minimizes the Chebyshev norm of the sidelobes for a given main lobe width.^{[63]}
The zerophase Dolph–Chebyshev window function is usually defined in terms of its realvalued discrete Fourier transform, :^{[64]}
T_{n}(x) is the nth Chebyshev polynomial of the first kind evaluated in x, which can be computed using
and
is the unique positive real solution to , where the parameter α sets the Chebyshev norm of the sidelobes to −20α decibels.^{[63]}
The window function can be calculated from W_{0}(k) by an inverse discrete Fourier transform (DFT):^{[63]}
The lagged version of the window can be obtained by:
which for even values of N must be computed as follows:
which is an inverse DFT of
Variations:
The Ultraspherical window was introduced in 1984 by Roy Streit^{[65]} and has application in antenna array design,^{[66]} nonrecursive filter design,^{[65]} and spectrum analysis.^{[67]}
Like other adjustable windows, the Ultraspherical window has parameters that can be used to control its Fourier transform mainlobe width and relative sidelobe amplitude. Uncommon to other windows, it has an additional parameter which can be used to set the rate at which sidelobes decrease (or increase) in amplitude.^{[67]}^{[68]}^{[69]}
The window can be expressed in the timedomain as follows:^{[67]}
where is the Ultraspherical polynomial of degree N, and and control the sidelobe patterns.^{[67]}
Certain specific values of yield other wellknown windows: and give the Dolph–Chebyshev and Saramäki windows respectively.^{[65]} See here for illustration of Ultraspherical windows with varied parametrization.
The Poisson window, or more generically the exponential window increases exponentially towards the center of the window and decreases exponentially in the second half. Since the exponential function never reaches zero, the values of the window at its limits are nonzero (it can be seen as the multiplication of an exponential function by a rectangular window ^{[70]}). It is defined by
where τ is the time constant of the function. The exponential function decays as e ≃ 2.71828 or approximately 8.69 dB per time constant.^{[71]} This means that for a targeted decay of D dB over half of the window length, the time constant τ is given by
Window functions have also been constructed as multiplicative or additive combinations of other windows.
A § Plancktaper window multiplied by a Kaiser window which is defined in terms of a modified Bessel function. This hybrid window function was introduced to decrease the peak sidelobe level of the Plancktaper window while still exploiting its good asymptotic decay.^{[72]} It has two tunable parameters, ε from the Plancktaper and α from the Kaiser window, so it can be adjusted to fit the requirements of a given signal.
A Hann window multiplied by a Poisson window. For it has no sidelobes, as its Fourier transform drops off forever away from the main lobe without local minima. It can thus be used in hill climbing algorithms like Newton's method.^{[73]} The Hann–Poisson window is defined by:
where α is a parameter that controls the slope of the exponential.
The GAP window^{[74]} is a family of adjustable window functions that are based on a symmetrical polynomial expansion of order . It is continuous with continuous derivative everywhere. With the appropriate set of expansion coefficients and expansion order, the GAP window can mimic all the known window functions, reproducing accurately their spectral properties.
where is the standard deviation of the sequence.
Additionally, starting with a set of expansion coefficients that mimics a certain known window function, the GAP window can be optimized by minimization procedures to get a new set of coefficients that improve one or more spectral properties, such as the main lobe width, side lobe attenuation, and side lobe falloff rate.^{[76]} Therefore, a GAP window function can be developed with designed spectral properties depending on the specific application.
The form, defined above, is symmetric around . However, there are window functions that are asymmetric like Gamma distribution used in FIR implementation of Gammatone filters. These asymmetries are used to reduce the delay when using large window sizes or to emphasize the initial transient of a decaying pulse.^{[citation needed]} There are ways to make normally symmetric windows asymmetric like this below by applying this formula:
to the time function (x position is shifted so is 0 to 1 to apply this formula above before mapping it back to 1 to 1 range), where the window is skewed towards the latest samples where and conversely to the earliest samples when .^{[77]}
The window is applied twice: once before the FFT (the "analysis window") and secondly after the inverse FFT prior to reconstruction by overlapadd (the socalled "synthesis window"). ... More generally, any positive COLA window can be split into an analysis and synthesis window pair by taking its square root.
{{cite journal}}
: CS1 maint: multiple names: authors list (link)
Note that, on a dB scale, Gaussians are quadratic. This means that parabolic interpolation of a sampled Gaussian transform is exact. ... quadratic interpolation of spectral peaks may be more accurate on a logmagnitude scale (e.g., dB) than on a linear magnitude scale
This family of window functions was "discovered" by Kaiser in 1962 following a discussion with B. F. Logan of the Bell Telephone Laboratories. ... Another valuable property of this family ... is that they also approximate closely the prolate spheroidal wave functions of order zero.
Sometimes the Kaiser window is parametrized by α, where β = πα.
The following Matlab comparison of the DPSS and Kaiser windows illustrates the interpretation of α as the bin number of the edge of the critically sampled window main lobe.