Talk:Window function

message: The paragraph about scalloping loss seems to refer to a figure that isn't there. Sdrpyh 06:23, 14 February 2007 (UTC)
replies: text: It's just as Bob K wrote it on 18 December 2005, this diff.  The figure above is still the same "zoom view" figure in the previous subsection.  I find it a bit confusing, too.  Dicklyon 06:30, 14 February 2007 (UTC)
thread_title:  Scalloping loss 

message: In this article, it sounds like windowing's only use is in frequency analysis, as for example I am using it for making a windowed-sync FIR filter, and in this case the use of a window function (i chose the Blackman one) is to avoid riple in the frequency response of the FIR filter kernel. --SuperBleda 15:27, 19 August 2005 (UTC)
replies: text: I can't claim all the credit, but I did a lot of it.  So on behalf of the whole team... thanks! --Bob K 07:18, 10 April 2006 (UTC)
thread_title:  All about frequency analysis? 

message: Can someone change this?  In the third sentence of the following excerpt, it is unclear what "they" refers to (does it refer to window functions with low dynamic range, or window functions with poor resolution?): "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." Lavaka 06:08, 8 January 2007 (UTC)
replies: text: Yes, very.  I believe I have fixed it correctly, but I invite others to check me. Dicklyon 06:30, 8 January 2007 (UTC)
thread_title:  confusing wording 

message: Can someone check the equation for the triangle window?  I've normally seen it as 1-abs((n-.5N)/.5N), or equivalently 1-abs((2n-N)/N).  This page shows 1-abs((2n-N+1)/N)
Kelauder 06:05, 2 April 2007 (UTC)
replies: text: It's easy enough to verify by inspection that at the defined end indices of 0 and N-1 the values of the Barlett are 0 and of the triangle are 1/N; that is, the formulas work as expected.  Your formula would work if the range was defined from 0 to N for Bartlett, or 1 to N-1 for triangle.  But it's not. Dicklyon 06:35, 2 April 2007 (UTC)

text: I have made a correction to the equation for Triangle Window with non-zero endpoints.  The new equation obeys the property that the next point outside the window on each side, following the same slope, would be zero, i.e., w(-1) = w(N) = 0.  Note that Matlab's (7.9.1.705) triang function for Odd N is equivalent to the equation I have placed on Wikipidia.  For even N, it is my belief that Matlab's implementation is "incorrect", because the equation in their documentation does not exhibit the property w(-1) = w(N) = 0, and because it seems unnecessarily complicated to use a different equation for N even than for N odd.  Perhaps The MathWorks has some other rationale for preferring their definition -- I will take that up with them separately.--Rtbehrens (talk) 20:15, 6 March 2012 (UTC)
thread_title:  Bartlett/Triangle Window 

message: What do you think of my "tighter format" edit?  I can do the same on the next section, but it might run into problems for narrow browser windows with its longer equations.  Any other good suggestions for how to format this without wasting tons of white space?  I also like the tight way because it's so much easier to look at several equations at once to compare them. Dicklyon 20:03, 3 June 2007 (UTC)
replies: text: OK, I'll do it.  I see the "left" format was contributed by an anon. Dicklyon 23:20, 3 June 2007 (UTC)
thread_title: Tighter format?

message: mmm... how can you say that "The .png files have better resolution?, no bit-map picture can have higher resolution than a vector image! I have noticed that unfortunately I have lost the grid in the SVG generation and I couldn't fix it, but the grid is not necessary in this context. Alessio Damato 21:07, 26 October 2007 (UTC)
thread_title:  PNG and SVG plots 

message: Besides that fact that the formula
: B_n = \frac{1}{g} \int_0^{\infty} |H(f)|^2 df where  g = |H(f)|^2_{max}
applies to filtering applications (which is not the subject of the article), it also assumes real-valued, continuous-time I/O, which is not the main point of the article either.  It is well-intentioned, but not sufficient.  Let's either remove it or caveat its relevance and add the other necessary cases (especially complex-valued, discrete-time data).  I.e., if it's worth doing, it's worth doing right.
But this particular subject, with the associated math, could distract from the main points that follow.  It's a relatively unimportant (but interesting) detail.  If done right, I think it deserves it's own article with a link from this one.
--Bob K (talk) 12:27, 15 September 2008 (UTC)
thread_title:  Noise bandwidth 

