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!