While studying and applying different window functions in a project I am working on, I found that known windows (here is an example paper which cataloged numerous windows) suffer from 2 kinds of trade-offs:

  1. Simple (from processing speed/complexity point of view) windows (predominantly variations of $cos$ and $exp$) whose DFT cannot be controlled*.
  2. Complex windows whose DFT can be controlled* (Dolph-Chebyshev, Kaiser, Ultraspherical).

There seems to be no simple window whose DFT characteristics can be controlled (Dolph's window can control the side-lobe level for example but is costly to implement in a real-time application). I realize there are alternatives to overcome this, such as using a LUT, but that is outside the scope of this question.

Question: Is this true? If so, is there any discussion on it (textbook/article/paper)? I am unable to find a reason why a simple window whose DFT can be controlled cannot exist.

*By control, I don't mean just having a variable(s) in window equation (adjustable), but also predicting how a characteristic (main lobe width or side-lobe levels) would change when the variable(s) changes. The chapter "Arrays: Linear, Planar and Circular" of Balanis's "Antenna Theory" shows a way to design the Dolph-Chebyshev window to match user requirements. Similar methods can be applied to Kaiser and Ultraspherical windows.

Edit for clarification: I am talking about adjustable time-domain windows whose frequency response can be controlled. Example of adjustable but not controllable window: $w(n) = sin(\frac{\pi n}{N})^{\alpha}$. It's frequency response does vary with $\alpha$ but we don't know how much the BW or SLL would vary. Example of adjustable and controllable window: the Chebychev window. We can adjust it by varying $\beta = \cosh\!\big(\tfrac{1}{N} \cosh^{-1}(10^\alpha)\big)$ and control the SLL of it's frequency response (the SLLs are guaranteed to be -20$\alpha$dB). There are not many windows of the later category and the few which are present are complex to implement (resource-wise, they take more mathematical operations, memory, speed)

  • $\begingroup$ Balanis' book is 40+ years old. The definition of "costly" has wildly changed since then. Typically you design the window once and then store the coefficients and the actual application of the window is a simple vector multiply. Today's computers and embedded hardware have no problems designing any window you like. $\endgroup$
    – Hilmar
    Jan 31 at 13:25
  • $\begingroup$ @Hilmar, I certainly agree that today's computers and hardware have no problem. But it would be a problem in an environment like FPGA with limited additions/multiplications and limited power/speed (I am an amateur, there are probably much better explained examples). $\endgroup$ Feb 1 at 3:07

1 Answer 1


Question: Is this true?

No. A popular counter-example is the raised cosine or the root-raised cosine windows: one parameter, directly determining excess bandwidth.

Other windows that make it this easy are Gaussian, Kaiser.

Generally, your claim that you can't control the dft is quite questionable: we know quite well that making the energy more concentrated in one domain makes it less concentrated in the other, and that behavior, especially for real and symmetric windows, isn't hard to predict. You can generally say things like "if changing a parameter makes the time resolution better, then the spectrum will be wider".

The same, very much known from antenna design, property applies to sidelobe suppression: no free lunch, you suppress one side lobe, that means you do something very selective in frequency domain, thus making the time domain wider.

For the windows that you choose for stop band behavior (especially Dolph-Chebychev), the design parameter is very specifically documented in what it does to the spectrum; so, really, I'm afraid you really don't have a point there!


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.