Window function
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 rectangular window does not modify the data segment at all. It's only for modelling purposes that we say it multiplies by 1 inside the window and by 0 outside. 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]}
Applications[edit]
Window functions are used in spectral analysis/modification/resynthesis,^{[4]} the design of finite impulse response filters, as well as beamforming and antenna design.
Spectral analysis[edit]
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.
Choice of window function[edit]
Windowing of a simple waveform like cos(ωt) causes its Fourier transform to develop nonzero values (commonly called spectral leakage) at frequencies other than ω. The leakage tends to be worst (highest) near ω and least at frequencies farthest from ω.
If the waveform under analysis comprises two sinusoids of different frequencies, leakage can interfere with our ability to distinguish them spectrally. Possible types of interference are often broken down into two opposing classes as follows: If the component frequencies are dissimilar and one component is weaker, then leakage from the stronger component can obscure the weaker one's presence. But if the frequencies are too similar, leakage can render them unresolvable even when the sinusoids are of equal strength. Windows that are effective against the first type of interference, namely where components have dissimilar frequencies and amplitudes, are called high dynamic range. Conversely, windows that can distinguish components with similar frequencies and amplitudes are called high resolution.
The rectangular window is an example of a window that is high resolution but low dynamic range, meaning it is good for distinguishing components of similar amplitude even when the frequencies are also close, but poor at distinguishing components of different amplitude even when the frequencies are far away. Highresolution, lowdynamicrange windows such as the rectangular window also have the property of high sensitivity, which is the ability to reveal relatively weak sinusoids in the presence of additive random noise. That is because the noise produces a stronger response with highdynamicrange windows than with highresolution windows.
At the other extreme of the range of window types are windows with high dynamic range but low resolution and sensitivity. Highdynamicrange windows are most often justified in wideband applications, where the spectrum being analyzed is expected to contain many different components of various amplitudes.
In between the extremes are moderate windows, such as Hamming and Hann. They are commonly used in narrowband applications, such as the spectrum of a telephone channel.
In summary, spectral analysis involves a tradeoff between resolving comparable strength components with similar frequencies (high resolution / sensitivity) and resolving disparate strength components with dissimilar frequencies (high dynamic range). That tradeoff occurs when the window function is chosen.^{[5]}^{:p. 90}
Discretetime signals[edit]
When the input waveform is timesampled, instead of continuous, the analysis is usually done by applying a window function and then a discrete Fourier transform (DFT). But the DFT provides only a sparse sampling of the actual discretetime Fourier transform (DTFT) spectrum. Figure 2, row 3 shows a DTFT for a rectangularlywindowed sinusoid. The actual frequency of the sinusoid is indicated as "13" on the horizontal axis. Everything else is leakage, exaggerated by the use of a logarithmic presentation. The unit of frequency is "DFT bins"; that is, the integer values on the frequency axis correspond to the frequencies sampled by the DFT. So the figure depicts a case where the actual frequency of the sinusoid coincides with a DFT sample, and the maximum value of the spectrum is accurately measured by that sample. In row 4, it misses the maximum value by ½ bin, and the resultant measurement error is referred to as scalloping loss (inspired by the shape of the peak). For a known frequency, such as a musical note or a sinusoidal test signal, matching the frequency to a DFT bin can be prearranged by choices of a sampling rate and a window length that results in an integer number of cycles within the window.
Noise bandwidth[edit]
The concepts of resolution and dynamic range tend to be somewhat subjective, depending on what the user is actually trying to do. But they also tend to be highly correlated with the total leakage, which is quantifiable. It is usually expressed as an equivalent bandwidth, B. It can be thought of as redistributing the DTFT into a rectangular shape with height equal to the spectral maximum and width B.^{[A]}^{[6]} The more the leakage, the greater the bandwidth. It is sometimes called noise equivalent bandwidth or equivalent noise bandwidth, because it is proportional to the average power that will be registered by each DFT bin when the input signal contains a random noise component (or is just random noise). A graph of the power spectrum, averaged over time, typically reveals a flat noise floor, caused by this effect. The height of the noise floor is proportional to B. So two different window functions can produce different noise floors.
Processing gain and losses[edit]
In signal processing, operations are chosen to improve some aspect of quality of a signal by exploiting the differences between the signal and the corrupting influences. When the signal is a sinusoid corrupted by additive random noise, spectral analysis distributes the signal and noise components differently, often making it easier to detect the signal's presence or measure certain characteristics, such as amplitude and frequency. Effectively, the signal to noise ratio (SNR) is improved by distributing the noise uniformly, while concentrating most of the sinusoid's energy around one frequency. Processing gain is a term often used to describe an SNR improvement. The processing gain of spectral analysis depends on the window function, both its noise bandwidth (B) and its potential scalloping loss. These effects partially offset, because windows with the least scalloping naturally have the most leakage.
Figure 3 depicts the effects of three different window functions on the same data set, comprising two equal strength sinusoids in additive noise. The frequencies of the sinusoids are chosen such that one encounters no scalloping and the other encounters maximum scalloping. Both sinusoids suffer less SNR loss under the Hann window than under the Blackman–Harris window. In general (as mentioned earlier), this is a deterrent to using highdynamicrange windows in lowdynamicrange applications.
Symmetry[edit]
The formulas provided in this article produce discrete sequences, as if a continuous window function has been "sampled". (See an example at Kaiser window.) Window sequences for spectral analysis are either symmetric or 1sample short of symmetric (called periodic,^{[7]}^{[8]} DFTeven, or DFTsymmetric^{[9]}^{:p. 52}). For instance, a true symmetric sequence, with its maximum at a single centerpoint, is generated by the MATLAB function hann(9,'symmetric')
. Deleting the last sample produces a sequence identical to hann(8,'periodic')
. Similarly, the sequence hann(8,'symmetric')
has two equal centerpoints.^{[10]}
Some functions have one or two zerovalued endpoints, which are unnecessary in most applications. Deleting a zerovalued endpoint has no effect on its DTFT (spectral leakage). But the function designed for N+1 or N+2 samples, in anticipation of deleting one or both end points, typically has a slightly narrower main lobe, slightly higher sidelobes, and a slightly smaller noisebandwidth.^{[11]}
DFTsymmetry[edit]
The predecessor of the DFT is the finite Fourier transform, and window functions were "always an odd number of points and exhibit even symmetry about the origin".^{[9]}^{:p. 52} In that case, the DTFT is entirely realvalued. When the same sequence is shifted into a DFT data window, [0 ≤ n ≤ N], the DTFT becomes complexvalued, except at frequencies spaced at regular intervals of 1/N.^{[a]} Thus, when sampled by an Nlength DFT (see periodic summation), the samples (called DFT coefficients) are still realvalued. Because of the periodic summation the last sample of the window function, w[N], is incorporated in the n = 0 term of the DFT: exp{−i2πk0/N} · (w[0] + w[N]) = w[0] + w[N], which is realvalued for all values of k (all DFT coefficients). So when the last sample of a symmetric sequence is truncated (w[N] = 0), the imaginary components remain zero.^{[B]} It does affect the DTFT (spectral leakage), but usually by a negligible amount (unless N is small, e.g. ≤ 20).^{[12]}^{[C]}
When windows are multiplicatively applied to actual data, the sequence usually lacks any symmetry, and the DFT is generally not realvalued. Despite this caveat, many authors reflexively assume DFTsymmetric windows.^{[9]}^{[13]}^{[14]}^{[15]}^{[16]}^{[17]}^{[b]} So it is worth noting that there is no performance advantage when applied to time domain data, which is the customary application. The advantage of realvalued DFT coefficients is realized in certain esoteric applications^{[D]} where windowing is achieved by means of convolution between the DFT coefficients and an unwindowed DFT of the data.^{[18]}^{[9]}^{:p. 62}^{[5]}^{:p. 85} In those applications, DFTsymmetric windows (even or odd length) from the Cosinesum family are preferred, because most of their DFT coefficients are zerovalued, making the convolution very efficient.^{[E]}^{[5]}^{:p. 85}
Filter design[edit]
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.^{[19]}^{[20]}^{[21]}
Statistics and curve fitting[edit]
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.
Rectangular window applications[edit]
Analysis of transients[edit]
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.^{[22]}
Harmonic analysis[edit]
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.
A list of window functions[edit]
Conventions:
 is a zerophase function (symmetrical about x = 0),^{[23]} continuous for where N is a positive integer (even or odd).^{[24]}
 The sequence is symmetric, of length
 is DFTsymmetric, of length ^{[F]}
 The parameter B displayed on each spectral plot is the function's noise equivalent bandwidth metric, in units of DFT bins.
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.^{[c]} 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.
Rectangular window[edit]
The rectangular window (sometimes known as the boxcar or Dirichlet window) is the simplest window, equivalent to replacing all but N 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.
Bspline windows[edit]
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).^{[25]} Alternative definitions sample the appropriate normalized Bspline basis functions instead of convolving discretetime windows. A kth order Bspline basis function is a piecewise polynomial function of degree k−1 that is obtained by kfold selfconvolution of the rectangular function.
Triangular window[edit]
Triangular windows are given by:
where L can be N,^{[26]} N + 1,^{[9]} ^{[27]}^{[28]} or N + 2.^{[29]} 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.
Parzen window[edit]
Defining L ≜ N + 1, the Parzen window, also known as the de la Vallée Poussin window,^{[9]} is the 4th order Bspline window given by:
Other polynomial windows[edit]
Welch window[edit]
The Welch window consists of a single parabolic section:
 ^{[29]}
