MATLAB Answers

wavelet decomposition of signal

13 ビュー (過去 30 日間)
Smita chopade
Smita chopade 2016 年 4 月 25 日
回答済み: Wayne King 2016 年 5 月 5 日
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??

回答 (1 件)

Wayne King
Wayne King 2016 年 5 月 5 日
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.

Community Treasure Hunt

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

Start Hunting!

Translated by