problem with my results
    조회 수: 4 (최근 30일)
  
       이전 댓글 표시
    
I am plotting a spectrogram using STFT algorithm generated by me everything works fine but my results are not what i expected please help me where I am wrong.
clear all
close all
clc
Fs = 2*max(100,300);
t = 0:1/Fs:1-1/Fs;
t1 = t(end);
x = chirp(t,300,t1,100,'linear');
w = rectwin(10)';
nw= length(w);
X = fft(x);
Total = [];
y = length(x) - nw;
for tau = 0: y
  S = 0;
  if tau == 0 %1st window
      S = X(1:nw);
    else %THE remaining windows generated from here
     for k = 0:nw-1
        for n = 0:nw-1
        S= (exp(2*pi*1j*k/nw).*(X(tau : tau + nw-1) -  x(tau)+...
                      x(nw+tau).*exp(-2*pi*1j*n/nw)));
        end
     end
    end
    W= S(1:end/2);
   Total = [Total; W];
end
%plotting
T = 1:length(x)/2;
imagesc(T,1:Fs/2,20*log10(abs(Total).^2))
axis xy; axis tight; colormap(jet);
xlabel('Time in sec');
ylabel('Frequency (Hz)');
댓글 수: 9
  Walter Roberson
      
      
 2012년 2월 2일
				Looking at that page, they say that down-chirps exist, and it appears that k (rate of increase in frequency) could be negative.
답변 (0개)
참고 항목
카테고리
				Help Center 및 File Exchange에서 Time-Frequency Analysis에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!