The defining quadratic polynomial reaches a value of zero at the samples just outside the span of the window.
Sine window[edit]
The corresponding function is a cosine without the π/2 phase offset. So the sine window^{[30]} is sometimes also called cosine window.^{[9]} As it represents half a cycle of a sinusoidal function, it is also known variably as halfsine window^{[31]} or halfcosine window.^{[32]}
The autocorrelation of a sine window produces a function known as the Bohman window.^{[33]}
Powerofsine/cosine windows[edit]
These window functions have the form:^{[34]}
The rectangular window (α = 0), the sine window (α = 1), and the Hann window (α = 2) are members of this family.
Cosinesum windows[edit]
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.
Hann and Hamming windows[edit]
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:
 ^{[7]}
named after Julius von Hann, and sometimes 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.^{[35]}
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.^{[9]}^{[36]}^{[37]} The Hamming window is often called the Hamming blip when used for pulse shaping.^{[38]}^{[39]}^{[40]}
Approximation of the coefficients to two decimal places substantially lowers the level of sidelobes,^{[9]} to a nearly equiripple condition.^{[37]} In the equiripple sense, the optimal values for the coefficients are a_{0} = 0.53836 and a_{1} = 0.46164.^{[37]}^{[5]}
Hamming window is used for Audio Spectrum effect in Adobe After Effects^{[citation needed]}.
Blackman window[edit]
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,^{[41]} with a_{0} = 7938/18608 ≈ 0.42659, a_{1} = 9240/18608 ≈ 0.49656, and a_{2} = 1430/18608 ≈ 0.076849.^{[42]} These exact values place zeros at the third and fourth sidelobes,^{[9]} 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.^{[9]}^{[43]}
Nuttall window, continuous first derivative[edit]
The continuous form of 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.
Blackman–Nuttall window[edit]
Blackman–Harris window[edit]
A generalization of the Hamming family, produced by adding more shifted sinc functions, meant to minimize sidelobe levels^{[44]}^{[45]}
Flat top window[edit]
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.^{[13]}^{[46]} Drawbacks of the broad bandwidth are poor frequency resolution and high § Noise bandwidth.
Flat top windows can be designed using lowpass filter design methods,^{[46]} 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.^{[13]}
Rife–Vincent windows[edit]
Rife–Vincent windows^{[47]} 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.^{[48]}
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.^{[48]}^{[49]}
Adjustable windows[edit]
Gaussian window[edit]
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.^{[50]}
Since the log of a Gaussian produces a parabola, this can be used for nearly exact quadratic interpolation in frequency estimation.^{[51]}^{[50]}^{[52]}
The standard deviation of the Gaussian function is σ · N/2 sampling periods.
Confined Gaussian window[edit]
The confined Gaussian window yields the smallest possible root mean square frequency width σ_{ω} for a given temporal width (N + 1) σ_{t}.^{[53]} 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.
Approximate confined Gaussian window[edit]
Defining L ≜ N + 1, a confined Gaussian window of temporal width L × σ_{t} is well approximated by:^{[53]}
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.^{[53]}
Generalized normal window[edit]
A more generalized version of the Gaussian window is the generalized normal window.^{[54]} 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 ^{[55]} for a study on timefrequency representation of this window (or function).
Tukey window[edit]
The Tukey window, also known as the cosinetapered window, can be regarded as a cosine lobe of width Nα/2 (spanning Nα/2+1 samples) that is convolved with a rectangular window of width N(1 − α/2).
 ^{[56]}^{[G]}^{[H]}
