problem with my results
Ältere Kommentare anzeigen
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 Kommentare
Walter Roberson
am 2 Feb. 2012
The easiest solution would be to change what you are expecting.
We do not know what you are expecting, so there are no code changes we can suggest.
raj
am 2 Feb. 2012
raj
am 2 Feb. 2012
Walter Roberson
am 2 Feb. 2012
A chirp that _starts_ at 300 Hz, and _ends_ at 100 Hz? Not 300 to 1000 ? Not 100 to 300 ?
raj
am 2 Feb. 2012
raj
am 2 Feb. 2012
Image Analyst
am 2 Feb. 2012
Chirps increase in frequency as time goes along - the wavelength decreases. See figures in http://en.wikipedia.org/wiki/Chirp_signal .
Walter Roberson
am 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
am 2 Feb. 2012
Antworten (0)
Kategorien
Mehr zu Time-Frequency Analysis finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!