I am getting up to speed with working with sensor accelerometer data. I am looking to conduct a FFT on this signal. I found that the signal being non periodic is causing issues so I have tried to look at using windowing. From what I have read, Hanning window is the way forward. The issue lies here for me.

Attached is an image of the original signal and the signal post windowing. I applied the hanning window but it seems to reduce the first part of the signal alot. The initial spike in the negative axis is the impact with the rest being post impact acceleration. After applying the windowing technique, my ends have smoothed but the impact part of the signals amplitude has reduced alot (which makes sense based of the hanning window shape).

My question is

  1. Am I using the correct type of window for my signal?
  2. Should I be using the window differently than I have in the image?
  3. would normalizing my signal help in any way and if so what type of normalization technique I should look at?

Any help appreciatedSignal with and without windowing


1 Answer 1


Window functions are typically used to reduce spectral leakage and scalloping loss in the frequency domain. Usually that means giving up a bit of amplitude and/or frequency resolution in the process. The different window functions exist so you can tune it depending on which of these properties is most important to your application. You are applying the window correctly and your observation about the reduced signal amplitude near the ends of the waveform is exactly what the window function is designed to do. Specifically, it is intended to reduce the discontinuity between the beginning and the end of the signal. Conceptually, the FFT assumes that the time domain waveform repeats forever, so if you can imagine pasting a bunch of copies of you signal together, then without the window function you'd have a big jump where they are spliced together, which would show up as harmonics in your FFT output.

Selecting a window function is more about what you're trying to measure in the frequency domain and less about how the time domain waveform looks after the window has been applied. For example, if you're looking to make an accurate amplitude measurement of a single sinusoidal tone, then a flat top window would be a good choice. However, it as very poor frequency resolution, so it would not be good at separating multiple tones. The Hanning window is a good middle of the road window function, so it is probably a good place to start. To find a more suitable window function, you need to decide what types of measurements you're trying to make and what types of input signals you expect.

Because you're essentially multiplying every point of your signal to something less than 1, the window function will apply some amount of gain (attenuation) equal to the average of the window function itself. Normalization just means compensating for this so that your amplitude measurement is correct. Some DSP libraries apply this compensation for you. If you're not sure, I think you can check by just averaging the window function itself. If it equals 1, then it's normalized. If not, then you need to divide your measured amplitude by this value to find the correct amplitude.


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.