Discrete wavelet transform-wavedec
3 views (last 30 days)
Show older comments
Dear all, Could you please answer my question? First, I use [C,L]=wavedec(signal(1024x1),m(1:10),'haar') (Eq.1) to find cD1 (512x1),cD2(256x1)... after that, i want to check how does wavedec function work? And i try with haar=[1/sqrt(2) -1/sqrt(2)](for example m=1) and apply cD1'=conv(signal,haar) (2). Eq.(2) gave me cD1'= minus(cD1) in Eq.1 (I just talk about value) Why is there difference between wavelet coefficients in Eq1 VS.Eq.2 ?
Thank you so much for your consideration to my question
0 Comments
Accepted Answer
Wayne King
on 10 May 2016
Hi Hai,
The Haar high pass analysis filter used in DWT() which is called by WAVEDEC() is
[-1/sqrt(2) 1/sqrt(2)]
To demonstrate the equivalence between convolution as implemented by conv() and the wavelet transform, you should set the DWTMODE to 'per'
dwtmode('per');
Lo = [1/sqrt(2) 1/sqrt(2)];
Hi = [-1/sqrt(2) 1/sqrt(2)];
% generate a test signal
x = randn(16,1);
[A,D] = dwt(x,'haar');
% Now compare A to
dyaddown(conv(x,Lo))
% Compare D to
dyaddown(conv(x,Hi))
More Answers (1)
See Also
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!