1

What is the flat-top window function that provides the narrowest possible lobe width?

I'm doing FFT analysis and I need the resulting main lobe of a sine wave to be as narrow as possible but avoiding scalloping loss. I ask for flat-top functions because these are best for scalloping reduction. I don't mind sidelobes, even the rectangular window is good enough for me if it wasn't for its massive scalloping...

Right now I'm using the SFT3M window from this paper:
http://www.rssd.esa.int/SP/LISAPATHFINDER/docs/Data_Analysis/GH_FFT.pdf

user2464424
  • 169
  • 6

2 Answers2

2

I experimented a bit more with windows and noticed that whenever a window starts and ends below zero, it creates a flat top.

I took familiar windows and scaled them like: $w'_j = factor \cdot (w_j - 1) + 1$ (or in a simpler way if the formula allows that).

The results, sorted by main lobe width, are:

Name               Formula                  PSLL   3dB BW  Ripple
-----------------  -----------------------  -----  ------  ------
Flattop_Welch      1.7081(4x(1-x)-1)+1      11.66  2.22    0.039
Flattop_Halfsine   1.6025(sin(0.5z)-1)+1    12.61  2.25    0.038
Flattop_Connes     1.3185((4x(1-x))^2-1)+1  15.38  2.36    0.033
Flattop_Barlett    1-1.3525|2x-1|           16.62  2.38    0.032
Flattop_Hann       1-1.7124 cos(z)          17.36  2.42    0.031
SFT3M <reference>  <see pdf>                44.2   2.92    0.022

[edit] New calculation with a ripple of exactly 0.1dB (if you find that acceptable) and slightly narrower center lobe. (table above was for minimum ripple.)

Name               Formula                  PSLL [dB]  3dB BW [Bins]
-----------------  -----------------------  ---------  -------------
Flattop_Welch      1.6849(4x(1-x)-1)+1      12.00      2.17
Flattop_Halfsine   1.5813(sin(0.5z)-1)+1    12.97      2.20
Flattop_Connes     1.3023((4x(1-x))^2-1)+1  15.83      2.31
Flattop_Barlett    1-1.3384|2x-1|           17.03      2.32
Flattop_Hann       1-1.6580 cos(z)          17.88      2.36

[edit2] First table updated with more accurate calculations.

Images from the first table: Flattop_Welch
Flattop_Halfsine Flattop_Connes Flattop_Barlett Flattop_Hanning SFT3M

1

I designed a 2-term flat-top window (equivalent to what would be called SFT2; there is no distinction between F and M anymore because there is only one degree of freedom).

I optimized (actually, eyeballed) the parameter for minimal pass-band ripple.

$w_j = 1 - [1.7028 \pm 0.0002] \cos(z)$.

It has a peak side lobe level of PSLL $\approx$ 17dB

  • Looks very nice. I just tested it quickly and it is at least half-a-bin less wide than the SFT3M, still with negligeable scalloping. However, the sidelobe falloff is just slightly better than the rectangular window, but this aspect is of relative importance to me. Nice work. – user2464424 Feb 16 '14 at 11:00
  • Just a question. From your words it sounds like if I try to design a 3-term flat-top window I will eventually fall into either the sft3m or the sft3f, one for each degree of freedom, right? – user2464424 Feb 16 '14 at 11:03
  • No, it just depends on which quality you optimize for. There's a curve in the 2-dimensional parameter space for all combinations that have a flat top within $\pm$0.5 bins (the first condition), and somewhere on this curve lie both F and M. – Mark Jeronimus Feb 18 '14 at 13:18