Window gain factor in FFT

18 views (last 30 days)
Chiranjeevi Viswa Teja Jupudi
Commented: dpb on 12 Oct 2022
I have some vibration data (acceleration) on whcih I need to perform an FFT, and then integrate it and again do an FFT.
I read for the nature of the data that I have, the input to the FFT must be sent throgh the Hann window (or Hanning) in order to avoid spectral leakage in the frequency domain representation after I perform the FFT. I further read that the amplitude of the FFT output vector must be corrected, becasue of the window function's 'window gain factor'.
The said window gain factor for the Hann window is about 0.5 and that means I must multiply the real part of each entry in the output array with 2 to effect this correction. My expectation was - If I DO NOT perform the window gain correction, the amplitudes on the Y axis of my FFTs will be about half the magnitude as that of the rectangular window, and therefore the correction is called for.
However, when I use 3 different window functions - Rectangular, Hanning and Flat-Top - WITHOUT performing any corrections for the gain factor in any case, I still get the similar aplitudes on the Y axis of my FFT. (Refer pictures below - in each case the first graph is the FFT result of acceleration and the second graph is for speed).
A. Rectangular Windowing:
B. Hann Windowing:
C. Flat-top Windowing:
Why does this happen?
If I do perform the window gain correction, for example, in the case where I use the Hann window, then the amplitudes must be roughly double as compared to when I use a Rectangular window. How come that the amplitudes on the FFT results should be so wildly different if I use different window functions and do the correction correctly?
Should I ultimately do the correction for the window gain?
dpb on 12 Oct 2022
BTW, one more thing just came to mind -- if, indeed, it is rotating machinery or some other sort of device with a repetitive nature; you may do well to consider triggered input on the input shaft or somesuch thing to begin the acquisition of each transient at the same point in the cycle.

Sign in to comment.

Answers (0)


Find more on Get Started with Signal Processing Toolbox in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!