Main Content

Trasformate wavelet discrete e continue

Questo argomento descrive le differenze principali tra la trasformata wavelet continua (CWT) e la trasformata wavelet discreta (DWT), sia nella versione decimata sia nella versione non decimata. cwt è una versione discretizzata della CWT affinché possa essere implementata in un ambiente computazionale. Questa discussione è incentrata sul caso monodimensionale ma è applicabile anche a dimensioni maggiori.

La trasformata wavelet cwt confronta un segnale con copie spostate e ridimensionate (allungate o rimpicciolite) di una wavelet di base. Se ψ(t) è una wavelet centrata su t=0 con supporto temporale su [-T/2, T/2], allora 1sψ(tus) è centrata su t = u con supporto temporale [-sT/2+u, sT/2+u]. La funzione cwt utilizza la normalizzazione L1 in modo che tutte le ampiezze di frequenza siano normalizzate allo stesso valore. Se 0<s<1, la wavelet è contratta (rimpicciolita), mentre se s>1, la wavelet è allungata. Il termine matematico relativo è dilatazione. Vedere Trasformata wavelet continua e analisi basata sulla scala, per esempio, come questa operazione estrae le feature nel segnale confrontandolo con wavelet dilatate e traslate.

La differenza principale tra la CWT e le trasformate wavelet discrete, come la dwt e la modwt, è la discretizzazione del parametro di scala. La CWT discretizza la scala in modo più preciso rispetto alla trasformata wavelet discreta. Nella CWT, in genere si fissa una base che è una potenza frazionaria di due, ad esempio 21/v dove v è un numero intero maggiore di 1. Il parametro v è spesso indicato come il numero di “voci per ottava”. Scale diverse si ottengono elevando questa scala di base a potenze intere positive, ad esempio 2j/vj=1,2,3,. Il parametro di traslazione nella CWT è discretizzato in valori interi, qui indicati con m. Le wavelet discretizzate risultanti per la CWT sono

12j/νψ(nm2j/v).

Il motivo per cui v è indicato come il numero di voci per ottava è che l’aumento della scala di un’ottava (una duplicazione) richiede v scale intermedie. Prendere, ad esempio, 2v/v=2 e aumentare il numeratore dell’esponente fino a raggiungere 4, l’ottava successiva. Si passa da 2v/v=2 a 22v/v=4. Sono presenti v passaggi intermedi. I valori comuni di v sono 10,12,14,16 e 32. Più grande è il valore di v, maggiormente precisa è la discretizzazione del parametro di scala s. Tuttavia, questo aumenta anche la quantità di calcolo richiesta, poiché la CWT deve essere calcolata per ogni scala. La differenza tra le scale su una scala log2 è 1/v. Vedere CWT-Based Time-Frequency Analysis e Continuous Wavelet Analysis of Modulated Signals per esempi di vettori di scala con la CWT.

Nella trasformata wavelet discreta, il parametro di scala è sempre discretizzato a potenze intere di 2, 2j, j=1,2,3,..., in modo che il numero di voci per ottava sia sempre 1. La differenza tra le scale su una scala log2 è sempre 1 per le trasformate wavelet discrete. Si noti che questo è un campionamento molto più grossolano del parametro di scala s, rispetto al caso della CWT. Inoltre, nella trasformata wavelet discreta (DWT) (sottocampionata) decimata, il parametro di traslazione è sempre proporzionale alla scala. Questo indica che alla scala 2j si trasla sempre di 2jm, dove m è un numero intero non negativo. Nelle trasformate wavelet discrete non decimate, come modwt e swt, il parametro di scala è limitato alle potenze di due ma il parametro di traslazione è un numero intero come nella CWT. La wavelet discretizzata per la DWT assume la seguente forma

12jψ(12j(n2jm)).

La wavelet discretizzata per la trasformata wavelet discreta non decimata, come la MODWT, è

12jψ(nm2j).

Per riepilogare:

  • La CWT e le trasformate wavelet discrete differiscono per il modo in cui discretizzano il parametro di scala. La CWT utilizza tipicamente scale esponenziali con una base minore di 2, ad esempio 21/12 . La trasformata wavelet discreta utilizza sempre scale esponenziali con base uguale a 2. Le scale nella trasformata wavelet discreta sono potenze di 2. Tenere presente che l’interpretazione fisica delle scale, sia per la CWT sia per le trasformate wavelet discrete, richiede l’inclusione dell’intervallo di campionamento del segnale, nel caso in cui non sia uguale a uno. Ad esempio, si assuma di utilizzare la CWT e di impostare la base su s0=21/12. Per attribuire un significato fisico a quella scala, è necessario moltiplicare per l’intervallo di campionamento Δt, quindi un vettore di scala che copre circa quattro ottave dove l’intervallo di campionamento considerato è s0jΔtj=1,2,48. Si noti che l’intervallo di campionamento moltiplica le scale e non è nell’esponente. Per le trasformate wavelet discrete, la scala di base è sempre 2.

  • Le trasformate wavelet discrete decimate e non decimate differiscono per il modo in cui discretizzano il parametro di traslazione. La trasformata wavelet discreta (DWT) decimata trasla sempre per un multiplo intero della scala di 2jm . La trasformata wavelet discreta non decimata trasla con spostamenti interi.