At α = 0 it becomes rectangular, and at α = 1 it becomes a Hann window.
Plancktaper window[edit]
The socalled "Plancktaper" window is a bump function that has been widely used^{[57]} 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.^{[58]} It is defined as a piecewise function:
The amount of tapering is controlled by the parameter ε, with smaller values giving sharper transitions.
DPSS or Slepian window[edit]
The DPSS (discrete prolate spheroidal sequence) or Slepian window maximizes the energy concentration in the main lobe,^{[59]} 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 α.^{[60]}
The Kaiser windows below are created by a simple approximation to the DPSS windows:
Kaiser window[edit]
The Kaiser, or Kaiser–Bessel, window is a simple approximation of the DPSS window using Bessel functions, discovered by James Kaiser.^{[61]}^{[62]}
 ^{[I]}^{[9]}^{:p. 73}
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,^{[69]} and a typical value of is 3.
Dolph–Chebyshev window[edit]
Minimizes the Chebyshev norm of the sidelobes for a given main lobe width.^{[70]}
The zerophase Dolph–Chebyshev window function is usually defined in terms of its realvalued discrete Fourier transform, :^{[71]}
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.^{[70]}
The window function can be calculated from W_{0}(k) by an inverse discrete Fourier transform (DFT):^{[70]}
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:
 Due to the equiripple condition, the timedomain window has discontinuities at the edges. An approximation that avoids them, by allowing the equiripples to drop off at the edges, is a Taylor window.
 An alternative to the inverse DFT definition is also available.[1].
