fft moving window problem

I'd like to perform moving window fft on my signal. I'd like to use hamming window first, and then try hanning. I started writing the code, however I dont know how to save and merge data from each fft in the loop. I'll be very grateful to any suggestions. The code is:
x = sig; % my signal
nx = length(x); % size of signal
w = hamming(32); % hamming window
nw = length(w); % size of window
pos=1;
while (pos+nw <= nx) % while enough signal left
y = x(pos:pos+nw-1).*w; % make window y
%%%%process window y %%%%
yy = fft(y,32);
pos = pos + nw/2; % next window
end
thanks in advance, KK

Answers (2)

Daniel Shub
Daniel Shub on 7 Aug 2012

0 votes

You should have a look at SPECTROGRAM.

1 Comment

spectrogram doe not fit for his purpose totally, you may miss a lot of consideration such as computation burden.

Sign in to comment.

Katarzyna
Katarzyna on 8 Aug 2012

0 votes

I am analysing spectrogram too, but in this case I would like to perform fft n times on the m parts of the signal. I can see in my head a moving window of 64samples with increment e.g 32samples (50% overlap). I dont know how to save and merge fft results from each step.

2 Comments

This should be a comment on my answer, and not a new answer. Have you read the documentation of SPECTROGRAM. This is exactly what the function does.
did you finally solve it

Sign in to comment.

Tags

Asked:

on 7 Aug 2012

Commented:

on 12 Jun 2020

Community Treasure Hunt

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

Start Hunting!