Queste differenze nella discretizzazione della scala e della traslazione comportano vantaggi e svantaggi per le due classi di trasformate wavelet. Queste differenze determinano anche i casi d'uso in cui è probabile che una trasformata wavelet fornisca risultati migliori. Alcune conseguenze importanti della discretizzazione del parametro di scala e di traslazione sono:

  • La DWT fornisce una rappresentazione rada per molti segnali naturali. In altre parole, le feature importanti di molti segnali naturali sono acquisite da un sottoinsieme di coefficienti della DWT che è tipicamente molto più piccolo del segnale originale. Questo "comprime" il segnale. Con la DWT, si ottiene sempre lo stesso numero di coefficienti del segnale originale ma molti dei coefficienti possono avere un valore prossimo allo zero. Di conseguenza, spesso è possibile eliminare tali coefficienti mantenendo comunque un'approssimazione di alta qualità del segnale. Con la CWT, si passa da N campioni per un segnale di lunghezza N a una matrice di coefficienti M per N, con M uguale al numero di scale. La CWT è una trasformata altamente ridondante. È presente una sovrapposizione significativa tra le wavelet a ogni scala e tra le scale. Le risorse computazionali necessarie per calcolare la CWT e memorizzare i coefficienti sono molto maggiori rispetto alla DWT. Anche la trasformata wavelet discreta non decimata è ridondante, ma il fattore di ridondanza è di solito significativamente inferiore rispetto alla CWT, poiché il parametro di scala non è discretizzato così precisamente. Per la trasformata wavelet discreta non decimata, si passa da N campioni a una matrice di coefficienti L+1 per N, dove L è il livello della trasformata.

  • La rigida discretizzazione della scala e della traslazione nella DWT garantisce che la DWT sia una trasformata ortonormale (quando si utilizza una wavelet ortogonale). I vantaggi delle trasformate ortonormali nell'analisi del segnale sono molteplici. Molti modelli di segnale sono costituiti da un segnale deterministico con un rumore gaussiano bianco. Una trasformata ortonormale prende questo tipo di segnale e restituisce la trasformata applicata al segnale più il rumore bianco. In altre parole, una trasformata ortonormale riceve un rumore gaussiano bianco e restituisce un rumore gaussiano bianco. Il rumore non è correlato all'ingresso e all'uscita. Questo aspetto è importante in molte impostazioni di elaborazione statistica del segnale. Nel caso della DWT, il segnale di interesse è tipicamente acquisito da pochi coefficienti della DWT di grande ampiezza, mentre il rumore risulta in molti piccoli coefficienti della DWT che possono essere eliminati. Se si conosce l’algebra lineare, i vantaggi dell'uso delle basi ortonormali nell'analisi e nella rappresentazione dei vettori sono stati sicuramente appresi. Le wavelet nella DWT sono come vettori ortonormali. Né la CWT né la trasformata wavelet discreta non decimata sono trasformate ortonormali. Le wavelet nella CWT e nella trasformata wavelet discreta non decimata sono tecnicamente chiamate frame, si tratta di insiemi linearmente dipendenti.

  • La DWT non è invariante allo spostamento. Poiché la DWT esegue un sottocampionamento, uno spostamento del segnale in ingresso non si manifesta come un semplice spostamento equivalente nei coefficienti della DWT a tutti i livelli. Un semplice spostamento in un segnale può causare un riallineamento significativo dell'energia del segnale nei coefficienti della DWT in base alla scala. La CWT e la trasformata wavelet discreta non decimata sono invarianti allo spostamento. Esistono alcune modifiche della DWT, come la trasformata wavelet discreta complessa a doppio albero, che mitigano la mancanza di invarianza allo spostamento nella DWT. Vedere Critically Sampled and Oversampled Wavelet Filter Banks per del materiale concettuale su questo argomento e Dual-Tree Complex Wavelet Transforms per un esempio.

  • Le trasformate wavelet discrete sono equivalenti a banchi di filtri discreti. Nello specifico, si tratta di banchi di filtri discreti strutturati ad albero in cui il segnale viene prima filtrato da un filtro passa-basso e da un filtro passa-alto per ottenere sottobande passa-basso e passa-alto. Successivamente, la sottobanda passa-basso viene filtrata iterativamente con lo stesso schema per ottenere sottobande passa-basso e passa-alto a banda di ottava più stretta. Nella DWT, le uscite dei filtri vengono sottocampionate a ogni stadio successivo. Nella trasformata wavelet discreta non decimata, le uscite non vengono sottocampionate. I filtri che definiscono le trasformate wavelet discrete hanno tipicamente un piccolo numero di coefficienti, quindi la trasformata può essere implementata in modo molto efficiente. Sia per la DWT sia per la trasformata wavelet discreta non decimata, non è necessaria un'espressione per la wavelet. I filtri sono sufficienti. Questo non è il caso della CWT. L'implementazione più comune della CWT richiede che la wavelet sia definita esplicitamente. Anche se la trasformata wavelet discreta non decimata non sottocampiona il segnale, l'implementazione del banco di filtri consente comunque di ottenere buone prestazioni computazionali, anche se non così buone come quelle della DWT.

  • Le trasformate wavelet discrete forniscono una ricostruzione perfetta del segnale all'inversione. Questo significa che è possibile prendere la trasformata wavelet discreta di un segnale e poi utilizzare i coefficienti per sintetizzare una riproduzione esatta del segnale entro una precisione numerica. È possibile implementare una CWT inversa, ma spesso la ricostruzione non è perfetta. La ricostruzione di un segnale dai coefficienti della CWT è un'operazione numerica molto meno stabile.

  • Il campionamento più preciso delle scale nella CWT consente tipicamente un'analisi più fedele del segnale. È possibile localizzare i transienti nel segnale o caratterizzare il comportamento oscillatorio meglio con la CWT che con le trasformate wavelet discrete.

