分类: 嵌入式
2023-07-14 14:28:56
In and , a window function (also known as an apodization function or tapering function) is a that is zero-valued outside of some chosen , 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/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, , 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 . 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 , and, more specifically, that the function goes sufficiently rapidly toward zero.
Window functions are used in spectral /modification/, the design of filters, as well as and design.
The 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.
Windows are sometimes used in the design of , in particular to convert an "ideal" impulse response of infinite duration, such as a , to a (FIR) filter design. That is called the .
Window functions are sometimes used in the field of to restrict the set of data being analyzed to a range near a given point, with a 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 .
When analyzing a transient signal in , 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.
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 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.
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 of power spectral analysis and the .
Conventions:
The sparse sampling of a DTFT (such as the DFTs in Fig 2) only reveals the leakage into the DFT bins from a sinusoid whose frequency is also an integer DFT bin. The unseen sidelobes reveal the leakage to expect from sinusoids at other frequencies. Therefore, when choosing a window function, it is usually important to sample the DTFT more densely (as we do throughout this section) and choose a window that suppresses the sidelobes to an acceptable level.
The rectangular window (sometimes known as the or window) is the simplest window, equivalent to replacing all but N consecutive values of a data sequence by zeros, making it appear as though the waveform suddenly turns on and off:
Other windows are designed to moderate these sudden changes, which reduces scalloping loss and improves dynamic range, as described above ().
The rectangular window is the 1st order B-spline window as well as the 0th power .
The rectangular window provides the minimum mean square error estimate of the , at the cost of other issues discussed.
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 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 .
Triangular windows are given by:
where L can be N, N + 1, or N + 2. The first one is also known as window or 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 N/2-width rectangular windows. The Fourier transform of the result is the squared values of the transform of the half-width rectangular 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:
The Welch window consists of a single section:
The defining reaches a value of zero at the samples just outside the span of the window.
The corresponding function is a cosine without the π/2 phase offset. So the sine window 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 of a sine window produces a function known as the Bohman window.
These window functions have the form:
The (α = 0), the (α = 1), and the (α = 2) are members of this family.
For even-integer values of α these functions can also be expressed in cosine-sum form:
This family is also known as .
?[?]=∑?=0?(?1)???cos?(2????),0≤?≤?.
|
|
(Eq.1) |
In most cases, including the examples below, all coefficients ak ≥ 0. These windows have only 2K + 1 non-zero N-point DFT coefficients.
The customary cosine-sum windows for case K = 1 have the form:
which is easily (and often) confused with its zero-phase version:
Setting produces a Hann window:
named after , and sometimes erroneously referred to as Hanning, presumably due to its linguistic and formulaic similarities to the Hamming window. It is also known as raised cosine, because the zero-phase version, is one lobe of an elevated cosine function.
This function is a member of both the and families. Unlike the , the end points of the Hann window just touch zero. The resulting roll off at about 18 dB per octave.
Setting to approximately 0.54, or more precisely 25/46, produces the Hamming window, proposed by . That 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 .
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.
Blackman windows are defined as:
By common convention, the unqualified term Blackman window refers to Blackman's "not very serious proposal" of α = 0.16 (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.
The continuous form of the Nuttall window, and its first are continuous everywhere, like the . That is, the function goes to 0 at x = ±N/2, unlike the Blackman–Nuttall, Blackman–Harris, and Hamming windows. The Blackman window (α = 0.16) is also continuous with continuous derivative at the edge, but the "exact Blackman window" is not.
A generalization of the Hamming family, produced by adding more shifted sinc functions, meant to minimize side-lobe levels
A flat top window is a partially negative-valued window that has minimal in the frequency domain. That property is desirable for the measurement of amplitudes of sinusoidal frequency components. However, its broad bandwidth results in high 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 variety:
The has these coefficients:
Other variations are available, such as sidelobes that roll off at the cost of higher values near the main lobe.
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): Functionally equivalent to the .
Class I, Order 2 (K = 2):
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 .
The Fourier transform of a 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 , this can be used for nearly exact quadratic interpolation in .
The standard deviation of the Gaussian function is σ · N/2 sampling periods.
The confined Gaussian window yields the smallest possible root mean square frequency width σω for a given temporal width (N + 1) σt. 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 σt, respectively.
Defining L ? N + 1, a of temporal width L × σt is well approximated by:
where is a Gaussian function:
The standard deviation of the approximate window is (i.e. large values of N) to L × σt for σt < 0.14.
A more generalized version of the Gaussian window is the generalized normal window. Retaining the notation from the 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 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 , 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 of this window (or function).
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).