Ultraspherical window[edit]
The Ultraspherical window was introduced in 1984 by Roy Streit^{[72]} and has application in antenna array design,^{[73]} nonrecursive filter design,^{[72]} and spectrum analysis.^{[74]}
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.^{[74]}^{[75]}
The window can be expressed in the timedomain as follows:^{[74]}
where is the Ultraspherical polynomial of degree N, and and control the sidelobe patterns.^{[74]}
Certain specific values of yield other wellknown windows: and give the Dolph–Chebyshev and Saramäki windows respectively.^{[72]} See here for illustration of Ultraspherical windows with varied parametrization.
Exponential or Poisson window[edit]
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 ^{[76]}). 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.^{[77]} This means that for a targeted decay of D dB over half of the window length, the time constant τ is given by
Hybrid windows[edit]
Window functions have also been constructed as multiplicative or additive combinations of other windows.
Bartlett–Hann window[edit]
Planck–Bessel window[edit]
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.^{[78]} 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.
Hann–Poisson window[edit]
A Hann window multiplied by a Poisson window, which has no sidelobes, in the sense that its Fourier transform drops off forever away from the main lobe. It can thus be used in hill climbing algorithms like Newton's method.^{[79]} The Hann–Poisson window is defined by:
where α is a parameter that controls the slope of the exponential.
Other windows[edit]
Generalized adaptive polynomial (GAP) window[edit]
The GAP window^{[80]} 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.
 ^{[81]}
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.^{[82]} Therefore, a GAP window function can be developed with designed spectral properties depending on the specific application.
Lanczos window[edit]
 used in Lanczos resampling
 for the Lanczos window, is defined as
 also known as a sinc window, because:
 is the main lobe of a normalized sinc function
Comparison of windows[edit]
When selecting an appropriate window function for an application, this comparison graph may be useful. The frequency axis has units of FFT "bins" when the window of length N is applied to data and a transform of length N is computed. For instance, the value at frequency ½ "bin" (third tick mark) is the response that would be measured in bins k and k + 1 to a sinusoidal signal at frequency k + ½. It is relative to the maximum possible response, which occurs when the signal frequency is an integer number of bins. The value at frequency ½ is referred to as the maximum scalloping loss of the window, which is one metric used to compare windows. The rectangular window is noticeably worse than the others in terms of that metric.
Other metrics that can be seen are the width of the main lobe and the peak level of the sidelobes, which respectively determine the ability to resolve comparable strength signals and disparate strength signals. The rectangular window (for instance) is the best choice for the former and the worst choice for the latter. What cannot be seen from the graphs is that the rectangular window has the best noise bandwidth, which makes it a good candidate for detecting lowlevel sinusoids in an otherwise white noise environment. Interpolation techniques, such as zeropadding and frequencyshifting, are available to mitigate its potential scalloping loss.
Overlapping windows[edit]
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[edit]
Twodimensional windows are commonly used in image processing to reduce unwanted highfrequencies in the image Fourier transform.^{[83]} They can be constructed from onedimensional windows in either of two forms.^{[84]} 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.^{[85]} 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 appertures, which can be visualized in terms of the product of two sinc functions vs. an Airy function, respectively.
See also[edit]
Wikimedia Commons has media related to Window function. 
 Spectral leakage
 Multitaper
 Apodization
 Welch method
 Shorttime Fourier transform
 Window design method
 Kolmogorov–Zurbenko filter
Notes[edit]
 ^ Mathematically, the noise equivalent bandwidth of transfer function H is the bandwidth of an ideal rectangular filter with the same peak gain as H that would pass the same power with white noise input. In the units of frequency f (e.g. hertz), it is given by:
 ^ The terms DFTeven and periodic refer to the idea that if the truncated sequence were repeated periodically, it would be evensymmetric about n = 0, and its DTFT would be entirely realvalued.
 ^ An example of the effect of truncation on spectral leakage is figure Gaussian windows. The graph labeled DTFT periodic8 is the DTFT of the truncated window labeled periodic DFTeven (both blue). The green graph labeled DTFT symmetric9 corresponds to the same window with its symmetry restored. The DTFT samples, labeled DFT8 periodic summation, are an example of using periodic summation to sample it at the same frequencies as the blue graph.
 ^ Sometimes both a windowed and an unwindowed (rectangularly windowed) DFT are needed.
 ^ For example, see figures DFTeven Hann window and Oddlength, DFTeven Hann window, which show that the Npoint DFT of the sequence generated by hann(N,'periodic') has only three nonzero values. All the other samples coincide with zerocrossings of the DTFT.
 ^ Some authors limit their attention to this important subset and to even values of N.^{[9]}^{[13]} But the window coefficient formulas are still the ones presented here.
 ^ This formula can be confirmed by simplifying the cosine function at MATLAB tukeywin and substituting r=α and x=n/N.
 ^ Harris 1978 (p 67, eq 38) appears to have three errors: (1) In order for the description of Figs 30 and 32 to be correct, α should be replaced with 1α (and therefore viceversa). (2) Then the subtraction operator in the numerator of the cosine function should be addition, and (3) the denominator should be αN/2 (not αN), or equivalently, the π factor should be 2π.
 ^ The Kaiser window is often parametrized by β, where β = πα.^{[63]}^{[64]} ^{[65]}^{[66]}^{[60]}^{[67]}^{[19]}^{:p. 474} The alternative use of just α facilitates comparisons to the DPSS windows.^{[68]}
