MATLAB Answers

# Discrete wavelet transform-wavedec

15 ビュー (過去 30 日間)
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 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 2016 年 5 月 11 日
Thank you so much Dr.Wayne King

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

### Community Treasure Hunt

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

Start Hunting!

Translated by