Main Content

Frame di Gabor non stazionari e trasformata a Q costante

I frame di Gabor non stazionari consentono di implementare l’analisi tempo-adattiva o frequenza-adattiva dei segnali. Le funzioni cqt e icqt utilizzano i frame di Gabor non stazionari per ottenere una trasformata a Q costante (frequenza-adattiva) (CQT) di un segnale. Un punto di forza notevole dei frame di Gabor non stazionari è che consentono di creare inverse stabili, ottenendo una ricostruzione perfetta.

La teoria dei frame di Gabor non stazionari e gli algoritmi efficienti per la loro implementazione sono dovuti a Dörfler, Holighaus, Grill e Velasco [1][2]. Gli algoritmi in [1] e [2] implementano una versione a fase bloccata della CQT che non conserva le stesse fasi che si otterrebbero con una convoluzione naïf. In [3], Schörkhuber, Klapuri, Holighaus e Dörfler sviluppano algoritmi efficienti per la CQT e la CQT inversa che imitano i coefficienti ottenuti dalla convoluzione naïf. La Large Time-Frequency Analysis Toolbox [4] fornisce un ampio insieme di algoritmi per l'analisi e la sintesi di frame di Gabor non stazionari.

Nell’analisi standard di Gabor, una finestra di dimensioni fisse riveste il piano tempo-frequenza. Un frame di Gabor non stazionario è un insieme di funzioni di finestratura di varie dimensioni che sono utilizzate per rivestire il piano tempo-frequenza. L'analisi wavelet riveste il piano tempo-frequenza in modo simile. È possibile modificare la densità di campionamento nel tempo o nella frequenza. I frame di Gabor non stazionari sono utili in applicazioni come l'elaborazione dei segnali audio, dove le finestre tempo-frequenza a dimensioni fisse non sono ottimali. A differenza della trasformata di Fourier a tempo breve, le finestre utilizzate nella trasformata a Q costante hanno larghezza di banda e densità di campionamento adattabili. Nello spazio di frequenza, le finestre sono centrate su frequenze centrali distanziate logaritmicamente.

Scomposizione del piano tempo-frequenza

La trasformata di Fourier di f(t) è la correlazione di f(t) con ej ω t:

F(ω)=f(t)ejωtdt.

Poiché ej ω t non ha un supporto compatto, la trasformata di Fourier non è una scelta ideale per studiare i segnali non stazionari. Se il contenuto in frequenza di un segnale cambia nel tempo, la trasformata di Fourier non cattura né quali siano questi cambiamenti né quando si verifichino. La partizione del piano tempo-frequenza mostrata qui rappresenta questo comportamento della trasformata di Fourier.

Per eseguire un'analisi tempo-frequenza di un segnale non stazionario, iniziare con una funzione a finestra pari a valore reale, g(t), che sia effettivamente diversa da zero solo su un intervallo finito e la cui norma sia uguale a uno. Inoltre, la trasformata di Fourier di g(t) è centrata su zero ed è passa-basso. Successivamente, finestrare f(t) con le traslazioni di g(t). Quindi prendere la trasformata di Fourier del risultato

SF(u,ζ)=f(t)g(tu)ejζtdt.

Correlare f(t) con gli atomi di Gabor, g(tu)ejζt, si tratta dell’analisi standard di Gabor. Variandou, si considerano solo i valori di f(t) vicini al tempou. Il supporto di g(t) determina la dimensione dell’intorno vicino al tempo u. La trasformata di Fourier di gu,ζ(t)=g(tu)eζt è la traslazione per ζ della trasformata di Fourier di g(t), ed è data da

g^u,ζ(ω)=e(ωζ)g^(ωζ).

La concentrazione di energia di g^u,ζ(ω) ha varianza σω ed è centrata su ζ. Se la finestra, gu,ζ(t)=g(tu)eζt, si sposta su una griglia regolare, la trasformata di Fourier del prodotto della finestra spostata e f(t) è la trasformata di Fourier a tempo breve (STFT). La STFT che riveste il piano tempo-frequenza può essere rappresentata come una griglia di riquadri, ciascuno centrata su (u, ζ):

L’insieme di funzioni {gu,ζ} è noto come un frame di Gabor. Gli elementi di questo insieme sono chiamati atomi di Gabor. Un frame è un insieme di funzioni {hk(t)} che soddisfa la condizione seguente: esistono costanti 0 < A ≤ B < ∞ tali che, per ciascuna funzione f(t),

Af2Σk|f,hk|2Bf2.