Page citations[edit]
 ^ Harris 1978, p 52, where
 ^ Nuttall 1981, p 85 (15a).
 ^ Harris 1978, p 57, fig 10.
References[edit]
 ^ Weisstein, Eric W. (2003). CRC Concise Encyclopedia of Mathematics. CRC Press. ISBN 9781584883470.
 ^ Roads, Curtis (2002). Microsound. MIT Press. ISBN 9780262182157.
 ^ Cattani, Carlo; Rushchitsky, Jeremiah (2007). Wavelet and Wave Analysis As Applied to Materials With Micro Or Nanostructure. World Scientific. ISBN 9789812707840.
 ^
"OverlapAdd (OLA) STFT Processing  Spectral Audio Signal Processing". www.dsprelated.com. Retrieved 20160807.
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.
 ^ ^{a} ^{b} ^{c} ^{d} Nuttall, Albert H. (Feb 1981). "Some Windows with Very Good Sidelobe Behavior". IEEE Transactions on Acoustics, Speech, and Signal Processing. 29 (1): 84–91. doi:10.1109/TASSP.1981.1163506. Extends Harris' paper, covering all the window functions known at the time, along with key metric comparisons.
 ^ Carlson, A. Bruce (1986). Communication Systems: An Introduction to Signals and Noise in Electrical Communication. McGrawHill. ISBN 9780070099609.
 ^ ^{a} ^{b} "Hann (Hanning) window  MATLAB hann". www.mathworks.com. Retrieved 20200212.
 ^ "Window Function". www.mathworks.com. Retrieved 20190414.
 ^ ^{a} ^{b} ^{c} ^{d} ^{e} ^{f} ^{g} ^{h} ^{i} ^{j} ^{k} ^{l} ^{m} Harris, Fredric J. (Jan 1978). "On the use of Windows for Harmonic Analysis with the Discrete Fourier Transform" (PDF). Proceedings of the IEEE. 66 (1): 51–83. Bibcode:1978IEEEP..66...51H. CiteSeerX 10.1.1.649.9880. doi:10.1109/PROC.1978.10837. S2CID 426548. The fundamental 1978 paper on FFT windows by Harris, which specified many windows and introduced key metrics used to compare them.
 ^ Robertson, Neil (18 December 2018). "Evaluate Window Functions for the Discrete Fourier Transform". DSPRelated.com. The Related Media Group. Retrieved 9 August 2020. Revised 22 February 2020.
 ^ "Matlab for the Hann Window". ccrma.stanford.edu. Retrieved 20200901.
 ^
Rohling, H.; Schuermann, J. (March 1983). "Discrete time window functions with arbitrarily low sidelobe level". Signal Processing. Forschungsinstitut Ulm, Sedanstr, Germany: AEGTelefunken. 5 (2): 127–138. doi:10.1016/01651684(83)900191. Retrieved 8 August 2020.
It can be shown, that the DFTeven sampling technique as proposed by Harris is not the most suitable one.
 ^ ^{a} ^{b} ^{c} ^{d} Heinzel, G.; Rüdiger, A.; Schilling, R. (2002). Spectrum and spectral density estimation by the Discrete Fourier transform (DFT), including a comprehensive list of window functions and some new flattop windows (Technical report). Max Planck Institute (MPI) für Gravitationsphysik / Laser Interferometry & Gravitational Wave Astronomy. 395068.0. Retrieved 20130210. Also available at https://pure.mpg.de/rest/items/item_152164_1/component/file_152163/content
 ^ Lyons, Richard (1 June 1998). "Windowing Functions Improve FFT Results". EDN. Sunnyvale, CA: TRW. Retrieved 8 August 2020.
 ^ Fulton, Trevor (4 March 2008). "DP Numeric Transform Toolbox". herschel.esac.esa.int. Herschel Data Processing. Retrieved 8 August 2020.
 ^