message: It seems that many of these windows were created to solve a specific problem.  Can you describe this problem and the derivation in each section?  —Preceding unsigned comment added by 71.167.61.179 (talk) 07:00, 30 November 2009 (UTC)
thread_title:  Specific goals 

message: Of all the types of windowing functions only two have their own page, the Hann function and the Kaiser window. Of the two the Hann function does not provide any further useful information than is available in this page, and what is there is mostly incorrect or unclear. In its current state I think it's not that useful to have the Hann function as a separate page, until it is expanded upon perhaps it should be removed?
Nonnumquam (talk) 07:39, 30 November 2009 (UTC)
replies: text: Closes as unsupported.  Dicklyon (talk) 20:56, 20 February 2011 (UTC)
thread_title:  Merge separate [[Hann function]] page 

message: show a graph of a sine wave before and after windowing, to make the function clear  —Preceding unsigned comment added by 71.167.63.79 (talk) 20:56, 12 December 2009 (UTC)
thread_title:  diagram 

message: There are numerous problems with this section.  It is redundant with information elsewhere (and previously) in the article.  It is not in a logical position within the article.  And some of it is just nonsense, for instance "the ideal frequency response of a window is a Dirac delta function, as that results in the frequency response of the FIR filter being identical to that of the IIR filter".  Deletion is necessary.  Rewrite is optional.  I'm happy to do the deletion, but not the rewrite.
--Bob K (talk) 22:37, 14 December 2009 (UTC)
replies: text: I agree, so I took it out, and reorganized the following sections as subsections.  There may be some recoverable bits in there if anyone wants to work on that.  Dicklyon (talk) 23:15, 14 December 2009 (UTC)
thread_title:  the Applications section 

message: I found it vexing that the Tukey function seemed to be the only function defined from -N/2 to N/2. Even the graph to the right of the function definition appears to plot it from 0 to N. I thought it would be more clear define it from 0 to N as it is in the other window functions and in the Matlab reference. Also, I realize now that there was nothing wrong with the original definition, just that it was defined on a different interval.  Cheers. Ebmi (talk) 05:36, 28 September 2010 (UTC)
replies: text: This seems taken care of. Olli Niemitalo (talk) 20:46, 10 February 2013 (UTC)
thread_title:  Tukey function definition 

message: Regarding the last 3 edits, please explain why it is more important to have figures in .svg form than it is to have grid lines.  And please explain why .svg cannot support the grid lines.  As I recall, the guidelines for converting to .svg state that is should not detract from the rendered result.
--Bob K (talk) 18:52, 30 November 2011 (UTC)
replies: text: Yes, we shouldn't lose the grid lines.  I think it's great that the editor provided his matlab code; it should be straightforward now for him or someone else to add grid lines, and otherwise adjust the styling.  Dicklyon (talk) 19:26, 30 November 2011 (UTC)
replies: text: Now there are SVG images with grid lines. I set N to such a high value (2^17) that aliasing in the spectrum was eliminated and only plotted a portion of the Fourier transform. Making the SVG's was a big mess with rendering and font issues and I sympathize with anyone who made an effort for it. Olli Niemitalo (talk) 15:14, 13 February 2013 (UTC)
thread_title:  conversion to "vector graphics" 

message: The article suggests that functions of the form \scriptstyle W(m,n)=w(r) are unseparable, whereas \scriptstyle exp(-r^2)=exp(-(m^2+n^2))=exp(-m^2)exp(-n^2) clearly is separable. 58.96.115.119 (talk) 02:03, 5 February 2013 (UTC)
replies: text: I think you misread it.  It's talking about a form w(r) that is not separable, in general.  You are referring to the separable gaussian special case; if you wanted that case, you'd use the separable form.  Dicklyon (talk) 03:21, 5 February 2013 (UTC)

text: I rewrote the section to include that exception. Olli Niemitalo (talk) 15:03, 5 February 2013 (UTC)
thread_title:  Two-dimensional window, separability error 