La concentrazione di energia di g(t), nel tempo, ha varianza σt. La concentrazione di energia di g^(ω), nella frequenza, ha varianza σω. La concentrazione di energia determina quanto bene la finestra localizza il segnale nel tempo e nella frequenza. In base al principio di indeterminazione tempo-frequenza, esiste un limite alla capacità di localizzazione simultanea nei domini del tempo e della frequenza, come indicato dal

σtσω12.

Restringendo la finestra in un dominio si ottiene una localizzazione più scadente nell'altro dominio. Gabor ha dimostrato che l’area della finestra è minima quando g(t) è gaussiano.

Trasformata a Q costante

Nella CQT, la larghezza di banda e la densità di campionamento in frequenza sono variate. Le finestre sono costruite e applicate direttamente nel dominio della frequenza. Finestre diverse hanno frequenze centrali e larghezze di banda diverse, ma il rapporto tra la frequenza centrale e la larghezza di banda rimane costante. Il mantenimento di un rapporto costante implica:

  • La risoluzione nel tempo migliora a frequenze più alte.

  • La risoluzione in frequenza migliora a frequenze più basse.

A causa del principio di indeterminazione, gli spostamenti temporali per ciascuna finestra dipendono dalla larghezza di banda.

La CQT dipende da:

  • Le funzioni finestra gk sono funzioni pari a valore reale. Nel dominio della frequenza, la trasformata di Fourier di gk è definita sull’intervallo [-Fs/2, Fs/2].

  • La frequenza di campionamento, ζs.

  • Il numero di bin per ottava, b.

  • La frequenza minima e massima, ζmin e ζmax.

Scegliere una frequenza minima, ζmin, e un numero di bin per ottava b. Quindi, formare una sequenza di frequenze distanziate geometricamente

ζk = ζmin × 2k/b

per k = 0,...,K dove K è un numero intero tale che ζK sia la frequenza più ampia, tassativamente inferiore alla frequenza Nyquist ζs/2. La larghezza di banda alla k-esima frequenza è impostata su Ωk = ζk+1k-1. Dato questo campionamento, il rapporto tra la frequenza centrale k-esima e la larghezza di banda della finestra è indipendente da k:

Q = ζkk = (21/b-2-1/b)-1.

Per garantire una ricostruzione perfetta, il componente DC viene anteposto alla sequenza e la frequenza di Nyquist viene aggiunta alla sequenza.

W(ω) forma le funzioni finestra gk.W(ω) è una funzione continua pari a valore reale centrata su 0, positiva nell’intervallo [-½,½] e 0 altrove.W(ω) è traslata su ciascuna frequenza centrale ζk e successivamente scalata. Valutando una versione scalata e traslata di W(ω) si ottengono i coefficienti del filtro gk[m], dati da

gk[m] = W((m ζs/L - ζk)/Ωk)

per m = 0, …, L-1, dove L è la lunghezza del segnale. Per impostazione predefinita, cqt utilizza la finestra 'hann'.

Per il principio di indeterminazione, la dimensione della larghezza di banda limita il valore degli spostamenti temporali. Per soddisfare la disuguaglianza del frame, lo spostamentoakdi gk deve soddisfare

ak ≤ ζkk.

Come detto in precedenza, la finestra è applicata nel dominio della frequenza. I filtri gk, centrati su ζk, vengono formati e applicati alla trasformata di Fourier del segnale. Prendendo la trasformata inversa si ottengono i coefficienti a Q costante.

Bibliografia

[1] Holighaus, N., M. Dörfler, G.A. Velasco, and T. Grill. "A framework for invertible real-time constant-Q transforms." IEEE Transactions on Audio, Speech, and Language Processing. Vol. 21, No. 4, 2013, pp. 775–785.

[2] Velasco, G. A., N. Holighaus, M. Dörfler, and T. Grill. "Constructing an invertible constant-Q transform with nonstationary Gabor frames." In Proceedings of the 14th International Conference on Digital Audio Effects (DAFx-11). Paris, France: 2011.

[3] Schörkhuber, C., A. Klapuri, N. Holighaus, and M. Dörfler. "A Matlab Toolbox for Efficient Perfect Reconstruction Time-Frequency Transforms with Log-Frequency Resolution." Submitted to the AES 53rd International Conference on Semantic Audio. London, UK: 2014.

[4] Průša, Z., P. L. Søndergaard, N. Holighaus, C. Wiesmeyr, and P. Balazs. The Large Time-Frequency Analysis Toolbox 2.0. Sound, Music, and Motion, Lecture Notes in Computer Science 2014, pp 419-442. https://github.com/ltfat

Vedi anche

|

Argomenti complementari