% generate a signal and draw it in the time-frequency domain samplefreq=100; tstep=1/samplefreq; t1=0:tstep:0.5; t2=0.5+tstep:tstep:1.0; t=[t1 t2]; x=[sin(4*2*pi*t1) sin(9*pi*2*t2)]; n=size(t,2); plot(t,x); winsize=32; % Szerokosc okna M=zeros(0); % Nie chcemy problemow w Matlabie window=zeros(0); % Dla kazdego okna uruchom FFT for i=1:n-winsize window=x(i:i+winsize-1); X=abs(fft(window)); % Spektrum mojego okna M(i,1:winsize/2+1)=X(1:winsize/2+1); % Spektrum dodajemy do mesha. end % Wykresl f=samplefreq*(0:winsize/2)/winsize; t=1000*t(1+winsize/2:n-winsize/2); figure; mesh(f,t,M); title('time-frequency analysis'); xlabel('freqency [Hz]'); ylabel('time [ms]'); waitforbuttonpress;