message: Nageh's version of MathJax is giving me that error message for several of the formulas (both under "Triangular window" and the one under "Welch window"). "Always render PNG" doesn't have this problem (I still need to try the MathJax bundled with the MediaWiki software).
Does the LaTeX code need to be fixed, or is the problem in MathJax? I don't know enough LaTeX to see anything wrong by myself. --SoledadKabocha (talk) 00:08, 6 March 2013 (UTC)
replies: text: I think that should be fixed now(?) — BobQQ  (talk) 14:32, 6 March 2013 (UTC)
thread_title:  Missing argument for \frac 

message: The Gaussian window and seemingly other infinite windows are shown and analysed as being clipped, like the Gaussian window being clipped really short. Why would anyone in their right mind ever choose to use such a crudely clipped window for anything mostly given the poor performance it would give? If you're going to clip the Gaussian function so short to make it a window you might as well just subtract by a constant so the first and last bins are 0.
:One can say the same thing about the Hamming window (which has a similar FT), and yet it is a classic.--Bob K (talk) 23:16, 3 June 2013 (UTC)
replies: text: Maybe we shouldn't include Gaussian at all (doesn't matter to me).  But I don't think it's helpful to include unrealizable functions.  The article is large enough already without that.--Bob K (talk) 23:16, 3 June 2013 (UTC)

text: Perhaps a sub/section for unbounded prototype functions is in order, even though and exactly because an unbounded window is a misnomer. Gaussian and Poisson/Exponential would fit, others? The reader must not be confused about whether these are windows or not. I don't think they are, without the prefix truncated. Olli Niemitalo (talk) 23:40, 3 June 2013 (UTC)
replies: text:  "an unbounded window is a misnomer"  No it's not.  It's described right in the introduction.  The Gabor transform uses unbounded Gaussian windows, for instance. 71.167.58.21 (talk) 02:33, 27 July 2016 (UTC)
thread_title:  Absurd Gaussian window clipping 

message: The paper "The Dolph–Chebyshev Window: A Simple Optimal Filter" by PETER LYNCH" is commonly cited as a reference for this window; should it be added to the (general) Further Reading section, or perhaps to the section on the window itself?
::Section has been created. Aquegg (talk) 11:53, 3 February 2014 (UTC)
thread_title:  Further Reading 

message: The formula for the Planck-taper window function is incorrect. This is easily seen by putting n=0 or n=N-1, when the function should be zero (The appropriate Z parameter should be infinity) The correct formulae for the function are given in 
Gordone (talk) 15:21, 5 April 2014 (UTC)
replies: text: Or maybe it's correct (didn't check), and the difference is because it excludes the zero-valued endpoints. Olli Niemitalo (talk) 08:20, 7 April 2014 (UTC)
thread_title:  Planck-taper 

message: Hi there,
I just posted this at Help desk and a bevy of comments appeared immediately saying that it was not appropriate place for this stuff. Somebody recommended that I should post here instead.
As a part of a larger project I have to deal with Fast Fourier Transform (FFT) which is a variation of Discrete Fourier Transform (DFT). After some trials and errors I settled on Librow FFT. The source code there is in C but most of my software is in Gfortran and I had to convert Librow's source to Gfortran. I tested Librow's code before conversion using Wikipedia's Window functions. The test consisted of invoking Forward and Inverse FFT. Everything worked. The GFortran software derived from the C source code likewise worked perfectly well in a sense that by invoking the Inverse transform I could always get the original functions. Specifically I used Blackman-Harris window, Flat top window, Triangular window & Sine window. Everything worked except one thing: I could never get anything even remotely similar to the Fourier transform functions the website demonstrates. So, I began looking critically at the "Fourier Transforms" displayed on that page.
First we know that DFT gives us a set of complex numbers. The illustrations given on the web page did not mention how these seemingly real numbers had been obtained. Are they real or imaginary parts? How come the abscissas contain negative domain? In a way of reminding:
DFT of a signal x is defined (Stanford) as:
\mathrm{X}(\omega_k)\triangleq\sum_{n=0}^{N-1}x(t_n)e^{-j\omega_k t_n}~~~k=0,1,2...N-1
::That is one definition.  According to Discrete_Fourier_transform#Definition, it is an N-periodic sequence.  So that includes negative values of k.  The plots you see in the article are 20•log10(|Xk|).  Code is available for inspection at Rectangular.svg
::--Bob K (talk) 20:15, 19 June 2015 (UTC)
replies: text: it's odd anyone directed you here. An article's Talk page is only for discussing how to improve the article, not a general discussion of the topic nor for helping with people's problems in the domain. You would need to find a technical forum for FFTs. Good luck. Strebe (talk) 20:14, 16 June 2015 (UTC)
replies: text: I suppose so, but if the article isn't clear enough that the OP can figure it out, then it seems that this could be a good place to discuss it. Gah4 (talk) 01:25, 17 February 2016 (UTC)
replies: text: Seems to me that the OP might have missed that the graphs are logarithmic on the y-axis. Gah4 (talk) 01:25, 17 February 2016 (UTC)

