ce este un Wavelet?
un wavelet este o formă de undă cu durată efectiv limitată, care are o valoare medie de normă zero și diferită de zero.
multe semnale și imagini de interes prezintă un comportament neted în bucăți punctat de tranzitorii. Semnalele de vorbire se caracterizează prin explozii scurte care codifică consoane urmate de oscilații la starea de echilibru indicative ale vocalelor. Imaginile naturale au margini. Seriile de timp financiare prezintă un comportament tranzitoriu, care caracterizează creșteri și scăderi rapide în condiții economice. Spre deosebire de baza Fourier, bazele wavelet sunt capabile să reprezinte slab semnale și imagini regulate în bucăți, care includ un comportament tranzitoriu.
comparați undele cu undele sinusoidale, care stau la baza analizei Fourier. Sinusoidele nu au o durată limitată — se extind de la minus la plus infinit. În timp ce sinusoidele sunt netede și previzibile, undele tind să fie neregulate și asimetrice.
analiza Fourier constă în ruperea unui semnal în unde sinusoidale de diferite frecvențe. În mod similar, analiza wavelet este descompunerea unui semnal în versiuni deplasate și scalate ale waveletului original (sau mamă).
doar uitându-vă la imagini cu valuri și unde sinusoidale, puteți vedea intuitiv că semnalele cu modificări ascuțite ar putea fi mai bine analizate cu un val neregulat decât cu un sinusoid neted.
de asemenea, are sens că caracteristicile locale pot fi descrise mai bine cu wavelets care au întindere locală. Următorul exemplu ilustrează acest lucru pentru un semnal simplu constând dintr-o undă sinusoidală cu discontinuitate.
localizează discontinuitatea în undă sinusoidală
acest exemplu arată că analiza wavelet poate localiza o discontinuitate într-o undă sinusoidală.
creați o undă sinusoidală de 1 Hz eșantionată la 100 Hz. Durata undei sinusoidale este de o secundă. Unda sinusoidală are o discontinuitate la t=0,5 secunde.
t = linspace(0,1,100)';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',); xlabel('Seconds'); ylabel('Amplitude');
Obțineți transformarea de undă discretă nedecimată a undei sinusoidale folosind 'sym2'
wavelet și trasați coeficienții de undă (detaliu) împreună cu semnalul original.
= swt(y,1,'sym2');subplot(211)stem(t,y,'markerfacecolor',); title('Original Signal');subplot(212)stem(t,swd,'markerfacecolor',);title('Level 1 Wavelet Coefficients');
comparați magnitudinile coeficientului Fourier pentru unda sinusoidală de 1 Hz cu și fără discontinuitate.
dftsig = fft();dftsig = dftsig(1:length(y)/2+1,:);df = 100/length(y);freq = 0:df:50;stem(freq,abs(dftsig));xlabel('Hz'); ylabel('Magnitude');legend('sine wave','sine wave with discontinuity');
există o diferență minimă în magnitudinile coeficienților Fourier. Deoarece vectorii discreți ai bazei Fourier au suport pe întregul interval de timp, transformata discretă Fourier nu detectează discontinuitatea la fel de eficient ca transformarea wavelet.
comparați coeficienții de undă de nivel 1 Pentru unda sinusoidală cu și fără discontinuitate.
= swt(x,1,'sym2');subplot(211)stem(t,swd); title('Sine Wave with Discontinuity (Wavelet Coefficients)');subplot(212)stem(t,swdx); title('Sine Wave (Wavelet Coefficients)');
coeficienții wavelet ai celor două semnale demonstrează o diferență semnificativă. Analiza Wavelet este adesea capabilă să dezvăluie caracteristicile unui semnal sau imagine pe care alte tehnici de analiză le ratează, cum ar fi tendințele, punctele de defalcare, discontinuitățile în derivatele superioare și auto-similitudinea. Mai mult, deoarece wavelets oferă o viziune diferită a datelor decât cele prezentate de tehnicile Fourier, analiza wavelet poate comprima sau denoise semnificativ un semnal fără o degradare apreciabilă.