Poularikas, A.D. (1999). "7.3.1". In Poularikas, Alexander D. (ed.). The Handbook of Formulas and Tables for Signal Processing (PDF). Boca Raton: CRC Press LLC. ISBN 0849385792. Retrieved 8 August 2020.
Windows are even (about the origin) sequences with an odd number of points. The rightmost point of the window will be discarded.
 ^ Puckette, Miller (30 December 2006). "Fourier analysis of nonperiodic signals". msp.ucsd.edu. UC San Diego. Retrieved 9 August 2020.
 ^ US patent 6898235, Carlin, Joe; Terry Collins & Peter Hays et al., "Wideband communication intercept and direction finding device using hyperchannelization", published 19991210, issued 20050524, url2=https://worldwide.espacenet.com/patent/search/family/034590049/publication/US6898235B1?q=pn%3DUS6898235
 ^ ^{a} ^{b} Oppenheim, Alan V.; Schafer, Ronald W.; Buck, John R. (1999). "7.2". Discretetime signal processing (2nd ed.). Upper Saddle River, N.J.: Prentice Hall. pp. 465–478. ISBN 0137549202. url=https://d1.amobbs.com/bbs_upload782111/files_24/ourdev_523225.pdf
 ^ "FIR Filters by Windowing – The Lab Book Pages". www.labbookpages.co.uk. Retrieved 20160413.
 ^ "Mastering Windows" (PDF). www.cg.tuwien.ac.at. Retrieved 20200212.
 ^ "The Fundamentals of Signal Analysis Application Note 243" (PDF). hpmemoryproject.org. Retrieved 10 April 2018.
 ^ "Zero Phase Filters". ccrma.stanford.edu. Retrieved 20200212.
 ^ Rorabaugh, C.Britton (October 1998). DSP Primer. Primer series. McGrawHill Professional. p. 196. ISBN 9780070540040.
 ^ Toraichi, K.; Kamada, M.; Itahashi, S.; Mori, R. (1989). "Window functions represented by Bspline functions". IEEE Transactions on Acoustics, Speech, and Signal Processing. 37: 145–147. doi:10.1109/29.17517.
 ^ "Bartlett Window". ccrma.stanford.edu. Retrieved 20160413.
 ^ Tukey, J.W. (1967). "An introduction to the calculations of numerical spectrum analysis". Spectral Analysis of Time Series: 25–46.
 ^ "Triangular window – MATLAB triang". www.mathworks.com. Retrieved 20160413.
 ^ ^{a} ^{b} Welch, P. (1967). "The use of fast Fourier transform for the estimation of power spectra: A method based on time averaging over short, modified periodograms". IEEE Transactions on Audio and Electroacoustics. 15 (2): 70–73. Bibcode:1967ITAE...15...70W. doi:10.1109/TAU.1967.1161901.
 ^ Bosi, Marina; Goldberg, Richard E. (2003). "Time to Frequency Mapping Part II: The MDCT". Introduction to Digital Audio Coding and Standards. The Springer International Series in Engineering and Computer Science. 721. Boston, MA: Springer US. p. 106. doi:10.1007/9781461503279. ISBN 9781461503279.
 ^ Kido, Ken'iti; Suzuki, Hideo; Ono, Takahiko; Fukushima, Manabu (1998). "Deformation of impulse response estimates by time window in cross spectral technique". Journal of the Acoustical Society of Japan (E). 19 (5): 349–361. doi:10.1250/ast.19.349.
 ^ Landisman, M.; Dziewonski, A.; Satô, Y. (19690501). "Recent Improvements in the Analysis of Surface Wave Observations". Geophysical Journal International. 17 (4): 369–403. Bibcode:1969GeoJ...17..369L. doi:10.1111/j.1365246X.1969.tb00246.x.
 ^ "Bohman window – R2019B". www.mathworks.com. Retrieved 20200212.
 ^ "PowerofCosine Window Family". ccrma.stanford.edu. Retrieved 10 April 2018.
 ^ "Hann or Hanning or Raised Cosine". ccrma.stanford.edu. Retrieved 20160413.
 ^ Enochson, Loren D.; Otnes, Robert K. (1968). Programming and Analysis for Digital Time Series Data. U.S. Dept. of Defense, Shock and Vibration Info. Center. p. 142.
 ^ ^{a} ^{b} ^{c} "Hamming Window". ccrma.stanford.edu. Retrieved 20160413.
 ^ "A digital quadrature amplitude modulation (QAM) Radio: Building a better radio" (PDF). users.wpi.edu. p. 28. Retrieved 20200212.
 ^ "Bits to Symbols to Signals and back again" (PDF). users.wpi.edu. p. 7. Retrieved 20200212.
 ^ Johnson, C.Richard, Jr; Sethares, William A.; Klein, Andrew G. (20110818). "11". Software Receiver Design. Cambridge University Press. ISBN 9781139501453. Also https://cnx.org/contents/QsVBJjB4@3.1:6R_ztzDY@4/PulseShapingandReceiveFiltering
 ^ Weisstein, Eric W. "Blackman Function". mathworld.wolfram.com. Retrieved 20160413.
 ^ "Characteristics of Different Smoothing Windows  NI LabVIEW 8.6 Help". zone.ni.com. Retrieved 20200213.
 ^ Blackman, R.B.; Tukey, J.W. (19590101). The Measurement of Power Spectra from the Point of View of Communications Engineering. Dover Publications. p. 99. ISBN 9780486605074.
 ^ "BlackmanHarris Window Family". ccrma.stanford.edu. Retrieved 20160413.
 ^ "ThreeTerm BlackmanHarris Window". ccrma.stanford.edu. Retrieved 20160413.
 ^ ^{a} ^{b} Smith, Steven W. (2011). The Scientist and Engineer's Guide to Digital Signal Processing. San Diego, California, USA: California Technical Publishing. Retrieved 20130214.
 ^ Rife, David C.; Vincent, G.A. (1970), "Use of the discrete Fourier transform in the measurement of frequencies and levels of tones", Bell Syst. Tech. J., 49 (2): 197–228, doi:10.1002/j.15387305.1970.tb01766.x
 ^ ^{a} ^{b} Andria, Gregorio; Savino, Mario; Trotta, Amerigo (1989), "Windows and interpolation algorithms to improve electrical measurement accuracy", IEEE Transactions on Instrumentation and Measurement, 38 (4): 856–863, doi:10.1109/19.31004
 ^ Schoukens, Joannes; Pintelon, Rik; Van Hamme, Hugo (1992), "The interpolated fast Fourier transform: a comparative study", IEEE Transactions on Instrumentation and Measurement, 41 (2): 226–232, doi:10.1109/19.137352
 ^ ^{a} ^{b}
