Quanto è fondamentale la selezione della funzione finestra negli STFT?


8

Ho una somma di segnali periodici che sto cercando di districare usando l'analisi tempo-frequenza. Mi sembra di ottenere risultati incredibilmente diversi a seconda della lunghezza e della forma della finestra. Questo è un problema perché voglio sviluppare un algoritmo automatizzato e, si spera, sequenziale per fare il lavoro.


2
Correlati: dsp.stackexchange.com/q/208/77 (arriverei persino al punto di dire che è un dupe)
Lorem Ipsum

Non ho visto quella domanda. Vorrei indicarti la risposta di Yoda lì per ulteriori dettagli che completano la mia risposta di seguito.
Jason R

1
Quale dei risultati incredibilmente diversi pensi sia corretto e perché?
hotpaw2

Risposte:


4

Le funzioni della finestra hanno un compromesso intrinseco tra due delle loro proprietà del dominio della frequenza:

  • Larghezza del lobo principale: qualsiasi funzione di finestra rastremata provocherà alcune "sbavature" nel dominio della frequenza. Ciò è visualizzato dalla larghezza del lobo centrale nella risposta in frequenza della funzione finestra. Più è ampio il lobo principale, più è difficile risolvere due toni che hanno una frequenza vicina (se sono più vicini tra loro rispetto alla larghezza del lobo principale, tenderanno a sbavare insieme). Quindi, idealmente, ti piacerebbe avere una funzione finestra con un lobo principale molto stretto.

  • Altezza massima del laterale: molte funzioni della finestra hanno risposte in frequenza che consistono in un singolo lobo principale circondato da ripetuti laterali che decadono a una certa frequenza specifica della finestra. L'altezza di questi dispositivi laterali può rendere difficile la risoluzione di due toni separati in frequenza, ma differiscono notevolmente in ampiezza. Quindi, idealmente, ti piacerebbe avere una funzione di finestra con sponde laterali molto basse.

Il problema: se si riduce l'ampiezza del lobo principale di una funzione finestra, i lati laterali aumenteranno e viceversa. Pertanto, è necessario trovare un equilibrio specifico dell'applicazione quando si sceglie una finestra, in base alle distanze in frequenza e ampiezza che ci si aspetta tra i segnali di interesse. Dati i parametri specifici del tuo sistema, è possibile scegliere una finestra che (si spera) soddisfi le tue esigenze.

Per quanto riguarda la scelta della lunghezza della finestra (che equivale alla scelta della lunghezza del DFT), è meglio che tu faccia la tua osservazione il più a lungo possibile nei limiti che la tua applicazione potrebbe imporre (ad es. Requisiti di latenza, per quanto tempo i segnali di interesse possono essere considerati stazionari, risorse computazionali, ecc.). La tua capacità di risolversi in frequenza è direttamente proporzionale alla lunghezza dell'osservazione (misurata nel tempo, non necessariamente sulla base della lunghezza FFT, che può essere a zero senza alcun miglioramento nella risoluzione della frequenza).


1

La lunghezza della finestra dovrebbe dipendere dalla variazione della frequenza del segnale. Dovresti regolare una finestra abbastanza breve da catturare approssimativamente uno spettro costante del tuo segnale in quella finestra.

Se vuoi sapere fino a che punto il tuo segnale è simile a una forma, dovresti usare una Wavelet Transform ( CWT ).


1

Per quello che vale, da un punto di vista pratico, ho scoperto che le finestre Kaiser sono piuttosto utili. Esiste un singolo parametro che ti consente di comporre la larghezza del lobo principale rispetto all'attenuazione del lobo laterale e per quanto riguarda la maggior parte delle metriche, una finestra Kaiser ottimizzata correttamente è buona o migliore di qualsiasi dei suoi cugini.

Come regola empirica (molto poco scientifica) è possibile determinare il parametro "beta" come 0,133 volte l'attenuazione del lobo laterale desiderato in dB. Questo può essere usato per ottenere un rapido punto di partenza e modificare da lì.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.