|
|
(One intermediate revision by one other user not shown) |
Line 1: |
Line 1: |
| {{rellink|1=For the term used in SQL statements, see [[Window function (SQL)]]}}
| | Dalton is what's written for his birth certificate regrettably he never really enjoyed reading that name. The most-loved hobby for him and as a result his kids is landscaping but he's been taking on new things as of late. Auditing is where his primary income comes from. Massachusetts is where your lover and his wife live. He's not godd at design but consider want to check its website: http://[http://search.huffingtonpost.com/search?q=prometeu.net&s_it=header_form_v1 prometeu.net]<br><br> |
| In [[signal processing]], a '''window function''' (also known as an '''apodization function''' or '''tapering function'''<ref>{{cite book | title = CRC Concise Encyclopedia of Mathematics | author = Eric W. Weisstein | publisher = CRC Press | year = 2003 | isbn = 1-58488-347-2 | url = http://books.google.com/?id=aFDWuZZslUUC&pg=PA97&dq=apodization+function }}</ref>) is a [[function (mathematics)|mathematical function]] that is zero-valued outside of some chosen [[interval (mathematics)|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 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".
| |
|
| |
|
| Applications of window functions include [[frequency spectrum#Spectrum analysis|spectral analysis]], [[filter design]], and [[beamforming]]. In typical applications, the window functions used are non-negative smooth "bell-shaped" curves,<ref>{{cite book | title = Microsound | author = Curtis Roads | publisher = MIT Press | year = 2002 | isbn = 0-262-18215-7 | url = }}</ref> though rectangle, triangle, and other functions can be used.
| | Feel free to surf to my web-site: [http://prometeu.net clash of clans hacker v1.3] |
| | |
| 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.<ref>{{cite book | title = Wavelet and Wave Analysis As Applied to Materials With Micro Or Nanostructure | author = Carlo Cattani and Jeremiah Rushchitsky | publisher = World Scientific | year = 2007 | isbn = 981-270-784-0 | url = http://books.google.com/?id=JuJKu_0KDycC&pg=PA53&dq=define+%22window+function%22+nonzero+interval }}</ref>
| |
| | |
| == Applications ==
| |
| | |
| Applications of window functions include [[frequency spectrum#Spectrum analysis|spectral analysis]] and the design of [[finite impulse response]] filters.
| |
| | |
| === Spectral analysis ===<!-- This section is linked from [[Discrete Fourier transform]] -->
| |
| | |
| 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 something similar) 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.
| |
| | |
| [[Image:Spectral leakage from a sinusoid and rectangular window.png|thumb|600px|Figure 1: Zoomed view of spectral leakage]]
| |
| | |
| ==== Windowing ====
| |
| | |
| Windowing of a simple waveform like cos ω''t'' causes its Fourier transform to develop non-zero 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 the ability to distinguish them spectrally. If their frequencies are dissimilar and one component is weaker, then leakage from the larger component can obscure the weaker one’s presence. But if the frequencies are similar, leakage can render them ''unresolvable'' even when the sinusoids are of equal strength.
| |
| | |
| The rectangular window has excellent resolution characteristics for sinusoids of comparable strength, but it is a poor choice for sinusoids 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. These high-dynamic-range low-resolution windows are also poorest in terms of '''''sensitivity'''''; this is, if the input waveform contains random noise close to the frequency of a sinusoid, the response to noise, compared to the sinusoid, will be higher than with a higher-resolution 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 components of various amplitudes.
| |
| | |
| In between the extremes are moderate windows, such as [[Window function#Hamming window|Hamming]] and [[Window function#Hann (Hanning) window|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 and resolving disparate strength components 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. '''Figure 1''' 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, 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 happens to coincide with a DFT sample,<ref group="note">Another way of stating that condition is that the sinusoid happens to have an exact integer number of cycles within the length of the rectangular window. The periodic repetition of such a segment contains no discontinuities.</ref> 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 common 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.
| |
| | |
| [[File:Processing losses for 3 window functions.gif|thumb|500px|This figure compares the processing losses of three window functions for sinusoidal inputs, with both minimum and maximum scalloping loss.]]
| |
| | |
| ==== Noise bandwidth ====
| |
| | |
| 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.<ref name="noise bandwidth" group="note">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''':'''
| |
| | |
| :<math> B_{noise} = \frac{1}{|H(f)|^2_{max}} \int_0^{\infty} |H(f)|^2 df.</math>
| |
| </ref><ref>{{cite book | url = http://books.google.com/?id=V_JSAAAAMAAJ&q=intitle:%22Communication+Systems%22+inauthor:carlson+%22noise+equivalent+bandwidth%22&dq=intitle:%22Communication+Systems%22+inauthor:carlson+%22noise+equivalent+bandwidth%22 | title = Communication Systems: An Introduction to Signals and Noise in Electrical Communication | author = A. Bruce Carlson | publisher = McGraw-Hill | year = 1986 | isbn = 0-07-009960-X }}</ref> The more 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 ====
| |
| 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.
| |
| | |
| The figure at right 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 [[Ralph Beebe Blackman|Blackman]]–[[Fredric J. Harris|Harris]] window. In general (as mentioned earlier), this is a deterrent to using high-dynamic-range windows in low-dynamic-range applications.
| |
| | |
| [[File:8-point windows.gif|thumb|500px|Sampled window functions are generated differently for filter design and spectral analysis applications. And the asymmetrical ones often used in spectral analysis are also generated in a couple of different ways. Using the triangular function, for example, 3 different outcomes for an 8-point window sequence are illustrated.]]
| |
| [[File:8-point Hann windows.gif|thumb|500px|Three different ways to create an 8-point Hann window sequence.]]
| |
| | |
| === Filter design ===
| |
| | |
| {{Main|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''.<ref>http://www.labbookpages.co.uk/audio/firWindowing.html</ref><ref>[http://www.cg.tuwien.ac.at/research/vis/vismed/Windows/MasteringWindows.pdf Mastering Windows: Improving Reconstruction]</ref>
| |
| | |
| ===Symmetry and asymmetry===
| |
| | |
| Window functions generated for digital filter design are symmetrical sequences, usually an odd length with a single maximum at the center. Windows for DFT/FFT usage, such as in spectral analysis, are often created by deleting the right-most coefficient of an odd-length, symmetrical window. Such truncated sequences are known as '''periodic'''.<ref>http://www.mathworks.com/help/signal/ref/hann.html</ref> The deleted coefficient is effectively restored (by a virtual copy of the symmetrical left-most coefficient) when the truncated sequence is periodically extended (which is the time-domain equivalent of sampling the [[discrete-time Fourier transform|DTFT]]). A different way of saying the same thing is that the DFT "samples" the DTFT of the window at the exact points that are not affected by spectral leakage from the discontinuity. The advantage of this trick is that a 512 length window (for example) enjoys the slightly better performance metrics of a 513 length design. Such a window is generated by the [[Matlab]] function hann(512,'periodic'), for instance. To generate it with the formula in this article (below), the window length (N) is 513, and the 513<sup>th</sup> coefficient of the generated sequence is discarded.
| |
| | |
| Another type of asymmetric window, called '''DFT-even''',<ref name="f.harris"/> is limited to even length sequences. The generated sequence is offset (cyclically) from its [https://ccrma.stanford.edu/~jos/filters/Zero_Phase_Filters_Even_Impulse.html zero-phase] counterpart by exactly half the sequence length. In the frequency domain, that corresponds to a multiplication by the trivial sequence (-1)<sup>k</sup>, which can have implementation advantages for windows defined by their frequency domain form. Compared to a symmetrical window, the DFT-even sequence has an offset of ½ sample. As illustrated in the figure at right, that means the asymmetry is limited to just one missing coefficient. Therefore, as in the '''periodic''' case, it is effectively restored (by a virtual copy of the symmetrical left-most coefficient) when the truncated sequence is periodically extended.
| |
| | |
| === Applications for which windows should not be used ===
| |
| | |
| In some applications, it is preferable not to use a window function. For example:
| |
| | |
| * In [[modal testing]], when analyzing transient signals such as an excitation signal from hammer blow (see [[Impulse excitation technique]]), where most of the energy is located at the beginning of the recording. Using a non-rectangular window would attenuate most of the energy and spread the frequency response unnecessarily.<ref>http://www.hpmemory.org/an/pdf/an_243.pdf The Fundamentals of Signal Analysis Application Note 243</ref>
| |
| * A generalization of above, when measuring a self-windowing signal, such as an impulse, a shock response, a sine burst, a chirp burst, noise burst. Such signals are used in [[modal analysis]]. Applying a window function in this case would just deteriorate the signal-to-noise ratio.<ref>http://www.hpmemory.org/an/pdf/an_243.pdf The Fundamentals of Signal Analysis Application Note 243</ref>
| |
| * When measuring a pseudo-random noise (PRN) excitation signal with period T, and using the same recording period T. A PRN signal is periodic and therefore all spectral components of the signal will coincide with FFT bin centers with no leakage.<ref>http://www.bksv.com/doc/bv0031.pdf Technical Review 1987-3 Use of Weighting Functions in DFT/FFT Analysis (Part I); Signals and Units</ref>
| |
| * When measuring a repetitive signal locked-in to the sampling frequency, for example measuring the vibration spectrum analysis during [[Shaft alignment]], fault diagnosis of bearings, engines, gearboxes etc. Since the signal is repetitive, all spectral energy is confined to multiples of the base repetition frequency.
| |
| * In an [[Orthogonal_frequency-division_multiplexing|OFDM]] receiver, the input signal is directly multiplied by FFT without a window function. The frequency sub-carriers (aka symbols) are designed to align exactly to the FFT frequency bins. A [[cyclic prefix]] is usually added to the transmitted signal, allowing frequency-selective [[fading]] due to [[Multipath propagation|multipath]] to be modeled as circular convolution, thus avoiding [[intersymbol interference]], which in OFDM is equivalent to [[spectral leakage]].
| |
| | |
| == A list of window functions ==
| |
| | |
| Terminology''':'''
| |
| | |
| *'''N''' represents the width, in samples, of a discrete-time, symmetrical window function <math>w[n],\ 0\le n \le N-1.</math> When N is an odd number, the non-flat windows have a singular maximum point. When N is even, they have a double maximum.
| |
| | |
| *It is sometimes useful to express <math>\scriptstyle w[n]</math> as the ''lagged'' version of a sequence of samples of a [https://ccrma.stanford.edu/~jos/filters/Zero_Phase_Filters_Even_Impulse.html zero-phase] function''':'''
| |
| :<math>w[n] = \ w_0\left(n-\frac{N-1}{2}\right),\ 0\le n \le N-1.</math> <ref>
| |
| {{cite book
| |
| | author = C. Britton Rorabaugh
| |
| | title = DSP Primer
| |
| | series = Primer series
| |
| |date=October 1998
| |
| | publisher = McGraw-Hill Professional
| |
| | isbn = 0070540047
| |
| | page = 196
| |
| }}</ref>
| |
| | |
| *For instance, for even values of '''N''' we can describe the related '''DFT-even''' window as <math>\scriptstyle w_0\left(n-\frac{N}{2}\right),\ 0\le n \le N-1,</math> as discussed in the previous section. The DFT of such a sequence, in terms of the DFT of the <math>\scriptstyle w_0(n)</math> sequence, is <math>\scriptstyle W[k] = (-1)^k\cdot W_0[k].</math>
| |
| | |
| *Each figure label includes the corresponding noise equivalent bandwidth metric ('''B'''),<ref name="noise bandwidth" group="note"/> in units of ''DFT bins''.
| |
| | |
| === ''B''-spline windows ===
| |
| | |
| ''B''-spline windows can be obtained as ''k''-fold convolutions of the [[#Rectangular_window|rectangular window]]. They include the rectangular window itself (''k'' = 1), the [[#Triangular_window|triangular window]] (''k'' = 2) and the Parzen window (''k'' = 4).<ref name="toraichi89">{{cite doi|10.1109/29.17517}}</ref> Alternative definitions sample the appropriate normalized [[B-spline|''B''-spline]] [[basis function]]s instead of convolving discrete-time windows. A ''k''th 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]].
| |
| | |
| ==== Rectangular window ====
| |
| [[File:Window function and frequency response - Rectangular.svg|thumb|480px|right|Rectangular window; ''B'' = 1.0000.<ref name=Heinzel2002/>]]
| |
| | |
| The rectangular window (sometimes known as the '''[[Boxcar function|boxcar]]''' or '''[[Dirichlet kernel|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:
| |
| | |
| :<math>w(n) = 1.</math>
| |
| | |
| Other windows are designed to moderate these sudden changes because discontinuities have undesirable effects on the [[discrete-time Fourier transform|discrete-time Fourier transform (DTFT)]] and/or the algorithms that produce samples of the DTFT.<ref>https://ccrma.stanford.edu/~jos/sasp/Properties.html</ref><ref>https://ccrma.stanford.edu/~jos/sasp/Rectangular_window_properties.html</ref>
| |
| | |
| The rectangular window is the 1st order ''B''-spline window as well as the 0th power [[#Power-of-cosine_windows|cosine window]].
| |
| {{clear}}
| |
| | |
| [[File:Window function and frequency response - Triangular.svg|thumb|480px|right|Triangular window or equivalently the Bartlett window; ''B'' = 1.3333.<ref name=Heinzel2002/>]]
| |
| | |
| ==== Triangular window ====
| |
| Triangular windows are given by:
| |
| | |
| :<math>w(n)=1 - \left|\frac{n-\frac{N-1}{2}}{\frac{L}{2}}\right|,</math>
| |
| | |
| where '''L''' can be N,<ref name="f.harris"/><ref>http://www.mathworks.com/help/signal/ref/triang.html</ref> N+1,<ref name="Welch1967">{{cite doi|10.1109/TAU.1967.1161901}}</ref> or N-1.<ref>https://ccrma.stanford.edu/~jos/sasp/Bartlett_Triangular_Window.html</ref> The latter is also known as '''Bartlett window'''. All three definitions converge at large ''N''.
| |
| | |
| The triangular window is the 2nd order ''B''-spline window and can be seen as the convolution of two half-sized rectangular windows, giving it twice the width of the regular windows.
| |
| {{clear}}
| |
| | |
| ==== Parzen window ====
| |
| [[File:Window function and frequency response - Parzen.svg|thumb|480px|right|Parzen window; ''B'' = 1.92.<ref name="f.harris"/>]]
| |
| | |
| {{Distinguish|Kernel density estimation}}
| |
| The Parzen window, also known as the '''de la Vallée Poussin window''', is the 4th order ''B''-spline window.
| |
| {{clear}}
| |
| | |
| === Other polynomial windows ===
| |
| | |
| ==== Welch window ====
| |
| | |
| [[File:Window function and frequency response - Welch.svg|thumb|480px|right|Welch window; ''B'' = 1.20.<ref name="f.harris"/>]]
| |
| The Welch window consists of a single [[parabola|parabolic]] section:
| |
| | |
| :<math>w(n)=1 - \left(\frac{n-\frac{N-1}{2}}{\frac{N+1}{2}}\right)^2</math>.<ref name="Welch1967"/>
| |
| | |
| The defining [[quadratic polynomial]] reaches a value of zero at the samples just outside the span of the window.
| |
| | |
| {{clear}}
| |
| | |
| === Generalized Hamming windows ===
| |
| Generalized Hamming windows are of the form''':'''
| |
| :<math>w(n) = \alpha - \beta\; \cos\left( \frac{2 \pi n}{N - 1} \right)\,</math>.
| |
| They have only three non-zero DFT coefficients and share the benefits of a sparse frequency domain representation with higher-order [[#Higher-order_generalized_cosine_windows|generalized cosine windows]].
| |
| | |
| ==== Hann (Hanning) window ====
| |
| [[File:Window function and frequency response - Hann.svg|thumb|480px|right|Hann window; ''B'' = 1.5000.<ref name=Heinzel2002/>]]
| |
| {{Main|Hann function}}
| |
| | |
| The Hann window named after [[Julius von Hann]] and also known as the '''Hanning''' (for being similar in name and form to the [[#Hamming_window|Hamming window]]), '''von Hann''' and the '''raised cosine window''' is defined by:<ref>http://www.mathworks.com/help/toolbox/signal/ref/hann.html</ref><ref>http://zone.ni.com/reference/en-XX/help/371361E-01/lvanls/hanning_window/</ref>
| |
| | |
| :<math>w(n) = 0.5\; \left(1 - \cos \left ( \frac{2 \pi n}{N-1} \right) \right)</math>
| |
| | |
| * zero-phase version:
| |
| :<math>
| |
| w_0(n) = 0.5\; \left(1 + \cos \left ( \frac{2 \pi n}{N-1} \right) \right)
| |
| </math>
| |
| The ends of the cosine just touch zero, so the side-lobes roll off at about 18 dB per octave.<ref>https://ccrma.stanford.edu/~jos/sasp/Hann_or_Hanning_or.html</ref>
| |
| | |
| {{clear}}
| |
| | |
| ==== Hamming window ====
| |
| [[File:Window function and frequency response - Hamming (alpha = 0.53836).svg|thumb|480px|right|Hamming window, ''α'' = 0.53836 and ''β'' = 0.46164; ''B'' = 1.37. The original Hamming window would have ''α'' = 0.54 and ''β'' = 0.46; ''B'' = 1.3628.<ref name=Heinzel2002/>]]
| |
| | |
| The window with these particular coefficients was proposed by [[Richard W. Hamming]]. The window is optimized to minimize the maximum (nearest) side lobe, giving it a height of about one-fifth that of the Hann window.<ref>{{cite book | title = Programming and Analysis for Digital Time Series Data | author = Loren D. Enochson and Robert K. Otnes | publisher = U.S. Dept. of Defense, Shock and Vibration Info. Center | year = 1968 | pages = 142 | url = http://books.google.com/?id=duBQAAAAMAAJ&q=%22hamming+window%22+date:0-1970&dq=%22hamming+window%22+date:0-1970 }}</ref><ref name=joshamming>https://ccrma.stanford.edu/~jos/sasp/Hamming_Window.html</ref>
| |
| | |
| :<math>w(n) = \alpha - \beta\; \cos\left( \frac{2 \pi n}{N - 1} \right),</math>
| |
| with
| |
| : <math>\alpha = 0.54,\; \beta = 1 - \alpha = 0.46,</math>
| |
| instead of both constants being equal to 1/2 in the Hann window. The constants are approximations of values ''α'' = 25/46 and ''β'' = 21/46, which cancel the first sidelobe of the Hann window by placing a zero at frequency 5π/(''N'' − 1).<ref name="f.harris"/> Approximation of the constants to two decimal places substantially lowers the level of sidelobes,<ref name="f.harris"/> to a nearly equiripple condition.<ref name=joshamming/> In the equiripple sense, the optimal values for the coefficients are ''α'' = 0.53836 and ''β'' = 0.46164.<ref name=joshamming/>
| |
| | |
| * zero-phase version:
| |
| :<math>
| |
| \begin{align}
| |
| w_0(n)\ &\stackrel{\mathrm{def}}{=}\ w(n+\begin{matrix} \frac{N-1}{2}\end{matrix})\\
| |
| &= 0.54 + 0.46\; \cos \left ( \frac{2\pi n}{N-1} \right)
| |
| \end{align}
| |
| </math>
| |
| {{clear}}
| |
| | |
| === Higher-order generalized cosine windows ===
| |
| Windows of the form''':'''
| |
| :<math>w(n) = \sum_{k = 0}^{K} a_k\; \cos\left( \frac{2 \pi k n}{N} \right)</math>
| |
| have only 2''K'' + 1 non-zero DFT coefficients, which makes them good choices for applications that require [[Discrete Fourier transform#Convolution theorem duality|windowing by convolution in the frequency-domain]]. In those applications, the DFT of the unwindowed data vector is needed for a different purpose than spectral analysis. (see [[Overlap-save method#Extending overlap–save|Overlap-save method]]). Generalized cosine windows with just two terms (''K'' = 1) belong in the subfamily [[#Generalized_Hamming_windows|generalized Hamming windows]].
| |
| | |
| ==== Blackman windows ====
| |
| [[File:Window function and frequency response - Blackman.svg|thumb|480px|right|Blackman window; ''α'' = 0.16; ''B'' = 1.73.<ref name="f.harris"/>]]
| |
| | |
| Blackman windows are defined as:
| |
| :<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=\frac{1-\alpha}{2};\quad a_1=\frac{1}{2};\quad a_2=\frac{\alpha}{2}\,</math>
| |
| | |
| By common convention, the unqualified term ''Blackman window'' refers to ''α'' = 0.16, as this most closely approximates the "exact Blackman",<ref>http://mathworld.wolfram.com/BlackmanFunction.html</ref> with ''a''<sub>0</sub> = 7938/18608 ≈ 0.42659, ''a''<sub>1</sub> = 9240/18608 ≈ 0.49656, and ''a''<sub>2</sub> = 1430/18608 ≈ 0.076849.<ref>http://zone.ni.com/reference/en-XX/help/371361E-01/lvanlsconcepts/char_smoothing_windows/#Exact_Blackman</ref> These exact values place zeros at the third and fourth sidelobes.<ref>https://www.utdallas.edu/~cpb021000/EE%204361/Great%20DSP%20Papers/Harris%20on%20Windows.pdf</ref>
| |
| | |
| {{clear}}
| |
| | |
| ==== Nuttall window, continuous first derivative ====
| |
| [[File:Window function and frequency response - Nuttall (continuous first derivative).svg|thumb|480px|right|Nuttall window, continuous first derivative; ''B'' = 2.0212.<ref name=Heinzel2002/>]]
| |
| | |
| Considering ''n'' as a real number, the function and its first [[derivative]] are continuous everywhere.
| |
| | |
| :<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>
| |
| {{clear}}
| |
| | |
| ==== Blackman–Nuttall window ====
| |
| [[File:Window function and frequency response - Blackman-Nuttall.svg|thumb|480px|right|Blackman–Nuttall window; ''B'' = 1.9761.<ref name=Heinzel2002/>]]
| |
| | |
| :<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>
| |
| {{clear}}
| |
| | |
| ==== Blackman–Harris window ====
| |
| [[File:Window function and frequency response - Blackman-Harris.svg|thumb|480px|right|Blackman–Harris window; ''B'' = 2.0044.<ref name=Heinzel2002/>]]
| |
| | |
| A generalization of the Hamming family, produced by adding more shifted sinc functions, meant to minimize side-lobe levels<ref>https://ccrma.stanford.edu/~jos/sasp/Blackman_Harris_Window_Family.html</ref><ref>https://ccrma.stanford.edu/~jos/sasp/Three_Term_Blackman_Harris_Window.html</ref>
| |
| | |
| :<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>
| |
| {{clear}}
| |
| | |
| ==== Flat top window ====
| |
| [[File:Window function and frequency response - SRS flat top.svg|thumb|480px|right|[[Stanford Research Systems|SRS]] flat top window; ''B'' = 3.7702.<ref name=Heinzel2002/>]]
| |
| A flat top window is a partially negative-valued window that has a flat top in the frequency domain.<ref name=Heinzel2002/> Such windows have been made available in [[spectrum analyzer]]s for the measurement of amplitudes of sinusoidal frequency components.<ref name=Heinzel2002/> They have a low amplitude measurement error suitable for this purpose, achieved by the spreading of the energy of a sine wave over multiple bins in the spectrum.<ref name=Heinzel2002>{{cite techreport |first=G. |last=Heinzel |author2=Rüdiger A. |author3=Schilling R. |title=Spectrum and spectral density estimation by the Discrete Fourier transform (DFT), including a comprehensive list of window functions and some new flat-top windows |id=395068.0 |institution=Max Planck Institute (MPI) für Gravitationsphysik / Laser Interferometry & Gravitational Wave Astronomy |year=2002 |url=http://edoc.mpg.de/395068 |accessdate=2013-02-10}}</ref><ref name="dspguide">{{cite book |last=Smith |first=Steven W. |title=The Scientist and Engineer's Guide to Digital Signal Processing |url=http://www.dspguide.com/ch9/1.htm |accessdate=2013-02-14 |year=2011 |publisher=California Technical Publishing |location=San Diego, California, USA}}</ref> This ensures that the unattenuated amplitude of the sinusoid can be found on at least one of the neighboring bins.<ref name="dspguide"/> The drawback of the broad bandwidth is poor frequency resolution.<ref name="Heinzel2002"/><ref name="dspguide"/> To compensate, a longer window length may be chosen.<ref name="Heinzel2002"/>
| |
| | |
| Flat top windows can be designed using low-pass filter design methods,<ref name="dspguide" /> or they may be of the usual sum-of-cosine-terms variety.<ref name="Heinzel2002"/> An example of the latter is the flat top window available in the [[Stanford Research Systems|Stanford Research Systems (SRS)]] SR785 spectrum analyzer:
| |
| | |
| :<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.028\,</math> <ref name=Heinzel2002/>
| |
| {{clear}}
| |
| | |
| ==== Rife–Vincent window ====
| |
| | |
| Rife and Vincent define three classes of windows constructed as sums of cosines; the classes are generalizations of the Hanning window.<ref>{{Citation |last=Rife |first=David C. |first2=G. A. |last2=Vincent |title=Use of the discrete Fourier transform in the measurement of frequencies and levels of tones |journal=Bell Syst. Tech. J |volume=49 |issue=2 |year=1970 |pages=197–228 |doi=}}</ref> Their order-P windows are of the form (normalized to have unity average as opposed to unity max as the windows above are):
| |
| | |
| :<math>w(n) = 1 + \sum_{l = 1}^P a_l \cos \left ( \frac{l 2 \pi n}{N-1} \right)</math>.
| |
| | |
| For order 1, this formula can match the Hanning window for ''a''<sub>1</sub> = −1; this is the Rife–Vincent class-I window, defined by minimizing the high-order sidelobe amplitude. The class-I order-2 Rife–Vincent window has ''a''<sub>1</sub> = −4/3 and ''a''<sub>2</sub> = 1/3. Coefficients for orders up to 4 are tabulated.<ref name=andria>{{Citation |last1=Andria |first1=Gregorio |first2=Mario |last2=Savino |first3=Amerigo |last3=Trotta |title=Windows and interpolation algorithms to improve electrical measurement accuracy |journal=Instrumentation and Measurement, IEEE Transactions on |volume=38 |issue=4 |year=1989 |pages=856–863 |doi=}}</ref> For orders greater than 1, the Rife–Vincent window coefficients can be optimized for class II, meaning minimized main-lobe width for a given maximum side-lobe, or for class III, a compromise for which order 2 resembles Blackmann's window.<ref name=andria/><ref>{{Citation |last1=Schoukens |first1=Joannes |first2=Rik |last2=Pintelon |first3=Hugo |last3=Van Hamme |title=The interpolated fast Fourier transform: a comparative study |journal=Instrumentation and Measurement, IEEE Transactions on |volume=41 |issue=2 |year=1992 |pages=226–232 |doi=}}</ref> Given the wide variety of Rife–Vincent windows, plots are not given here.
| |
| | |
| === Power-of-cosine windows ===
| |
| | |
| Window functions in the power-of-cosine family are of form:
| |
| | |
| :<math>w(n) = \cos^\alpha\left(\frac{\pi n}{N-1} - \frac{\pi}{2}\right)</math>
| |
| | |
| The [[#Rectangular_window|rectangular window]] (''α'' = 0) and the [[#Hann_(Hanning)_window|Hann window]] (''α'' = 2) are also members of this family.
| |
| | |
| ==== Cosine window ====
| |
| [[File:Window function and frequency response - Cosine.svg|thumb|480px|right|Cosine window; ''B'' = 1.23.<ref name="f.harris"/>]]
| |
| | |
| :<math>w(n) = \cos\left(\frac{\pi n}{N-1} - \frac{\pi}{2}\right) = \sin\left(\frac{\pi n}{N-1}\right)</math>
| |
| | |
| The cosine window is also known as the '''sine window'''. ''Cosine window'' describes the shape of <math>w_0(n)\,</math>
| |
| | |
| A cosine window convolved by itself is known as the '''Bohman window'''.
| |
| | |
| {{clear}}
| |
| | |
| === Adjustable windows ===
| |
| | |
| ==== Gaussian window ====
| |
| [[File:Window function and frequency response - Gaussian (sigma = 0.4).svg|thumb|480px|right|Gaussian window, ''σ'' = 0.4; ''B'' = 1.45.]]
| |
| The Fourier transform of a [[Gaussian function|Gaussian]] is also a Gaussian (it is an [[eigenfunction]] of the Fourier Transform). Since the Gaussian function extends to infinity, it must either be truncated at the ends of the window, or itself windowed with another zero-ended window.<ref>https://ccrma.stanford.edu/~jos/sasp/Gaussian_Window_Transform.html</ref>
| |
| | |
| Since the log of a Gaussian produces a [[parabola]], this can be used for ''exact'' quadratic interpolation in [[frequency estimation]].<ref>https://ccrma.stanford.edu/~jos/sasp/Matlab_Gaussian_Window.html</ref><ref>https://ccrma.stanford.edu/~jos/sasp/Quadratic_Interpolation_Spectral_Peaks.html</ref><ref>https://ccrma.stanford.edu/~jos/sasp/Gaussian_Window_Transform_I.html</ref>
| |
| | |
| :<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>
| |
| {{clear}}
| |
| | |
| ==== Generalized normal window ====
| |
| A more generalized version of the Gaussian window is the generalized normal window.<ref>Debejyo Chakraborty and Narayan Kovvali Generalized Normal Window for Digital Signal Processing in IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP) 2013 6083 -- 6087 doi: 10.1109/ICASSP.2013.6638833</ref> Retaining the notation from the [[Gaussian window]] above, we can represent this window as
| |
| :<math>w(n,p)=e^{-\left ( \frac{n-(N-1)/2}{\sigma (N-1)/2} \right)^{p}}</math>
| |
| for any even <math>p</math>. At <math>p=2</math>, this is a Gaussian window and as <math>p</math> approaches <math>\infty</math>, this approximates to a rectangular window. The [[Fourier transform]] of this window does not exist in a closed form for a general <math>p</math>. However, it demonstrates the other benefits of being smooth, adjustable bandwidth. Like the [[Tukey window]] discussed later, 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 <ref>Diethorn, E.J., "The generalized exponential time-frequency distribution," Signal Processing, IEEE Transactions on , vol.42, no.5, pp.1028,1037, May 1994
| |
| doi: 10.1109/78.295214</ref> for a study on [[time-frequency representation]] of this window (or function).
| |
| | |
| {{clear}}
| |
| | |
| ==== Tukey window ====
| |
| [[File:Window function and frequency response - Tukey (alpha = 0.5).svg|thumb|480px|right|Tukey window, ''α'' = 0.5; ''B'' = 1.22.<ref name="f.harris"/>]]
| |
| | |
| The Tukey window,<ref name="f.harris">
| |
| {{cite journal
| |
| | doi = 10.1109/PROC.1978.10837
| |
| | last = Harris
| |
| | first = Fredric j.
| |
| | coauthors =
| |
| | 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}} Article on FFT windows which introduced many of the key metrics used to compare windows.</ref><ref>{{Cite journal | last=Tukey | first=J.W. | title = An introduction to the calculations of numerical spectrum analysis | journal=Spectral Analysis of Time Series | year=1967 | pages=25–46 | postscript=<!--None--> }}</ref> also known as the ''tapered cosine window'', can be regarded as a cosine lobe of width ''αN''/2 that is convolved with a rectangular window of width (1 − ''α''/2)N.
| |
| :<math>
| |
| w(n) = \left\{ \begin{matrix}
| |
| \frac{1}{2} \left[1+\cos \left(\pi \left( \frac{2 n}{\alpha (N-1)}-1 \right) \right) \right]
| |
| & 0 \leqslant n \leqslant \frac{\alpha (N-1)}{2} \\
| |
| 1 & \frac{\alpha (N-1)}{2}\leqslant n \leqslant (N-1) (1 - \frac{\alpha}{2}) \\
| |
| \frac{1}{2} \left[1+\cos \left(\pi \left( \frac{2 n}{\alpha (N-1)}- \frac{2}{\alpha} + 1 \right) \right) \right]
| |
| & (N-1) (1 - \frac{\alpha}{2}) \leqslant n \leqslant (N-1) \\
| |
| \end{matrix} \right.
| |
| </math>
| |
| At ''α'' = 0 it becomes rectangular, and at ''α'' = 1 it becomes a Hann window.
| |
| {{clear}}
| |
| | |
| ==== Planck-taper window ====
| |
| [[File:Window function and frequency response - Planck-taper (epsilon = 0.1).svg|thumb|480px|Planck-taper window, ''ε'' = 0.1; ''B'' = 1.10.]]
| |
| | |
| The so-called "Planck-taper" window is a [[bump function]] that has been widely used<ref>{{cite book |last=Tu |first=Loring W. |title=An Introduction to Manifolds |chapter=Bump Functions and Partitions of Unity |url=http://link.springer.com/chapter/10.1007%2F978-0-387-48101-2_13#page-1 |accessdate=2013-10-04 |year=2008 |publisher=Springer |location=New York |isbn=978-0-387-48098-5 |pages=127–134 }}</ref> in the theory of [[partitions of unity]] in [[manifolds]]. It is a [[Smooth function|<math>C^\infty</math> 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's law|Planck distribution]].<ref>{{cite journal|last=McKechan|first=D J A|coauthors=Robinson, C; Sathyaprakash, B S|title=A tapering window for time-domain templates and simulated signals in the detection of gravitational waves from coalescing compact binaries|journal=Classical and Quantum Gravity|date=21 April 2010|volume=27|issue=8|pages=084020|doi=10.1088/0264-9381/27/8/084020|arxiv=1003.2939|bibcode = 2010CQGra..27h4020M }}</ref> It is defined as a [[piecewise]] function''':'''
| |
| :<math>
| |
| w(n) = \left\{ \begin{matrix}
| |
| \frac{1}{\exp(Z_+)+1} & 0 \leqslant n < \epsilon(N - 1) \\
| |
| 1 & \epsilon(N - 1) < n < (1 - \epsilon)(N - 1) \\
| |
| \frac{1}{\exp(Z_-)+1} & (1 - \epsilon)(N - 1) < n \leqslant (N - 1) \\
| |
| 0 & \mbox{otherwise} \\
| |
| \end{matrix} \right.
| |
| </math>
| |
| where
| |
| :<math>
| |
| Z_\pm(n; \epsilon) = 2\epsilon\left[\frac{1}{1 \pm 2 n /(N - 1)} + \frac{1}{1 - 2\epsilon \pm 2 n / (N - 1)}\right].
| |
| </math>
| |
| The amount of tapering (the region over which the function is exactly 1) is controlled by the parameter ''ε'', with smaller values giving sharper transitions.
| |
| | |
| {{clear}}
| |
| | |
| ==== DPSS or Slepian window ====
| |
| [[File:Window function and frequency response - DPSS (alpha = 2).svg|thumb|480px|right|DPSS window, ''α'' = 2; ''B'' = 1.47.]]
| |
| [[File:Window function and frequency response - DPSS (alpha = 3).svg|thumb|480px|right|DPSS window, ''α'' = 3; ''B'' = 1.77.]]
| |
| | |
| The DPSS (discrete prolate spheroidal sequence) or Slepian window is used to maximize the energy concentration in the main lobe.<ref>https://ccrma.stanford.edu/~jos/sasp/Slepian_DPSS_Window.html</ref>
| |
| | |
| The main lobe ends at a bin given by the parameter ''α''.<ref name="JOSKaiserDPSS">https://ccrma.stanford.edu/~jos/sasp/Kaiser_DPSS_Windows_Compared.html</ref>
| |
| | |
| {{clear}}
| |
| | |
| ==== Kaiser window ====
| |
| [[File:Window function and frequency response - Kaiser (alpha = 2).svg|thumb|480px|right|Kaiser window, ''α'' = 2; ''B'' = 1.4963.<ref name=Heinzel2002/>]]
| |
| [[File:Window function and frequency response - Kaiser (alpha = 3).svg|thumb|480px|right|Kaiser window, ''α'' = 3; ''B'' = 1.7952.<ref name=Heinzel2002/>]]
| |
| | |
| {{Main|Kaiser window}}
| |
| The Kaiser, or Kaiser-Bessel, window is a simple approximation of the [[#DPSS or Slepian window|DPSS window]] using [[Bessel function]]s, discovered by Jim Kaiser.<ref name="JOSKaiserDPSS"/><ref name="ccrma.stanford.edu">https://ccrma.stanford.edu/~jos/sasp/Kaiser_Window.html</ref>
| |
| | |
| :<math>w(n)=\frac{I_0\left(\pi\alpha \sqrt{1-(\frac{2 n}{N-1}-1)^2}\right)}{I_0(\pi\alpha)}</math>
| |
| | |
| where ''I''<sub>0</sub> is the zero-th 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 <math>2\sqrt{1 + \alpha^2},</math> in units of DFT bins,<ref name="Kaiser1980">{{cite doi|10.1109/TASSP.1980.1163349}}</ref> and a typical value of ''α'' is 3.
| |
| | |
| * Sometimes the formula for w(n) is written in terms of a parameter <math>\beta \ \stackrel{\text{def}}{=}\ \pi\alpha.</math><ref name="ccrma.stanford.edu"/>
| |
| | |
| * zero-phase version:
| |
| :<math>
| |
| w_0(n) = \frac{I_0\left(\pi\alpha \sqrt{1-(\frac{2 n}{N-1})^2}\right)}{I_0(\pi\alpha)}</math>
| |
| {{clear}}
| |
| | |
| ==== Dolph–Chebyshev window ====
| |
| [[File:Window function and frequency response - Dolph-Chebyshev (alpha = 5).svg|thumb|480px|right|Dolph–Chebyshev window, ''α'' = 5; ''B'' = 1.94.]]
| |
| | |
| Minimizes the [[Uniform norm|Chebyshev norm]] of the side-lobes for a given main lobe width.<ref name="JOSDolphChebyshev"/>
| |
| | |
| The zero-phase Dolph–Chebyshev window function ''w<sub>0</sub>''(''n'') is usually defined in terms of its real-valued discrete Fourier transform, ''W<sub>0</sub>''(''k''):
| |
| | |
| :<math>\begin{align}
| |
| W_0(k) &= \frac{\cos\{N \cos^{-1}[\beta \cos(\frac{\pi k}{N})]\}}{\cosh[N \cosh^{-1}(\beta)]}\\
| |
| \beta &= \cosh[\frac{1}{N} \cosh^{-1}(10^\alpha)],
| |
| \end{align}</math>
| |
| | |
| where the parameter ''α'' sets the Chebyshev norm of the sidelobes to −20''α'' decibels.<ref name="JOSDolphChebyshev">https://ccrma.stanford.edu/~jos/sasp/Dolph_Chebyshev_Window.html</ref>
| |
| | |
| The window function can be calculated from ''W''<sub>0</sub>(''k'') by an inverse [[discrete Fourier transform]] (DFT):<ref name="JOSDolphChebyshev"/>
| |
| | |
| :<math>w_0(n) = \frac{1}{N} \sum_{k=0}^{N-1} W_0(k) \cdot e^{i 2 \pi k n / N},\ -N/2 \le n \le N/2.</math>
| |
| | |
| The ''lagged'' version of the window, with 0 ≤ ''n'' ≤ ''N''−1, can be obtained by:
| |
| | |
| :<math>w(n) = w_0\left(n-\frac{N-1}{2}\right),</math>
| |
| | |
| which for even values of N must be computed as follows:
| |
| | |
| :<math>\begin{align}
| |
| w_0\left(n-\frac{N-1}{2}\right)
| |
| = \frac{1}{N} \sum_{k=0}^{N-1} W_0(k) \cdot e^{i 2 \pi k (n-\frac{N-1}{2}) / N}
| |
| =\frac{1}{N} \sum_{k=0}^{N-1} \left[(-e^{\frac{i\pi}{N}})^k\cdot W_0(k)\right] e^{i 2 \pi k n / N},
| |
| \end{align}</math>
| |
| | |
| which is an inverse DFT of <math>(-e^{\frac{i\pi}{N}})^k\cdot W_0(k).</math>
| |
| | |
| Variations:
| |
| *The '''DFT-even''' sequence (for even values of N) is given by <math>\scriptstyle w_0\left(n-\frac{N}{2}\right),\ 0\le n \le N-1,</math> which is the inverse DFT of <math>(-1)^k\cdot W_0(k).</math> <ref name="f.harris"/>
| |
| *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 [http://www.mathworks.com/help/signal/ref/taylorwin.html Taylor window].
| |
| *An alternative to the inverse DFT definition is also available.[http://practicalcryptography.com/miscellaneous/machine-learning/implementing-dolph-chebyshev-window/]. It isn't clear if it is the symmetric <math>\scriptstyle \left(w_0\left(n-\frac{N-1}{2}\right)\right)</math> or DFT-even <math>\scriptstyle \left(w_0\left(n-\frac{N}{2}\right)\right)</math> definition. But for typical values of N found in practice, the difference is negligible.
| |
| {{clear}}
| |
| | |
| ==== Ultraspherical window ====
| |
| The Ultraspherical window was introduced in 1984 by Roy Streit<ref name=kabal>{{cite journal|last=Kabal|first=Peter|title=Time Windows for Linear Prediction of Speech|journal=Technical Report, Dept. Elec. & Comp. Eng., McGill University|date=2009|issue=2a|page=31|url=http://www-mmsp.ece.mcgill.ca/Documents../Reports/2009/KabalR2009b.pdf|accessdate=2 February 2014}}</ref> and has application in antenna array design,<ref name=streit>{{cite journal|last=Streit|first=Roy|title=A two-parameter family of weights for nonrecursive digital filters and antennas|journal=Transactions of ASSP|date=1984|volume=32|pages=108–118}}</ref> non-recursive filter design,<ref name=kabal /> and spectrum analysis.<ref name=deczky />
| |
| | |
| 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.<ref name=bergen>{{cite journal
| |
| | last = Bergen
| |
| | first = S.W.A.
| |
| | coauthors = A. 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 }}</ref><ref name=deczky />
| |
| | |
| The window can be expressed in the time-domain as follows:<ref name=deczky></ref>
| |
| | |
| :<math>\begin{align}
| |
| w\left(nT\right)
| |
| = \frac{1}{N} \left[ C^{\mu}_{N-1}(x_0)+\sum_{k=1}^{\frac{N-1}{2}} C^{\mu}_{N-1}(x_{0}cos\frac{k\pi}{N})cos\frac{2n\pi k}{N} \right]
| |
| \end{align}</math>
| |
| | |
| where <math>C^{\mu}_{N}</math> is the [[Ultraspherical polynomial]] of degree N, and <math>x_0</math> and <math>\mu</math> control the side-lobe patterns.<ref name=deczky>{{cite journal|last=Deczky|first=Andrew|title=UNISPHERICAL WINDOWS|journal=IEEE Int. Symp. on Circuits and Systems|date=2001|volume=II|pages=85–88}}</ref>
| |
| | |
| Certain specific values of <math>\mu</math> yield other well-known windows: <math>\mu=0</math> and <math>\mu=1</math> give the Dolph–Chebyshev and Saramäki windows respectively.<ref name=kabal /> See [http://octave.sourceforge.net/signal/function/ultrwin.html here] for illustration of Ultraspherical windows with varied parametrization.
| |
| {{clear}}
| |
| | |
| ==== Exponential or Poisson window ====
| |
| [[File:Window function and frequency response - Exponential (half window decay).svg|thumb|480px|Exponential window, ''τ'' = ''N''/2, ''B'' = 1.08.]]
| |
| [[File:Window function and frequency response - Exponential (60dB decay).svg|thumb|480px|Exponential window, ''τ'' = (''N''/2)/(60/8.69), ''B'' = 3.46.]]
| |
| | |
| 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 <ref>{{Citation
| |
| | last = Smith
| |
| | first = Julius O. III
| |
| | author-link =
| |
| | title = Spectral Audio Signal Processing
| |
| | date = April 23, 2011
| |
| | url = https://ccrma.stanford.edu/~jos/sasp/Poisson_Window.html
| |
| | accessdate = November 22, 2011}}</ref>). It is defined by
| |
| | |
| :<math>w(n)=e^{-\left|n-\frac{N-1}{2}\right|\frac{1}{\tau}},</math>
| |
| | |
| where ''τ'' is the time constant of the function. The exponential function decays as ''e'' ≃ 2.71828 or approximately 8.69 dB per time constant.<ref>{{cite web
| |
| | last = Gade
| |
| | first = 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
| |
| | accessdate = November 22, 2011}}</ref>
| |
| This means that for a targeted decay of ''D'' dB over half of the window length, the time constant ''τ'' is given by
| |
| | |
| :<math>\tau = \frac{N}{2}\frac{8.69}{D}.</math>
| |
| {{clear}}
| |
| | |
| === Hybrid windows ===
| |
| | |
| Window functions have also been constructed as multiplicative or additive combinations of other windows.
| |
| | |
| ==== Bartlett–Hann window ====
| |
| [[File:Window function and frequency response - Bartlett-Hann.svg|thumb|480px|right|Bartlett–Hann window; ''B'' = 1.46.]]
| |
| | |
| :<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>
| |
| {{clear}}
| |
| | |
| ==== Planck–Bessel window ====
| |
| | |
| [[File:Window function and frequency response - Planck-Bessel (epsilon = 0.1, alpha = 4.45).svg|thumb|480px|right|Planck–Bessel window, ''ε'' = 0.1, ''α'' = 4.45; ''B'' = 2.16.]]
| |
| | |
| A [[#Planck-taper window|Planck-taper window]] multiplied by a [[Kaiser window]] which is defined in terms of a [[Modified Bessel function#Modified Bessel functions : I.CE.B1.2C K.CE.B1|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.<ref>{{cite journal|last=Berry|first=C. P. L.|coauthors=Gair, J. R.|title=Observing the Galaxy's massive black hole with gravitational wave bursts|journal=Monthly Notices of the Royal Astronomical Society|date=12 December 2012|volume=429|issue=1|arxiv=1210.2778|pages=589–612|doi=10.1093/mnras/sts360|bibcode = 2013MNRAS.429..589B }}</ref> 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.
| |
| | |
| {{clear}}
| |
| | |
| ==== Hann–Poisson window ====
| |
| [[File:Window function and frequency response - Hann-Poisson (alpha = 2).svg|thumb|480px|Hann–Poisson window, ''α'' = 2; ''B'' = 2.02<ref name="f.harris"/>]]
| |
| A [[#Hann_.28Hanning.29_window|Hann window]] multiplied by a [[#Exponential_or_Poisson_window|Poisson window]], which has no side-lobes, 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]].<ref>https://ccrma.stanford.edu/~jos/sasp/Hann_Poisson_Window.html</ref> The Hann–Poisson window is defined by:
| |
| | |
| :<math>w(n)=\frac{1}{2}\left(1-\cos\left(\frac{2 \pi n}{N - 1}\right)\right)e^\frac{-\alpha\left|N - 1 - 2n\right|}{N - 1}\,</math>
| |
| | |
| where ''α'' is a parameter that controls the slope of the exponential.
| |
| {{Clear}}
| |
| | |
| === Other windows ===
| |
| | |
| ==== Lanczos window ====
| |
| [[File:Window function and frequency response - Lanczos.svg|thumb|480px|right|Sinc or Lanczos window; ''B'' = 1.30.<ref name="f.harris"/>]]
| |
| :<math>w(n) = \mathrm{sinc}\left(\frac{2n}{N-1}-1\right)</math>
| |
| | |
| * used in [[Lanczos resampling]]
| |
| * for the Lanczos window, sinc(''x'') is defined as sin(π''x'')/(π''x'')
| |
| * also known as a ''sinc window'', because''':'''
| |
| ::<math>w_0(n) = \mathrm{sinc}\left(\frac{2n}{N-1}\right)\,</math> is the main lobe of a normalized [[sinc function]]
| |
| {{clear}}
| |
| | |
| == Comparison of windows ==
| |
| | |
| [[Image:Window functions in the frequency domain.png|thumb|500px|right|Window functions in the frequency domain ("spectral leakage")]]
| |
| | |
| 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 low-level sinusoids in an otherwise [[white noise]] environment. Interpolation techniques, such as [[Discrete-time Fourier transform#Sampling the DTFT|zero-padding]] and frequency-shifting, are available to mitigate its potential scalloping loss.<br style="clear:both;">
| |
| | |
| == 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 ==
| |
| Two-dimensional windows are used in, e.g., image processing. They can be constructed from one-dimensional windows in either of two forms.<ref>Matt A. Bernstein, Kevin Franklin King, Xiaohong Joe Zhou (2007), Handbook of MRI Pulse Sequences, Elsevier; p.495-499. [http://books.google.com/books?id=d6PLHcyejEIC&lpg=PA495&ots=tcBHi9Obfy&dq=image%20tapering%20tukey&pg=PA496#v=onepage&q&f=false]</ref>
| |
| | |
| The separable form, <math>\scriptstyle W(m,n)=w(m)w(n)</math> is trivial to compute. The [[Radial function|radial]] form, <math>\scriptstyle W(m,n)=w(r)</math>, which involves the radius <math>\scriptstyle r=\sqrt{(m-M/2)^2+(n-N/2)^2}</math>, is [[Isotropy|isotropic]], independent on the orientation of the coordinate axes. Only the [[#Gaussian_window|Gaussian]] function is both separable and isotropic.<ref name="">{{cite doi|10.1007/978-3-642-22389-1_24}}</ref> 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 appertures, which can be visualized in terms of the product of two [[sinc function]]s vs. an [[Airy function]], respectively.
| |
| | |
| == See also ==
| |
| {{Commons category|Window function}}
| |
| * [[Spectral leakage]]
| |
| * [[Multitaper]]
| |
| * [[Apodization]]
| |
| * [[Welch method]]
| |
| * [[Short-time Fourier transform]]
| |
| * [[Window design method]]
| |
| * [[Kolmogorov–Zurbenko filter]]
| |
| | |
| == Notes ==
| |
| | |
| {{reflist|group=note}}
| |
| | |
| ==References==
| |
| | |
| {{reflist}}
| |
| | |
| == Further reading ==
| |
| * {{cite journal
| |
| | doi = 10.1109/TASSP.1981.1163506
| |
| | last = Nuttall
| |
| | first = Albert H.
| |
| | coauthors =
| |
| | 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=February 1981}} Extends Harris' paper, covering all the window functions known at the time, along with key metric comparisons.
| |
| | |
| * {{Cite book
| |
| | author=Oppenheim, Alan V.; Schafer, Ronald W.; Buck, John A.
| |
| | authorlink=
| |
| | coauthors=
| |
| | title=Discrete-time signal processing
| |
| | year=1999
| |
| | publisher=Prentice Hall
| |
| | location=Upper Saddle River, N.J.
| |
| | isbn=0-13-754920-2
| |
| | pages=468–471
| |
| }}
| |
| | |
| * {{cite journal
| |
| | last = Bergen
| |
| | first = S.W.A.
| |
| | coauthors = A. 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 }}
| |
| | |
| * {{cite journal
| |
| | last = Bergen
| |
| | first = S.W.A.
| |
| | coauthors = A. Antoniou
| |
| | title = Design of Nonrecursive Digital Filters Using the Ultraspherical Window Function
| |
| | journal = EURASIP Journal on Applied Signal Processing
| |
| | volume = 2005
| |
| | issue = 12
| |
| | pages = 1910–1922
| |
| | year = 2005
| |
| | doi=10.1155/ASP.2005.1910 }}
| |
| | |
| * {{Cite patent
| |
| | title = System and method for generating a root raised cosine orthogonal frequency division multiplexing (RRC OFDM) modulation
| |
| | country-code = US
| |
| | description = patent
| |
| | patent-number = 7065150
| |
| | postscript = <!--None-->
| |
| | inventor-last =Park
| |
| | inventor-first =Young-Seo
| |
| | publication-date = 2003
| |
| | issue-date = 2006
| |
| }}
| |
| | |
| * {{Cite book
| |
| | author=Albrecht, Hans-Helge
| |
| | authorlink=
| |
| | coauthors=
| |
| | title=Tailored minimum sidelobe and minimum sidelobe cosine-sum windows. A catalog.
| |
| | year=2012
| |
| | publisher=
| |
| | location=
| |
| | isbn=
| |
| | pages=
| |
| | doi=10.7795/110.20121022aa
| |
| }}
| |
| | |
| ==External links==
| |
| * LabView Help, Characteristics of Smoothing Filters, http://zone.ni.com/reference/en-XX/help/371361B-01/lvanlsconcepts/char_smoothing_windows/
| |
| | |
| * Evaluation of Various Window Function using Multi-Instrument, http://www.multi-instrument.com/doc/D1003/Evaluation_of_Various_Window_Functions_using_Multi-Instrument_D1003.pdf
| |
| | |
| [[Category:Statistical theory]]
| |
| [[Category:Data analysis]]
| |
| [[Category:Time series analysis]]
| |
| [[Category:Fourier analysis]]
| |
| [[Category:Signal processing]]
| |
| [[Category:Digital signal processing]]
| |
| [[Category:Types of functions]]
| |