"Matlab for the Gaussian Window". ccrma.stanford.edu. Retrieved 20160413.
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
 ^ "Gaussian Window and Transform". ccrma.stanford.edu. Retrieved 20160413.
 ^ "Quadratic Interpolation of Spectral Peaks". ccrma.stanford.edu. Retrieved 20160413.
 ^ ^{a} ^{b} ^{c} Starosielec, S.; Hägele, D. (2014). "Discretetime windows with minimal RMS bandwidth for given RMS temporal width". Signal Processing. 102: 240–246. doi:10.1016/j.sigpro.2014.03.033.
 ^ Chakraborty, Debejyo; Kovvali, Narayan (2013). "Generalized normal window for digital signal processing". 2013 IEEE International Conference on Acoustics, Speech and Signal Processing. pp. 6083–6087. doi:10.1109/ICASSP.2013.6638833. ISBN 9781479903566. S2CID 11779529.
 ^ Diethorn, E.J. (1994). "The generalized exponential timefrequency distribution". IEEE Transactions on Signal Processing. 42 (5): 1028–1037. Bibcode:1994ITSP...42.1028D. doi:10.1109/78.295214.
 ^ Bloomfield, P. (2000). Fourier Analysis of Time Series: An Introduction. New York: WileyInterscience.
 ^ Tu, Loring W. (2008). "Bump Functions and Partitions of Unity". An Introduction to Manifolds. Universitext. New York: Springer. pp. 127–134. doi:10.1007/9780387481012_13. ISBN 9780387480985.
 ^ McKechan, D.J.A.; Robinson, C.; Sathyaprakash, B.S. (21 April 2010). "A tapering window for timedomain templates and simulated signals in the detection of gravitational waves from coalescing compact binaries". Classical and Quantum Gravity. 27 (8): 084020. arXiv:1003.2939. Bibcode:2010CQGra..27h4020M. doi:10.1088/02649381/27/8/084020. S2CID 21488253.
 ^ "Slepian or DPSS Window". ccrma.stanford.edu. Retrieved 20160413.
 ^ ^{a} ^{b} Smith, J.O. (2011). "Kaiser and DPSS Windows Compared". ccrma.stanford.edu. Retrieved 20160413.
 ^
Kaiser, James F.; Kuo, Franklin F. (1966). System Analysis by Digital Computer. John Wiley and Sons. pp. 232–235.
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.
 ^ Kaiser, James F. (Nov 1964). "A family of window functions having nearly ideal properties". Unpublished Memorandum.
 ^ Rabiner, Lawrence R.; Gold, Bernard (1975). "3.11". Theory and application of digital signal processing. Englewood Cliffs, N.J.: PrenticeHall. p. 94. ISBN 0139141014.
 ^ Crochiere, R.E.; Rabiner, L.R. (1983). "4.3.1". Multirate Digital Signal Processing. Englewood Cliffs, NJ: PrenticeHall. p. 144. ISBN 0136051626.
 ^ Lin, YuanPei; Vaidyanathan, P.P. (June 1998). "A Kaiser Window Approach for the Design of Prototype Filters of Cosine Modulated Filterbanks" (PDF). IEEE Signal Processing Letters. 5 (6): 132–134. Bibcode:1998ISPL....5..132L. doi:10.1109/97.681427. S2CID 18159105. Retrieved 20170316.
 ^
Smith, J.O. (2011). "Kaiser Window". ccrma.stanford.edu. Retrieved 20190320.
Sometimes the Kaiser window is parametrized by α, where β = πα.
 ^ "Kaiser Window, R2020a". www.mathworks.com. Mathworks. Retrieved 9 April 2020.
 ^
