Trasformata wavelet continua e trasformata wavelet continua inversa
Questo esempio mostra come utilizzare la trasformata wavelet continua (CWT) e la CWT inversa.
CWT di onde sinusoidali e impulsi
Creare e tracciare un segnale costituito da due onde sinusoidali disgiunte con frequenze di 100 e 50 Hz, punteggiate da due impulsi. La frequenza di campionamento è di 1 kHz e la durata totale del segnale è di un secondo. L’onda sinusoidale a 100 Hz si verifica nei primi 250 millisecondi dei dati. L’onda sinusoidale a 50 Hz si verifica negli ultimi 500 millisecondi. Gli impulsi si verificano a 650 e 750 millisecondi. Il segnale presenta anche un rumore gaussiano bianco additivo . L'impulso a 650 millisecondi è visibile, ma l'impulso a 750 millisecondi non è chiaramente evidente nei dati nel dominio del tempo.
Fs = 1000; t = 0:1/Fs:1-1/Fs; x = zeros(size(t)); x([625,750]) = 2.5; x = x+ cos(2*pi*100*t).*(t<0.25)+cos(2*pi*50*t).*(t>=0.5)+... 0.1*randn(size(t)); plot(t.*1000,x) grid on; xlabel('msec'); ylabel('Amplitude');

Ottenere e tracciare la CWT utilizzando la wavelet analitica predefinita di Morse.
[cfs,f] = cwt(x,1000); contour(t.*1000,f,abs(cfs)); xlabel('msec'); ylabel('Hz'); grid on;

I moduli CWT mostrano correttamente i supporti delle sinusoidi disgiunte e le posizioni degli impulsi a 650 e 750 millisecondi. Nei moduli CWT, l'impulso a 750 millisecondi è chiaramente visibile. Questo è particolarmente vero se si tracciano solo i coefficienti wavelet della scala più precisa.
plot(t.*1000,abs(cfs(1,:))) grid on title('Fine-Scale Wavelet Coefficient Moduli') xlabel('msec')

CWT inversa localizzata in frequenza
Utilizzando la CWT inversa è possibile costruire approssimazioni localizzate in frequenza sugli eventi della serie temporale. Utilizzare la CWT inversa per ottenere un'approssimazione della sinusoide a 100 Hz dell'esempio precedente.
xrec = icwt(cfs,[],f,[90 110]); plot(t,x); hold on; plot(t,xrec,'r'); legend('Original Signal','Inverse CWT Approximation',... 'Location','NorthEast'); grid on;

Se si ingrandisce il grafico, è possibile notare che il componente a 100 Hz è ben approssimato mentre il componente a 50 Hz è stato rimosso.