I'm computing discrete short time Fourier transform. Data is split into overlapping chunks and gaussian window is used for each chunk. However, I'm not sure how much overlap there should be between chunks.

If they are too sparce I will loose information between them (gaussian window for each chunks is shown here):

On the other side, pack them to densely and I will do a lot of redundant computations:

Something in between is necessary:

But what exactly should it be?

  • $\begingroup$ Can you provide a little more information about what you intend to do with the STFT? $\endgroup$
    – Jazzmaniac
    Oct 17, 2014 at 12:30
  • $\begingroup$ @Jazzmaniac I want to make a spectrogram $\endgroup$
    – Simon
    Oct 17, 2014 at 13:15
  • 1
    $\begingroup$ in that case the answer is simply, go with what looks good to you. If you don't have any sort of numeric constraints for invertibility you're free to choose whatever works. $\endgroup$
    – Jazzmaniac
    Oct 17, 2014 at 13:23

1 Answer 1


usually the overlap has more clear meaning when used with a complementary window such as the Hann window. a complementary window is such that the tails of all overlapping window functions add to 1. $$ \sum\limits_{k=-\infty}^{+\infty} w(t-kT_{\text{hop}}) \ = \ 1$$ that cannot be the case for overlapping gaussian window functions.

if your STFT is just for analysis, not synthesis or reconstruction, then complementary windows do not usually matter. then the issue is more about frequency resolution (which determines how wide the window is) and the STFT frame hop distance.

  • 1
    $\begingroup$ I think it's worth mentioning that Gaussian analysis windows are suitable for reconstruction if you work with a dual window approach, i.e. have a separate reconstruction window that is shift-orthogonal to the analysis windows. $\endgroup$
    – Jazzmaniac
    Oct 17, 2014 at 15:12
  • $\begingroup$ what's "shift-orthogonal"? so the analysis window and reconstruction window don't need to line up??? $\endgroup$ Oct 17, 2014 at 15:23
  • $\begingroup$ Dual windows mean you have a set of analysis windows $A_k(t)$ for different time indices $k$ and a set of synthesis windows $S_k(t)$ for the same time indices. Shift orthogonality, or more mathematically bi-orthogonality, means that $\langle A_k,S_l \rangle=\delta_{k,l}$. That allows you to easily invert the short time windowed Fourier analysis using the synthesis window while not constraining the choice of the analysis window. $\endgroup$
    – Jazzmaniac
    Oct 17, 2014 at 21:31
  • $\begingroup$ hunh?? $$ \langle A_k, S_l \rangle = \delta_{kl} $$ is orthogonal?? it's a different meaning of the word "orthogonal" than i had previously known. Oh! do you mean that for any $ k \ne l$, that $A_k$ and $S_l$ are orthogonal? $\endgroup$ Oct 17, 2014 at 21:45
  • $\begingroup$ en.wikipedia.org/wiki/Biorthogonal_system I'm not sure why you're so confused about this being a form of orthogonality. Usually you have $\langle v_i,v_j \rangle=\delta_{i,j}$ for an orthohonal set of vectors $v$. It's the same here, only that you have a bilinear form between two different sets. Think of the $A_k$ as the dual vectors to $S_k$, so that you can write something like $A_k=S_k^*$, then the relation becomes $\langle S_k^*, S_l \rangle = \delta_{k,l}$. Is that more familiar? $\endgroup$
    – Jazzmaniac
    Oct 18, 2014 at 0:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.