wavelet matlab plotting error
4 views (last 30 days)
I have a simple signal x(t)=2*cos(2*pi*500*t); I use wavelet wavedec(x,9,'db4') ; when I plot "ap9 = [0- 9.76]Hz" I must found zero because my signal is 500 Hz ; but the first and last second dnot equal to zero; why?
t(1)=0; va(1)=0; vb(1)=0; vc(1)=0; x(1)=0;
Rodney Tan on 12 Oct 2016
Edited: Rodney Tan on 12 Oct 2016
The spike appeared at the start and end is the wavelet boundary effect of any given signal. It is cause by zero padding that taken into account at the start and end of the signal where wavelet decomposition computation took place. This is because wavelet is effective to pick up any abrupt changes for a given signal. You need to mirror your signal by using padarray command, then perform your wavelet decomposition, this eliminate the boundary effect.
signal = 1:10
mirrorpadsignal = padarray(signal,[0 3],'symmetric','both')
Please be inform your padding size may need to be long [0 10] or more depend on the type of mother wavelet you use.
Hope I answer your question.