Overlapping with Flat-top window
5 次查看(过去 30 天)
显示 更早的评论
I am using the following MATLAB code to determine the fft using a flat-top window of the whole data:
time = 0:0.1:50000;
data = 1.8*sin(2*pi*0.2003*time);
Fs = 10;
N = length(data);
w = flattopwin(N);
wdata = data(:).*w;
ws = sum(w);
Y = fft(wdata)/ws;
freq = 0:Fs/N:Fs/2-Fs/N;
freq = freq';
amplitude = 2*abs(Y(1:floor(N/2)));
plot(freq,amplitude);
Now, I wish to overlap windows prior to performing fft. Can someone please tell me how to modify the above code to perform overlapping and fft? Thanks in advance.
0 个评论
回答(1 个)
Star Strider
2014-9-19
I would use the spectrogram function for what you want to do. You can specify the window you want. You can get data from it if you ask it:
[S,F,T] = spectrogram(data, flattopwin(N), ...)
and if you want to plot it, use:
surf(T,F,abs(S));
axis tight;
view(0,90);
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Get Started with Signal Processing Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!