Main Content

Trasformata wavelet continua come filtro passa-banda

La CWT come tecnica di filtraggio

La trasformata wavelet continua (CWT) calcola il prodotto interno di un segnale f(t), con le versioni traslate e dilatate di una wavelet di analisi ψ(t). La definizione della CWT è:

C(a,b;f(t),ψ(t))=f(t)1aψ*(tba)dt

È inoltre possibile interpretare la CWT come un filtraggio del segnale basato sulla frequenza, riscrivendo la CWT come una trasformata di Fourier inversa.

C(a,b;f(t),ψ(t))=12πf^(ω)ψ^¯(aω)eiωbdω

dove f^(ω) e ψ^(ω) sono le trasformate di Fourier del segnale e della wavelet.

Dalle equazioni precedenti, è possibile notare che l'allungamento di una wavelet nel tempo provoca un restringimento del suo supporto nel dominio della frequenza. Oltre a restringere il supporto in frequenza, la frequenza centrale della wavelet si sposta verso le frequenze più basse. La figura seguente mostra questo effetto per una wavelet ipotetica e fattori di scala (dilatazione) pari a 1, 2 e 4.

Questo rappresenta la CWT come un filtraggio passa-banda del segnale in ingresso. I coefficienti CWT a scale inferiori rappresentano l'energia del segnale in ingresso a frequenze più alte, mentre i coefficienti CWT a scale superiori rappresentano l'energia del segnale in ingresso a frequenze più basse. Tuttavia, a differenza del filtraggio passa-banda di Fourier, la larghezza del filtro passa-banda nella CWT è inversamente proporzionale alla scala. La larghezza dei filtri CWT diminuisce all’aumentare della scala. Questo deriva dalla relazione dell’incertezza tra il supporto temporale e il supporto in frequenza di un segnale: più è ampio il supporto di un segnale nel tempo, più è stretto il suo supporto in frequenza. Vale anche la relazione inversa.

Nella trasformata wavelet, l'operazione di scala o di dilatazione è definita per preservare l'energia. Per preservare l'energia mentre si restringe il supporto in frequenza, è necessario che il livello di energia di picco aumenti. L’implementazione della cwt nella Wavelet Toolbox™ utilizza la normalizzazione L1. Il fattore di qualità, o fattore Q, di un filtro è il rapporto tra la sua energia di picco e la larghezza della banda. Poiché il restringimento o l'allungamento del supporto in frequenza di una wavelet comporta aumenti o riduzioni commisurati della sua energia di picco, le wavelet vengono spesso definite filtri a Q costante.

Trasformata wavelet continua basata sulla DFT

L’equazione nella sezione precedente ha definito la CWT come la trasformata di Fourier inversa di un prodotto di trasformate di Fourier.

C(a,b;f(t),ψ(t))=12πf(ω)ψ^*(aω)ejωbdω

La variabile temporale nella trasformata di Fourier inversa è il parametro di traslazione b.

Questo suggerisce che è possibile calcolare la CWT con la trasformata di Fourier inversa. Poiché esistono algoritmi efficienti per il calcolo della trasformata di Fourier discreta e della sua inversa, spesso è possibile ottenere notevoli risparmi utilizzando fft e ifft, quando possibile.

Per ottenere un’immagine della CWT nel dominio di Fourier, iniziare con la definizione della trasformata wavelet:

<f(t),ψa,b(t)>=1af(t)ψ*(tba)dt

Se si definisce:

ψ˜a(t)=1aψ*(t/a)

è possibile riscrivere la trasformata wavelet come

(fψ˜a)(b)=f(t)ψ˜a(bt)dt

che esprime esplicitamente la CWT come una convoluzione.

Per implementare la versione discretizzata della CWT, si supponga che la sequenza in ingresso sia un vettore di lunghezza N, x[n]. La versione discreta della convoluzione precedente è:

Wa[b]=n=0N1x[n]ψ˜a[bn]

Per ottenere la CWT, sembra che si debba calcolare la convoluzione per ogni valore del parametro di spostamento b e ripetere questo processo per ogni scala a.

Tuttavia, se le due sequenze sono estese circolarmente (periodizzate sulla lunghezza N), è possibile esprimere la convoluzione circolare come un prodotto di trasformate di Fourier discrete. La CWT è la trasformata di Fourier inversa del prodotto

Wa(b)=1N2πΔtk=0N1X(2πk/NΔt)ψ*(a2πk/NΔt)ej2πkb/N

dove Δt è l’intervallo di campionamento (periodo).

Esprimere la CWT come una trasformata di Fourier inversa consente di utilizzare gli algoritmi fft e ifft a efficienza computazionale per ridurre il costo della computazione delle convoluzioni.

La funzione cwt implementa la CWT.