Discrete wavelet transform-wavedec
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hai Tran
am 10 Mai 2016
Beantwortet: Asfaw Alem
am 28 Jul. 2022
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 Kommentare
Akzeptierte Antwort
Wayne King
am 10 Mai 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))
Weitere Antworten (1)
Siehe auch
Kategorien
Mehr zu Discrete Multiresolution Analysis finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!