Window function

Function used in signal processing
title: "Window function" type: doc version: 1 created: 2026-02-28 author: "Wikipedia contributors" status: active scope: public tags: ["fourier-analysis", "signal-estimation", "digital-signal-processing", "types-of-functions"] description: "Function used in signal processing" topic_path: "engineering" source: "https://en.wikipedia.org/wiki/Window_function" license: "CC BY-SA 4.0" wikipedia_page_id: 0 wikipedia_revision_id: 0
::summary Function used in signal processing ::
::figure[src="https://upload.wikimedia.org/wikipedia/commons/0/0b/Hanning.svg" caption="Hann window]]. Most popular window functions are similar bell-shaped curves."] ::
In signal processing and statistics, a window function (also known as an apodization function or tapering function) is a mathematical function that is zero-valued outside of some chosen interval. Typically, window functions are symmetric around the middle of the interval, approach a maximum in the middle, and taper away from the middle. Mathematically, when another function or waveform/data-sequence is "multiplied" by a window function, the product is also zero-valued 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 time-averaging 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 non-negative, smooth, "bell-shaped" curves. 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.
Applications
Window functions are used in spectral analysis/modification/resynthesis, as well as beamforming and antenna design.
::figure[src="https://upload.wikimedia.org/wikipedia/commons/3/34/Spectral_leakage_caused_by_%22windowing%22.svg" caption="Figure 2: Windowing a sinusoid causes spectral leakage. The same amount of leakage occurs whether there are an integer (blue) or non-integer (red) number of cycles within the window (rows 1 and 2). When the sinusoid is sampled and windowed, its [[discrete-time Fourier transform]] (DTFT) also exhibits the same leakage pattern (rows 3 and 4). But when the DTFT is only sparsely sampled, at a certain interval, it is possible (depending on your point of view) to: (1) avoid the leakage, or (2) create the illusion of no leakage. For the case of the blue DTFT, those samples are the outputs of the [[discrete Fourier transform]] (DFT). The red DTFT has the same interval of zero-crossings, but the DFT samples fall in-between them, and the leakage is revealed."] ::
Spectral analysis
Main article: Spectral leakage
The Fourier transform of the function cos(ωt) is zero, except at frequency ±ω. However, many other functions and waveforms do not have convenient closed-form 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.
Filter design
Main article: Filter design
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.
Statistics and curve fitting
Main article: kernel (statistics)
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
Analysis of transients
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 non-rectangular window attenuates most of the energy, degrading the signal-to-noise ratio.
Harmonic analysis
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 harmonically-related frequencies sampled by the discrete Fourier transform (DFT). (The spectral nulls are actually zero-crossings, 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.
Overlapping windows
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.
Two-dimensional windows
Main article: Two-dimensional window design
Two-dimensional windows are commonly used in image processing to reduce unwanted high-frequencies in the image Fourier transform. They can be constructed from one-dimensional windows in either of two forms. The separable form, W(m,n)=w(m)w(n) is trivial to compute. The radial form, W(m,n)=w(r), which involves the radius r=\sqrt{(m-M/2)^2+(n-N/2)^2}, is isotropic, independent on the orientation of the coordinate axes. Only the Gaussian function is both separable and isotropic. The separable forms of all other window functions have corners that depend on the choice of the coordinate axes. The isotropy/anisotropy of a two-dimensional window function is shared by its two-dimensional 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.
Examples of window functions
Conventions**:**
-
w_0(x) is a zero-phase function (symmetrical about x=0), continuous for x \in [-N/2, N/2], where N is a positive integer (even or odd).
-
The sequence {w[n] = w_0(n-N/2),\quad 0\le n \le N} is symmetric, of length N+1.
-
{w[n],\quad 0\le n \le N-1} is DFT-symmetric, of length N.{{efn-ua |Some authors limit their attention to this important subset and to even values of N. But the window coefficient formulas are still the ones presented here.}}
-
The parameter B displayed on each spectral plot is the function's noise equivalent bandwidth metric, in units of DFT bins.
- See and Normalized frequency for understanding the use of "bins" for the x-axis in these plots.
The sparse sampling of a discrete-time Fourier transform (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.{{efn-la |Harris 1978, p 57, fig 10.
Rectangular window
::figure[src="https://upload.wikimedia.org/wikipedia/commons/6/6a/Window_function_and_frequency_response_-_Rectangular.svg" caption="Rectangular window"] ::
The rectangular window (sometimes known as the boxcar or uniform or Dirichlet window or misleadingly as "no window" in some programs) is the simplest window, equivalent to replacing all but N consecutive values of a data sequence by zeros, making the waveform suddenly turn on and off:
:w[n] = 1.
Other windows are designed to moderate these sudden changes, to reduce scalloping loss and improve dynamic range (described in ).
The rectangular window is the 1st-order B-spline window as well as the 0th-power power-of-sine window.
The rectangular window provides the minimum mean square error estimate of the Discrete-time Fourier transform, at the cost of other issues discussed.
''B''-spline windows
B-spline windows can be obtained as k-fold convolutions of the rectangular window. They include the rectangular window itself (k = 1), the (k = 2) and the (k = 4). Alternative definitions sample the appropriate normalized B-spline basis functions instead of convolving discrete-time windows. A kth-order B-spline basis function is a piece-wise polynomial function of degree k − 1 that is obtained by k-fold self-convolution of the rectangular function.
Triangular window
::figure[src="https://upload.wikimedia.org/wikipedia/commons/0/0f/Window_function_and_its_Fourier_transform_–Triangular(n_=_0...N).svg" caption="Triangular window (with ''L'' = ''N'' + 1)"] ::
Triangular windows are given by
:w[n] = 1 - \left|\frac{n - \frac{N}{2}}{\frac{L}{2}}\right|,\quad 0\le n \le N,
where L can be N, N + 1, or N + 2. 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 B-spline window. The L = N form can be seen as the convolution of two -width rectangular windows. The Fourier transform of the result is the squared values of the transform of the half-width rectangular window.
Parzen window
::figure[src="https://upload.wikimedia.org/wikipedia/commons/4/48/Window_function_and_frequency_response_-_Parzen.svg" caption="Parzen window"] ::
Defining L ≜ N + 1, the Parzen window, also known as the de la Vallée Poussin window, is the 4th-order B-spline window given by
: w_0(n) \triangleq \left{ \begin{array}{ll} 1 - 6 \left(\frac{n}{L/2}\right)^2 \left(1 - \frac{|n|}{L/2}\right), & 0 \le |n| \le \frac{L}{4} \ 2 \left(1 - \frac{|n|}{L/2}\right)^3 & \frac{L}{4} \end{array} \right} :w[n] = \ w_0\left(n-\tfrac{N}{2}\right),\ 0 \le n \le N
::figure[src="https://upload.wikimedia.org/wikipedia/commons/1/17/Window_function_and_frequency_response_-_Welch.svg" caption="Welch window"] ::
Other polynomial windows
Welch window
The Welch window consists of a single parabolic section:
:w[n]=1 - \left(\frac{n-\frac{N}{2}}{\frac{N}{2}}\right)^2,\quad 0\le n \le N. Alternatively, it can be written as two factors, as in a beta distribution: :w[n]= \left(1 + \frac{n-\frac{N}{2}}{\frac{N}{2}}\right) \left(1 - \frac{n-\frac{N}{2}}{\frac{N}{2}}\right),\quad 0\le n \le N.
The defining quadratic polynomial reaches a value of zero at the samples just outside the span of the window.
The Welch window is fairly close to the sine window, and just as the power-of-sine windows are a useful parameterized family, the power-of-Welch window family is similarly useful. Powers of the Welch or parabolic window are also symmetric beta distributions, and are purely algebraic functions (if the powers are rational), as opposed to most windows that are transcendental functions. If different exponents are used on the two factors in the Welch polynomial, the result is a general beta distribution, which is useful for making asymmetric window functions.
Raised-cosine windows
Windows in the form of a cosine function offset by a constant, such as the popular Hamming and Hann windows, are sometimes called raised-cosine windows. The Hann window is particularly like the raised cosine distribution, which goes smoothly to zero at its ends.
The raised-cosine windows have the form: :w[n] = a_0 - (1-a_0) \cdot \cos\left( \tfrac{2 \pi n}{N} \right),\quad 0\le n \le N, or alternatively as their zero-phase versions: : \begin{align} w_0(n)\ &= w\left[ n+\tfrac{N}{2}\right]\ &= a_0 + (1-a_0)\cdot \cos \left ( \tfrac{2\pi n}{N} \right),\quad -\tfrac{N}{2} \le n \le \tfrac{N}{2}. \end{align}
Hann window
Main article: Hann function
::figure[src="https://upload.wikimedia.org/wikipedia/commons/f/f7/Window_function_and_its_Fourier_transform_–Hann(n_=_0...N).svg" caption="Hann window"] ::
Setting a_0 = 0.5; \quad a_1 = -0.5 produces a Hann window: :w[n] = \sum^{L-1}_{l=0}A_l\cos\left(\frac{2\pi ln}{N}\right) = 0.5 - 0.5\cos\left(\frac{2\pi n}{N}\right) named after Julius von Hann, and sometimes referred to as Hanning, which derived from the verb "to Hann". It is also known as the raised cosine, because of its similarity to a raised-cosine distribution.
This function is a member of both the cosine-sum and power-of-sine families. Unlike the Hamming window, the end points of the Hann window just touch zero. The resulting side-lobes roll off at about 18 dB per octave.
Hamming window
::figure[src="https://upload.wikimedia.org/wikipedia/commons/4/4f/Window_function_and_frequency_response_-Hamming(alpha_=_0.53836,n=_0...N).svg" caption="Hamming window, ''a''0 = 0.53836 and ''a''1 = 0.46164. The original Hamming window would have ''a''0 = 0.54 and ''a''1 = 0.46."] ::
Setting a_0 to approximately 0.54, or more precisely 25/46, produces the Hamming window, proposed by Richard W. Hamming. This choice places a zero crossing at frequency 5/(N − 1), which cancels the first sidelobe of the Hann window, giving it a height of about one-fifth that of the Hann window. The Hamming window is often called the Hamming blip when used for pulse shaping.
Approximation of the coefficients to two decimal places substantially lowers the level of sidelobes, to a nearly equiripple condition. In the equiripple sense, the optimal values for the coefficients are a0 = 0.53836 and a1 = 0.46164.
Cosine-sum windows
This family, which generalizes the raised-cosine windows, is also known as generalized cosine windows.
|indent = |title= |equation = |cellpadding= 6 |border |border colour = #0073CF |background colour=#F5FFFA}}
In most cases, including the examples below, all coefficients a**k ≥ 0. These windows have only 2K + 1 non-zero N-point DFT coefficients.
Blackman window
::figure[src="https://upload.wikimedia.org/wikipedia/commons/d/d8/Window_function_and_its_Fourier_transform_–Blackman(n_=_0...N).svg" caption="1=''α'' = 0.16}}"] ::
Blackman windows are defined as :w[n] = a_0 - a_1 \cos \left ( \frac{2 \pi n}{N} \right) + a_2 \cos \left ( \frac{4 \pi n}{N} \right),
:a_0=\frac{1-\alpha}{2};\quad a_1=\frac{1}{2};\quad a_2=\frac{\alpha}{2}.
By common convention, the unqualified term Blackman window refers to Blackman's "not very serious proposal" of (a0 = 0.42, a1 = 0.5, a2 = 0.08), which closely approximates the exact Blackman, with a0 = 7938/18608 ≈ 0.42659, a1 = 9240/18608 ≈ 0.49656, and a2 = 1430/18608 ≈ 0.076849. These exact values place zeros at the third and fourth sidelobes, but result in a discontinuity at the edges and a 6 dB/oct fall-off. The truncated coefficients do not null the sidelobes as well, but have an improved 18 dB/oct fall-off.
Nuttall window, continuous first derivative
::figure[src="https://upload.wikimedia.org/wikipedia/commons/a/a4/Window_function_and_frequency_response_-Nuttall(continuous_first_derivative).svg" caption="Nuttall window, continuous first derivative"] ::
The continuous form of the Nuttall window, w_0(x), and its first derivative are continuous everywhere, like the Hann function. That is, the function goes to 0 at unlike the Blackman–Nuttall, Blackman–Harris, and Hamming windows. The Blackman window () is also continuous with continuous derivative at the edge, but the "exact Blackman window" is not.
:w[n]=a_0 - a_1 \cos \left ( \frac{2 \pi n}{N} \right)+ a_2 \cos \left ( \frac{4 \pi n}{N} \right)- a_3 \cos \left ( \frac{6 \pi n}{N} \right)
:a_0=0.355768;\quad a_1=0.487396;\quad a_2=0.144232;\quad a_3=0.012604.
Blackman–Nuttall window
::figure[src="https://upload.wikimedia.org/wikipedia/commons/b/bd/Window_function_and_frequency_response_-_Blackman-Nuttall.svg" caption="Blackman–Nuttall window"] ::
:w[n]=a_0 - a_1 \cos \left ( \frac{2 \pi n}{N} \right)+ a_2 \cos \left ( \frac{4 \pi n}{N} \right)- a_3 \cos \left ( \frac{6 \pi n}{N} \right)
:a_0=0.3635819; \quad a_1=0.4891775; \quad a_2=0.1365995; \quad a_3=0.0106411.
Blackman–Harris window
::figure[src="https://upload.wikimedia.org/wikipedia/commons/0/0a/Window_function_and_frequency_response_-_Blackman-Harris.svg" caption="Blackman–Harris window"] ::
A generalization of the Hamming family, produced by adding more shifted cosine functions, meant to minimize side-lobe levels
:w[n]=a_0 - a_1 \cos \left ( \frac{2 \pi n}{N} \right)+ a_2 \cos \left ( \frac{4 \pi n}{N} \right)
:a_0=0.4243801;\quad a_1=0.4973406;\quad a_2=0.0782793.
Flat top window
::figure[src="https://upload.wikimedia.org/wikipedia/commons/2/27/Window_function_and_frequency_response_-_flat_top.svg" caption="Flat-top window"] ::
A flat top window is a partially negative-valued window that has minimal scalloping loss in the frequency domain. That property is desirable for the measurement of amplitudes of sinusoidal frequency components. 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 low-pass filter design methods, or they may be of the usual cosine-sum variety:
: \begin{align} w[n] = a_0 &{}- a_1 \cos \left ( \frac{2 \pi n}{N} \right)+ a_2 \cos \left ( \frac{4 \pi n}{N} \right)\ &{}- a_3 \cos \left ( \frac{6 \pi n}{N} \right)+a_4 \cos \left ( \frac{8 \pi n}{N} \right). \end{align}
The Matlab variant has these coefficients: :a_0=0.21557895;\quad a_1=0.41663158;\quad a_2=0.277263158;\quad a_3=0.083578947;\quad a_4=0.006947368.
Other variations are available, such as sidelobes that roll off at the cost of higher values near the main lobe.
Rife–Vincent windows
Rife–Vincent windows are customarily scaled for unity average value, instead of unity peak value. The coefficient values below, applied to , reflect that custom.
Class I, Order 1 (K = 1): a_0=1;\quad a_1=1 Functionally equivalent to the Hann window and power of sine ().
Class I, Order 2 (K = 2): a_0=1;\quad a_1=\tfrac{4}{3};\quad a_2=\tfrac{1}{3} Functionally equivalent to the power of sine ().
Class I is defined by minimizing the high-order sidelobe amplitude. Coefficients for orders up to K=4 are tabulated.
Class II minimizes the main-lobe width for a given maximum side-lobe.
Class III is a compromise for which order K = 2 resembles the .
Sine window
::figure[src="https://upload.wikimedia.org/wikipedia/commons/e/e5/Window_function_and_frequency_response_-_Cosine.svg" caption="Sine window"] ::
:w[n] = \sin\left(\frac{\pi n}{N}\right) = \cos\left(\frac{\pi n}{N} - \frac{\pi}{2}\right),\quad 0\le n \le N.
The corresponding w_0(n), function is a cosine without the /2 phase offset. So the sine window is sometimes also called cosine window. As it represents half a cycle of a sinusoidal function, it is also known variably as half-sine window or half-cosine window.
The autocorrelation of a sine window produces a function known as the Bohman window.
Power-of-sine/cosine windows
::figure[src="https://upload.wikimedia.org/wikipedia/commons/4/45/Power-of-sine_windows.png" caption="Power-of-sine window functions (left) and their spectra in dB (right), for powers 0, 0.25, 0.5, 1, 2, 4"] ::
These window functions have the form:
:w[n] = \sin^\alpha\left(\frac{\pi n}{N}\right) = \cos^\alpha\left(\frac{\pi n}{N} - \frac{\pi}{2}\right),\quad 0\le n \le N.
The rectangular window (), the sine window (), and the Hann window () are members of this family.
For even-integer values of α these functions can also be expressed in cosine-sum form:
: w[n]=a_0 - a_1 \cos \left ( \frac{2 \pi n}{N} \right)+ a_2 \cos \left ( \frac{4 \pi n}{N} \right)- a_3 \cos \left ( \frac{6 \pi n}{N} \right)+ a_4 \cos \left ( \frac{8 \pi n}{N} \right)- ... : \begin{array}{l|llll} \hline \alpha & a_0 & a_1 & a_2 & a_3 & a_4 \ \hline 0 & 1 \ 2 & 0.5 & 0.5 \ 4 & 0.375 & 0.5 & 0.125 \ 6 & 0.3125 & 0.46875 & 0.1875 & 0.03125 \ 8 & 0.2734375 & 0.4375 & 0.21875 & 0.0625 & 7.8125\times10^{-3} \ \hline \end{array}
Adjustable windows
Gaussian window
::figure[src="https://upload.wikimedia.org/wikipedia/commons/0/05/Window_function_and_frequency_response_-Gaussian(sigma_=_0.4).svg" caption="Gaussian window, ''σ'' = 0.4"] ::
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 zero-ended window.
Since the log of a Gaussian produces a parabola, this can be used for nearly exact quadratic interpolation in frequency estimation.
:w[n]=\exp\left(-\frac{1}{2} \left ( \frac{n-N/2}{\sigma N/2} \right)^{2}\right),\quad 0\le n \le N. :\sigma \le ;0.5,
The standard deviation of the Gaussian function is σ · N/2 sampling periods.
::figure[src="https://upload.wikimedia.org/wikipedia/commons/a/a1/Window_function_and_frequency_response_-Confined_Gaussian(sigma_t_=_0.1).svg" caption="Confined Gaussian window, ''σ''''t'' = 0.1"] ::
Confined Gaussian window
The confined Gaussian window yields the smallest possible root mean square frequency width σ for a given temporal width (N + 1) σ. These windows optimize the RMS time-frequency bandwidth products. They are computed as the minimum eigenvectors of a parameter-dependent matrix. The confined Gaussian window family contains the and the in the limiting cases of large and small σ, respectively.
::figure[src="https://upload.wikimedia.org/wikipedia/commons/7/78/Window_function_and_frequency_response_-Approximate_confined_Gaussian(sigma_t_=_0.1).svg" caption="''t''}} = 0.1}}"] ::
Approximate confined Gaussian window
Defining L ≜ N + 1, a confined Gaussian window of temporal width L × σ is well approximated by:
:w[n] = G(n) - \frac{G(-\tfrac{1}{2})[G(n + L) + G(n - L)]}{G(-\tfrac{1}{2} + L) + G(-\tfrac{1}{2} - L)}
where G is a Gaussian function:
::G(x) = \exp\left(- \left(\cfrac{x - \frac{N}{2}}{2 L \sigma_t}\right)^2\right)
The standard deviation of the approximate window is asymptotically equal (i.e. large values of N) to L × σ for {{math|σ
Generalized normal window
A more generalized version of the Gaussian window is the generalized normal window. Retaining the notation from the Gaussian window above, we can represent this window as
:w[n,p]=\exp\left(-\left ( \frac{n-N/2}{\sigma N/2} \right)^{p}\right)
for any even p. At p=2, this is a Gaussian window and as p approaches \infty, this approximates to a rectangular window. The Fourier transform of this window does not exist in a closed form for a general p. However, it demonstrates the other benefits of being smooth, adjustable bandwidth. Like the , this window naturally offers a "flat top" to control the amplitude attenuation of a time-series (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 for a study on time-frequency representation of this window (or function).
Tukey window
::figure[src="https://upload.wikimedia.org/wikipedia/commons/1/14/Window_function_and_frequency_response_-Tukey(alpha_=_0.5).svg" caption="1=''α'' = 0.5}}"] ::
The Tukey window, also known as the cosine-tapered 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). : \left . \begin{array}{lll} w[n] = \frac{1}{2} \left[1-\cos \left(\frac{2\pi n}{\alpha N} \right) \right],\quad & 0 \le n w[n] = 1,\quad & \frac{\alpha N}{2} \le n \le \frac{N}{2}\ w[N-n] = w[n],\quad & 0 \le n \le \frac{N}{2} \end{array}\right} |1=This formula can be confirmed by simplifying the cosine function at MATLAB tukeywin and substituting r=α and x=n/N. |1=Harris 1978 (p 67, eq 38) appears to have two errors: (1) The subtraction operator in the numerator of the cosine function should be addition. (2) The denominator contains a spurious factor of 2. Also, Fig 30 corresponds to α=0.25 using the Wikipedia formula, but to 0.75 using the Harris formula. Fig 32 is similarly mislabeled. At it becomes rectangular, and at it becomes a Hann window.
Planck-taper window
::figure[src="https://upload.wikimedia.org/wikipedia/commons/3/3a/Window_function_and_frequency_response_-Planck-taper(epsilon_=_0.25).svg" caption="Planck-taper window, ''ε'' = 0.25"] ::
The so-called "Planck-taper" window is a bump function that has been widely used in the theory of partitions of unity in manifolds. It is smooth (a C^\infty 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 gravitational-wave astronomy, inspired by the Planck distribution. It is defined as a piecewise function**:** : \left . \begin{array}{lll} w[0] = 0, \ w[n] = \left(1 + \exp\left(\frac{\varepsilon N}{n} - \frac{\varepsilon N}{\varepsilon N - n}\right)\right)^{-1},\quad & 1 \le n w[n] = 1,\quad & \varepsilon N \le n \le \frac{N}{2} \ w[N-n] = w[n],\quad & 0 \le n \le \frac{N}{2} \end{array}\right}
The amount of tapering is controlled by the parameter ε, with smaller values giving sharper transitions.
DPSS or Slepian window
The DPSS (discrete prolate spheroidal sequence) or Slepian function, taper, or window maximizes the energy concentration in the main lobe, 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 α. ::data[format=table] | thumb|480px|right|DPSS window, α = 2]] | thumb|480px|right|DPSS window, α = 3]] | |---|---| ::
The Kaiser windows below are created by a simple approximation to the DPSS windows: ::data[format=table] | thumb|480px|right|Kaiser window, α = 2]] | thumb|480px|right|Kaiser window, α = 3]] | |---|---| ::
Kaiser window
Main article: Kaiser window
The Kaiser, or Kaiser–Bessel, window is a simple approximation of the DPSS window using Bessel functions, discovered by James Kaiser.
:w[n]=\frac{I_0\left(\pi\alpha \sqrt{1-\left(\frac{2 n}{N}-1\right)^2}\right)}{I_0(\pi\alpha)},\quad 0\le n \le N {{efn-ua |The Kaiser window is often parametrized by β, where . The alternative use of just α facilitates comparisons to the DPSS windows. : w_0(n) = \frac{I_0\left(\pi\alpha \sqrt{1-\left(\frac{2 n}{N}\right)^2}\right)}{I_0(\pi\alpha)},\quad -N/2 \le n \le N/2
where I_0 is the 0-order modified Bessel function of the first kind. Variable parameter \alpha 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 2\sqrt{1 + \alpha^2}, in units of DFT bins, and a typical value of \alpha is 3.
Dolph–Chebyshev window
::figure[src="https://upload.wikimedia.org/wikipedia/commons/2/2d/Window_function_and_frequency_response_-Dolph-Chebyshev(alpha_=_5).svg" caption="Dolph–Chebyshev window, ''α'' = 5"] ::
Minimizes the Chebyshev norm of the side-lobes for a given main lobe width.
The zero-phase Dolph–Chebyshev window function w_0[n] is usually defined in terms of its real-valued discrete Fourier transform, W_0[k]:
: W_0(k) = \frac{T_{N} \big(\beta \cos\left(\frac{\pi k}{N+1}\right)\big)}{T_{N} (\beta)} = \frac{T_N \big(\beta \cos\left(\frac{\pi k}{N+1}\right)\big)}{10^\alpha},\ 0 \le k \le N.
T**n(x) is the n-th Chebyshev polynomial of the first kind evaluated in x, which can be computed using
:T_n(x) =\begin{cases} \cos!\big(n \cos^{-1}(x) \big) & \text{if }-1 \le x \le 1 \ \cosh!\big(n \cosh^{-1}(x) \big) & \text{if }x \ge 1 \ (-1)^n \cosh!\big(n \cosh^{-1}(-x) \big) & \text{if }x \le -1, \end{cases}
and
:\beta = \cosh!\big(\tfrac{1}{N} \cosh^{-1}(10^\alpha)\big)
is the unique positive real solution to T_N(\beta) = 10^\alpha, where the parameter α sets the Chebyshev norm of the sidelobes to −20α decibels.
The window function can be calculated from W0(k) by an inverse discrete Fourier transform (DFT):
:w_0(n) = \frac{1}{N+1} \sum_{k=0}^N W_0(k) \cdot e^{i 2 \pi k n / (N+1)},\ -N/2 \le n \le N/2.
The lagged version of the window can be obtained by:
:w[n] = w_0\left(n-\frac{N}{2}\right),\quad 0 \le n \le N,
which for even values of N must be computed as follows:
:\begin{align} w_0\left(n-\frac{N}{2}\right) = \frac{1}{N+1} \sum_{k=0}^{N} W_0(k) \cdot e^{\frac{i 2 \pi k (n-N/2)}{N+1}} = \frac{1}{N+1} \sum_{k=0}^{N} \left[ \left(-e^{\frac{i\pi}{N+1}}\right)^k \cdot W_0(k)\right] e^{\frac{i 2 \pi k n}{N+1}}, \end{align}
which is an inverse DFT of \left(-e^{\frac{i\pi}{N+1}}\right)^k\cdot W_0(k).
Variations:
- Due to the equiripple condition, the time-domain 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.http://practicalcryptography.com/miscellaneous/machine-learning/implementing-dolph-chebyshev-window/.
Ultraspherical window
::figure[src="https://upload.wikimedia.org/wikipedia/commons/0/02/Window_function_and_frequency_response_-Ultraspherical(mu_=_-0.5).svg" caption="The Ultraspherical window's ''μ'' parameter determines whether its Fourier transform's side-lobe amplitudes decrease, are level, or (shown here) increase with frequency."] ::
The Ultraspherical window was introduced in 1984 by Roy Streit and has application in antenna array design, non-recursive filter design, and spectrum analysis.
Like other adjustable windows, the Ultraspherical window has parameters that can be used to control its Fourier transform main-lobe width and relative side-lobe amplitude. Uncommon to other windows, it has an additional parameter which can be used to set the rate at which side-lobes decrease (or increase) in amplitude.
The window can be expressed in the time-domain as follows:
: w[n] = \frac{1}{N+1} \left[ C^\mu_N(x_0)+\sum_{k=1}^{\frac{N}{2}} C^\mu_N \left(x_0 \cos\frac{k\pi}{N+1}\right)\cos\frac{2n\pi k}{N+1} \right]
where C^{\mu}_{N} is the Ultraspherical polynomial of degree N, and x_0 and \mu control the side-lobe patterns.
Certain specific values of \mu yield other well-known windows: \mu=0 and \mu=1 give the Dolph–Chebyshev and Saramäki windows respectively. See here for illustration of Ultraspherical windows with varied parametrization.
Exponential or Poisson window
::figure[src="https://upload.wikimedia.org/wikipedia/commons/8/8c/Window_function_and_frequency_response_-Exponential(half_window_decay).svg" caption="Exponential window, ''τ'' = ''N''/2"] ::
::figure[src="https://upload.wikimedia.org/wikipedia/commons/a/a9/Window_function_and_frequency_response_-Exponential(60dB_decay).svg" caption="Exponential window, ''τ'' = (''N''/2)/(60/8.69)"] ::
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 non-zero (it can be seen as the multiplication of an exponential function by a rectangular window ). It is defined by
:w[n]=e^{-\left|n-\frac{N}{2}\right|\frac{1}{\tau}},
where τ is the time constant of the function. The exponential function decays as e ≃ 2.71828 or approximately 8.69 dB per time constant. This means that for a targeted decay of D dB over half of the window length, the time constant τ is given by
:\tau = \frac{N}{2}\frac{8.69}{D}.
Hybrid windows
Window functions have also been constructed as multiplicative or additive combinations of other windows.
::figure[src="https://upload.wikimedia.org/wikipedia/commons/d/da/Window_function_and_frequency_response_-_Bartlett-Hann.svg" caption="Bartlett–Hann window"] ::
Bartlett–Hann window
:w[n]=a_0 - a_1 \left |\frac{n}{N}-\frac{1}{2} \right| - a_2 \cos \left (\frac{2 \pi n}{N}\right )
:a_0=0.62;\quad a_1=0.48;\quad a_2=0.38,
Planck–Bessel window
::figure[src="https://upload.wikimedia.org/wikipedia/commons/9/97/Window_function_and_frequency_response_-Planck-Bessel(epsilon_=_0.1,alpha=_4.45).svg" caption="Planck–Bessel window, ''ε'' = 0.1, ''α'' = 4.45"] ::
A 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 side-lobe level of the Planck-taper window while still exploiting its good asymptotic decay. It has two tunable parameters, ε from the Planck-taper and α from the Kaiser window, so it can be adjusted to fit the requirements of a given signal.
Hann–Poisson window
::figure[src="https://upload.wikimedia.org/wikipedia/commons/f/fe/Window_function_and_frequency_response_-Hann-Poisson(alpha_=_2).svg" caption="Hann–Poisson window, ''α'' = 2"] ::
A Hann window multiplied by a Poisson window. For \alpha \geqslant 2 it has no side-lobes, 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. The Hann–Poisson window is defined by:
:w[n]=\frac{1}{2}\left(1-\cos\left(\frac{2 \pi n}{N}\right)\right)e^\frac{-\alpha\left|N - 2n\right|}{N},
where α is a parameter that controls the slope of the exponential.
Other windows
::figure[src="https://upload.wikimedia.org/wikipedia/commons/6/68/Window_function_and_frequency_response_-_GAP_optimized_Nuttall.svg" caption="GAP window (GAP optimized Nuttall window)"] ::
Generalized adaptive polynomial (GAP) window
The GAP window is a family of adjustable window functions that are based on a symmetrical polynomial expansion of order K. 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.
:w_0[n] = a_{0} + \sum_{k=1}^{K} a_{2k}\left(\frac{n}{\sigma}\right)^{2k}, \quad -\frac{N}{2} \le n \le \frac{N}{2},
where \sigma is the standard deviation of the {n} sequence.
Additionally, starting with a set of expansion coefficients a_{2k} 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. Therefore, a GAP window function can be developed with designed spectral properties depending on the specific application.
::figure[src="https://upload.wikimedia.org/wikipedia/commons/d/d8/Window_function_and_frequency_response_-_Lanczos.svg" caption="Sinc or Lanczos window"] ::
Lanczos window
w[n] = \operatorname{sinc}\left(\frac{2n}{N} - 1\right)
- used in Lanczos resampling
- for the Lanczos window, \operatorname{sinc}(x) is defined as \sin(\pi x)/\pi x
- also known as a sinc window, because: w_0(n) = \operatorname{sinc}\left(\frac{2n}{N}\right), is the main lobe of a normalized sinc function
Asymmetric window functions
The w_0(x) form, according to the convention above, is symmetric around x = 0. However, there are window functions that are asymmetric, such as the gamma distribution used in FIR implementations of gammatone filters, or the beta distribution for a bounded-support approximation to the gamma distribution. These asymmetries are used to reduce the delay when using large window sizes, or to emphasize the initial transient of a decaying pulse.
Any bounded function with compact support, including asymmetric ones, can be readily used as a window function. Additionally, there are ways to transform symmetric windows into asymmetric windows by transforming the time coordinate, such as with the below formula
: x \leftarrow N\left( \frac{x}{N}+\frac{1}{2} \right)^\alpha-\frac{N}{2},,
where the window weights more highly the earliest samples when \alpha 1, and conversely weights more highly the latest samples when \alpha .
Notes
Page citations
References
|title=Mastering Windows |website=www.cg.tuwien.ac.at |access-date=2020-02-12
|title=Wideband communication intercept and direction finding device using hyperchannelization |invent1=Carlin, Joe |invent2=Collins, Terry |invent3=Hays, Peter |invent4=Hemmerdinger, Barry E. Kellogg, Robert L. Kettig, Robert L. Lemmon, Bradley K. Murdock, Thomas E. Tamaru, Robert S. Ware, Stuart M. |pubdate=1999-12-10 |fdate=1999-12-10 |gdate=2005-05-24 |country=US |status=patent |number=6898235
|first=C.Britton |last=Rorabaugh |title=DSP Primer |series=Primer series |date=October 1998 |publisher=McGraw-Hill Professional |isbn=978-0-07-054004-0 |page=196
|ref=Harris |doi=10.1109/PROC.1978.10837 |last=Harris |first=Fredric J. |title=On the use of Windows for Harmonic Analysis with the Discrete Fourier Transform |journal=Proceedings of the IEEE |volume=66 |issue=1 |pages=51–83 |date=Jan 1978 |url=http://web.mit.edu/xiphmont/Public/windows.pdf|citeseerx=10.1.1.649.9880 |bibcode=1978IEEEP..66...51H |s2cid=426548
|s2cid=13900622 }}
|doi-access=free
|doi-access=free
| last1 =Johnson | first1 =C.Richard Jr | last2 =Sethares | first2 =William A. | last3 =Klein | first3 =Andrew G. | title =Software Receiver Design | publisher =Cambridge University Press | date =2011-08-18 | chapter =11 | isbn =978-1-139-50145-3
|ref=Nuttall | doi =10.1109/TASSP.1981.1163506 | last =Nuttall | first =Albert H. | title =Some Windows with Very Good Sidelobe Behavior | journal =IEEE Transactions on Acoustics, Speech, and Signal Processing | volume =29 | issue =1 | pages =84–91 | date =Feb 1981 | url =https://zenodo.org/record/1280930
| author1=Rabiner, Lawrence R. | author2=Gold, Bernard | title=Theory and application of digital signal processing | year=1975 | publisher=Prentice-Hall | location=Englewood Cliffs, N.J. | isbn=0-13-914101-4 | chapter=3.11 | page=94 | chapter-url-access=registration | chapter-url=https://archive.org/details/theoryapplicatio00rabi/page/94
|last1=Crochiere |first1=R.E. |last2=Rabiner |first2=L.R. |title=Multirate Digital Signal Processing |year=1983 |chapter=4.3.1 |page=144 |publisher=Prentice-Hall |location=Englewood Cliffs, NJ |isbn=0-13-605162-6 |url=https://kupdf.net/download/multirate-digital-signal-processing-crochiere-rabiner_58a7065b6454a7e80bb1e993_pdf
|url=https://www.dsprelated.com/freebooks/sasp/Kaiser_Window.html |title=Kaiser Window |website=www.dsprelated.com |access-date=2020-04-08 |quote=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.
|bibcode=1989ITIM...38..856A }}
|bibcode=1992ITIM...41..226S }}
|bibcode=2014SigPr.102..240S }}
|s2cid=11779529 }}
--
| last =Bloomfield | first =P. | title =Fourier Analysis of Time Series: An Introduction | publisher =Wiley-Interscience | date =2000 | location =New York
|s2cid=21488253 }}
|issue=1 |bibcode=1980ITASS..28..105K }}
|bibcode=1984ITASS..32..108S |url=https://zenodo.org/record/1280988 }}
|last1=Bergen |first1=S.W.A. |first2=A. |last2=Antoniou |title=Design of Ultraspherical Window Functions with Prescribed Spectral Characteristics |journal=EURASIP Journal on Applied Signal Processing |volume=2004 |issue=13 |pages=2053–2065 |year=2004 |doi=10.1155/S1110865704403114 |bibcode=2004EJASP2004...63B |doi-access=free
|s2cid=38275201 }}
|title=Zero Phase Filters |website=ccrma.stanford.edu |access-date=2020-02-12
| url =https://ccrma.stanford.edu/~jos/sasp/Poisson_Window.html | title =Poisson Window | last =Smith | first =Julius O. III | date =2011-04-23 | website =ccrma.stanford.edu | access-date =2020-02-12
| last1 =Gade | first1 =Svend | last2 =Herlufsen | first2 =Henrik | title =Technical Review No 3-1987: Windows to FFT analysis (Part I) | publisher =Brüel & Kjær | year =1987 | url =http://www.bksv.com/doc/Bv0031.pdf | access-date =2011-11-22
|s2cid=118944979 }}
|s2cid=22435248 |arxiv=2210.09024 }}
| last1 =Bernstein | first1 =Matt A. | last2 =King | first2 =Kevin Franklin | last3 =Zhou | first3 =Xiaohong Joe | title =Handbook of MRI Pulse Sequences | publisher =Elsevier Academic Press | date =2004 | location =London | pages =495–499 | language =en | url =https://books.google.com/books?id=d6PLHcyejEIC&q=image%20tapering%20tukey&pg=PA496 | isbn =0-12-092861-2
|s2cid=18159105 }}
| journal =IEEE Access | title =Generalized Adaptive Polynomial Window Function | author =Wesley Beccaro | date =2020-10-31 | volume =8 | pages =187584–187589 | doi =10.1109/ACCESS.2020.3030903 | bibcode =2020IEEEA...8r7584J |access-date =2020-11-02 | url =https://www.mathworks.com/matlabcentral/fileexchange/81658-gap-generalized-adaptive-polynomial-window-function?s_tid=LandingPageTabfx&s_tid=mwa_osa_a
References
- (2022). "Ground-Motion Evaluation of Hybrid Seismic Velocity Models". The Seismic Record.
- (2021). "Effect of Merging Multiscale Models on Seismic Wavefield Predictions Near the Southern San Andreas Fault". Journal of Geophysical Research: Solid Earth.
- "Understanding FFTs and Windowing".
- "xxx".
- "Three-Term Blackman-Harris Window".
- (2015-03-02). "Asymmetric Windows and Their Application in Frequency Estimation". Chongqing University.
- "Design of the Ultraspherical Window Function and Its Applications".
::callout[type=info title="Wikipedia Source"] This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page. ::