% Uso della funzione spectrogram() clear all; % 2 secondi di chirp lineare con fase iniziale nulla. Inizia a f=0 e attraversa f=150Hz a t= 1s Fs= 1000; % [Hz] Nfft= 256; L= 256; % lunghezza della finestra (default= Hann) R= 6; % salto (# campioni) tra una DFT e la successiva Noverlap= L-R; t = 0:1/Fs:2; y = chirp(t,0,1,150); figure(1); clf; specgram(y,Nfft,Fs,L,Noverlap) % equivale a: specgram(y,Nfft,Fs,hann(L),Noverlap) % se non si vuole una finestra di hann, bisogna specificarla esplicitamente: es. hamming(L) title('Spettrogramma di un segnale Chirp'); % segnale FM con modulazione di frequenza lineare Fs = 10000; t = 0:1/Fs:2; % vco(x, [Fmin Fmax],Fs]); sinusoide (campionata a fs) con freq. che varia in [Fmin Fmax] quando il vettore x varia in [-1;1] x = vco(sawtooth(2*pi*t,.75),[0.1 0.4]*Fs,Fs); % sawtooth produce onda triangolare in [-1;1]. Qui "periodo" T=1 e "duty-cycle"=75% (t_salita=(3/4)T; t_discesa=(1/4)T) figure(10); clf; specgram(x,512,Fs,kaiser(256,5),220) % NOTA specgram produce una IMMAGINE, non un plot title('Spettrogramma di un segnale modulato in frequenza da un dente di sega'); load mtlb [S,fvec,tvec]= specgram(mtlb,512,Fs,kaiser(500,5),475); figure(20); clf; imagesc(tvec,fvec,20*log10(abs(S))), axis xy, colormap(jet) xlabel('t [s]'); ylabel('f [Hz]'); title('Spettrogramma simile a quello di "specgramdemo" ');