MATLAB Answers

Discrete wavelet transform-wavedec

15 ビュー (過去 30 日間)
Hai Tran
Hai Tran 2016 年 5 月 10 日
コメント済み: Hai Tran 2016 年 5 月 11 日
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

採用された回答

Wayne King
Wayne King 2016 年 5 月 10 日
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 2016 年 5 月 11 日
Thank you so much Dr.Wayne King

サインインしてコメントする。

その他の回答 (0 件)

Community Treasure Hunt

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

Start Hunting!

Translated by