MATLAB Answers

Discrete wavelet transform-wavedec

조회 수: 8(최근 30일)
Hai Tran
Hai Tran 10 May 2016
Commented: Hai Tran 11 May 2016
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

로그인 to comment.

채택된 답변

Wayne King
Wayne King 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))

  댓글 수: 1

Hai Tran
Hai Tran 11 May 2016
Thank you so much Dr.Wayne King

로그인 to comment.

More Answers (0)

이 질문에 답변하려면 로그인을(를) 수행하십시오.


Translated by