Window function
From Free net encyclopedia
In signal processing, a window function (or apodization function) is a function that is zero-valued outside of some chosen interval. For instance, a function that is constant inside the interval and zero elsewhere is called a rectangular window, which describes the shape of its graphical representation. When another function or a signal (data) is multiplied by a window function, the product is also zero-valued outside the interval. All that is left is the "view" through the window. Applications of window functions include spectral analysis and filter design, as well as audio data compression such as Vorbis.
Contents |
Spectral analysis
It can be shown theoretically that the Fourier transform of the function: <math>\cos(\omega t)\,</math> is zero, except right at frequency <math>\pm \omega\,</math>. But many other functions and data (that is, waveforms) do not have convenient closed form transforms. Or we might be interested in their spectral content only during a certain time period. In either case, we have to perform the Fourier transform (or something similar) on one or more finite intervals of the waveform. So in general, the transform is applied to the product of the waveform and a window function. But any window (including rectangular) affects the spectrum that we are trying to measure.
Image:Spectral leakage from a sinusoid and rectangular window.png The effect is easiest to understand in terms of a simple waveform, like <math>\cos(\omega t)\,</math>. Windowing causes its Fourier transform to have non-zero values (commonly called leakage) at frequencies other than <math>\omega\,</math>. It tends to be worst (highest) near <math>\omega\,</math> and least at frequencies farthest from <math>\omega\,</math>. If there are two sinusoids, with different frequencies, leakage can interfere with our ability to distinguish them spectrally. If their frequencies are dissimilar, then the leakage interferes when one sinusoid is much smaller in amplitude than the other. That is its spectral component can be hidden by the leakage from the larger component. But when the frequencies are near each other, the leakage can be sufficient to interfere even when the sinusoids are equal strength. I.e., they become unresolvable. The rectangular window has excellent resolution characteristics for signals of comparable strength, but it is a poor choice for signals of disparate amplitudes. This characteristic is sometimes described as low dynamic range. At the other extreme of dynamic range are the windows with the poorest resolution. And they are also poorest in terms of sensitivity. I.e., if the input waveform contains random noise, its spectral amplitude, compared to the sinusoid, will appear higher than with a less extreme window. In other words, the ability to find weak sinusoids amidst the noise is diminished by a high dynamic range window. High dynamic range windows are probably most often justified in wideband applications, where the spectrum being analyzed is expected to contain many different signals of various strengths.
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 signals with similar frequencies and resolving disparate strength signals with dissimilar frequencies. That tradeoff occurs when the window function is chosen.
Discrete-time signals
When the input waveform is time-sampled, 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 coarse sampling of the actual DTFT spectrum. The figure above shows a portion of the DTFT for a rectangularly-windowed sinusoid. The actual frequency of the sinusoid is indicated as "0" on the horizontal axis. Everything else is leakage. The unit of frequency is "DFT bins"; that is, the integer values are the frequencies sampled by the DFT. So the figure depicts a case where the actual frequency of the sinusoid happens to coincide with a DFT sample, and the maximum value of the spectrum is accurately measured by that sample. When it misses the maximum value by some amount [up to 1/2 bin], the measurement error is referred to as scalloping loss (inspired by the shape of the peak). But the most interesting thing about this case is that all the other samples coincide with nulls in the true spectrum. (The nulls are actually zero-crossings, which cannot be shown on a logarithmic scale such as this.) So in this case, the DFT creates the illusion of no leakage. Despite the unlikely conditions of this example, it is a popular misconception that visible leakage is some sort of artifact of the DFT. But since any window function causes leakage, its apparent absence (in this contrived example) is actually the DFT artifact.
Total leakage
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. Think of it as redistributing the DTFT into a rectangular shape with height equal to the spectral maximum and width B. The more leakage, the greater the bandwidth. It is sometimes called noise equivalent bandwidth or equivalent noise bandwidth.
Although we have depicted leakage as interference that one component imposes on other frequencies, the effect is reciprocal. Thus, if frequency <math>f_1\,</math> leaks a percentage of its energy into frequency <math>f_2\,</math>, then a frequency component at <math>f_2\,</math> returns the favor in the same proportion, as does every other frequency component of the input signal in varying amounts. So the spectral measurement at frequency <math>f_1\,</math> is perturbed by all the other components. The greater the noise bandwidth (B), the greater the effect.
Processing gain
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.
For example, the worst possible scalloping loss from a Blackman-Harris window (below) is 0.83 dB, compared to 1.42 dB for a Hann window. But the noise bandwidth is larger by a factor of 2.01/1.5, which can be expressed in decibels as: <math>10\mbox{ }\log_{10}(2.01/1.5) = 1.27</math>. Therefore, even at maximum scalloping, the net processing gain of a Hann window exceeds that of a Blackman-Harris window by: 1.27 +0.83 -1.42 = 0.68 dB. And when we happen to incur no scalloping (due to a fortuitous signal frequency), the Hann window is 1.27 dB more sensitive than Blackman-Harris. In general (as mentioned earlier), this is a deterrent to using high-dynamic range windows in low-dynamic range applications.
Window examples
Terminology:
- <math>N\,</math> represents the width, in samples, of a discrete-time window function. Typically it is an integer power-of-2, such as <math>2^{10} = 1024</math>.
- <math>n\,</math> is an integer, with values <math>0\le \; n\le \; N-1\,</math>. So these are the time-shifted forms of the windows: <math>w(n-\begin{matrix} \frac{N-1}{2}\end{matrix})\,</math>, where <math>w(n)\,</math> is maximum at <math>n=0\,</math>.
- Some of these forms have an overall width of N−1, which makes them zero-valued at n=0 and n=N−1. That sacrifices two data samples for no apparent gain, if the DFT size is N. When that happens, an alternative approach is to replace N−1 with N in the formula.
- Each figure label includes the corresponding noise equivalent bandwidth metric (B), in units of DFT bins. As a guideline, windows are divided into two groups on the basis of B. One group comprises <math>1 \le B \le 1.8</math>, and the other group comprises <math>B \ge 1.98</math>. The Gauss and Kaiser windows are families that span both groups, though only one or two examples of each are shown.
High- and moderate-resolution windows
Rectangular window
- <math>w(n) = 1\,</math>
Gauss windows
- <math>w(n)=e^{-\frac{1}{2} \left ( \frac{n-(N-1)/2}{\sigma (N-1)/2} \right)^{2}}</math>
- <math>\sigma \le \;0.5\,</math>
Hamming window
- <math>w(n)=0.53836 - 0.46164\; \cos \left ( \frac{2 \pi n}{N-1} \right)</math>
Hann window
- <math>w(n)= 0.5\; \left(1 - \cos \left ( \frac{2 \pi n}{N-1} \right) \right)</math>
The Hann window is sometimes called the "Hanning" window, in analogy to the Hamming window. However, this is incorrect, because the windows were named after Julius von Hann and Richard Hamming, respectively.
Bartlett window (zero valued end-points)
- <math>w(n)=\frac{N-1}{2}-\left |n-\frac{N-1}{2}\right |\,</math>
Triangular window (non-zero end-points)
- <math>w(n)=\frac{N}{2}-\left |n-\frac{N-1}{2}\right |\,</math>
Bartlett-Hann window
- <math>w(n)=a_0 - a_1 \left |\frac{n}{N-1}-\frac{1}{2} \right| - a_2 \cos \left (\frac{2 \pi n}{N-1}\right )</math>
- <math>a_0=0.62;\quad a_1=0.48;\quad a_2=0.38\,</math>
Blackman window
- <math>w(n)=a_0 - a_1 \cos \left ( \frac{2 \pi n}{N-1} \right) + a_2 \cos \left ( \frac{4 \pi n}{N-1} \right)</math>
- <math>a_0=0.42;\quad a_1=0.5;\quad a_2=0.08\,</math>
Kaiser windows
- <math>w(n)=\frac{I_0\Bigg (\pi\alpha \sqrt{1 - (\begin{matrix} \frac{2 n}{N-1} \end{matrix}-1)^2}\Bigg )} {I_0(\pi\alpha)}</math>
See Kaiser window.
Low-resolution (high dynamic range) windows
Nuttall window, continuous first derivative
- <math>w(n)=a_0 - a_1 \cos \left ( \frac{2 \pi n}{N-1} \right)+ a_2 \cos \left ( \frac{4 \pi n}{N-1} \right)- a_3 \cos \left ( \frac{6 \pi n}{N-1} \right)</math>
- <math>a_0=0.355768;\quad a_1=0.487396;\quad a_2=0.144232;\quad a_3=0.012604\,</math>
Blackman-Harris window
- <math>w(n)=a_0 - a_1 \cos \left ( \frac{2 \pi n}{N-1} \right)+ a_2 \cos \left ( \frac{4 \pi n}{N-1} \right)- a_3 \cos \left ( \frac{6 \pi n}{N-1} \right)</math>
- <math>a_0=0.35875;\quad a_1=0.48829;\quad a_2=0.14128;\quad a_3=0.01168\,</math>
Blackman-Nuttall window
- <math>w(n)=a_0 - a_1 \cos \left ( \frac{2 \pi n}{N-1} \right)+ a_2 \cos \left ( \frac{4 \pi n}{N-1} \right)- a_3 \cos \left ( \frac{6 \pi n}{N-1} \right)</math>
- <math>a_0=0.3635819; \quad a_1=0.4891775; \quad a_2=0.1365995; \quad a_3=0.0106411\,</math>
Flat top window
- <math>w(n)=a_0 - a_1 \cos \left ( \frac{2 \pi n}{N-1} \right)+ a_2 \cos \left ( \frac{4 \pi n}{N-1} \right)- a_3 \cos \left ( \frac{6 \pi n}{N-1} \right)+a_4 \cos \left ( \frac{8 \pi n}{N-1} \right)</math>
- <math>a_0=1;\quad a_1=1.93;\quad a_2=1.29;\quad a_3=0.388;\quad a_4=0.032\,</math>
Other windows
Bessel window
Sine window
Multiple overlap windows
When using FFT or DCT for spectral analysis a sample belongs to one analysis window. When using windowing, samples at the boundaries are attenuated.
To reduce the effect that these samples become less important for the result, normally windows are overlapped. So samples between two blocks are attenuated, but they belong to two blocks: their influence is still (nearly) the same as samples which are not attenuated. But it is possible to overlap more than two windows. This typically makes the transition band between main slope and side slopes smaller.
Triple overlapped cosine window
The normal cosine windows do not preserve the power of the signal. Samples which are exactly between two blocks are attenuated by 6 dB, i.e., their power is reduced by a factor of 0.25. The overlapping reduces this to a factor of 0.5.
See also
References
- Oppenheim, A.V., and R.W. Schafer, Discrete-Time Signal Processing, Upper Saddle River, NJ: Prentice-Hall, 1999, pp 468-471.
- Albert H. Nuttall, Some Windows with Very Good Sidelobe Behavior, IEEE Transactions on Acoustics, Speech, and Signal Processing, Vol.ASSP-29, No.1, February 1981, pp 84-91.
- Frederic J. Harris, On the use of Windows for Harmonic Analysis with the Discrete Fourier Transform, Proceedings of the IEEE, Vol.66, No.1, January 1978, pp 51-83.
- S.W.A. Bergen and A. Antoniou, Design of Ultraspherical Window Functions with Prescribed Spectral Characteristics, EURASIP Journal on Applied Signal Processing, vol. 2004, no. 13, pp. 2053-2065, 2004.
- S.W.A. Bergen and A. Antoniou, Design of Nonrecursive Digital Filters Using the Ultraspherical Window Function, EURASIP Journal on Applied Signal Processing, vol. 2005, no. 12, pp. 1910-1922, 2005.de:Fensterfunktion