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

回答(2 个)

Daniel Shub
Daniel Shub 2012-8-7

0 个投票

You should have a look at SPECTROGRAM.

1 个评论

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

请先登录,再进行评论。

Katarzyna
Katarzyna 2012-8-8

0 个投票

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 个评论

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

请先登录,再进行评论。

类别

在 帮助中心 和 File Exchange 中查找有关 Time-Frequency Analysis 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by