problem with my results

2 views (last 30 days)
raj
raj on 2 Feb 2012
Edited: Jon on 26 Sep 2013
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 Comments
Walter Roberson
Walter Roberson on 2 Feb 2012
Looking at that page, they say that down-chirps exist, and it appears that k (rate of increase in frequency) could be negative.
raj
raj on 2 Feb 2012
My problem is not with chirp signal consider any signal but I am not getting the spectrogram expected please try with a signal of ur own

Sign in to comment.

Answers (0)

Categories

Find more on Time-Frequency Analysis in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!