Impatto del supporto wavelet sui dati rumorosi
In questo esempio si dimostra un caso di discontinuità nei dati rumorosi che vengono rappresentati in modo più rado utilizzando una wavelet di Haar rispetto a una wavelet con supporto più ampio.
Creare un'onda quadra rumorosa con 512 campioni. Tracciare l’onda quadra.
n = 512; t = 0:0.001:(n*0.001)-0.001; yn = square(2*pi*10*t)+0.02*randn(size(t)); plot(yn) grid on title('Noisy Signal')
Ottenere la trasformata wavelet discreta a sovrapposizione massimale (MODWT) del segnale utilizzando la wavelet di haar
. La wavelet di haar
ha un supporto di lunghezza pari a 1
modhaar = modwt(yn,'haar');
Ottenere l'analisi multirisoluzione dalla matrice MODWT di haar
e tracciare i dettagli di primo livello.
mrahaar = modwtmra(modhaar,'haar'); stem(mrahaar(1,:),'Marker','none','ShowBaseLine','off'); grid on title('First-Level MRA Details Using Haar Wavelet')
Ottenere la MODWT del segnale utilizzando la wavelet db6
. La wavelet db6
ha un supporto di lunghezza pari a 11.
moddb6 = modwt(yn,'db6');
Ottenere l'analisi multirisoluzione dalla matrice MODWT db6
e tracciare i dettagli di primo livello. Le discontinuità sono rappresentate in modo meno rado utilizzando la wavelet db6
piuttosto che la wavelet di haar
.
mradb6 = modwtmra(moddb6,'db6'); stem(mradb6(1,:),'Marker','none','ShowBaseLine','off'); grid on title('First-Level MRA Details Using db6 Wavelet')
Ingrandire. Utilizzando il wavelet di Haar si ottiene un numero inferiore di coefficienti necessari per identificare la variazione nel segnale.
ind = 40:110; subplot(311) plot(ind,yn(ind)) title('Close Up') subplot(312) stem(ind,mrahaar(1,ind),'Marker','none','ShowBaseLine','off','LineWidth',2) title('Using Haar') subplot(313) stem(ind,mradb6(1,ind),'Marker','none','ShowBaseLine','off','LineWidth',2) title('Using db6')