Per ulteriori informazioni sulle trasformate wavelet e sulle loro applicazioni, vedere

Linee guida sulla trasformata wavelet continua in contrapposizione alla trasformata wavelet discreta

Sulla base della sezione precedente, ecco alcune linee guida di base per decidere se utilizzare una trasformata wavelet discreta o continua.

  • Se l’applicazione consiste nell’ottenere la rappresentazione più rada possibile del segnale per la compressione, la riduzione del rumore o la trasmissione del segnale, utilizzare la DWT con wavedec.

  • Se l'applicazione richiede una trasformata ortonormale, utilizzare la DWT con uno dei filtri wavelet ortogonali. Le famiglie ortogonali nella Wavelet Toolbox™ sono progettate come wavelet di tipo 1 nel gestore di wavelet wavemngr. Le famiglie di wavelet ortogonali integrate valide sono: Daubechies meglio localizzate ("bl"), Beylkin ("beyl"), Coiflets ("coif"), Daubechies ("db"), Fejér-Korovkin ("fk"), Haar ("haar"), momenti di fase lineare Han ("han"), larghezza minima di banda Morris ("mb"), Symlet ("sym") e Vaidyanathan ("vaid"). Per un elenco di wavelet in ogni famiglia, vedere wfilters. Per ulteriori informazioni, vedere Scelta di una wavelet e waveinfo.

  • Se l’applicazione richiede una trasformata invariante allo spostamento ma è necessaria una ricostruzione perfetta e una certa efficienza computazionale, provare una trasformata wavelet discreta non decimata come modwt o una trasformata a doppio albero come dualtree.

  • Se l'obiettivo principale è un'analisi dettagliata tempo-frequenza (scala) o la localizzazione precisa dei transienti del segnale, utilizzare la cwt. Per un esempio di analisi tempo-frequenza con la CWT, vedere CWT-Based Time-Frequency Analysis.

  • Per la riduzione del rumore di un segnale mediante le soglie dei coefficienti wavelet, utilizzare la funzione wdenoise o l’app Wavelet Signal Denoiser. wdenoise e Wavelet Signal Denoiser forniscono impostazioni predefinite che possono essere applicate ai dati, nonché una semplice interfaccia per una varietà di metodi di riduzione del rumore. Con l'applicazione è possibile visualizzare e ridurre il rumore dei segnali, nonché confrontare i risultati. Per gli esempi di riduzione del rumore nel segnale, vedere Denoise A Signal Using Default Values e Denoise a Signal with the Wavelet Signal Denoiser. Per la riduzione del rumore nelle immagini, utilizzare wdenoise2. Per un esempio, vedere Denoising Signals and Images.

  • Se l’applicazione richiede una comprensione consistente delle proprietà statistiche dei coefficienti wavelet, utilizzare una trasformata wavelet discreta. Si sta lavorando attivamente alla comprensione delle proprietà statistiche della CWT ma, attualmente, esistono molti più risultati distributivi per le trasformate wavelet discrete. Il successo della DWT nella riduzione del rumore è in gran parte dovuto alla comprensione delle sue proprietà statistiche. Per un esempio di stima e test di ipotesi utilizzando una trasformata wavelet discreta non decimata, vedere Wavelet Analysis of Financial Data.

Esempi correlati

Ulteriori informazioni