Utilizzare la funzione stft per calcolare la trasformata di Fourier a breve termine di un segnale le cui caratteristiche spettrali cambiano nel tempo.
La funzione restituisce una matrice le cui colonne contengono la trasformata di Fourier del segnale di input in tempi separati da campioni s. Per un segnale x(t) la trasformata di Fourier a breve termine viene definita nel tempo continuo nel modo seguente.
dove w(t) è una funzione taper di finestra mobile con valore reale utilizzata per localizzare l'influenza della trasformata in un tempo specifico.
Segnale a due passi
Il seguente segnale è composto da due sinusoidi di frequenze diverse che si verificano in momenti diversi.
1. Definire i componenti del segnale.
2. Tracciare il grafico del segnale composito.
La trasformata di Fourier a breve termine include informazioni sul contenuto della frequenza del segnale e sul tempo in cui la frequenza è presente.
3. Calcolare la trasformata di Fourier a breve termine con 100 campioni di frequenza, un incremento temporale di 30 e una finestra di Hanning.
Questa è una matrice 100 x 56 contenente 56 incrementi temporali di 30 nel segnale di lunghezza L.
4. Calcolare la grandezza quadratica.
5. Salvare il contorno risultante come immagine BMP.
(v_spec_rotated.bmp)
Nell'immagine sono indicate non solo le due frequenze ma anche il tempo in cui si verificano. Lo spettrogramma subisce tuttavia gli effetti di quello che viene definito compromesso di localizzazione. Per ottenere la localizzazione del tempo, ovvero fare in modo che la trasformata di Fourier a breve termine individui con precisione i momenti in cui le sinusoidi sono attive, è necessaria una finestra breve nel dominio del tempo. Al contrario, per un'adeguata localizzazione della frequenza è necessaria una finestra temporale lunga. Questo compromesso dipende inoltre dal tipo di finestra utilizzata, dal segnale preso in considerazione, dal tempo e dalla frequenza.
6. A scopo illustrativo, calcolare la trasformata di Fourier a breve termine e lo spettrogramma dello stesso segnale usato in precedenza, ma utilizzando una finestra di frequenza di lunghezza pari a 300 anziché a 100.
7. Salvare il contorno risultante come immagine BMP.
(v_nbspec_rotated.bmp)
La trasformata di Fourier a breve termine calcolata con una finestra lunga presenta una migliore risoluzione in frequenza, ma una risoluzione temporale non altrettanto buona. Per evitare questo compromesso tra tempo e frequenza, è possibile utilizzare altre funzioni di tempo-frequenza, ad esempio timefreq e timecorr.
Finestre personalizzate
La finestra della frequenza in questo esempio è riempita con valori zero fino alla lunghezza della trasformata di Fourier.
1. Definire la lunghezza della finestra e la percentuale del coseno rialzato.
La lunghezza della finestra non può essere maggiore di quella della trasformata di Fourier.
2. Riscalare i coefficienti della finestra in modo che questa includa l'energia unitaria.
3. Calcolare la trasformata di Fourier a breve termine e lo spettrogramma.
4. Salvare il contorno risultante come immagine BMP.
(v_spec2_rotated.bmp)
Provare a modificare i parametri della funzione stft oppure le frequenze delle sinusoidi nel segnale di input e osservare come cambiano i grafici.