Main Content

La traduzione di questa pagina non è aggiornata. Fai clic qui per vedere l'ultima versione in inglese.

Che cos'è una wavelet?

Una wavelet è una forma d'onda di durata effettivamente limitata che ha un valore medio pari a zero e una norma diversa da zero.

Molti segnali e immagini di interesse presentano un comportamento uniforme a tratti, punteggiato da transienti. I segnali vocali sono caratterizzati da brevi esplosioni che codificano le consonanti, seguite da oscillazioni stazionarie che indicano le vocali. Le immagini naturali presentano dei bordi. Le serie temporali finanziarie presentano un comportamento transiente, che caratterizza i rapidi rialzi e flessioni delle condizioni economiche. Diversamente dalla base di Fourier, le basi wavelet sono in grado di rappresentare in modo rado segnali e immagini regolari a tratti, che includono comportamenti transienti.

Confrontare le wavelet con le onde sinusoidali, che sono la base dell'analisi di Fourier. Le sinusoidi non hanno una durata limitata: si estendono da meno a più infinito. Mentre le sinusoidi sono uniformi e prevedibili, le wavelet tendono a essere irregolari e asimmetriche.

L'analisi di Fourier consiste nel suddividere un segnale in onde sinusoidali di varie frequenze. Allo stesso modo, l'analisi wavelet è la scomposizione di un segnale in versioni spostate e scalate della wavelet originale (o madre).

Semplicemente osservando le immagini delle wavelet e delle onde sinusoidali, si capisce intuitivamente che i segnali con variazioni brusche possono essere analizzati meglio con una wavelet irregolare che con una sinusoide uniforme.

È anche logico che le feature locali possano essere descritte meglio con wavelet che hanno un'estensione locale. L'esempio seguente illustra questo aspetto per un semplice segnale costituito da un'onda sinusoidale con una discontinuità.

Localizzazione della discontinuità in un'onda sinusoidale

Questo esempio mostra come l'analisi wavelet può localizzare una discontinuità in un'onda sinusoidale.

Creare un'onda sinusoidale di 1 Hz campionata a 100 Hz. La durata della sinusoide è di un secondo. La sinusoide presenta una discontinuità a t=0.5 secondi.

Fs = 100;
t = 0:1/Fs:1-1/Fs;
x = sin(2*pi*t);
x1 = x-0.15;
y = zeros(size(x));
y(1:length(y)/2) = x(1:length(y)/2);
y(length(y)/2+1:end) = x1(length(y)/2+1:end);
stem(t,y,MarkerFaceColor=[0 0 1])
xlabel("Seconds")
ylabel("Amplitude")

Figure contains an axes object. The axes object with xlabel Seconds, ylabel Amplitude contains an object of type stem.

Ottenete la trasformata wavelet discreta non decimata dell'onda sinusoidale utilizzando la wavelet sym2 e tracciate i coefficienti (di dettaglio) wavelet insieme al segnale originale.

[swa,swd] = swt(y,1,"sym2");
tiledlayout(2,1)
nexttile
stem(t,y,MarkerFaceColor=[0 0 1])
title("Original Signal")
nexttile
stem(t,swd,MarkerFaceColor=[0 0 1])
title("Level 1 Wavelet Coefficients")

Figure contains 2 axes objects. Axes object 1 with title Original Signal contains an object of type stem. Axes object 2 with title Level 1 Wavelet Coefficients contains an object of type stem.

Confrontare le ampiezze dei coefficienti di Fourier per l'onda sinusoidale a 1 Hz, con e senza discontinuità.

figure
dftsig = fft([x' y']);
dftsig = dftsig(1:length(y)/2+1,:);
df = 100/length(y);
freq = 0:df:50;
stem(freq,abs(dftsig))
title("Fourier Coefficient Magnitudes")
xlabel("Hz")
ylabel("Magnitude")
legend("Sine Wave","Sine Wave With Discontinuity")

Figure contains an axes object. The axes object with title Fourier Coefficient Magnitudes, xlabel Hz, ylabel Magnitude contains 2 objects of type stem. These objects represent Sine Wave, Sine Wave With Discontinuity.

La differenza tra le ampiezze dei coefficienti di Fourier è minima. Poiché i vettori base di Fourier discreti hanno supporto sull'intero intervallo di tempo, la trasformata di Fourier discreta non rileva la discontinuità con la stessa efficienza della trasformata wavelet.

Confrontare i coefficienti wavelet di livello 1 per l'onda sinusoidale, con e senza discontinuità.

[swax,swdx] = swt(x,1,"sym2");
stem(t,[swdx' swd'])
title("Wavelet Coefficients")
legend("Sine Wave","Sine Wave With Discontinuity")

Figure contains an axes object. The axes object with title Wavelet Coefficients contains 2 objects of type stem. These objects represent Sine Wave, Sine Wave With Discontinuity.

I coefficienti wavelet dei due segnali mostrano una differenza significativa. L'analisi wavelet è spesso in grado di rivelare caratteristiche di un segnale o di un'immagine che altre tecniche di analisi non colgono, come tendenze, punti di rottura, discontinuità nelle derivate superiori e auto similarità. Inoltre, poiché le wavelet forniscono una visione dei dati diversa da quella presentata dalle tecniche di Fourier, l'analisi wavelet può spesso comprimere o ridurre il rumore in modo significativo in un segnale senza una degradazione apprezzabile.

Vedi anche

App

Esempi correlati

Ulteriori informazioni

Siti web esterni