I am trying to minimize the noise in a spectrum of a variable. I am trying to to divide the time history in equal parts, to do the FFT of this time history parts and to do an average between these FFT.

Doing this procedure I have find that the trend, at the high frequencies seems to be a little bit different from the one without doing this procedure. I have multiplied every part of the time history by a Tukey window, using the command with Matlab

A= tukeywin(L)

Using the Tukey window, I have find that the trends seems more similar with the first one. Can someone explain me why? I have tried to search the theory of this window, but I always find the definition of the filter, but I cannot understand which could be the effect of this window.

A other fact that I have noticed is the fact that obviously using the Tukey window the energy content is reduced, are there technique to reduce the noise avoiding this reduction?

I just need a suggestion to start, it is difficult to understand which is the correct technique to reduce the noise.


1 Answer 1


The technique that you have described looks similar to the Welch's method for estimation of the power spectral density. Though, it seems that there is an error in your implementation: you should take the squared absolute value of the FFT, instead of the complex value. Such an error might affect your results significantly as the random phase might bring you to a zero mean value of the spectrum. Anyway, most of the languages used for signal processing such as MATLAB and Python contains a ready to use implementation o the Welch's method, so you do not have to mess with the details. Suggestion: since the variation of the spectrum is due to the user of several windows (variation reduction proportional to N), you might want to overlap the windows. The typical overlap for the common Hann window is 50%.

Window type should not affect the spectrum in a way that you have described. Multiplication in time is equivalent to convolution in the frequency. Therefore, the windowing effect should mostly affect your spectrum leakage. Is your signal stationary? this is a fundamental assumption for using such a technique.

Actually, as long as I know, the signal that you have described does not contain information in the time domain but only in the frequency domain. In other words, there should be no periodic components with defined phase. Therefore, it is usually processed with a rectangular window (and then there is no need for overlap).

Using any window reduces the energy as the window's value is smaller than 1. This could be compensated by dividing the result with the window norm/mean value (maybe with the power of two or some other coefficient - depends on the type of the spectrum you want to estimate). Anyway, you don't have to worry about it if you use the implementation by MATLAB which wrappers it all for you.


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.