"Kaiser Window". www.dsprelated.com. Retrieved 20200408.
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.
 ^ Kaiser, James F.; Schafer, Ronald W. (1980). "On the use of the I_{0}sinh window for spectrum analysis". IEEE Transactions on Acoustics, Speech, and Signal Processing. 28: 105–107. doi:10.1109/TASSP.1980.1163349.
 ^ ^{a} ^{b} ^{c} "DolphChebyshev Window". ccrma.stanford.edu. Retrieved 20160413.
 ^ "DolphChebyshev Window Definition". ccrma.stanford.edu. Retrieved 20190305.
 ^ ^{a} ^{b} ^{c} Kabal, Peter (2009). "Time Windows for Linear Prediction of Speech" (PDF). Technical Report, Dept. Elec. & Comp. Eng., McGill University (2a): 31. Retrieved 2 February 2014.
 ^ Streit, Roy (1984). "A twoparameter family of weights for nonrecursive digital filters and antennas". Transactions of ASSP. 32: 108–118. doi:10.1109/tassp.1984.1164275.
 ^ ^{a} ^{b} ^{c} ^{d} Deczky, Andrew (2001). "Unispherical Windows". ISCAS 2001. The 2001 IEEE International Symposium on Circuits and Systems (Cat. No.01CH37196). 2. pp. 85–88. doi:10.1109/iscas.2001.921012. ISBN 9780780366855. S2CID 38275201.
 ^ Bergen, S.W.A.; Antoniou, A. (2004). "Design of Ultraspherical Window Functions with Prescribed Spectral Characteristics". EURASIP Journal on Applied Signal Processing. 2004 (13): 2053–2065. Bibcode:2004EJASP2004...63B. doi:10.1155/S1110865704403114.
 ^ Smith, Julius O. III (20110423). "Poisson Window". ccrma.stanford.edu. Retrieved 20200212.
 ^ Gade, Svend; Herlufsen, Henrik (1987). "Technical Review No 31987: Windows to FFT analysis (Part I)" (PDF). Brüel & Kjær. Retrieved 20111122.
 ^ Berry, C.P.L.; Gair, J.R. (12 December 2012). "Observing the Galaxy's massive black hole with gravitational wave bursts". Monthly Notices of the Royal Astronomical Society. 429 (1): 589–612. arXiv:1210.2778. Bibcode:2013MNRAS.429..589B. doi:10.1093/mnras/sts360. S2CID 118944979.
 ^ "HannPoisson Window". ccrma.stanford.edu. Retrieved 20160413.
 ^ Justo, J. F.; Beccaro, W. (20201026). "Generalized Adaptive Polynomial Window Function". IEEE Access. 8: 187584–187589. doi:10.1109/ACCESS.2020.3030903. S2CID 225050036. Retrieved 20201031.
 ^ Wesley Beccaro (20201031), "Generalized Adaptive Polynomial Window Function", mathworks.com, retrieved 20201102
 ^ "Generalized Adaptive Polynomial Window Function". www.mathworks.com. Retrieved 20201212.
 ^ R. Hovden, Y. Jiang, H. Xin, L.F. Kourkoutis (2015). "Periodic Artifact Reduction in Fourier Transforms of Full Field Atomic Resolution Images". Microscopy and Microanalysis. 21 (2): 436–441. Bibcode:2015MiMic..21..436H. doi:10.1017/S1431927614014639. PMID 25597865.CS1 maint: multiple names: authors list (link)
 ^ Bernstein, Matt A.; King, Kevin Franklin; Zhou, Xiaohong Joe (2004). Handbook of MRI Pulse Sequences. London: Elsevier Academic Press. pp. 495–499. ISBN 0120928612.
 ^ Awad, A.I.; Baba, K. (2011). "An Application for Singular Point Location in Fingerprint Classification". Digital Information Processing and Communications. Communications in Computer and Information Science. 188. p. 262. doi:10.1007/9783642223891_24. ISBN 9783642223884.
Further reading[edit]
 Harris, Frederic J. (September 1976). "Windows, Harmonic Analysis, and the Discrete Fourier Transform" (PDF). apps.dtic.mil. Naval Undersea Center, San Diego. Retrieved 20190408.
 Albrecht, HansHelge (2012). Tailored minimum sidelobe and minimum sidelobe cosinesum windows. Version 1.0. ISBN 9783869182810 ). editor: PhysikalischTechnische Bundesanstalt. PhysikalischTechnische Bundesanstalt. doi:10.7795/110.20121022aa. ISBN 9783869182810.
 Bergen, S.W.A.; Antoniou, A. (2005). "Design of Nonrecursive Digital Filters Using the Ultraspherical Window Function". EURASIP Journal on Applied Signal Processing. 2005 (12): 1910–1922. Bibcode:2005EJASP2005...44B. doi:10.1155/ASP.2005.1910.
 Prabhu, K. M. M. (2014). Window Functions and Their Applications in Signal Processing. Boca Raton, FL: CRC Press. ISBN 9781466515833.
 US patent 7065150, Park, YoungSeo, "System and method for generating a root raised cosine orthogonal frequency division multiplexing (RRC OFDM) modulation", published 2003, issued 2006
External links[edit]
 LabView Help, Characteristics of Smoothing Filters, http://zone.ni.com/reference/enXX/help/371361B01/lvanlsconcepts/char_smoothing_windows/
 Evaluation of Various Window Functions using MultiInstrument
 Creation and properties of Cosinesum Window functions, http://electronicsart.weebly.com/fftwindows.html
 Online Interactive FFT, Windows, Resolution, and Leakage Simulation  RITEC  Library & Tools