wavelet decomposition of signal

8 views (last 30 days)
Smita chopade
Smita chopade on 25 Apr 2016
Answered: Wayne King on 5 May 2016
I have signal with 1000 samples in it. When I apply DWT to it I get 502 coefficients. Further applying DWT gives 253 coefficients and again when i apply DWT i get 129 coefficients. Why I didn't get those coefficients as 500,250, 125. How does actually wavelet decomposition through DWT takes place in MATLAB??

Answers (1)

Wayne King
Wayne King on 5 May 2016
Hi Smita, this is because of the setting of dwtmode. If you want to see the behavior you expect above, then do
dwtmode('per')
before computing the wavelet transform.
x = randn(1e3,1);
dwtmode('per');
[C,L] = wavedec(x,3,'sym4');
If you look at the L output, you will see the number of coefficients in the signal, L(end), and then 500 coefficients at level 1, 250 at level 2, etc.
Now return dwtmode to the default setting and repeat
dwtmode('sym');
[C,L] = wavedec(x,4,'sym4');
L
Now you see the number as you report above.

Categories

Find more on Discrete Multiresolution Analysis in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by