In digital signal processing, a window is a function, typically defined (or nonzero) for a specific (short) interval and undefined (or zero) outside of that interval, often bell shaped, and used primarily to introduce adjustments to frequency filters and their magnitude response or to reduce spectral leakage during spectral analysis.
If, for example, a(k) are the coefficients of a discrete finite impulse response (FIR) filter and w(k) is a window, then applying the window to the filter, assuming a(k) and w(k) are of the same length, produces a new filter with coefficients b(k) = a(k) w(k). For an example of a FIR filter, see Low pass filter. Example windows are listed below. Examples of the impact of windows on the impulse responses and magnitude responses of filters are provided in each of the window topics listed below.
In spectral analysis, if x(k) is a segment of some signal, then applying a window w(k) to the segment means computing a new signal y(k) = x(k) w(k). An example of this is provided in the topic Coherent gain.
Both applications – windowing of filters and of signals – are discussed further below.
For an example of how windows are derived, see Hamming window.
The following are example windows.
Flat top window
Power of cosine window
Windowing in FIR filter design
The windowing function is typically a parabola designed to taper the ripples in the two ends of the filter's impulse response. It is thus sometimes known as a "tapering function". When the windowing function is placed over the impulse response, the impulse response becomes warped. It is said that applying the window function to an impulse response is as if "looking at the impulse response through a window".
FIR filters exhibit the Gibbs phenomenon – approximating the discontinuous magnitude response with the continuous Fourier series results in ripples around the point of discontinuity (the cutoff frequency). These ripples decrease in energy as the approximation is improved, but converge to a set height. A typical purpose of windowing is to reduce the Gibbs phenomenon ripples.
Another purpose of windowing may be to improve the filter's stop band attenuation. In essence, filtering is the process of extracting simple waves (individual frequencies) from a complex signal. This works well when all simple waves in the signal have similar amplitude, because the stop band attenuation of the standard filter could be small (say, -20 dB). This stop band attenuation may be insufficient to distinguish simple waves, the amplitudes of which differ by more than the stop band attenuation of the filter (e.g., by more than 20 dB).
Windowing in spectral analysis
"Spectral analysis" typically simply means measuring the magnitude of frequencies in a signal. It could be called "frequency domain analysis," "frequency content," or "magnitude content".
Spectral analysis is typically performed with the Fourier transform. The transform is, however, imprecise, specifically for frequencies that are not one of the components of the transform. The magnitude of such frequencies will spill over the components of the transform, which is called spectral leakage. Spectral leakage can be corrected to an extent, by windowing the signal before the transform is applied to the signal. An example of this is provided in the topic Coherent gain.
The following are topics on measures for windows.
Many of these are not intuitive and how measures should be used depends on how the window itself is used.