text:  Well, another blow :-) I think my post may be considered an attempt to improve the article, provided my comments make sense. But to determine it is the case the post should be read. I reviewed most of the previous posts and it seems many competent mathematicians dwell here. Thanks, - --AboutFace 22 (talk) 00:55, 17 June 2015 (UTC)
replies: text: Maybe you could try posting your question on an external forum such as this one. Or perhaps try emailing the author of the Librow article you cite. I'm neither a mathematician nor a coder, but it seems likely that your problem will be resolved outside Wikipedia. Best of luck!  >MinorProphet (talk) 07:58, 18 June 2015 (UTC)
thread_title:  FFT of the Window functions 

message: This image does use colors that are not contrasting enough. Prefer a clear bright yellow that makes a clear destinction and isn't too close to orange or green. Similarily, using blue and only adding red/green to it to create other shades of blue makes it too hard to distinguish. Please consider how different people have different color perceptions. As such, prefer brightness contrast over color contrast (that different people perceive differently).  — Preceding unsigned comment added by 88.219.148.170 (talk) 16:47, 10 February 2016 (UTC)
thread_title:  Color choice is not contrasting enough: Window functions in the frequency domain 

message: Reference #10 (http://www.bksv.com/doc/bv0031.pdf Technical Review 1987-3 Use of Weighting Functions in DFT/FFT Analysis (Part I); Signals and Units) asserts the following:
An application where Rectangular weighting is a "must", is in system analysis using a pseudo-random excitation signal. A pseudo-random signal is a periodic signal with its period length adjusted to the record length T of the analysis. All the components of the pseudo-random signal will therefore coincide with the centre frequencies of the filters (lines) and the analysis will be free of leakage assuming Rectangular weighting is used (optimal situation or "best case").
This assertion is false, and therefore we need to be careful about the claim "A window function is also not used when a periodic signal's period matches that of a Fourier transform".
To understand, let the filter/line center-frequencies be k/T, for integer values of k.  A component \cos\left( 2 \pi \tfrac{k}{T} t\right), rectangularly windowed to interval [0,T], will have a sinc-shaped spectral leakage pattern (Fourier transform) with zeros at every center-frequency except k/T.  So computing only those lines gives the appearance of no leakage, whether the windowed function is repeated periodically or not.  Periodic repetition causes the entire Fourier transform to be zero at every frequency except k/T, which is what the author interprets as no leakage.
However, a component \cos\left( 2 \pi \tfrac{k+0.5}{T} t\right), rectangularly windowed to interval [0,T], will also have a sinc-shaped spectral leakage pattern (Fourier transform), but it will have non-zero values at every center-frequency.  The peak amplitude at frequencies k/T and (k+1)/T will be distorted (reduced) by about 4 dB relative to the previous case (the \cos\left( 2 \pi \tfrac{k}{T} t\right) component), due to scalloping loss.  And the amplitude at frequency (k+10)/T (for example) will be only about 26 dB lower than that, which makes it impossible to resolve a lower-level component at that frequency using a rectangular window.  In this case, periodic repetition of the windowed function does not hide the leakage.  It does cause the underlying Fourier transform to be zero in-between the center-frequencies, but all the center-frequencies contain non-zero leakage, which can be redistributed (but not eliminated) by a non-rectangular window function.
--Bob K (talk) 16:06, 15 March 2016 (UTC)
replies: text: Doesn't the +0.5 make the signal have a period of 2 T and therefore violate the premise of period T? Glrx (talk) 18:54, 20 March 2016 (UTC)
replies: text:  If in T seconds you have a half cycle left over, then the period is 2 T not T. That is, everything repeats over 2 T. Glrx (talk) 18:51, 24 March 2016 (UTC)
thread_title:  Section 1.4 issue 

