Cosa dovrebbe essere preso in considerazione quando si seleziona una funzione di windowing quando si leviga una serie temporale?


25

Se uno vuole lisciare una serie temporale usando una funzione finestra come Hanning, Hamming, Blackman ecc., Quali sono le considerazioni per favorire una finestra piuttosto che un'altra?

Risposte:


23

I due fattori principali che descrivono una funzione di finestra sono:

  1. Larghezza del lobo principale (ovvero, a quale frequenza bin è la metà della potenza della risposta massima)
  2. Attenuazione dei lobi laterali (ad es. Quanto distanti sono i lobi laterali dal lobo principale). Questo ti dice della perdita spettrale nella finestra.

Un altro fattore non così frequentemente considerato è il tasso di attenuazione dei sidelobes, ovvero la velocità con cui i sidelobes muoiono.

Ecco un rapido confronto per quattro funzioni della finestra ben note: Rettangolare, Blackman, Blackman-Harris e Hamming. Le curve seguenti sono FFT a 2048 punti di finestre a 64 punti.

inserisci qui la descrizione dell'immagine

Si può vedere che la funzione rettangolare ha un lobo principale molto stretto, ma i lobi laterali sono piuttosto alti, a ~ 13 dB. Altri filtri hanno lobi principali significativamente più grassi, ma vanno molto meglio nella soppressione del lobo laterale. Alla fine, è tutto un compromesso. Non puoi avere entrambi, devi sceglierne uno.

Detto questo, la scelta della funzione finestra dipende fortemente dalle esigenze specifiche. Ad esempio, se stai cercando di separare / identificare due segnali che sono abbastanza vicini in frequenza, ma simili per intensità, allora dovresti scegliere il rettangolare, perché ti darà la migliore risoluzione.

D'altra parte, se stai provando a fare lo stesso con due segnali di forza diversi con frequenze diverse, puoi facilmente vedere come l'energia proveniente da uno può penetrare attraverso gli alti fianchi. In questo caso, non ti dispiacerebbe uno dei lobi principali più grassi e scambierebbe una leggera perdita di risoluzione per essere in grado di stimare i loro poteri in modo più accurato.

In sismica e geofisica, è comune usare finestre Slepiche (o discrete funzioni d'onda sferoidali prolate, che sono le autofunzioni di un kernel sinc) per massimizzare l'energia concentrata nel lobo principale.


2
"due segnali che sono abbastanza vicini in frequenza ... dovresti scegliere il rettangolo" Giusto, anche se di solito è meglio semplicemente aumentare le dimensioni della finestra e quindi utilizzare una finestra Hann / Gauss / Hamming / ..., se hai bisogno di una stretta principale lobi. Rettangolare è davvero orribile nei suoi lobi laterali e non si presta molto bene alle finestre sovrapposte, che funzionano alla grande con Hann. (Ovviamente è utile solo se puoi permetterti di calcolare grandi finestre sovrapposte.)
leftaroundabout

1
@leftaroundabout Naturalmente, ma di solito vengono effettuati confronti per dimensioni di finestre fisse. È abbastanza ingiusto confrontare una finestra di una dimensione con un'altra di dimensioni diverse. Sì, il rettangolare è per lo più scadente, ma in alcuni casi ha usi. Per l'OP: ho una spiegazione breve, breve e non matematica su Windows qui su Stack Overflow . Potresti trovarlo e i collegamenti in esso (ho collegato al documento di Harris, ma vedo che Martin lo ha coperto qui) utile
Lorem Ipsum,

@LoremIpsum cosa vuoi dire con la frase "FFT a 2048 punti di finestre a 64 punti". .. per favore suggerisci?
user6363


1

La tua domanda è leggermente confusa perché il livellamento di una serie temporale non viene normalmente utilizzato nello stesso contesto del windowing.

Ciò che probabilmente intendi è che la finestra di una serie temporale ha l'effetto di smussare (o sbavare) la risposta in frequenza. Puoi trovare una descrizione delle proprietà delle finestre più utilizzate e dei compromessi di progettazione in quasi tutti i libri DSP e le wiki trattano anche l'argomento http://en.wikipedia.org/wiki/Window_function . C'è un criterio per scegliere una funzione di finestra che non ho ancora visto descritto in un libro DSP oltre a quelli tradizionali di larghezza del mainlobe e attenuazione laterale e che è la comodità computazionale. Ad esempio, in alcune applicazioni è preferita una finestra di Hamming perché se si FFT una finestra di Hamming si ottengono solo 3 tocchi diversi da zero!

Ovviamente è possibile smussare una serie temporale filtrandola con una funzione finestra perché una funzione finestra ha una caratteristica passa-basso. Ma questo probabilmente non è ciò che stai chiedendo.


@leftaroundabout: "" due segnali che sono abbastanza vicini in frequenza ... dovresti scegliere il rettangolo "Giusto, anche se di solito è meglio semplicemente aumentare le dimensioni della finestra e quindi usare una finestra Hann / Gauss / Hamming / ..., se hai bisogno di lobi principali stretti. Rettangolare è davvero orribile nei suoi lobi laterali e non si presta molto bene per le finestre sovrapposte, che funzionano alla grande con Hann (ovviamente è utile solo se puoi permetterti di calcolare grandi finestre sovrapposte). ". Puoi spiegare perché la sovrapposizione funziona meglio con Hann rispetto ad altre finestre?
niaren,

Tale affermazione non doveva essere esclusiva. Un'esperienza che ho avuto, Hann ha funzionato meglio tra le finestre che ho testato, ma potrebbero esserci altri casi in cui altre finestre fanno un lavoro migliore. È poco più di un mio vago sospetto euristico che le finestre basate sul coseno dovrebbero generalmente offrire le migliori prestazioni sovrapposte, a causa di $ \ cos ^ 2 + \ sin ^ 2 = 1 $ ; così i transitori sono registrati in modo abbastanza forte indipendentemente da dove si verificano la sovrapposizione.
lasciato circa il

Grazie. Non sono sicuro di aver capito il tuo esempio. Ad ogni modo, ho pensato che ti riferissi al fatto che una finestra Hann sovrapposta al 50% offre una ricostruzione perfetta.
niaren,
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.