I'm currently working with audio where I apply an Hann window before running an FFT on a sample window of 4096 samples. I've been told that since I'm applying a Hann window I also need to overlap each FFT by 50%, however I can't seem to find a clear explanation of the steps involved in applying an overlap. Could anyone give me an idea of how to do so?
-
1$\begingroup$ "overlap" only makes sense if you're doing multiple, somehow consecutive DFTs. Are you perhaps transforming something that is longer than 4096 samples? $\endgroup$– Marcus MüllerAug 4, 2016 at 15:47
-
$\begingroup$ I'm reading in audio from a microphone and then once all the audio data has been read I'm splitting the audio data into 4096 sample windows and running FFTs on each window. $\endgroup$– PyroPezAug 4, 2016 at 15:56
-
$\begingroup$ that pretty much self-answers your question, doesn't it? you transform the 1.-4096. sample, then the 2049. – 2048+4096. sample, then you overlap the results , then you transform the 4097. – 4097+4096. sample, and so on $\endgroup$– Marcus MüllerAug 4, 2016 at 16:26
-
$\begingroup$ Ah ok thanks, just wasn't sure if it was that simple. As a follow up question do I need to combine the overlapped data at all? Is the Overlap-add method a way to do this? I've read about it but I'm a little unclear on whether I need to use it or not. $\endgroup$– PyroPezAug 4, 2016 at 16:39
-
$\begingroup$ For more information you can also look up Welch's method. $\endgroup$– fibonaticAug 6, 2016 at 10:38
1 Answer
For a 50% overlap, offset successive 4096 sample windows by 2048. e.g. the first half of the data in each FFT will be duplicated from the last half of the previous FFT window (before applying the Von Hann windowing function to either).
-
$\begingroup$ That's all I need to do? Does the data for the FFTs need to be combined for the overlapping segments at all? I've read about something called the Overlap-add method but I wasn't sure if it was applied to what I'm trying to do here or if it was something else. $\endgroup$– PyroPezAug 4, 2016 at 16:25
-
$\begingroup$ Overlap-add and overlap-save are algorithms for when you use both a sequence of FFTs and IFFTs for doing fast-convolutional filtering. When doing fast-convolution filtering, one does not overlap or apply a Von Hann window, instead zero-pad the FFT data by the filter's impulse response length and overlap (add/save) combine the data. But filtering wasn't part of your question. It's probably a separate much larger question (and also likely a dup). $\endgroup$– hotpaw2Aug 4, 2016 at 17:05
-
$\begingroup$ If that answers your question then please consider marking the answer as accepted. $\endgroup$– jojek ♦Aug 4, 2016 at 17:30