message: Hello fellow Wikipedians,
I have just added archive links to  on Window function. Please take a moment to review my edit. If necessary, add  after the link to keep me from modifying it. Alternatively, you can add  to keep me off the page altogether. I made the following changes:
*Added archive http://web.archive.org/web/20090425152259/http://ccrma.stanford.edu:80/~jos/sasp/Properties.html to https://ccrma.stanford.edu/~jos/sasp/Properties.html
*Added archive http://web.archive.org/web/20080704210436/http://ccrma.stanford.edu/~jos/sasp/Rectangular_window_properties.html to https://ccrma.stanford.edu/~jos/sasp/Rectangular_window_properties.html
When you have finished reviewing my changes, please set the checked parameter below to true or failed to let others know (documentation at ).
Cheers.—cyberbot IITalk to my owner:Online 22:50, 18 March 2016 (UTC)
replies: text: Unfortunately, those archived sources are not useful.  It's best to just remove the links completely, which I will do.--Bob K (talk) 02:55, 19 March 2016 (UTC)
thread_title:  External links modified 

message: cos(2 pi n) can be turned into cos(4 pi n) by (cos(2 pi n))²×2-1 so that another cosine won't have to be calculated. 2A01:119F:21D:7900:54E1:9029:DEED:43A1 (talk) 09:44, 8 August 2018 (UTC)
replies: text: There's more to it. cos (6×π×n) is also (cos (2×π×n))³×4-(cos (2×π×n))×3. And cos (8×π×n) is also (cos (2×π×n))⁴×8-(cos (2×π×n))²×8+1. So we have t=cos (2×π×n), and five cosine sum terms: cos (0×π×n)=1cos (2×π×n)=tcos (4×π×n)=2t²-1cos (6×π×n)=4t³-3tcos (8×π×n)=8t⁴-8t²+1Five cosine sum terms with one cosine computation.79.185.231.241 (talk) 17:59, 2 May 2021 (UTC)
thread_title:  Cosine sum optimization 

message: This section contains the statement:
The temporal width of the approximate window is asymptotically equal to Nσt for σt < 0.14.
Looking at the σt=0.1 example, the 0.1•N width occurs at an amplitude of about 0.94 (-0.5 dB).  That seems like an unusually high level at which to define a window's "width".  The -3 dB width, for example, is about 0.25•N.   I'm going to assume, without proof, that we're actually talking about the temporal standard deviation, which is actually a measure of half-width.  So, multiplying by 2, the 0.2•N "width" occurs at an amplitude of about 0.8 (-2 dB), which is somewhat more intuitively pleasing.  Bottom line:  I'm going to change "temporal width" to "standard deviation".
--Bob K (talk) 16:27, 25 October 2018 (UTC)
thread_title:  Approximate confined Gaussian window 

message: The current article version contains the text:
"But the function designed for N+1 or N+2 samples, in anticipation of deleting one or both end points, typically has a slightly narrower main lobe, slightly higher sidelobes, and a slightly lower noise bandwidth."
What is meant: "lower-noise bandwidth", "smaller noise bandwidth" , or something else? Since "high" and "low" are already in use for the height of the graphs, I suggest to use "large" and "small" for the bandwidth, to help prevent misunderstanding.Redav (talk) 14:24, 18 July 2020 (UTC)
replies: text: "smaller noise bandwidth" works fine.  I'll make the change if you haven't.--Bob K (talk) 15:31, 18 July 2020 (UTC)
thread_title:  Does "lower noise bandwidth" mean "lower-noise bandwidth" or "smaller noise bandwidth"? 

message: See the WikiCommons discussion: https://commons.wikimedia.org/wiki/File_talk:Window_functions_in_the_frequency_domain.png  — Preceding unsigned comment added by 92.40.200.3 (talk) 12:55, 29 April 2022 (UTC)
replies: text: I replaced the figure with a better one.  --Bob K (talk) 13:04, 1 May 2022 (UTC)
thread_title:  Nulls on chart are wrong